|
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 |