--- libaitrpc/inc/aitrpc.h 2015/01/18 01:03:49 1.25.2.4 +++ libaitrpc/inc/aitrpc.h 2015/01/27 23:50:46 1.26.2.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitrpc.h,v 1.25.2.4 2015/01/18 01:03:49 misho Exp $ +* $Id: aitrpc.h,v 1.26.2.1 2015/01/27 23:50:46 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -62,7 +62,7 @@ SUCH DAMAGE. #include -#define RPC_VERSION 7 +#define RPC_VERSION 8 #define RPC_DEFPORT 2611 /* Additional ELWIX RPC supporting protocols */ @@ -83,6 +83,11 @@ SUCH DAMAGE. #define RPC_REPLY 0x0 #define RPC_NOREPLY 0x1 +/* RPC call I/O direction */ + +#define RPC_REQ 0x0 +#define RPC_ACK 0x1 + /* RPC builtin registed calls */ #define CALL_TAG_MAX 65535 @@ -154,7 +159,8 @@ struct tagRPCCall { }; uint16_t call_tag; - uint16_t call_argc; + uint8_t call_io; + uint8_t call_argc; ait_val_t call_argv[0]; } __packed; /* size == 20 bytes */ #define RPC_CHK_NOREPLY(x) (ntohl((u_long) (x)->call_req.flags) & RPC_NOREPLY) @@ -665,7 +671,7 @@ int rpc_pkt_Request(ait_val_t * __restrict pkt, rpc_se * * @pkt = Packet buffer * @sess = RPC session info, if =NULL don't check session - * @tag = Function tag + * @tag = Function tag, if =CALL_TAG_MAX don't check tag * @vars = Function argument array of values, may be NULL * @nocrc = Without CRC calculation * return: -1 error or != -1 return value from function