version 1.13.2.7, 2011/12/16 01:52:39
|
version 1.13.2.13, 2012/02/02 15:53:40
|
Line 115 struct tagReqXML {
|
Line 115 struct tagReqXML {
|
/* AIT RPC variables and managment */ |
/* AIT RPC variables and managment */ |
|
|
typedef enum { |
typedef enum { |
empty, /* empty -> variable is not set */ | empty, ptr, /* empty -> variable is not set; ptr -> void* */ |
buffer, string, blob, /* buffer -> uint8_t*; string -> int8_t*; blob -> void*(+socket); */ | buffer, string, blob, /* buffer -> uint8_t*; string -> int8_t*; blob -> uint32_t blobID(+socket); */ |
f32, f64, /* float -> f32; double -> f64 */ |
f32, f64, /* float -> f32; double -> f64 */ |
u8, u16, u32, u64, /* unsigned integers ... */ |
u8, u16, u32, u64, /* unsigned integers ... */ |
i8, i16, i32, i64, /* integers ... */ |
i8, i16, i32, i64, /* integers ... */ |
Line 129 typedef struct {
|
Line 129 typedef struct {
|
union { |
union { |
uint64_t net; |
uint64_t net; |
|
|
|
void *ptr; |
uint8_t *buffer; |
uint8_t *buffer; |
int8_t *string; |
int8_t *string; |
uint32_t blob; |
uint32_t blob; |
Line 147 typedef struct {
|
Line 148 typedef struct {
|
|
|
#define AIT_TYPE(_vl) ((ait_type_t) (_vl)->val_type) |
#define AIT_TYPE(_vl) ((ait_type_t) (_vl)->val_type) |
#define AIT_LEN(_vl) (_vl)->val_len |
#define AIT_LEN(_vl) (_vl)->val_len |
|
#define AIT_RAW(_vl) (_vl)->val.net |
#define AIT_BLOB_CHUNKS(_vl, _n) (assert((_vl)), AIT_LEN((_vl)) / _n + (AIT_LEN((_vl)) % _n) ? 1 : 0) |
#define AIT_BLOB_CHUNKS(_vl, _n) (assert((_vl)), AIT_LEN((_vl)) / _n + (AIT_LEN((_vl)) % _n) ? 1 : 0) |
#define AIT_ISEMPTY(_vl) (assert((_vl)), AIT_TYPE((_vl)) == empty) |
#define AIT_ISEMPTY(_vl) (assert((_vl)), AIT_TYPE((_vl)) == empty) |
|
|
|
#define AIT_GET_LIKE(_vl, _type) (assert((_vl)), (_type) (_vl)->val.net) |
|
|
|
#define AIT_GET_PTR(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == ptr), (_vl)->val.ptr) |
|
#define AIT_GET_PTR2(_vl) (assert((_vl)), (_vl)->val.ptr) |
#define AIT_GET_BUF(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == buffer), (_vl)->val.buffer) |
#define AIT_GET_BUF(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == buffer), (_vl)->val.buffer) |
#define AIT_GET_STR(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == string), (_vl)->val.string) |
#define AIT_GET_STR(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == string), (_vl)->val.string) |
#define AIT_GET_BLOB(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == blob), (_vl)->val.blob) |
#define AIT_GET_BLOB(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == blob), (_vl)->val.blob) |
Line 164 typedef struct {
|
Line 170 typedef struct {
|
#define AIT_GET_F32(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == f32), (_vl)->val.f32) |
#define AIT_GET_F32(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == f32), (_vl)->val.f32) |
#define AIT_GET_F64(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == f64), (_vl)->val.f64) |
#define AIT_GET_F64(_vl) (assert((_vl)), assert(AIT_TYPE((_vl)) == f64), (_vl)->val.f64) |
|
|
|
#define AIT_SET_PTR(_vl, _p, _len) do { ait_val_t *__val = (_vl); assert(__val); \ |
|
__val->val_type = ptr; AIT_LEN(__val) = _len; \ |
|
__val->val.ptr = _p; } while (0) |
#define AIT_SET_BUF(_vl, _v, _len) do { ait_val_t *__val = (_vl); assert(__val); \ |
#define AIT_SET_BUF(_vl, _v, _len) do { ait_val_t *__val = (_vl); assert(__val); \ |
__val->val.buffer = malloc(_len); \ |
__val->val.buffer = malloc(_len); \ |
if (__val->val.buffer) { \ |
if (__val->val.buffer) { \ |
Line 833 extern int io_Debug;
|
Line 842 extern int io_Debug;
|
syslog(LOG_ERR, "Error:%s(%d): #%d - %s\n", \ |
syslog(LOG_ERR, "Error:%s(%d): #%d - %s\n", \ |
__func__, __LINE__, (x), str); \ |
__func__, __LINE__, (x), str); \ |
} while (0) |
} while (0) |
#define ioLOGERR(x) do { \ | #define ioSYSERR(x) do { \ |
if (x > 0 || errno) \ |
if (x > 0 || errno) \ |
syslog(LOG_ERR, "Error(sys):%s(%d): #%d - %s\n", \ |
syslog(LOG_ERR, "Error(sys):%s(%d): #%d - %s\n", \ |
__func__, __LINE__, x > 0 ? x : errno, \ |
__func__, __LINE__, x > 0 ? x : errno, \ |
Line 988 size_t ioSendFile(int s, const char *csFile, size_t se
|
Line 997 size_t ioSendFile(int s, const char *csFile, size_t se
|
* return: 0 error, >0 ok, received bytes |
* return: 0 error, >0 ok, received bytes |
*/ |
*/ |
size_t ioRecvFile(int s, const char *csFile, size_t recvLen, int over, int rcvbuf); |
size_t ioRecvFile(int s, const char *csFile, size_t recvLen, int over, int rcvbuf); |
|
|
|
|
|
/* Buffered file access over memory block */ |
|
|
|
/* |
|
* io_fmemopen() File buffered stream operations over memory block |
|
* |
|
* @base = Base address of memory block, if =NULL Infinit length(auto-grow) |
|
* @basesize = Size of memory block |
|
* return: NULL error or !=NULL Opened file resource |
|
*/ |
|
FILE *io_fmemopen(void ** __restrict base, off_t basesize); |
|
/* |
|
* io_fmapopen() File buffered stream operations over MMAP block |
|
* |
|
* @csFile = Filename for MMAP, if =NULL private MMAP block |
|
* @mode = File open mode |
|
* @perm = If file not exists will be created with this access permissions |
|
* @prot = MMAP protection |
|
* @flags = MMAP mode flags |
|
* @offset = Map from file offset, if csFile==NULL then this is size of MMAP private block |
|
* return: NULL error or !=NULL Opened file resource |
|
*/ |
|
FILE *io_fmapopen(const char *csFile, int mode, int perm, int prot, int flags, off_t offset); |
|
/* |
|
* io_fd2buf() Convert open file handle to buffered file I/O |
|
* |
|
* @fd = File handle |
|
* @mode = Permissions for new buffered file I/O |
|
* return: NULL error or open buffered file |
|
*/ |
|
inline FILE *io_fd2buf(int fd, const char *mode); |
|
/* |
|
* io_dumbFile() Create empry or dumb file with fixed size |
|
* |
|
* @csFile = Filename for create |
|
* @mode = File access permissions |
|
* @size = File size |
|
* return: -1 error or open file handle |
|
*/ |
|
int io_dumbFile(const char *csFile, int mode, off_t size); |
|
|
|
|
#endif |
#endif |