Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

xdr(3C)

xdr_admin(3C)

xdr_complex(3C)

xdr_create(3C)

xdr_simple(3C)

NAME

xdr_simple(), xdr_bool(), xdr_char(), xdr_double(), xdr_enum(), xdr_float(), xdr_free(), xdr_int(), xdr_long(), xdr_short(), xdr_u_char(), xdr_u_int(), xdr_u_long(), xdr_u_short(), xdr_void() − library routines for translating simple data types

DESCRIPTION

XDR library routines allow C programmers to describe simple data structures in a machine-independent fashion.  Protocols such as remote procedure calls (RPC) use these routines to describe the format of the data. 

These routines require the creation of XDR streams (see xdr_create(3N)). 

Routines

The following routines require that the header <rpc.h> be included. 

The XDR, CLIENT, and SVCXPRT data structures are defined in Power Programming with RPC.

#include <rpc/rpc.h>

bool_t
xdr_bool(xdrs, bp)
XDR *xdrs;
bool_t *bp;

A filter primitive that translates between a boolean (C integer) and its external representation.  When encoding data, this filter produces values of either one or zero.  This routine returns TRUE if it succeeds, FALSE otherwise. 

bool_t
xdr_char(xdrs, cp)
XDR *xdrs;
char *cp;

A filter primitive that translates between a C character and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

Note: Encoded characters are not packed, and occupy 4 bytes each.  For arrays of characters, it is worthwhile to consider xdr_bytes(), xdr_opaque() or xdr_string() , see xdr_complex(3N). 

bool_t
xdr_double(xdrs, dp)
XDR *xdrs;
double *dp;

A filter primitive that translates between a C double precision number and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

bool_t
xdr_enum(xdrs, ep)
XDR *xdrs;
enum_t *ep;

A filter primitive that translates between a C enum (actually integer) and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

bool_t
xdr_float(xdrs, fp)
XDR *xdrs;
float *fp;

A filter primitive that translates between a C float and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

void
xdr_free(proc, objp)
xdrproc_t proc;
char *objp;

Generic freeing routine.  The first argument is the XDR routine for the object being freed.  The second argument is a pointer to the object itself.  Note: The pointer passed to this routine is not freed, but what it points to is freed, recursively such that objects pointed to are also freed for example, linked lists. 

bool_t
xdr_int(xdrs, ip)
XDR *xdrs;
int *ip;

A filter primitive that translates between a C integer and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

bool_t
xdr_long(xdrs, lp)
XDR *xdrs;
long *lp;

A filter primitive that translates between a C long integer and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

bool_t
xdr_short(xdrs, sp)
XDR *xdrs;
short *sp;

A filter primitive that translates between a C short integer and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

bool_t
xdr_u_char(xdrs, ucp)
XDR *xdrs;
unsigned char *ucp;

A filter primitive that translates between an unsigned C character and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

bool_t
xdr_u_int(xdrs, up)
XDR *xdrs;
unsigned *up;

A filter primitive that translates between a C unsigned integer and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

bool_t
xdr_u_long(xdrs, ulp)
XDR *xdrs;
unsigned long *ulp;

A filter primitive that translates between a C unsigned long integer and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

bool_t
xdr_u_short(xdrs, usp)
XDR *xdrs;
unsigned short *usp;

A filter primitive that translates between a C unsigned short integer and its external representation.  This routine returns TRUE if it succeeds, FALSE otherwise. 

bool_t
xdr_void()

This routine always returns TRUE.  It may be passed to RPC routines that require a function parameter, where nothing is to be done. 

AUTHOR

xdr was developed by Sun Microsystems, Inc. 

SEE ALSO

xdr(3C), xdr_admin(3C), xdr_complex(3C), xdr_create(3C)

Hewlett-Packard Company  —  HP-UX Release 10.20:  July 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026