Diff for /libaitrpc/inc/aitrpc.h between versions 1.2.4.5 and 1.2.4.8

version 1.2.4.5, 2011/08/19 07:39:29 version 1.2.4.8, 2011/08/19 12:51:50
Line 226  typedef struct tagRPCFunc { Line 226  typedef struct tagRPCFunc {
         int8_t                  func_name[UCHAR_MAX + 1];          int8_t                  func_name[UCHAR_MAX + 1];
   
         int8_t                  func_args;          int8_t                  func_args;
        rpc_val_t               *func_vals;        rpc_val_t               *func_vars;
   
         void                    *func_parent;          void                    *func_parent;
         struct tagRPCFunc       *func_next;          struct tagRPCFunc       *func_next;
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 427  int rpc_srv_execCall(rpc_func_t * __restrict call, str Line 424  int rpc_srv_execCall(rpc_func_t * __restrict call, str
   
   
 /*  /*
 * rpc_srv_retValsCall() Declare return variables for RPC call and zeroed values * rpc_srv_returnVars() Init return variables for RPC call and zeroed values
                                         (for safe handling return values, use this!)                                          (for safe handling return values, use this!)
  * @call = RPC function call   * @call = RPC function call
 * @return_vals = Number of return variables * @varnum = Number of return variables
 * return: NULL error, !=NULL array with return values for RPC call with return_vals items * return: NULL error, !=NULL array with return values for RPC call with varnum items
  */   */
inline rpc_val_t *rpc_srv_retValsCall(rpc_func_t * __restrict call, int return_vals);inline rpc_val_t *rpc_srv_returnVars(rpc_func_t * __restrict call, int varnum);
 /*  /*
 * rpc_srv_declValsCall() Declare return variables for RPC call * rpc_srv_allocVars() Allocate array for call variables
                                if already allocated memory for RPC call return values                                 if already allocated memory for RPC call reallocate used space
                                function reallocate used space with return_vals count elements 
  * @call = RPC function call   * @call = RPC function call
 * @return_vals = Number of return variables * @varnum = Number of variables, if ==0 free previous allocated variables
 * return: -1 error, !=-1 ok * return: -1 error, !=-1 return varnum value
  */   */
inline int rpc_srv_declValsCall(rpc_func_t * __restrict call, int return_vals);inline int rpc_srv_allocVars(rpc_func_t * __restrict call, int varnum);
 #define rpc_srv_freeVars(_call) (assert((_call)), rpc_srv_allocVars((_call), 0))
 /*  /*
 * rpc_srv_freeValsCall() Free return variables for RPC call * rpc_srv_zeroVars() Clean values from variables of RPC call
  * @call = RPC function call   * @call = RPC function call
 * return: none * return: -1 error, !=-1 Returned number of cleaned RPC variables
  */   */
inline void rpc_srv_freeValsCall(rpc_func_t * __restrict call);inline int rpc_srv_zeroVars(rpc_func_t * __restrict call);
 /*  /*
 * rpc_srv_copyValsCall() Copy return variables for RPC call to new variable * rpc_srv_copyVars() Copy variables for RPC call to new variable array
  * @call = RPC function call   * @call = RPC function call
 * @newvals = New allocated variables array, must be free after use * @newvars = New allocated variables array, must be free after use
  * return: -1 error, !=-1 Returned number of copied RPC variables   * return: -1 error, !=-1 Returned number of copied RPC variables
  */   */
inline int rpc_srv_copyValsCall(rpc_func_t * __restrict call, rpc_val_t ** __restrict newvals);inline int rpc_srv_copyVars(rpc_func_t * __restrict call, rpc_val_t ** __restrict newvars);
 /*  /*
 * rpc_srv_zeroValsCall() Clean values from return variables of RPC call * rpc_srv_getVars() Get variables array for RPC call
  * @call = RPC function call   * @call = RPC function call
 * return: -1 error, !=-1 Returned number of cleaned RPC variables * @vars = Returned variables array, may be NULL
 */ 
inline int rpc_srv_zeroValsCall(rpc_func_t * __restrict call); 
/* 
 * rpc_srv_getValsCall() Get return variables for RPC call 
 * @call = RPC function call 
 * @vals = Returned variables, may be NULL 
  * return: -1 error, !=-1 Number of returned variables   * return: -1 error, !=-1 Number of returned variables
  */   */
inline int rpc_srv_getValsCall(rpc_func_t * __restrict call, rpc_val_t ** __restrict vals);inline int rpc_srv_getVars(rpc_func_t * __restrict call, rpc_val_t ** __restrict vars);
   
   
 /*  /*
Line 581  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

Removed from v.1.2.4.5  
changed lines
  Added in v.1.2.4.8


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>