php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
token.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018-2020 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
7#ifndef LEXBOR_HTML_TOKEN_H
8#define LEXBOR_HTML_TOKEN_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include "lexbor/core/dobject.h"
15#include "lexbor/core/str.h"
16
17#include "lexbor/html/base.h"
19#include "lexbor/tag/tag.h"
20
21
23
24
32
52
53
56
59
62
63LXB_API void
66
67LXB_API void
70
73 lexbor_mraw_t *mraw);
74
77 lexbor_mraw_t *mraw);
78
81 lexbor_str_t *str, lexbor_mraw_t *mraw);
82
85
88
91 lxb_html_token_t *ws_token);
92
95 lxb_dom_document_type_t *doc_type);
96
99 const lxb_char_t *name, size_t name_len);
100
101
102/*
103 * Inline functions
104 */
105lxb_inline void
107{
108 memset(token, 0, sizeof(lxb_html_token_t));
109}
110
116
117/*
118 * No inline functions for ABI.
119 */
120LXB_API void
122
125
126
127#ifdef __cplusplus
128} /* extern "C" */
129#endif
130
131#endif /* LEXBOR_HTML_TOKEN_H */
132
#define LXB_API
Definition def.h:48
void * lexbor_dobject_calloc(lexbor_dobject_t *dobject)
Definition dobject.c:123
struct lxb_dom_document_type lxb_dom_document_type_t
Definition interface.h:42
memset(ptr, 0, type->size)
new_type attr
Definition ffi.c:4364
struct lxb_html_tokenizer lxb_html_tokenizer_t
Definition base.h:26
LXB_API lxb_status_t lxb_html_token_data_skip_one_newline_begin(lxb_html_token_t *token)
Definition token.c:215
LXB_API lxb_status_t lxb_html_token_make_text(lxb_html_token_t *token, lexbor_str_t *str, lexbor_mraw_t *mraw)
Definition token.c:91
LXB_API lxb_html_token_t * lxb_html_token_create_eof_noi(lexbor_dobject_t *dobj)
Definition token.c:383
LXB_API lxb_html_token_t * lxb_html_token_destroy(lxb_html_token_t *token, lexbor_dobject_t *dobj)
Definition token.c:31
int lxb_html_token_type_t
Definition token.h:22
LXB_API lxb_status_t lxb_html_token_doctype_parse(lxb_html_token_t *token, lxb_dom_document_type_t *doc_type)
Definition token.c:259
LXB_API lxb_status_t lxb_html_token_data_split_ws_begin(lxb_html_token_t *token, lxb_html_token_t *ws_token)
Definition token.c:232
LXB_API lxb_html_token_attr_t * lxb_html_token_attr_append(lxb_html_token_t *token, lexbor_dobject_t *dobj)
Definition token.c:37
LXB_API void lxb_html_token_clean_noi(lxb_html_token_t *token)
Definition token.c:377
lxb_inline lxb_html_token_t * lxb_html_token_create_eof(lexbor_dobject_t *dobj)
Definition token.h:112
LXB_API lxb_html_token_attr_t * lxb_html_token_find_attr(lxb_html_tokenizer_t *tkz, lxb_html_token_t *token, const lxb_char_t *name, size_t name_len)
Definition token.c:351
lxb_html_token_type
Definition token.h:25
@ LXB_HTML_TOKEN_TYPE_DONE
Definition token.h:30
@ LXB_HTML_TOKEN_TYPE_CLOSE
Definition token.h:27
@ LXB_HTML_TOKEN_TYPE_OPEN
Definition token.h:26
@ LXB_HTML_TOKEN_TYPE_FORCE_QUIRKS
Definition token.h:29
@ LXB_HTML_TOKEN_TYPE_CLOSE_SELF
Definition token.h:28
LXB_API lxb_status_t lxb_html_token_data_skip_ws_begin(lxb_html_token_t *token)
Definition token.c:179
lxb_inline void lxb_html_token_clean(lxb_html_token_t *token)
Definition token.h:106
LXB_API void lxb_html_token_attr_remove(lxb_html_token_t *token, lxb_html_token_attr_t *attr)
Definition token.c:60
LXB_API lxb_status_t lxb_html_token_make_text_replace_null(lxb_html_token_t *token, lexbor_str_t *str, lexbor_mraw_t *mraw)
Definition token.c:141
LXB_API lxb_status_t lxb_html_token_make_text_drop_null(lxb_html_token_t *token, lexbor_str_t *str, lexbor_mraw_t *mraw)
Definition token.c:110
LXB_API lxb_html_token_t * lxb_html_token_create(lexbor_dobject_t *dobj)
Definition token.c:25
LXB_API void lxb_html_token_attr_delete(lxb_html_token_t *token, lxb_html_token_attr_t *attr, lexbor_dobject_t *dobj)
Definition token.c:83
const lxb_char_t * end
Definition token.h:35
lxb_html_token_type_t type
Definition token.h:49
size_t null_count
Definition token.h:47
const lxb_char_t * text_end
Definition token.h:40
lxb_tag_id_t tag_id
Definition token.h:48
const lxb_char_t * text_start
Definition token.h:39
lxb_html_token_attr_t * attr_first
Definition token.h:42
void * base_element
Definition token.h:45
size_t line
Definition token.h:36
size_t column
Definition token.h:37
lxb_html_token_attr_t * attr_last
Definition token.h:43
const lxb_char_t * begin
Definition token.h:34
uintptr_t lxb_tag_id_t
Definition const.h:21
struct lxb_html_token_attr lxb_html_token_attr_t
Definition token_attr.h:22
unsigned int lxb_status_t
Definition types.h:28
#define lxb_inline
Definition types.h:21
unsigned char lxb_char_t
Definition types.h:27
zend_string * name