Diff for /libaitrpc/inc/aitrpc.h between versions 1.4 and 1.4.2.6

version 1.4, 2011/09/07 07:24:21 version 1.4.2.6, 2011/11/03 14:28:48
Line 59  SUCH DAMAGE. Line 59  SUCH DAMAGE.
 #include <aitio.h>  #include <aitio.h>
   
   
#define RPC_VERSION             1#define RPC_VERSION             2
 #define RPC_DEFPORT             2611  #define RPC_DEFPORT             2611
   
   
Line 94  typedef enum { Line 94  typedef enum {
                                         } while (0)                                          } while (0)
 #define RPC_CALLBACK_CHK_ARGS(_f, _n)   do { \  #define RPC_CALLBACK_CHK_ARGS(_f, _n)   do { \
                                                 RPC_CALLBACK_CHECK_INPUT((_f)); \                                                  RPC_CALLBACK_CHECK_INPUT((_f)); \
                                                if ((_f) && io_arraySize((_f)->func_vars) != _n) { \                                                if ((_f) && io_arraySize((_f)->func_vars) < _n) { \
                                                        rpc_SetErr(22, "Error:: different number of arguments!\n"); \                                                        rpc_SetErr(22, "Error:: not enough number of arguments!\n"); \
                                                         return -1; \                                                          return -1; \
                                                 } \                                                  } \
                                         } while (0)                                          } while (0)
Line 116  typedef struct { Line 116  typedef struct {
 typedef struct tagRPCFunc {  typedef struct tagRPCFunc {
         uint16_t                func_tag;          uint16_t                func_tag;
         uint32_t                func_hash;          uint32_t                func_hash;
        int8_t                        func_file[MAXPATHLEN];        char                        func_file[MAXPATHLEN];
        int8_t                        func_name[UCHAR_MAX + 1];        char                        func_name[UCHAR_MAX + 1];
   
         array_t                 *func_vars;          array_t                 *func_vars;
   
Line 159  struct tagBLOBHdr { Line 159  struct tagBLOBHdr {
 /* Network RPC client & server elements */  /* Network RPC client & server elements */
   
 typedef struct {  typedef struct {
        struct sockaddr       cli_sa;         // host info        io_sockaddr_t        cli_sa;         // host info
         int             cli_sock;       // socket fd          int             cli_sock;       // socket fd
         pthread_t       cli_tid;        // TID of thread          pthread_t       cli_tid;        // TID of thread
   
Line 225  inline int rpc_GetErrno(); Line 225  inline int rpc_GetErrno();
 inline const char *rpc_GetError();  inline const char *rpc_GetError();
   
   
   /*
    * rpc_chkPktSession() Check session in RPC packet
    * @p = packet session
    * @s = active session
    * return: -1 error or 0 ok
    */
   inline int rpc_chkPktSession(rpc_sess_t *p, rpc_sess_t *s);
   /*
    * rpc_addPktSession() Add session into RPC packet
    * @p = packet session
    * @s = active session
    * return: -1 error or 0 ok
    */
   inline int rpc_addPktSession(rpc_sess_t *p, rpc_sess_t *s);
   
   
 /* RPC Server side functions */  /* RPC Server side functions */
   
 /*  /*
Line 242  rpc_srv_t *rpc_srv_initServer(u_int regProgID, u_int r Line 258  rpc_srv_t *rpc_srv_initServer(u_int regProgID, u_int r
                 int netBuf, u_short family, const char *csHost, u_short Port);                  int netBuf, 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 * @psrv = RPC Server instance
  * return: none   * return: none
  */   */
void rpc_srv_endServer(rpc_srv_t * __restrict srv);void rpc_srv_endServer(rpc_srv_t ** __restrict psrv);
 /*  /*
  * rpc_srv_loopServer() Execute Main server loop and wait for clients requests   * rpc_srv_loopServer() Execute Main server loop and wait for clients requests
  * @srv = RPC Server instance   * @srv = RPC Server instance
Line 336  int rpc_srv_execCall(rpc_func_t * __restrict call, str Line 352  int rpc_srv_execCall(rpc_func_t * __restrict call, str
   
   
 /*  /*
 * rpc_srv_allocVars() Allocate array for call variables * rpc_srv_allocVars() Allocate array for call variables
                                if already allocated memory for RPC call reallocate used space 
  * @call = RPC function call   * @call = RPC function call
 * @varnum = Number of variables, if ==0 free previous allocated variables * @varnum = Number of variables, if ==0 return already allocated variables number
  * return: -1 error, !=-1 return varnum value   * return: -1 error, !=-1 return varnum value
  */   */
 inline int rpc_srv_allocVars(rpc_func_t * __restrict call, int varnum);  inline int rpc_srv_allocVars(rpc_func_t * __restrict call, int varnum);
Line 350  inline int rpc_srv_allocVars(rpc_func_t * __restrict c Line 365  inline int rpc_srv_allocVars(rpc_func_t * __restrict c
  */   */
 inline int rpc_srv_destroyVars(rpc_func_t * __restrict call);  inline int rpc_srv_destroyVars(rpc_func_t * __restrict call);
 /*  /*
 * rpc_srv_freeVals() Clean values from variables of array * rpc_srv_freeVars() Clean values from variables of array
  * @call = RPC function call   * @call = RPC function call
  * return: -1 error, !=-1 Returned number of cleaned variables   * return: -1 error, !=-1 Returned number of cleaned variables
  */   */
inline int rpc_srv_freeVals(rpc_func_t * __restrict call);inline int rpc_srv_freeVars(rpc_func_t * __restrict call);
 /*  /*
  * rpc_srv_copyVars() Copy variables for RPC call to new variable array   * rpc_srv_copyVars() Copy variables for RPC call to new variable array
  * @call = RPC function call   * @call = RPC function call
Line 503  void rpc_cli_closeClient(rpc_cli_t * __restrict cli); Line 518  void rpc_cli_closeClient(rpc_cli_t * __restrict cli);
  */   */
 int rpc_cli_execCall(rpc_cli_t *cli, const char *csModule, const char *csFunc,   int rpc_cli_execCall(rpc_cli_t *cli, const char *csModule, const char *csFunc, 
                 array_t * __restrict in_vars, array_t ** __restrict out_vars);                  array_t * __restrict in_vars, array_t ** __restrict out_vars);
 /*  
  * rpc_cli_freeVals() Free ait_val_t array returned from RPC call  
  * @vars = Variable array  
  * return: none  
  */  
 inline void rpc_cli_freeVals(array_t ** __restrict vars);  
 /*  
  * rpc_cli_allocVals() Allocate ait_val_t array for RPC call  
  * @args = Number of arguments  
  * return: =NULL error or !=NULL allocated array  
  */  
 inline array_t *rpc_cli_allocVals(unsigned short args);  
   
   
 /*  /*

Removed from v.1.4  
changed lines
  Added in v.1.4.2.6


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