|
version 1.24, 2012/08/02 00:47:46
|
version 1.25.2.5, 2012/09/17 13:44:21
|
|
Line 170 typedef struct {
|
Line 170 typedef struct {
|
| #define AIT_GET_DATA(_vl) (assert(AIT_TYPE((_vl)) == data), (_vl)->val_data) |
#define AIT_GET_DATA(_vl) (assert(AIT_TYPE((_vl)) == data), (_vl)->val_data) |
| #define AIT_GET_BUF(_vl) (assert(AIT_TYPE((_vl)) == buffer), (_vl)->val.buffer) |
#define AIT_GET_BUF(_vl) (assert(AIT_TYPE((_vl)) == buffer), (_vl)->val.buffer) |
| #define AIT_GET_STR(_vl) (assert(AIT_TYPE((_vl)) == string), (char*) (_vl)->val.string) |
#define AIT_GET_STR(_vl) (assert(AIT_TYPE((_vl)) == string), (char*) (_vl)->val.string) |
| |
#define AIT_GET_STRZ(_vl) (assert(AIT_TYPE((_vl)) == string), (_vl)->val.string ? \ |
| |
(char*) (_vl)->val.string : "") |
| #define AIT_GET_BLOB(_vl) (assert(AIT_TYPE((_vl)) == blob), (_vl)->val.blob) |
#define AIT_GET_BLOB(_vl) (assert(AIT_TYPE((_vl)) == blob), (_vl)->val.blob) |
| #define AIT_GET_U8(_vl) (assert(AIT_TYPE((_vl)) == u8), (_vl)->val.u8) |
#define AIT_GET_U8(_vl) (assert(AIT_TYPE((_vl)) == u8), (_vl)->val.u8) |
| #define AIT_GET_U16(_vl) (assert(AIT_TYPE((_vl)) == u16), (_vl)->val.u16) |
#define AIT_GET_U16(_vl) (assert(AIT_TYPE((_vl)) == u16), (_vl)->val.u16) |
|
Line 216 typedef struct {
|
Line 218 typedef struct {
|
| } } while (0) |
} } while (0) |
| #define AIT_SET_STR(_vl, _v) do { ait_val_t *__val = (_vl); const char *__s = (_v); assert(__val); \ |
#define AIT_SET_STR(_vl, _v) do { ait_val_t *__val = (_vl); const char *__s = (_v); assert(__val); \ |
| __val->val_type = string; \ |
__val->val_type = string; \ |
| if (__s && *__s) { \ | if (__s) { \ |
| __val->val.string = (int8_t*) io_strdup(__s); \ |
__val->val.string = (int8_t*) io_strdup(__s); \ |
| AIT_LEN(__val) = strlen((const char*) \ |
AIT_LEN(__val) = strlen((const char*) \ |
| __val->val.string) + 1; \ |
__val->val.string) + 1; \ |
|
Line 243 typedef struct {
|
Line 245 typedef struct {
|
| void *__p = io_realloc(__val->val.string, AIT_LEN(__val) + __l); \ |
void *__p = io_realloc(__val->val.string, AIT_LEN(__val) + __l); \ |
| if (__p) { \ |
if (__p) { \ |
| AIT_LEN(__val) += __l; \ |
AIT_LEN(__val) += __l; \ |
| |
if (!__val->val.string) \ |
| |
memset(__p, 0, AIT_LEN(__val)); \ |
| __val->val.string = __p; \ |
__val->val.string = __p; \ |
| strlcat((char*) __val->val.string, __s, \ |
strlcat((char*) __val->val.string, __s, \ |
| AIT_LEN(__val)); \ |
AIT_LEN(__val)); \ |
|
Line 339 typedef struct {
|
Line 343 typedef struct {
|
| AIT_INIT_VAL((_vl)); \ |
AIT_INIT_VAL((_vl)); \ |
| (_vl)->val_type = _t; \ |
(_vl)->val_type = _t; \ |
| } while (0) |
} while (0) |
| |
#define AIT_SET_LIKE(_vl, _t, _l, _v) (assert((_vl)), io_setlikeVar((_vl), _t, _l, _v)) |
| /* if attribute zeroCopy is set not execute io_free() */ |
/* if attribute zeroCopy is set not execute io_free() */ |
| #define AIT_FREE_VAL(_vl) do { ait_val_t *__val = (_vl); assert(__val); \ |
#define AIT_FREE_VAL(_vl) do { ait_val_t *__val = (_vl); assert(__val); \ |
| switch (AIT_TYPE(__val)) { \ |
switch (AIT_TYPE(__val)) { \ |
|
Line 396 typedef union {
|
Line 401 typedef union {
|
| #define IO_SOCKADDR_INIT { .ss = { 0 } } |
#define IO_SOCKADDR_INIT { .ss = { 0 } } |
| |
|
| |
|
| #define io_align(x, a) (((x) + (a)) & ~(a)) | #define io_align(x, a) (((x) + ((a) - 1)) & ~((a) - 1)) |
| |
|
| |
|
| // io_GetErrno() Get error code of last operation |
// io_GetErrno() Get error code of last operation |
|
Line 432 extern void (*io_free)(void*);
|
Line 437 extern void (*io_free)(void*);
|
| |
|
| |
|
| /* |
/* |
| |
* io_usleep() - usleep() replacement for ELWIX |
| |
* |
| |
* @usec = microseconds for sleep |
| |
* return: -1 interrupted by signal or 0 ok |
| |
*/ |
| |
inline int io_usleep(unsigned int usec); |
| |
/* |
| * io_ether_ntoa() - Convert ethernet address to string |
* io_ether_ntoa() - Convert ethernet address to string |
| * |
* |
| * @n = ethernet address structure, like struct ether_addr |
* @n = ethernet address structure, like struct ether_addr |
|
Line 540 inline void io_freeVar(ait_val_t ** __restrict val);
|
Line 552 inline void io_freeVar(ait_val_t ** __restrict val);
|
| */ |
*/ |
| ait_val_t *io_makeVar(ait_type_t type, ...); |
ait_val_t *io_makeVar(ait_type_t type, ...); |
| /* |
/* |
| |
* io_setlikeVar() - Set variable like ... |
| |
* |
| |
* @v = variable |
| |
* @t = type of data |
| |
* @l = length of data |
| |
* @... = data |
| |
* return: -1 error or 0 ok |
| |
*/ |
| |
inline int io_setlikeVar(ait_val_t * __restrict v, ait_type_t t, u_int l, ...); |
| |
/* |
| |
* io_sprintfVar() - Builtin string variable from formatted input |
| |
* |
| |
* @v = variable |
| |
* @fmt = format string |
| |
* @... = argument(s) |
| |
* return: -1 error or >0 copied bytes to variable |
| |
*/ |
| |
int io_sprintfVar(ait_val_t * __restrict v, const char *fmt, ...); |
| |
/* |
| |
* io_cmpVar() - Compare two variables |
| |
* |
| |
* @a = 1st variable |
| |
* @b = 2nd variable |
| |
* return: 0 is equal or !=0 is different |
| |
*/ |
| |
inline int io_cmpVar(ait_val_t * __restrict a, ait_val_t * __restrict b); |
| |
/* |
| |
* io_hashVar() - Generate hash key for variable from string or value |
| |
* |
| |
* @v = variable |
| |
* @key = key string for hash, if =NULL hash will built from variable |
| |
* return: hash key |
| |
*/ |
| |
unsigned short io_hashVar(ait_val_t * __restrict v, const char * __restrict key); |
| |
/* |
| * io_allocVars() - Allocate ait_val_t array |
* io_allocVars() - Allocate ait_val_t array |
| * |
* |
| * @varnum = Number of variables |
* @varnum = Number of variables |
|
Line 594 inline void io_sortVarsByVal(array_t * __restrict vars
|
Line 641 inline void io_sortVarsByVal(array_t * __restrict vars
|
| * return: NULL error or not found, !=NULL valid element |
* return: NULL error or not found, !=NULL valid element |
| */ |
*/ |
| ait_val_t *io_findKeyVars(array_t * __restrict vars, u_short key); |
ait_val_t *io_findKeyVars(array_t * __restrict vars, u_short key); |
| |
/* |
| |
* io_findKeyHash() - Find variable by hash string from array |
| |
* |
| |
* @vars = Variables |
| |
* @key = Search string |
| |
* return: NULL error or not found, !=NULL valid element |
| |
*/ |
| |
inline ait_val_t *io_findKeyHash(array_t * __restrict vars, const char * __restrict key); |
| |
/* |
| |
* io_hashKeyVars() - Generate hash keys for variables |
| |
* |
| |
* @vars = Variables |
| |
* return -1 error or 0 ok |
| |
*/ |
| |
inline int io_hashKeyVars(array_t * __restrict vars); |
| |
|
| |
|
| /* |
/* |