00001
00012 #if !defined(_AJA_TYPES_H_)
00013 #define _AJA_TYPES_H_
00014
00015
00016 #define BYTE_MAX 0xFF
00017 #define NUMBER16_MAX 0x0000FFFF
00018 #define NUMBER24_MAX 0x00FFFFFF
00019 #define TERMINATOR 0x00
00020
00021 #define ITEMTYPE_MASK 0xF0
00022 #define ELEMENTTYPE_MASK 0x0F
00023 #define ATTRIBUTETYPE_MASK 0x0F
00024
00025
00026
00027 #define SIZE_ITEM_START 1
00028
00029
00030 #define SIZE_ELM_ID 3
00031 #define SIZE_ELM_ATTR_COUNT 1
00032 #define SIZE_ELM_CRC 2
00033 #define SIZE_ELM_DATA_LEN 4
00034 #define SIZE_ELM_STR_LEN 2
00035 #define SIZE_ELM_PARENT_LEN 4
00036 #define SIZE_ELM_DATA_LEN 4
00037 #define SIZE_ELM_HEADER SIZE_ITEM_START + SIZE_ELM_ID + SIZE_ELM_ATTR_COUNT
00038
00039
00040 #define SIZE_ATTR_ID 8
00041 #define SIZE_ATTR_DATA_LEN 2
00042 #define SIZE_ATTR_STRING_LEN 2
00043 #define SIZE_ATTR_HEADER SIZE_ITEM_START + SIZE_ATTR_ID
00044
00045 #define SIZE_NUMBER 4
00046 #define SIZE_TERMINATOR 1
00047
00048
00049
00050 #define ELEMENT_HEADER_ROOT 1
00051 #define ELEMENT_VALUE 2
00052 #define ELEMENT_TRANS_TABLE 3
00053 #define ELEMENT_TT_ELEMENT 4
00054 #define ELEMENT_TT_ATTRIBUTE 5
00055
00056 #define ATTRIBUTE_VALUE_NAME 1
00057 #define ATTRIBUTE_ELEMENT_ID 1
00058 #define ATTRIBUTE_ELEMENT_NAME 2
00059 #define ATTRIBUTE_ELEMENT_DESC 3
00060 #define ATTRIBUTE_ATTRIBUTE_ID 1
00061 #define ATTRIBUTE_ATTRIBUTE_NAME 2
00062 #define ATTRIBUTE_ATTRIBUTE_DESC 3
00063
00064 namespace aja
00065 {
00066
00067 #define AJA_VERSION_1_0 0x10
00068 #define AJA_VALID_VERSION(ver) (ver == AJA_VERSION_1_0)
00069
00070 typedef unsigned char byte_t;
00071 typedef unsigned short dbyte_t;
00072 typedef unsigned int number_t;
00073 typedef byte_t* buffer_t;
00074
00075
00077 enum elementType_t
00078 {
00079 ELM_UNDEFINED = 0x00,
00080 ELM_DATA = 0x01,
00081 ELM_NUMBER = 0x02,
00082 ELM_STRING = 0x03,
00083 ELM_PARENT = 0x0F
00084 };
00085 #define IS_ELEMENT_TYPE(value) ( ((value > 0x00) && (value <= 0x03)) || (value == 0x0F) )
00086
00087
00089 enum attributeType_t
00090 {
00091 ATTR_UNDEFINED = 0x00,
00092 ATTR_DATA = 0x01,
00093 ATTR_NUMBER = 0x02,
00094 ATTR_STRING = 0x03
00095 };
00096 #define IS_ATTRIBUTE_TYPE(value) ((value > 0x00) && (value <= 0x03))
00097
00098
00100 enum itemType_t
00101 {
00102 ITM_UNDEFINED = 0x00,
00103 ITM_ELEMENT = 0x01,
00104 ITM_ATTRIBUTE = 0x02,
00105 ITM_DOCUMENTHEADER = 0x0A
00106 };
00107 #define IS_ITEM_TYPE(value) ((value > 0x00) && (value <= 0x03))
00108
00109 }
00110
00111 #endif