--- libaitrpc/inc/aitrpc.h 2013/01/17 16:18:46 1.12.4.1 +++ libaitrpc/inc/aitrpc.h 2013/03/07 23:03:03 1.12.4.2 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitrpc.h,v 1.12.4.1 2013/01/17 16:18:46 misho Exp $ +* $Id: aitrpc.h,v 1.12.4.2 2013/03/07 23:03:03 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -539,12 +539,58 @@ rpc_cli_t *rpc_cli_openClient(unsigned int ProgID, uns */ void rpc_cli_closeClient(rpc_cli_t ** __restrict cli); /* + * rpc_pkt_Send() - Send RPC packet + * + * @sock = Socket + * @type = Type of socket + * @sa = Server address + * @pkt = RPC packet + * @len = Length of packet + * return: -1 error or !=-1 sended bytes + */ +int rpc_pkt_Send(int sock, int type, sockaddr_t * __restrict sa, + ait_val_t * __restrict pkt, int len); +/* + * rpc_pkt_Receive() - Receive RPC packet + * + * @sock = Socket + * @type = Type of socket + * @sa = Server address + * @pkt = RPC packet + * return: -1 error or !=-1 sended bytes + */ +int rpc_pkt_Receive(int sock, int type, sockaddr_t * __restrict sa, + ait_val_t * __restrict pkt); +/* + * rpc_pkt_Request() - Build RPC Request packet + * + * @pkt = Packet buffer + * @sess = RPC session info + * @tag = Function tag for execution + * @vars = Function argument array of values, may be NULL + * @noreply = We not want RPC reply + * return: -1 error or != -1 prepared bytes into packet + */ +int rpc_pkt_Request(ait_val_t * __restrict pkt, rpc_sess_t * __restrict sess, + unsigned short tag, array_t * __restrict vars, int noreply); +/* + * rpc_pkt_Replay() - Decode RPC Replay packet + * + * @pkt = Packet buffer + * @sess = RPC session info + * @tag = Function tag + * @vars = Function argument array of values, may be NULL + * return: -1 error or != -1 return value from function + */ +int rpc_pkt_Replay(ait_val_t * __restrict pkt, rpc_sess_t * __restrict sess, + unsigned short tag, array_t ** __restrict vars); +/* * rpc_cli_execCall() - Execute RPC call * * @cli = RPC Client session * @noreply = We not want RPC reply * @tag = Function tag for execution - * @in_vars = IN RPC call array of rpc values, may be NULL + * @in_vars = IN function argument array of values, may be NULL * @out_vars = OUT returned array of rpc values, if !=NULL must be free after use with ait_freeVars() * return: -1 error or != -1 ok result */