mount.h
001:
002:
003:
004:
005:
006: #ifndef _MOUNT_H_RPCGEN
007: #define _MOUNT_H_RPCGEN
008:
009: #include <rpc/rpc.h>
010:
011:
012: #ifdef __cplusplus
013: extern "C" {
014: #endif
015:
016: #define MNTPATHLEN 1024
017: #define MNTNAMLEN 255
018: #define FHSIZE 32
019:
020: typedef char fhandle[FHSIZE];
021:
022: struct fhstatus {
023: u_int fhs_status;
024: union {
025: fhandle fhs_fhandle;
026: } fhstatus_u;
027: };
028: typedef struct fhstatus fhstatus;
029:
030: typedef char *dirpath;
031:
032: typedef char *name;
033:
034: typedef struct mountbody *mountlist;
035:
036: struct mountbody {
037: name ml_hostname;
038: dirpath ml_directory;
039: mountlist ml_next;
040: };
041: typedef struct mountbody mountbody;
042:
043: typedef struct groupnode *groups;
044:
045: struct groupnode {
046: name gr_name;
047: groups gr_next;
048: };
049: typedef struct groupnode groupnode;
050:
051: typedef struct exportnode *exports;
052:
053: struct exportnode {
054: dirpath ex_dir;
055: groups ex_groups;
056: exports ex_next;
057: };
058: typedef struct exportnode exportnode;
059:
060: #define MOUNTPROG 100005
061: #define MOUNTVERS 1
062:
063: #if defined(__STDC__) || defined(__cplusplus)
064: #define MOUNTPROC_NULL 0
065: extern void * mountproc_null_1(void *, CLIENT *);
066: extern void * mountproc_null_1_svc(void *, struct svc_req *);
067: #define MOUNTPROC_MNT 1
068: extern fhstatus * mountproc_mnt_1(dirpath *, CLIENT *);
069: extern fhstatus * mountproc_mnt_1_svc(dirpath *, struct svc_req *);
070: #define MOUNTPROC_DUMP 2
071: extern mountlist * mountproc_dump_1(void *, CLIENT *);
072: extern mountlist * mountproc_dump_1_svc(void *, struct svc_req *);
073: #define MOUNTPROC_UMNT 3
074: extern void * mountproc_umnt_1(dirpath *, CLIENT *);
075: extern void * mountproc_umnt_1_svc(dirpath *, struct svc_req *);
076: #define MOUNTPROC_UMNTALL 4
077: extern void * mountproc_umntall_1(void *, CLIENT *);
078: extern void * mountproc_umntall_1_svc(void *, struct svc_req *);
079: #define MOUNTPROC_EXPORT 5
080: extern exports * mountproc_export_1(void *, CLIENT *);
081: extern exports * mountproc_export_1_svc(void *, struct svc_req *);
082: #define MOUNTPROC_EXPORTALL 6
083: extern exports * mountproc_exportall_1(void *, CLIENT *);
084: extern exports * mountproc_exportall_1_svc(void *, struct svc_req *);
085: extern int mountprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
086:
087: #else
088: #define MOUNTPROC_NULL 0
089: extern void * mountproc_null_1();
090: extern void * mountproc_null_1_svc();
091: #define MOUNTPROC_MNT 1
092: extern fhstatus * mountproc_mnt_1();
093: extern fhstatus * mountproc_mnt_1_svc();
094: #define MOUNTPROC_DUMP 2
095: extern mountlist * mountproc_dump_1();
096: extern mountlist * mountproc_dump_1_svc();
097: #define MOUNTPROC_UMNT 3
098: extern void * mountproc_umnt_1();
099: extern void * mountproc_umnt_1_svc();
100: #define MOUNTPROC_UMNTALL 4
101: extern void * mountproc_umntall_1();
102: extern void * mountproc_umntall_1_svc();
103: #define MOUNTPROC_EXPORT 5
104: extern exports * mountproc_export_1();
105: extern exports * mountproc_export_1_svc();
106: #define MOUNTPROC_EXPORTALL 6
107: extern exports * mountproc_exportall_1();
108: extern exports * mountproc_exportall_1_svc();
109: extern int mountprog_1_freeresult ();
110: #endif
111:
112:
113:
114: #if defined(__STDC__) || defined(__cplusplus)
115: extern bool_t xdr_fhandle (XDR *, fhandle);
116: extern bool_t xdr_fhstatus (XDR *, fhstatus*);
117: extern bool_t xdr_dirpath (XDR *, dirpath*);
118: extern bool_t xdr_name (XDR *, name*);
119: extern bool_t xdr_mountlist (XDR *, mountlist*);
120: extern bool_t xdr_mountbody (XDR *, mountbody*);
121: extern bool_t xdr_groups (XDR *, groups*);
122: extern bool_t xdr_groupnode (XDR *, groupnode*);
123: extern bool_t xdr_exports (XDR *, exports*);
124: extern bool_t xdr_exportnode (XDR *, exportnode*);
125:
126: #else
127: extern bool_t xdr_fhandle ();
128: extern bool_t xdr_fhstatus ();
129: extern bool_t xdr_dirpath ();
130: extern bool_t xdr_name ();
131: extern bool_t xdr_mountlist ();
132: extern bool_t xdr_mountbody ();
133: extern bool_t xdr_groups ();
134: extern bool_t xdr_groupnode ();
135: extern bool_t xdr_exports ();
136: extern bool_t xdr_exportnode ();
137:
138: #endif
139:
140: #ifdef __cplusplus
141: }
142: #endif
143:
144: #endif
145:
© Andrew Scott 2006 -
2025,
All Rights Reserved