]> git.ozlabs.org Git - ccan/blob - ccan/nfs/rpc/mount.h
ddeb6c968b9b2f435689eaf7d94fa742ba2c4c57
[ccan] / ccan / nfs / rpc / mount.h
1 /*
2  * Please do not edit this file.
3  * It was generated using rpcgen.
4  */
5
6 #ifndef _MOUNT_H_RPCGEN
7 #define _MOUNT_H_RPCGEN
8
9 #include <rpc/rpc.h>
10
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 #define MNTPATHLEN 1024
17 #define MNTNAMLEN 255
18 #define FHSIZE3 64
19
20 typedef struct {
21         u_int fhandle3_len;
22         char *fhandle3_val;
23 } fhandle3;
24
25 typedef char *dirpath;
26
27 typedef char *name;
28
29 enum mountstat3 {
30         MNT3_OK = 0,
31         MNT3ERR_PERM = 1,
32         MNT3ERR_NOENT = 2,
33         MNT3ERR_IO = 5,
34         MNT3ERR_ACCES = 13,
35         MNT3ERR_NOTDIR = 20,
36         MNT3ERR_INVAL = 22,
37         MNT3ERR_NAMETOOLONG = 63,
38         MNT3ERR_NOTSUPP = 10004,
39         MNT3ERR_SERVERFAULT = 10006,
40 };
41 typedef enum mountstat3 mountstat3;
42
43 typedef struct mountbody *mountlist;
44
45 struct mountbody {
46         name ml_hostname;
47         dirpath ml_directory;
48         mountlist ml_next;
49 };
50 typedef struct mountbody mountbody;
51
52 typedef struct groupnode *groups;
53
54 struct groupnode {
55         name gr_name;
56         groups gr_next;
57 };
58 typedef struct groupnode groupnode;
59
60 typedef struct exportnode *exports;
61
62 struct exportnode {
63         dirpath ex_dir;
64         groups ex_groups;
65         exports ex_next;
66 };
67 typedef struct exportnode exportnode;
68
69 struct mountres3_ok {
70         fhandle3 fhandle;
71         struct {
72                 u_int auth_flavors_len;
73                 int *auth_flavors_val;
74         } auth_flavors;
75 };
76 typedef struct mountres3_ok mountres3_ok;
77
78 struct mountres3 {
79         mountstat3 fhs_status;
80         union {
81                 mountres3_ok mountinfo;
82         } mountres3_u;
83 };
84 typedef struct mountres3 mountres3;
85
86 #define MOUNT_PROGRAM 100005
87 #define MOUNT_V3 3
88
89 #if defined(__STDC__) || defined(__cplusplus)
90 #define MOUNT3_NULL 0
91 extern  void * mount3_null_3(void *, CLIENT *);
92 extern  void * mount3_null_3_svc(void *, struct svc_req *);
93 #define MOUNT3_MNT 1
94 extern  mountres3 * mount3_mnt_3(dirpath *, CLIENT *);
95 extern  mountres3 * mount3_mnt_3_svc(dirpath *, struct svc_req *);
96 #define MOUNT3_DUMP 2
97 extern  mountlist * mount3_dump_3(void *, CLIENT *);
98 extern  mountlist * mount3_dump_3_svc(void *, struct svc_req *);
99 #define MOUNT3_UMNT 3
100 extern  void * mount3_umnt_3(dirpath *, CLIENT *);
101 extern  void * mount3_umnt_3_svc(dirpath *, struct svc_req *);
102 #define MOUNT3_UMNTALL 4
103 extern  void * mount3_umntall_3(void *, CLIENT *);
104 extern  void * mount3_umntall_3_svc(void *, struct svc_req *);
105 #define MOUNT3_EXPORT 5
106 extern  exports * mount3_export_3(void *, CLIENT *);
107 extern  exports * mount3_export_3_svc(void *, struct svc_req *);
108 extern int mount_program_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
109
110 #else /* K&R C */
111 #define MOUNT3_NULL 0
112 extern  void * mount3_null_3();
113 extern  void * mount3_null_3_svc();
114 #define MOUNT3_MNT 1
115 extern  mountres3 * mount3_mnt_3();
116 extern  mountres3 * mount3_mnt_3_svc();
117 #define MOUNT3_DUMP 2
118 extern  mountlist * mount3_dump_3();
119 extern  mountlist * mount3_dump_3_svc();
120 #define MOUNT3_UMNT 3
121 extern  void * mount3_umnt_3();
122 extern  void * mount3_umnt_3_svc();
123 #define MOUNT3_UMNTALL 4
124 extern  void * mount3_umntall_3();
125 extern  void * mount3_umntall_3_svc();
126 #define MOUNT3_EXPORT 5
127 extern  exports * mount3_export_3();
128 extern  exports * mount3_export_3_svc();
129 extern int mount_program_3_freeresult ();
130 #endif /* K&R C */
131
132 /* the xdr functions */
133
134 #if defined(__STDC__) || defined(__cplusplus)
135 extern  bool_t xdr_fhandle3 (XDR *, fhandle3*);
136 extern  bool_t xdr_dirpath (XDR *, dirpath*);
137 extern  bool_t xdr_name (XDR *, name*);
138 extern  bool_t xdr_mountstat3 (XDR *, mountstat3*);
139 extern  bool_t xdr_mountlist (XDR *, mountlist*);
140 extern  bool_t xdr_mountbody (XDR *, mountbody*);
141 extern  bool_t xdr_groups (XDR *, groups*);
142 extern  bool_t xdr_groupnode (XDR *, groupnode*);
143 extern  bool_t xdr_exports (XDR *, exports*);
144 extern  bool_t xdr_exportnode (XDR *, exportnode*);
145 extern  bool_t xdr_mountres3_ok (XDR *, mountres3_ok*);
146 extern  bool_t xdr_mountres3 (XDR *, mountres3*);
147
148 #else /* K&R C */
149 extern bool_t xdr_fhandle3 ();
150 extern bool_t xdr_dirpath ();
151 extern bool_t xdr_name ();
152 extern bool_t xdr_mountstat3 ();
153 extern bool_t xdr_mountlist ();
154 extern bool_t xdr_mountbody ();
155 extern bool_t xdr_groups ();
156 extern bool_t xdr_groupnode ();
157 extern bool_t xdr_exports ();
158 extern bool_t xdr_exportnode ();
159 extern bool_t xdr_mountres3_ok ();
160 extern bool_t xdr_mountres3 ();
161
162 #endif /* K&R C */
163
164 #ifdef __cplusplus
165 }
166 #endif
167
168 #endif /* !_MOUNT_H_RPCGEN */