--- libaitrpc/inc/defs.h 2012/11/16 08:33:06 1.7.2.1 +++ libaitrpc/inc/defs.h 2013/08/21 15:28:15 1.12.2.2 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: defs.h,v 1.7.2.1 2012/11/16 08:33:06 misho Exp $ +* $Id: defs.h,v 1.12.2.2 2013/08/21 15:28:15 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -48,7 +48,9 @@ SUCH DAMAGE. #define DEF_RPC_TIMEOUT 10 +#define RPC_PINGDATA 4221 #define RPC_SCHED_POLLING 1 +#define RPC_BLOB_TIMEOUT 60 /* 60 seconds */ #define RPC_ERROR(x) htonl((x)) #ifndef STRSIZ @@ -58,6 +60,8 @@ SUCH DAMAGE. #define CB_ACCEPTCLIENT 0 #define CB_CLOSECLIENT 1 +#define CB_RXPACKET 2 +#define CB_TXPACKET 3 #define BLOB_FILE "%s/BLOB-%0X" @@ -65,14 +69,23 @@ SUCH DAMAGE. #define LOGERR do { \ rpc_Errno = errno; \ - strlcpy(rpc_Error, strerror(errno), STRSIZ); \ + strlcpy(rpc_Error, strerror(errno), sizeof rpc_Error); \ } while(0) +#define RPC_ISNEXTBUF(x) (AIT_FLAG0(array((x)->cli_buf, 0, ait_val_t*)) == 1) +#define RPC_CLR_NEXTBUF(x) (AIT_FLAG0(array((x)->cli_buf, 0, ait_val_t*)) = 0) +#define RPC_SET_NEXTBUF(x) (AIT_FLAG0(array((x)->cli_buf, 0, ait_val_t*)) = 1) + extern int rpc_Errno; -extern char rpc_Error[]; +extern char rpc_Error[STRSIZ]; -inline void rpc_SetErr(int eno, char *estr, ...); +ait_val_t *rpc_getBufVar(rpc_cli_t * __restrict); +u_char *rpc_getBuffer(rpc_cli_t * __restrict); +struct tagRPCCall *rpc_getHeader(rpc_cli_t * __restrict); + +void rpc_freeCli(rpc_cli_t * __restrict); +void rpc_freeBLOBCli(rpc_cli_t * __restrict); inline int rpc_funcs_cmp(struct tagRPCFunc *, struct tagRPCFunc *); AVL_PROTOTYPE(tagRPCFuncs, tagRPCFunc, func_node, rpc_funcs_cmp);