version 1.2.4.6, 2011/08/19 08:24:13
|
version 1.2.4.9, 2011/08/19 14:04:21
|
Line 268 struct tagBLOBHdr {
|
Line 268 struct tagBLOBHdr {
|
typedef struct { |
typedef struct { |
struct sockaddr cli_sa; // host info |
struct sockaddr cli_sa; // host info |
int cli_sock; // socket fd |
int cli_sock; // socket fd |
int cli_type; // socket type |
|
pthread_t cli_tid; // TID of thread |
pthread_t cli_tid; // TID of thread |
|
|
void *cli_parent; // pointer to parent rpc_srv_t for server or to rpc_sess_t for client |
void *cli_parent; // pointer to parent rpc_srv_t for server or to rpc_sess_t for client |
Line 338 inline const char *rpc_GetError();
|
Line 337 inline const char *rpc_GetError();
|
* @regProgID = ProgramID for authentication & recognition |
* @regProgID = ProgramID for authentication & recognition |
* @regProcID = ProcessID for authentication & recognition |
* @regProcID = ProcessID for authentication & recognition |
* @concurentClients = Concurent clients at same time to this server |
* @concurentClients = Concurent clients at same time to this server |
* @sockType = Socket type, like SOCK_STREAM, SOCK_DGRAM or SOCK_RAW |
|
* @family = Family type, AF_INET, AF_INET6 or AF_LOCAL |
* @family = Family type, AF_INET, AF_INET6 or AF_LOCAL |
* @csHost = Host name or address for bind server, if NULL any address |
* @csHost = Host name or address for bind server, if NULL any address |
* @Port = Port for bind server, if Port == 0 default port is selected |
* @Port = Port for bind server, if Port == 0 default port is selected |
* return: NULL == error or !=NULL bind and created RPC server instance |
* return: NULL == error or !=NULL bind and created RPC server instance |
*/ |
*/ |
rpc_srv_t *rpc_srv_initServer(u_int regProgID, u_int regProcID, int concurentClients, |
rpc_srv_t *rpc_srv_initServer(u_int regProgID, u_int regProcID, int concurentClients, |
int sockType, u_short family, const char *csHost, u_short Port); | u_short family, const char *csHost, u_short Port); |
/* |
/* |
* rpc_srv_endServer() Destroy RPC server, close all opened sockets and free resources |
* rpc_srv_endServer() Destroy RPC server, close all opened sockets and free resources |
* @srv = RPC Server instance |
* @srv = RPC Server instance |
Line 362 int rpc_srv_execServer(rpc_srv_t * __restrict srv);
|
Line 360 int rpc_srv_execServer(rpc_srv_t * __restrict srv);
|
/* |
/* |
* rpc_srv_initBLOBServer() Init & create BLOB Server |
* rpc_srv_initBLOBServer() Init & create BLOB Server |
* @srv = RPC server instance |
* @srv = RPC server instance |
* @sockType = Socket type, like SOCK_STREAM, SOCK_DGRAM or SOCK_RAW |
|
* @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 |
* @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, int sockType, u_short Port, const char *diskDir); | 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 575 inline int rpc_cli_getBLOB(rpc_cli_t * __restrict cli,
|
Line 572 inline int rpc_cli_getBLOB(rpc_cli_t * __restrict cli,
|
* @Port = Port for bind server, if Port == 0 default port is selected |
* @Port = Port for bind server, if Port == 0 default port is selected |
* return: NULL == error or !=NULL connection to RPC server established |
* return: NULL == error or !=NULL connection to RPC server established |
*/ |
*/ |
rpc_cli_t *rpc_cli_openClient(u_int ProgID, u_int ProcID, u_short family, | rpc_cli_t *rpc_cli_openClient(u_int ProgID, u_int ProcID, |
const char *csHost, u_short Port); | u_short family, const char *csHost, u_short Port); |
/* |
/* |
* rpc_cli_closeClient() Close connection to RPC server and free resources |
* rpc_cli_closeClient() Close connection to RPC server and free resources |
* @cli = RPC Client session |
* @cli = RPC Client session |
Line 589 void rpc_cli_closeClient(rpc_cli_t * __restrict cli);
|
Line 586 void rpc_cli_closeClient(rpc_cli_t * __restrict cli);
|
* @csModule = Module name, if NULL self binary |
* @csModule = Module name, if NULL self binary |
* @csFunc = Function name for execute |
* @csFunc = Function name for execute |
* @in_argc = IN count of arguments |
* @in_argc = IN count of arguments |
* @in_vals = IN RPC call array of rpc values | * @in_vars = IN RPC call array of rpc values |
* @out_argc = OUT returned count of arguments |
* @out_argc = OUT returned count of arguments |
* @out_vals = OUT returned array of rpc values, must be free after use (see rpc_cli_freeVals()) | * @out_vars = OUT returned array of rpc values, must be free after use (see rpc_cli_freeVals()) |
* return: -1 error or != -1 ok result |
* return: -1 error or != -1 ok result |
*/ |
*/ |
int rpc_cli_execCall(rpc_cli_t *cli, const char *csModule, const char *csFunc, int in_argc, |
int rpc_cli_execCall(rpc_cli_t *cli, const char *csModule, const char *csFunc, int in_argc, |
rpc_val_t * __restrict in_vals, int *out_argc, rpc_val_t ** __restrict out_vals); | rpc_val_t * __restrict in_vars, int *out_argc, rpc_val_t ** __restrict out_vars); |
/* |
/* |
* rpc_cli_freeVals() Free rpc_val_t array returned from RPC call |
* rpc_cli_freeVals() Free rpc_val_t array returned from RPC call |
* @args = Number of arguments in array |
* @args = Number of arguments in array |
* @vals = Value elements | * @vars = Value elements |
* return: none |
* return: none |
*/ |
*/ |
inline void rpc_cli_freeVals(int args, rpc_val_t *vals); | inline void rpc_cli_freeVals(int args, rpc_val_t *vars); |
|
|
|
|
/* |
/* |