xdr_vector()--Translate between Arrays and Their XDR


  Syntax
 #include <rpc/xdr.h>

 bool_t xdr_vector(XDR *xdrs,
                   char *arrp,
                   const u_int size,
                   const u_int elsize,
                   const xdrproc_t elproc);

  Service Program Name: QZNFTRPC

  Default Public Authority: *USE

  Threadsafe: No

The xdr_vector() function is a filter primitive that translates between fixed-length arrays and their corresponding external representations.


Parameters

xdrs  (Input) 
A pointer to the eXternal Data Representation (XDR) stream handle.

arrp  (I/O) 
The pointer to the array.

size  (Input) 
The element count of the array.

elsize  (Input) 
The byte size of each of the array elements.

elproc  (Input) 
Translates between the C form of the array elements and their external representations. This parameter is an XDR filter.

Authorities

No authorization is required.


Return Value

TRUE (1) Successful
FALSE (0) Unsuccessful


Error Conditions

None.


Error Messages

Message ID Error Message Text
CPE3418 E Possible APAR condition or hardware failure.
CPF3CF2 E Error(s) occurred during running of &1 API.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.


Example

See Code disclaimer information for information pertaining to code examples.

The following example shows how xdr_vector() is used:

#include <stdio.h>
#include <xdr.h>

#define MAX_VERTECIES 10
#define MAX_EDGES ((MAX_VERTECIES*(MAX_VERTECIES-1))/2)

typedef struct graph
{
        bool_t adjacent[MAX_VERTICIES,MAX_VERTICIES];
} graph ;

bool_t xdr_graph(XDR *xdrs, graph *p_graph)
{
        int i;
        for(i=0;i<MAX_VERTECIES;i++)
                if(!xdr_vector(xdrs,
                p_graph->adjacent[i]
                        AX_VERTECIES,sizeof(bool_t),xdr_bool))
                                return FALSE;
        return TRUE;
}


API introduced: V4R2
Top | Remote Procedure Call (RPC) APIs | APIs by category