diff options
author | pfg <pfg@FreeBSD.org> | 2012-09-02 21:04:40 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2012-09-02 21:04:40 +0000 |
commit | 97adc861835d3d63fcfabaf559955e91c3bdd543 (patch) | |
tree | 15afb466c1616ef4f4e63a7ec1b8cc2128b9438c /include/rpc/xdr.h | |
parent | 70630d664ef4716dd247b13bdb90a3e2c77aef78 (diff) | |
download | FreeBSD-src-97adc861835d3d63fcfabaf559955e91c3bdd543.zip FreeBSD-src-97adc861835d3d63fcfabaf559955e91c3bdd543.tar.gz |
Fix RPC headers for C++
C++ mangling will cause trouble with variables like __rpc_xdr
in xdr.h so rename this to XDR.
While here add proper C++ guards to RPC headers.
PR: 137443
MFC after: 2 weeks
Diffstat (limited to 'include/rpc/xdr.h')
-rw-r--r-- | include/rpc/xdr.h | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/include/rpc/xdr.h b/include/rpc/xdr.h index 92116c0..1ef569a 100644 --- a/include/rpc/xdr.h +++ b/include/rpc/xdr.h @@ -43,6 +43,10 @@ #define _RPC_XDR_H #include <sys/cdefs.h> +#ifdef __cplusplus +extern "C" { +#endif + /* * XDR provides a conventional way for converting between C data * types and an external bit-string representation. Library supplied @@ -97,26 +101,26 @@ enum xdr_op { * an operations vector for the particular implementation (e.g. see xdr_mem.c), * and two private fields for the use of the particular implementation. */ -typedef struct __rpc_xdr { +typedef struct XDR { enum xdr_op x_op; /* operation; fast additional param */ const struct xdr_ops { /* get a long from underlying stream */ - bool_t (*x_getlong)(struct __rpc_xdr *, long *); + bool_t (*x_getlong)(struct XDR *, long *); /* put a long to " */ - bool_t (*x_putlong)(struct __rpc_xdr *, const long *); + bool_t (*x_putlong)(struct XDR *, const long *); /* get some bytes from " */ - bool_t (*x_getbytes)(struct __rpc_xdr *, char *, u_int); + bool_t (*x_getbytes)(struct XDR *, char *, u_int); /* put some bytes to " */ - bool_t (*x_putbytes)(struct __rpc_xdr *, const char *, u_int); + bool_t (*x_putbytes)(struct XDR *, const char *, u_int); /* returns bytes off from beginning */ - u_int (*x_getpostn)(struct __rpc_xdr *); + u_int (*x_getpostn)(struct XDR *); /* lets you reposition the stream */ - bool_t (*x_setpostn)(struct __rpc_xdr *, u_int); + bool_t (*x_setpostn)(struct XDR *, u_int); /* buf quick ptr to buffered data */ - int32_t *(*x_inline)(struct __rpc_xdr *, u_int); + int32_t *(*x_inline)(struct XDR *, u_int); /* free privates of this xdr_stream */ - void (*x_destroy)(struct __rpc_xdr *); - bool_t (*x_control)(struct __rpc_xdr *, int, void *); + void (*x_destroy)(struct XDR *); + bool_t (*x_control)(struct XDR *, int, void *); } *x_ops; char * x_public; /* users' data */ void * x_private; /* pointer to private data */ @@ -366,4 +370,8 @@ extern bool_t xdrrec_eof(XDR *); extern u_int xdrrec_readbytes(XDR *, caddr_t, u_int); __END_DECLS +#ifdef __cplusplus +} +#endif + #endif /* !_RPC_XDR_H */ |