OpenAFS
OpenAFS distributed network file system
|
00001 /* 00002 * Copyright 2000, International Business Machines Corporation and others. 00003 * All Rights Reserved. 00004 * 00005 * This software has been released under the terms of the IBM Public 00006 * License. For details, see the LICENSE file in the top-level source 00007 * directory or online at http://www.openafs.org/dl/license10.html 00008 */ 00009 00010 #ifndef _XDR_PROTOTYPES_H 00011 #define _XDR_PROTOTYPES_H 00012 00013 struct rx_call; 00014 00015 /* xdr_afsuuid.c */ 00016 extern int xdr_afsUUID(XDR * xdrs, afsUUID * objp); 00017 00018 /* xdr_int32.c */ 00019 extern bool_t xdr_afs_int32(XDR * xdrs, afs_int32 * ip); 00020 extern bool_t xdr_afs_uint32(XDR * xdrs, afs_uint32 * up); 00021 00022 /* xdr_int64.c */ 00023 extern bool_t xdr_int64(XDR * xdrs, afs_int64 * ulp); 00024 extern bool_t xdr_afs_int64(XDR * xdrs, afs_int64 * ulp); 00025 extern bool_t xdr_uint64(XDR * xdrs, afs_uint64 * ulp); 00026 extern bool_t xdr_afs_uint64(XDR * xdrs, afs_uint64 * ulp); 00027 00028 /* xdr_rx.c */ 00029 extern void xdrrx_create(XDR * xdrs, struct rx_call *call, 00030 enum xdr_op op); 00031 00032 #ifndef XDR_AFS_DECLS_ONLY 00033 00034 /* xdr_array.c */ 00035 extern bool_t xdr_array(XDR * xdrs, caddr_t * addrp, u_int * sizep, 00036 u_int maxsize, u_int elsize, xdrproc_t elproc); 00037 00038 /* xdr_arrayn.c */ 00039 extern bool_t xdr_arrayN(XDR * xdrs, caddr_t * addrp, u_int * sizep, 00040 u_int maxsize, u_int elsize, xdrproc_t elproc); 00041 00042 /* xdr.c */ 00043 extern bool_t xdr_void(void); 00044 extern bool_t xdr_long(XDR * xdrs, long *lp); 00045 extern bool_t xdr_u_long(XDR * xdrs, u_long * ulp); 00046 extern bool_t xdr_int(XDR * xdrs, int *ip); 00047 extern bool_t xdr_u_int(XDR * xdrs, u_int * up); 00048 extern bool_t xdr_char(XDR * xdrs, char *sp); 00049 extern bool_t xdr_u_char(XDR * xdrs, u_char * usp); 00050 extern bool_t xdr_short(XDR * xdrs, short *sp); 00051 extern bool_t xdr_u_short(XDR * xdrs, u_short * usp); 00052 extern bool_t xdr_bool(XDR * xdrs, bool_t * bp); 00053 extern bool_t xdr_enum(XDR * xdrs, enum_t * ep); 00054 extern bool_t xdr_opaque(XDR * xdrs, caddr_t cp, u_int cnt); 00055 extern bool_t xdr_bytes(XDR * xdrs, char **cpp, 00056 u_int * sizep, u_int maxsize); 00057 extern bool_t xdr_union(XDR * xdrs, enum_t * dscmp, caddr_t unp, 00058 struct xdr_discrim *choices, xdrproc_t dfault); 00059 extern bool_t xdr_string(XDR * xdrs, char **cpp, u_int maxsize); 00060 extern bool_t xdr_wrapstring(XDR * xdrs, char **cpp); 00061 extern void * xdr_alloc(afs_int32 size); 00062 extern void xdr_free(xdrproc_t proc, void *obj); 00063 00064 00065 /* xdr_float.c */ 00066 extern bool_t xdr_float(XDR * xdrs, float *fp); 00067 extern bool_t xdr_double(XDR * xdrs, double *dp); 00068 00069 /* xdr_len.c */ 00070 extern void xdrlen_create(XDR *xdrs); 00071 00072 /* xdr_mem.c */ 00073 extern void xdrmem_create(XDR * xdrs, caddr_t addr, u_int size, 00074 enum xdr_op op); 00075 00076 00077 /* xdr_rec.c */ 00078 extern void xdrrec_create(XDR * xdrs, u_int sendsize, u_int recvsize, 00079 caddr_t tcp_handle, 00080 int (*readit) (caddr_t tcp_handle, caddr_t out_base, 00081 int len), 00082 int (*writeit) (caddr_t tcp_handle, 00083 caddr_t out_base, int len)); 00084 extern bool_t xdrrec_skiprecord(XDR * xdrs); 00085 extern bool_t xdrrec_eof(XDR * xdrs); 00086 extern bool_t xdrrec_endofrecord(XDR * xdrs, bool_t sendnow); 00087 00088 00089 /* xdr_refernce.c */ 00090 00091 extern bool_t xdr_reference(XDR *xdrs, caddr_t *pp, u_int size, 00092 xdrproc_t proc); 00093 00094 /* xdr_stdio.c */ 00095 00096 00097 /* xdr_update.c */ 00098 extern bool_t xdr_pointer(XDR * xdrs, char **objpp, u_int obj_size, 00099 xdrproc_t xdr_obj); 00100 extern bool_t xdr_vector(XDR * xdrs, char *basep, 00101 u_int nelem, u_int elemsize, 00102 xdrproc_t xdr_elem); 00103 00104 00105 #endif 00106 00107 #ifndef osi_alloc 00108 extern char *osi_alloc(afs_int32 x); 00109 #endif 00110 #ifndef osi_free 00111 extern int osi_free(char *x, afs_int32 size); 00112 #endif 00113 #endif /* _XDR_PROTOTYPES_H */