iconv: Bail out of the loop when an illegal sequence of bytes occurs.
[elinks/elinks-j605.git] / src / document / css / value.h
blob96ab9b5e3e5c6dbabc9ffe94dc9036785601ac4a
1 /*! @file
2 * This is interface for the value parser. It is intended to be used
3 * only internally inside of the CSS engine. */
5 #ifndef EL__DOCUMENT_CSS_VALUE_H
6 #define EL__DOCUMENT_CSS_VALUE_H
8 #include "document/css/property.h"
9 #include "document/css/scanner.h"
12 /** This function takes a value of a specified type from the given
13 * scanner and converts it to a reasonable struct css_property-ready
14 * form.
16 * It returns positive integer upon success, zero upon parse error,
17 * and moves the string pointer to the byte after the value end. */
18 int css_parse_value(struct css_property_info *propinfo,
19 union css_property_value *value,
20 struct scanner *scanner);
23 /* Here come the css_property_value_parsers provided. */
25 /*! Takes no parser_data. */
26 int css_parse_background_value(struct css_property_info *propinfo,
27 union css_property_value *value,
28 struct scanner *scanner);
30 /*! Takes no parser_data. */
31 int css_parse_color_value(struct css_property_info *propinfo,
32 union css_property_value *value,
33 struct scanner *scanner);
35 /*! Takes no parser_data. */
36 int css_parse_display_value(struct css_property_info *propinfo,
37 union css_property_value *value,
38 struct scanner *scanner);
40 /*! Takes no parser_data. */
41 int css_parse_text_decoration_value(struct css_property_info *propinfo,
42 union css_property_value *value,
43 struct scanner *scanner);
45 /*! Takes no parser_data. */
46 int css_parse_font_style_value(struct css_property_info *propinfo,
47 union css_property_value *value,
48 struct scanner *scanner);
50 /*! Takes no parser_data. */
51 int css_parse_font_weight_value(struct css_property_info *propinfo,
52 union css_property_value *value,
53 struct scanner *scanner);
54 /*! Takes no parser_data. */
55 int css_parse_list_style_value(struct css_property_info *propinfo,
56 union css_property_value *value,
57 struct scanner *scanner);
59 /*! Takes no parser_data. */
60 int css_parse_text_align_value(struct css_property_info *propinfo,
61 union css_property_value *value,
62 struct scanner *scanner);
64 /*! Takes no parser_data. */
65 int css_parse_white_space_value(struct css_property_info *propinfo,
66 union css_property_value *value,
67 struct scanner *scanner);
68 #endif