|
Packit |
a4aae4 |
/* The the old-style C function prototypes such as those found in the XDR */
|
|
Packit |
a4aae4 |
/* structure in <rpc/xdr.h> under OS X are not usable from C++. This, */
|
|
Packit |
a4aae4 |
/* along with xdr_destroy() being a macro that expands into that old */
|
|
Packit |
a4aae4 |
/* style ("()" used to mean any number of unspecified args) means that */
|
|
Packit |
a4aae4 |
/* we cannot use delete_xdrstdio from C++ under OS X. The other two */
|
|
Packit |
a4aae4 |
/* functions were brought along for uniformity. */
|
|
Packit |
a4aae4 |
/* ROM - 6/22/2003 */
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
#ifdef __POWERPC__
|
|
Packit |
a4aae4 |
#include <stdio.h>
|
|
Packit |
a4aae4 |
#include <rpc/types.h>
|
|
Packit |
a4aae4 |
#include <rpc/xdr.h>
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
XDR *
|
|
Packit |
a4aae4 |
new_xdrstdio(FILE *stream, enum xdr_op xop)
|
|
Packit |
a4aae4 |
{
|
|
Packit |
a4aae4 |
XDR *xdr = (XDR *)malloc(sizeof(XDR));
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
xdrstdio_create(xdr, stream, xop);
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
return xdr;
|
|
Packit |
a4aae4 |
}
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
XDR *
|
|
Packit |
a4aae4 |
set_xdrstdio(XDR *xdr, FILE *stream, enum xdr_op xop)
|
|
Packit |
a4aae4 |
{
|
|
Packit |
a4aae4 |
xdrstdio_create(xdr, stream, xop);
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
return xdr;
|
|
Packit |
a4aae4 |
}
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
// Delete an XDR pointer allocated using the above function. Do not close the
|
|
Packit |
a4aae4 |
// associated FILE pointer.
|
|
Packit |
a4aae4 |
void
|
|
Packit |
a4aae4 |
delete_xdrstdio(XDR *xdr)
|
|
Packit |
a4aae4 |
{
|
|
Packit |
a4aae4 |
xdr_destroy(xdr);
|
|
Packit |
a4aae4 |
|
|
Packit |
a4aae4 |
free(xdr);xdr = 0;
|
|
Packit |
a4aae4 |
}
|
|
Packit |
a4aae4 |
#endif /* __POWERPC__ */
|