Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xdr_simple(3N) — Motorola System V 88k Release 4 Version 4.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rpc(3N)

xdr_admin(3N)

xdr_complex(3N)

xdr_create(3N)

xdr_simple(3N)  —  NETWORK FUNCTIONS

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 external data representation

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

See rpc(3N) for the definition of the XDR data structure. 

#include <rpc/xdr.h>

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

xdr_bool translates between booleans (C integers) and their external representations.  When encoding data, this filter produces values of either 1 or 0.  This routine returns 1 if it succeeds, 0 otherwise. 

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

xdr_char translates between C characters and their external representations.  This routine returns 1 if it succeeds, 0 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_bytes, xdr_opaque and xdr_string in xdr_complex(3N)]. 

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

xdr_double translates between C double precision numbers and their external representations.  This routine returns 1 if it succeeds, 0 otherwise. 

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

xdr_enum translates between C enums (actually integers) and their external representations.  This routine returns 1 if it succeeds, 0 otherwise. 

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

xdr_float translates between C floats and their external representations.  This routine returns 1 if it succeeds, 0 otherwise. 

void
xdr_free(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). 

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

xdr_int translates between C integers and their external representations.  This routine returns 1 if it succeeds, 0 otherwise. 

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

xdr_long translates between C long integers and their external representations.  This routine returns 1 if it succeeds, 0 otherwise. 

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

xdr_short translates between C short integers and their external representations.  This routine returns 1 if it succeeds, 0 otherwise. 

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

xdr_u_char translates between unsigned C characters and their external representations.  This routine returns 1 if it succeeds, 0 otherwise. 

bool_t
xdr_u_int(XDR ∗xdrs, unsigned int ∗ucp);

xdr_u_int translates between C unsigned int integers and their external representations.  This routine returns 1 if it succeeds, 0 otherwise. 

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

xdr_u_long translates between C unsigned long integers and their external representations.  This routine returns 1 if it succeeds, 0 otherwise. 

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

xdr_u_short translates between C unsigned short integers and their external representations.  This routine returns 1 if it succeeds, 0 otherwise. 

bool_t
xdr_void(void);

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

SEE ALSO

rpc(3N), xdr_admin(3N), xdr_complex(3N), xdr_create(3N)

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