Section 6 Definitions of Server Functions

Rev. 1.01 Mar. 17, 2008 Page 78 of 128

REJ10J1822-0101

int func (struct INF * inf, struct ST * ptr )
{
IOVEC __input[2];
IOVEC __output[1];
...
__input[ __ulInputParamCount ].pBaseAddress = (UINT8 *)(inf);
__input[ __ulInputParamCount++ ].ulSize = sizeof(*inf);
if (((UINT32)(inf->count)) > 0UL)
{
__input[ __ulInputParamCount ].pBaseAddress = (UINT8 *)(ptr);
__input[ __ulInputParamCount++ ].ulSize = sizeof(*ptr) * ((UINT32)(inf->count));
}
if (((UINT32)(inf->count)) > 0UL)
{
__output[ __ulOutputParamCount ].pBaseAddress = (UINT8 *)(ptr);
__output[ __ulOutputParamCount++ ].ulSize = sizeof(*ptr) * ((UINT32)(inf->count));
}
...
rpc_call(...);
}
Figure 6.6 Code Output to the Client Stub (INOUT) for First COUNT