OpenAFS
OpenAFS distributed network file system
/cygdrive/c/src/openafs/openafs.git/repo/src/rx/xdr_prototypes.h
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 */
 All Data Structures Files Functions Variables