Version increased to unfs3_0.9.22+dfsg-1maemo3
[unfs3] / unfs3 / mount.h
1 /*
2  * UNFS3 mount protocol definitions
3  * Generated by rpcgen
4  */
5
6 #ifndef _MOUNT_H_RPCGEN
7 #define _MOUNT_H_RPCGEN
8
9 #define MNTPATHLEN 1024
10 #define MNTNAMLEN 255
11 #define FHSIZE3 64
12
13 typedef struct {
14         u_int fhandle3_len;
15         char *fhandle3_val;
16 } fhandle3;
17
18 enum mountstat3 {
19         MNT3_OK = 0,
20         MNT3ERR_PERM = 1,
21         MNT3ERR_NOENT = 2,
22         MNT3ERR_IO = 5,
23         MNT3ERR_ACCES = 13,
24         MNT3ERR_NOTDIR = 20,
25         MNT3ERR_INVAL = 22,
26         MNT3ERR_NAMETOOLONG = 63,
27         MNT3ERR_NOTSUPP = 10004,
28         MNT3ERR_SERVERFAULT = 10006,
29 };
30 typedef enum mountstat3 mountstat3;
31
32 struct mountres3_ok {
33         fhandle3 fhandle;
34         struct {
35                 u_int auth_flavors_len;
36                 int *auth_flavors_val;
37         } auth_flavors;
38 };
39 typedef struct mountres3_ok mountres3_ok;
40
41 struct mountres3 {
42         mountstat3 fhs_status;
43         union {
44                 mountres3_ok mountinfo;
45         } mountres3_u;
46 };
47 typedef struct mountres3 mountres3;
48
49 typedef char *dirpath;
50
51 typedef char *name;
52
53 typedef struct mountbody *mountlist;
54
55 struct mountbody {
56         name ml_hostname;
57         dirpath ml_directory;
58         mountlist ml_next;
59 };
60 typedef struct mountbody mountbody;
61
62 typedef struct groupnode *groups;
63
64 struct groupnode {
65         name gr_name;
66         groups gr_next;
67 };
68 typedef struct groupnode groupnode;
69
70 typedef struct exportnode *exports;
71
72 struct exportnode {
73         dirpath ex_dir;
74         groups ex_groups;
75         exports ex_next;
76 };
77 typedef struct exportnode exportnode;
78
79 #define MOUNTPROG 100005
80 #define MOUNTVERS1 1
81 #define MOUNTVERS3 3
82
83 #define MOUNTPROC_NULL 0
84 extern  void * mountproc_null_3_svc(void *, struct svc_req *);
85 #define MOUNTPROC_MNT 1
86 extern  mountres3 * mountproc_mnt_3_svc(dirpath *, struct svc_req *);
87 #define MOUNTPROC_DUMP 2
88 extern  mountlist * mountproc_dump_3_svc(void *, struct svc_req *);
89 #define MOUNTPROC_UMNT 3
90 extern  void * mountproc_umnt_3_svc(dirpath *, struct svc_req *);
91 #define MOUNTPROC_UMNTALL 4
92 extern  void * mountproc_umntall_3_svc(void *, struct svc_req *);
93 #define MOUNTPROC_EXPORT 5
94 extern  exports * mountproc_export_3_svc(void *, struct svc_req *);
95 extern int mountprog_3_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
96
97 #endif /* !_MOUNT_H_RPCGEN */