summaryrefslogtreecommitdiffstats
path: root/include/rpc/xdr.h
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2012-09-02 21:04:40 +0000
committerpfg <pfg@FreeBSD.org>2012-09-02 21:04:40 +0000
commit97adc861835d3d63fcfabaf559955e91c3bdd543 (patch)
tree15afb466c1616ef4f4e63a7ec1b8cc2128b9438c /include/rpc/xdr.h
parent70630d664ef4716dd247b13bdb90a3e2c77aef78 (diff)
downloadFreeBSD-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.h28
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 */
OpenPOWER on IntegriCloud