Diff for /libaitrpc/inc/aitrpc.h between versions 1.2.4.4 and 1.2.4.6

version 1.2.4.4, 2011/08/19 07:19:08 version 1.2.4.6, 2011/08/19 08:24:13
Line 87  typedef enum { Line 87  typedef enum {
 } rpc_type_t;  } rpc_type_t;
   
 typedef enum {  typedef enum {
        disable, enable,               // for blob.state        disable, enable, kill,               // for blob.state
         ok, error,                      // for blob reply          ok, error,                      // for blob reply
         get, set, unset                 // for blob request          get, set, unset                 // for blob request
 } cmd_type_t;  } cmd_type_t;
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 295  typedef struct { Line 295  typedef struct {
         rpc_func_t      *srv_funcs;     // registered functions list          rpc_func_t      *srv_funcs;     // registered functions list
   
         pthread_mutex_t srv_mtx;          pthread_mutex_t srv_mtx;
           cmd_type_t      srv_kill;
   
         struct {          struct {
                int             state;          // BLOB server state: ==0 disable | !=0 enable                cmd_type_t        state;          // BLOB server state: ==0 disable | !=0 enable
                 char            dir[UCHAR_MAX + 1];                  char            dir[UCHAR_MAX + 1];
   
                 rpc_cli_t       server;         // BLOB server socket                  rpc_cli_t       server;         // BLOB server socket
Line 426  int rpc_srv_execCall(rpc_func_t * __restrict call, str Line 427  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);
   
   
 /*  /*

Removed from v.1.2.4.4  
changed lines
  Added in v.1.2.4.6


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