00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __LWES_TYPES_H
00021 #define __LWES_TYPES_H
00022
00023 #include <sys/types.h>
00024 #include <netinet/in.h>
00025
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029
00030
00031
00032
00033
00072
00073
00081 typedef unsigned char LWES_BYTE;
00082
00086 typedef unsigned char * LWES_BYTE_P;
00087
00091 typedef unsigned short int LWES_U_INT_16;
00092
00096 typedef short int LWES_INT_16;
00097
00101 typedef unsigned int LWES_U_INT_32;
00102
00106 typedef int LWES_INT_32;
00107
00111 typedef unsigned long long LWES_U_INT_64;
00112
00116 typedef long long LWES_INT_64;
00117
00122 typedef int LWES_BOOLEAN;
00123
00127 typedef struct in_addr LWES_IP_ADDR;
00128
00132 typedef char * LWES_SHORT_STRING;
00133
00137 typedef char * LWES_LONG_STRING;
00138
00142 typedef const char * LWES_CONST_SHORT_STRING;
00143
00147 typedef const char * LWES_CONST_LONG_STRING;
00148
00152 typedef char LWES_CHAR;
00153
00154
00155
00156
00157
00158 #define SHORT_STRING_MAX 255
00159 #define LONG_STRING_MAX 65535
00160 #define BYTE_STRING_MAX 2
00161 #define U_INT_16_STRING_MAX 5
00162 #define INT_16_STRING_MAX 6
00163 #define U_INT_32_STRING_MAX 10
00164 #define INT_32_STRING_MAX 11
00165 #define U_INT_64_STRING_MAX 20
00166 #define INT_64_STRING_MAX 20
00167 #define BOOLEAN_STRING_MAX 5
00168 #define IP_ADDR_STRING_MAX 15
00169
00170 #define MAX_HEADER_LENGTH 22
00171 #define MAX_BODY_LENGTH 65513
00172
00173 #ifndef TRUE
00174 #define TRUE 1
00175 #endif
00176 #ifndef FALSE
00177 #define FALSE 0
00178 #endif
00179 extern const size_t MAX_QUEUED_ELEMENTS;
00180 extern const size_t MAX_MSG_SIZE;
00181
00182
00183
00184
00185 extern const LWES_BYTE LWES_UNDEFINED_TOKEN;
00186 extern const LWES_BYTE LWES_U_INT_16_TOKEN;
00187 extern const LWES_BYTE LWES_INT_16_TOKEN;
00188 extern const LWES_BYTE LWES_U_INT_32_TOKEN;
00189 extern const LWES_BYTE LWES_INT_32_TOKEN;
00190 extern const LWES_BYTE LWES_U_INT_64_TOKEN;
00191 extern const LWES_BYTE LWES_INT_64_TOKEN;
00192 extern const LWES_BYTE LWES_BOOLEAN_TOKEN;
00193 extern const LWES_BYTE LWES_IP_ADDR_TOKEN;
00194 extern const LWES_BYTE LWES_STRING_TOKEN;
00195
00196 extern const LWES_SHORT_STRING LWES_UNDEFINED_STRING;
00197 extern const LWES_SHORT_STRING LWES_U_INT_16_STRING;
00198 extern const LWES_SHORT_STRING LWES_INT_16_STRING;
00199 extern const LWES_SHORT_STRING LWES_U_INT_32_STRING;
00200 extern const LWES_SHORT_STRING LWES_INT_32_STRING;
00201 extern const LWES_SHORT_STRING LWES_U_INT_64_STRING;
00202 extern const LWES_SHORT_STRING LWES_INT_64_STRING;
00203 extern const LWES_SHORT_STRING LWES_BOOLEAN_STRING;
00204 extern const LWES_SHORT_STRING LWES_IP_ADDR_STRING;
00205 extern const LWES_SHORT_STRING LWES_STRING_STRING;
00206
00207 extern const LWES_SHORT_STRING LWES_META_INFO_STRING;
00208
00210 typedef enum {
00211 LWES_TYPE_U_INT_16 = 1,
00212 LWES_TYPE_INT_16 = 2,
00213 LWES_TYPE_U_INT_32 = 3,
00214 LWES_TYPE_INT_32 = 4,
00215 LWES_TYPE_STRING = 5,
00216 LWES_TYPE_IP_ADDR = 6,
00217 LWES_TYPE_INT_64 = 7,
00218 LWES_TYPE_U_INT_64 = 8,
00219 LWES_TYPE_BOOLEAN = 9,
00220 LWES_TYPE_UNDEFINED = 255,
00221 } LWES_TYPE;
00222
00223 #ifdef __cplusplus
00224 }
00225 #endif
00226
00227 #endif