Section 6 Definitions of Server Functions
Rev. 1.01 Mar. 17, 2008 Page 73 of 128
REJ10J1822-0101
UINT32 rpcsvr_SMPL_func( rpc_server_stub_info * __pInfo )
{
...
inf = (struct INF *)( __pInfo->pucParamArea + __ulInputParamOffset);
__ulInputParamOffset += ALIGNUP4(sizeof(*inf));
if (((UINT32)(inf->count)) > 0UL)
{
ptr = (struct ST *)( __pInfo->pucParamArea + __ulInputParamOffset);
}
ret = func( inf, ptr );
__pInfo->pOutputIOVectorTable[ __ulOutputParamCount ].pBaseAddress = ptr;
if (((UINT32)(ret )) > 0UL)
{
__pInfo->pOutputIOVectorTable[ __ulOutputParamCount++ ].ulSize = sizeof(*ptr) *
((UINT32)(ret ));
}
else
{
__pInfo->pOutputIOVectorTable[ __ulOutputParamCount++ ].ulSize = 0UL;
}
__pInfo->ulOutputIOVectorTableSize = 1UL;
return ((UINT32)ret);
}
Figure 6.5 Code Output to the Server Stub (OUT) for Second COUNT