2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
10 #ifndef _XDR_PROTOTYPES_H
11 #define _XDR_PROTOTYPES_H
16 extern int xdr_afsUUID(XDR
* xdrs
, afsUUID
* objp
);
19 extern bool_t
xdr_afs_int32(XDR
* xdrs
, afs_int32
* ip
);
20 extern bool_t
xdr_afs_uint32(XDR
* xdrs
, afs_uint32
* up
);
23 extern bool_t
xdr_int64(XDR
* xdrs
, afs_int64
* ulp
);
24 extern bool_t
xdr_afs_int64(XDR
* xdrs
, afs_int64
* ulp
);
25 extern bool_t
xdr_uint64(XDR
* xdrs
, afs_uint64
* ulp
);
26 extern bool_t
xdr_afs_uint64(XDR
* xdrs
, afs_uint64
* ulp
);
29 extern void xdrrx_create(XDR
* xdrs
, struct rx_call
*call
,
32 #ifndef XDR_AFS_DECLS_ONLY
35 extern bool_t
xdr_array(XDR
* xdrs
, caddr_t
* addrp
, u_int
* sizep
,
36 u_int maxsize
, u_int elsize
, xdrproc_t elproc
);
39 extern bool_t
xdr_arrayN(XDR
* xdrs
, caddr_t
* addrp
, u_int
* sizep
,
40 u_int maxsize
, u_int elsize
, xdrproc_t elproc
);
43 extern bool_t
xdr_void(void);
44 extern bool_t
xdr_long(XDR
* xdrs
, long *lp
);
45 extern bool_t
xdr_u_long(XDR
* xdrs
, u_long
* ulp
);
46 extern bool_t
xdr_int(XDR
* xdrs
, int *ip
);
47 extern bool_t
xdr_u_int(XDR
* xdrs
, u_int
* up
);
48 extern bool_t
xdr_char(XDR
* xdrs
, char *sp
);
49 extern bool_t
xdr_u_char(XDR
* xdrs
, u_char
* usp
);
50 extern bool_t
xdr_short(XDR
* xdrs
, short *sp
);
51 extern bool_t
xdr_u_short(XDR
* xdrs
, u_short
* usp
);
52 extern bool_t
xdr_bool(XDR
* xdrs
, bool_t
* bp
);
53 extern bool_t
xdr_enum(XDR
* xdrs
, enum_t
* ep
);
54 extern bool_t
xdr_opaque(XDR
* xdrs
, caddr_t cp
, u_int cnt
);
55 extern bool_t
xdr_bytes(XDR
* xdrs
, char **cpp
,
56 u_int
* sizep
, u_int maxsize
);
57 extern bool_t
xdr_union(XDR
* xdrs
, enum_t
* dscmp
, caddr_t unp
,
58 struct xdr_discrim
*choices
, xdrproc_t dfault
);
59 extern bool_t
xdr_string(XDR
* xdrs
, char **cpp
, u_int maxsize
);
60 extern bool_t
xdr_wrapstring(XDR
* xdrs
, char **cpp
);
61 extern void * xdr_alloc(afs_int32 size
);
62 extern void xdr_free(xdrproc_t proc
, void *obj
);
66 extern bool_t
xdr_float(XDR
* xdrs
, float *fp
);
67 extern bool_t
xdr_double(XDR
* xdrs
, double *dp
);
70 extern void xdrlen_create(XDR
*xdrs
);
73 extern void xdrmem_create(XDR
* xdrs
, caddr_t addr
, u_int size
,
78 extern void xdrrec_create(XDR
* xdrs
, u_int sendsize
, u_int recvsize
,
80 int (*readit
) (caddr_t tcp_handle
, caddr_t out_base
,
82 int (*writeit
) (caddr_t tcp_handle
,
83 caddr_t out_base
, int len
));
84 extern bool_t
xdrrec_skiprecord(XDR
* xdrs
);
85 extern bool_t
xdrrec_eof(XDR
* xdrs
);
86 extern bool_t
xdrrec_endofrecord(XDR
* xdrs
, bool_t sendnow
);
91 extern bool_t
xdr_reference(XDR
*xdrs
, caddr_t
*pp
, u_int size
,
98 extern bool_t
xdr_pointer(XDR
* xdrs
, char **objpp
, u_int obj_size
,
100 extern bool_t
xdr_vector(XDR
* xdrs
, char *basep
,
101 u_int nelem
, u_int elemsize
,
108 extern char *osi_alloc(afs_int32 x
);
111 extern int osi_free(char *x
, afs_int32 size
);
113 #endif /* _XDR_PROTOTYPES_H */