--- libaitrpc/inc/aitrpc.h 2010/06/23 15:07:15 1.1.1.1.2.6 +++ libaitrpc/inc/aitrpc.h 2010/06/23 16:23:31 1.1.1.1.2.7 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitrpc.h,v 1.1.1.1.2.6 2010/06/23 15:07:15 misho Exp $ +* $Id: aitrpc.h,v 1.1.1.1.2.7 2010/06/23 16:23:31 misho Exp $ * *************************************************************************/ #ifndef __AITRPC_H @@ -19,8 +19,6 @@ #include -#define STRSIZ 256 - #define RPC_VERSION 1 #define RPC_DEFPORT 2611 @@ -240,8 +238,6 @@ typedef struct { // BLOB registration element! typedef struct tagBLOB { - rpc_cli_t *blob_cli; // from RPC client - uint32_t blob_var; size_t blob_len; // size of allocated BLOB data @@ -422,6 +418,28 @@ inline int rpc_srv_delValsCall(rpc_func_t * __restrict * return: -1 error, !=-1 Number of returned variables */ inline int rpc_srv_getValsCall(rpc_func_t * __restrict call, rpc_val_t ** __restrict vals); + + +/* + * rpc_srv_blobMap() Map blob to memory region + * @srv = RPC Server instance + * @blob = Map to this BLOB element + * return: -1 error or 0 ok + */ +inline int rpc_srv_blobMap(rpc_srv_t * __restrict srv, rpc_blob_t * __restrict blob); +/* + * rpc_srv_blobUnmap() Unmap blob memory region + * @blob = Mapped BLOB element + * return: none + */ +inline void rpc_srv_blobUnmap(rpc_blob_t * __restrict blob); +/* + * rpc_srv_blobFree() Free blob from disk & memory + * @srv = RPC Server instance + * @blob = Mapped BLOB element + * return: -1 error or 0 ok + */ +inline int rpc_srv_blobFree(rpc_srv_t * __restrict srv, rpc_blob_t * __restrict blob); /* RPC Client side functions */