123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325 |
- #ifndef ANDROID_XML_H
- #define ANDROID_XML_H
- #include <stdint.h>
- extern uint32_t g_lineno;
- struct ResChunk_header
- {
-
-
- uint16_t type;
-
-
-
- uint16_t headerSize;
-
-
-
-
-
- uint32_t size;
- };
- enum {
- RES_NULL_TYPE = 0x0000,
- RES_STRING_POOL_TYPE = 0x0001,
- RES_TABLE_TYPE = 0x0002,
- RES_XML_TYPE = 0x0003,
-
- RES_XML_FIRST_CHUNK_TYPE = 0x0100,
- RES_XML_START_NAMESPACE_TYPE= 0x0100,
- RES_XML_END_NAMESPACE_TYPE = 0x0101,
- RES_XML_START_ELEMENT_TYPE = 0x0102,
- RES_XML_END_ELEMENT_TYPE = 0x0103,
- RES_XML_CDATA_TYPE = 0x0104,
- RES_XML_LAST_CHUNK_TYPE = 0x017f,
-
-
- RES_XML_RESOURCE_MAP_TYPE = 0x0180,
-
- RES_TABLE_PACKAGE_TYPE = 0x0200,
- RES_TABLE_TYPE_TYPE = 0x0201,
- RES_TABLE_TYPE_SPEC_TYPE = 0x0202,
- RES_TABLE_LIBRARY_TYPE = 0x0203
- };
- struct ResStringPool_header
- {
- struct ResChunk_header header;
-
-
- uint32_t stringCount;
-
-
- uint32_t styleCount;
-
- enum {
-
-
- SORTED_FLAG = 1<<0,
-
- UTF8_FLAG = 1<<8
- };
- uint32_t flags;
-
- uint32_t stringsStart;
-
- uint32_t stylesStart;
- };
- struct ResStringPool_ref
- {
-
-
-
- uint32_t index;
- };
- struct ResXMLTree_endElementExt
- {
-
- struct ResStringPool_ref ns;
-
-
-
- struct ResStringPool_ref name;
- };
- struct ResXMLTree_node
- {
- struct ResChunk_header header;
-
- uint32_t lineNumber;
-
- struct ResStringPool_ref comment;
- };
- struct Res_value
- {
-
- uint16_t size;
-
- uint8_t res0;
-
-
- enum : uint8_t {
-
-
- TYPE_NULL = 0x00,
-
-
- TYPE_REFERENCE = 0x01,
-
- TYPE_ATTRIBUTE = 0x02,
-
-
- TYPE_STRING = 0x03,
-
- TYPE_FLOAT = 0x04,
-
-
- TYPE_DIMENSION = 0x05,
-
-
- TYPE_FRACTION = 0x06,
-
-
- TYPE_DYNAMIC_REFERENCE = 0x07,
-
-
- TYPE_DYNAMIC_ATTRIBUTE = 0x08,
-
- TYPE_FIRST_INT = 0x10,
-
- TYPE_INT_DEC = 0x10,
-
- TYPE_INT_HEX = 0x11,
-
- TYPE_INT_BOOLEAN = 0x12,
-
- TYPE_FIRST_COLOR_INT = 0x1c,
-
- TYPE_INT_COLOR_ARGB8 = 0x1c,
-
- TYPE_INT_COLOR_RGB8 = 0x1d,
-
- TYPE_INT_COLOR_ARGB4 = 0x1e,
-
- TYPE_INT_COLOR_RGB4 = 0x1f,
-
- TYPE_LAST_COLOR_INT = 0x1f,
-
- TYPE_LAST_INT = 0x1f
- };
- uint8_t dataType;
-
- enum {
-
-
- COMPLEX_UNIT_SHIFT = 0,
- COMPLEX_UNIT_MASK = 0xf,
-
- COMPLEX_UNIT_PX = 0,
-
- COMPLEX_UNIT_DIP = 1,
-
- COMPLEX_UNIT_SP = 2,
-
- COMPLEX_UNIT_PT = 3,
-
- COMPLEX_UNIT_IN = 4,
-
- COMPLEX_UNIT_MM = 5,
-
- COMPLEX_UNIT_FRACTION = 0,
-
- COMPLEX_UNIT_FRACTION_PARENT = 1,
-
-
-
- COMPLEX_RADIX_SHIFT = 4,
- COMPLEX_RADIX_MASK = 0x3,
-
- COMPLEX_RADIX_23p0 = 0,
-
- COMPLEX_RADIX_16p7 = 1,
-
- COMPLEX_RADIX_8p15 = 2,
-
- COMPLEX_RADIX_0p23 = 3,
-
-
- COMPLEX_MANTISSA_SHIFT = 8,
- COMPLEX_MANTISSA_MASK = 0xffffff
- };
-
- enum {
-
- DATA_NULL_UNDEFINED = 0,
-
- DATA_NULL_EMPTY = 1
- };
-
- typedef uint32_t data_type;
- data_type data;
- void copyFrom_dtoh(const Res_value& src);
- };
- struct ResXMLTree_attrExt
- {
-
- struct ResStringPool_ref ns;
-
-
-
- struct ResStringPool_ref name;
-
-
- uint16_t attributeStart;
-
-
- uint16_t attributeSize;
-
-
-
-
- uint16_t attributeCount;
-
-
- uint16_t idIndex;
-
-
- uint16_t classIndex;
-
-
- uint16_t styleIndex;
- };
- struct ResXMLTree_attribute
- {
-
- struct ResStringPool_ref ns;
-
-
- struct ResStringPool_ref name;
-
- struct ResStringPool_ref rawValue;
-
-
- struct Res_value typedValue;
- };
- struct ResXMLTree_namespaceExt
- {
-
- struct ResStringPool_ref prefix;
-
-
- struct ResStringPool_ref uri;
- };
- #endif
|