version 1.1.1.1.2.5, 2010/06/23 11:33:38
|
version 1.1.1.1.2.6, 2010/06/23 15:07:15
|
Line 48 typedef enum {
|
Line 48 typedef enum {
|
i8, i16, i32, i64 // integers ... |
i8, i16, i32, i64 // integers ... |
} rpc_type_t; |
} rpc_type_t; |
|
|
|
typedef enum { |
|
disable, enable, |
|
get, set, unset |
|
} cmd_type_t; |
|
|
/* RPC value */ |
/* RPC value */ |
|
|
typedef struct { |
typedef struct { |
Line 212 struct tagRPCRet {
|
Line 217 struct tagRPCRet {
|
uint8_t ret_argc; |
uint8_t ret_argc; |
} __packed; |
} __packed; |
|
|
|
/* Network BLOB packet - Header */ |
|
|
|
struct tagBLOBHdr { |
|
rpc_sess_t hdr_session; |
|
uint8_t hdr_cmd; |
|
uint32_t hdr_var; |
|
uint32_t hdr_seq; |
|
uint32_t hdr_len; |
|
} __packed; |
|
|
/* Network RPC client & server elements */ |
/* Network RPC client & server elements */ |
|
|
typedef struct { |
typedef struct { |
Line 227 typedef struct {
|
Line 242 typedef struct {
|
typedef struct tagBLOB { |
typedef struct tagBLOB { |
rpc_cli_t *blob_cli; // from RPC client |
rpc_cli_t *blob_cli; // from RPC client |
|
|
|
uint32_t blob_var; |
|
|
size_t blob_len; // size of allocated BLOB data |
size_t blob_len; // size of allocated BLOB data |
void *blob_data; // BLOB data |
void *blob_data; // BLOB data |
|
|
Line 246 typedef struct {
|
Line 263 typedef struct {
|
|
|
struct { |
struct { |
int state; // BLOB server state: ==0 disable | !=0 enable |
int state; // BLOB server state: ==0 disable | !=0 enable |
|
char dir[UCHAR_MAX + 1]; |
|
|
rpc_cli_t server; // BLOB server socket |
rpc_cli_t server; // BLOB server socket |
rpc_cli_t *clients; // connected blob client sockets |
rpc_cli_t *clients; // connected blob client sockets |
Line 300 int rpc_srv_execServer(rpc_srv_t * __restrict srv);
|
Line 318 int rpc_srv_execServer(rpc_srv_t * __restrict srv);
|
/* |
/* |
* rpc_srv_initBLOBServer() Init & create BLOB Server |
* rpc_srv_initBLOBServer() Init & create BLOB Server |
* @Port = Port for bind server, if Port == 0 default port is selected |
* @Port = Port for bind server, if Port == 0 default port is selected |
|
* @diskDir = Disk place for BLOB file objects |
* return: -1 == error or 0 bind and created BLOB server instance |
* return: -1 == error or 0 bind and created BLOB server instance |
*/ |
*/ |
int rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_short Port); | int rpc_srv_initBLOBServer(rpc_srv_t * __restrict srv, u_short Port, const char *diskDir); |
/* |
/* |
* rpc_srv_endBLOBServer() Destroy BLOB server, close all opened sockets and free resources |
* rpc_srv_endBLOBServer() Destroy BLOB server, close all opened sockets and free resources |
* @srv = RPC Server instance |
* @srv = RPC Server instance |
Line 315 void rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv)
|
Line 334 void rpc_srv_endBLOBServer(rpc_srv_t * __restrict srv)
|
* return: -1 error or 0 ok, infinite loop ... |
* return: -1 error or 0 ok, infinite loop ... |
*/ |
*/ |
int rpc_srv_execBLOBServer(rpc_srv_t * __restrict srv); |
int rpc_srv_execBLOBServer(rpc_srv_t * __restrict srv); |
|
|
|
/* |
|
* rpc_srv_getBLOB() Get registered BLOB |
|
* @srv = RPC Server instance |
|
* @var = hash for variable |
|
* return: NULL not found, !=NULL return blob var |
|
*/ |
|
inline rpc_blob_t *rpc_srv_getBLOB(rpc_srv_t * __restrict srv, uint32_t var); |
|
|
/* |
/* |
* rpc_srv_registerCall() Register call to RPC server |
* rpc_srv_registerCall() Register call to RPC server |