123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- /*-
- * Copyright 2016 Vsevolod Stakhov
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- #ifndef SRC_LIBSERVER_HTML_TAGS_H_
- #define SRC_LIBSERVER_HTML_TAGS_H_
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /* Known HTML tags */
- typedef enum {
- Tag_UNKNOWN = 0, /**< Unknown tag! */
- Tag_A, /**< A */
- Tag_ABBR, /**< ABBR */
- Tag_ACRONYM, /**< ACRONYM */
- Tag_ADDRESS, /**< ADDRESS */
- Tag_APPLET, /**< APPLET */
- Tag_AREA, /**< AREA */
- Tag_B, /**< B */
- Tag_BASE, /**< BASE */
- Tag_BASEFONT, /**< BASEFONT */
- Tag_BDO, /**< BDO */
- Tag_BIG, /**< BIG */
- Tag_BLOCKQUOTE, /**< BLOCKQUOTE */
- Tag_BODY, /**< BODY */
- Tag_BR, /**< BR */
- Tag_BUTTON, /**< BUTTON */
- Tag_CAPTION, /**< CAPTION */
- Tag_CENTER, /**< CENTER */
- Tag_CITE, /**< CITE */
- Tag_CODE, /**< CODE */
- Tag_COL, /**< COL */
- Tag_COLGROUP, /**< COLGROUP */
- Tag_DD, /**< DD */
- Tag_DEL, /**< DEL */
- Tag_DFN, /**< DFN */
- Tag_DIR, /**< DIR */
- Tag_DIV, /**< DIF */
- Tag_DL, /**< DL */
- Tag_DT, /**< DT */
- Tag_EM, /**< EM */
- Tag_FIELDSET, /**< FIELDSET */
- Tag_FONT, /**< FONT */
- Tag_FORM, /**< FORM */
- Tag_FRAME, /**< FRAME */
- Tag_FRAMESET, /**< FRAMESET */
- Tag_H1, /**< H1 */
- Tag_H2, /**< H2 */
- Tag_H3, /**< H3 */
- Tag_H4, /**< H4 */
- Tag_H5, /**< H5 */
- Tag_H6, /**< H6 */
- Tag_HEAD, /**< HEAD */
- Tag_HR, /**< HR */
- Tag_HTML, /**< HTML */
- Tag_I, /**< I */
- Tag_IFRAME, /**< IFRAME */
- Tag_IMG, /**< IMG */
- Tag_INPUT, /**< INPUT */
- Tag_INS, /**< INS */
- Tag_ISINDEX, /**< ISINDEX */
- Tag_KBD, /**< KBD */
- Tag_KEYGEN, /**< KEYGEN */
- Tag_LABEL, /**< LABEL */
- Tag_LEGEND, /**< LEGEND */
- Tag_LI, /**< LI */
- Tag_LINK, /**< LINK */
- Tag_LISTING, /**< LISTING */
- Tag_MAP, /**< MAP */
- Tag_MENU, /**< MENU */
- Tag_META, /**< META */
- Tag_NOFRAMES, /**< NOFRAMES */
- Tag_NOSCRIPT, /**< NOSCRIPT */
- Tag_OBJECT, /**< OBJECT */
- Tag_OL, /**< OL */
- Tag_OPTGROUP, /**< OPTGROUP */
- Tag_OPTION, /**< OPTION */
- Tag_P, /**< P */
- Tag_PARAM, /**< PARAM */
- Tag_PLAINTEXT, /**< PLAINTEXT */
- Tag_PRE, /**< PRE */
- Tag_Q, /**< Q */
- Tag_RB, /**< RB */
- Tag_RBC, /**< RBC */
- Tag_RP, /**< RP */
- Tag_RT, /**< RT */
- Tag_RTC, /**< RTC */
- Tag_RUBY, /**< RUBY */
- Tag_S, /**< S */
- Tag_SAMP, /**< SAMP */
- Tag_SCRIPT, /**< SCRIPT */
- Tag_SELECT, /**< SELECT */
- Tag_SMALL, /**< SMALL */
- Tag_SPAN, /**< SPAN */
- Tag_STRIKE, /**< STRIKE */
- Tag_STRONG, /**< STRONG */
- Tag_STYLE, /**< STYLE */
- Tag_SUB, /**< SUB */
- Tag_SUP, /**< SUP */
- Tag_TABLE, /**< TABLE */
- Tag_TBODY, /**< TBODY */
- Tag_TD, /**< TD */
- Tag_TEXTAREA, /**< TEXTAREA */
- Tag_TFOOT, /**< TFOOT */
- Tag_TH, /**< TH */
- Tag_THEAD, /**< THEAD */
- Tag_TITLE, /**< TITLE */
- Tag_TR, /**< TR */
- Tag_TT, /**< TT */
- Tag_U, /**< U */
- Tag_UL, /**< UL */
- Tag_VAR, /**< VAR */
- Tag_XMP, /**< XMP */
- Tag_NEXTID, /**< NEXTID */
- Tag_MAX,
-
- N_TAGS = -1 /**< Must be -1 */
- } tag_id_t;
-
- #define CM_UNKNOWN 0
- /* Elements with no content. Map to HTML specification. */
- #define CM_EMPTY (1 << 0)
- /* Elements that appear outside of "BODY". */
- #define CM_HTML (1 << 1)
- /* Elements that can appear within HEAD. */
- #define CM_HEAD (1 << 2)
- /* HTML "block" elements. */
- #define CM_BLOCK (1 << 3)
- /* HTML "inline" elements. */
- #define CM_INLINE (1 << 4)
- /* Elements that mark list item ("LI"). */
- #define CM_LIST (1 << 5)
- /* Elements that mark definition list item ("DL", "DT"). */
- #define CM_DEFLIST (1 << 6)
- /* Elements that can appear inside TABLE. */
- #define CM_TABLE (1 << 7)
- /* Used for "THEAD", "TFOOT" or "TBODY". */
- #define CM_ROWGRP (1 << 8)
- /* Used for "TD", "TH" */
- #define CM_ROW (1 << 9)
- /* Elements whose content must be protected against white space movement.
- Includes some elements that can found in forms. */
- #define CM_FIELD (1 << 10)
- #define CM_RAW (1 << 11)
- /* Elements that allows "PARAM". */
- #define CM_PARAM (1 << 12)
- /* Elements with an optional end tag. */
- #define CM_OPT (1 << 13)
- /* Elements that use "align" attribute for vertical position. */
- #define CM_IMG (1 << 14)
- #define CM_NO_INDENT (1 << 15)
- /* Elements that cannot be omitted. */
- #define CM_OMITST (1 << 16)
- /* Unique elements */
- #define CM_UNIQUE (1 << 17)
-
- #define CM_USER_SHIFT (18)
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* SRC_LIBSERVER_HTML_TAGS_H_ */
|