This repository was archived by the owner on Jan 16, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 65
/
Copy pathnfsmounter.x
73 lines (55 loc) · 1.53 KB
/
nfsmounter.x
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/* $Id$ */
%#ifndef NMOPT_ONLY
%#include "nfs_prot.h"
%#include "nfs3_prot.h"
%#else /* NMOPT_ONLY */
%#undef NFS3_FHSIZE
const NFS3_FHSIZE = 64;
%#endif /* NMOPT_ONLY */
const NMOPT_RO = 0x1; /* Mount read-only */
const NMOPT_SOFT = 0x2; /* Mount soft */
const NMOPT_NOAC = 0x4; /* Disable attribute cache */
const NMOPT_NFS3 = 0x8; /* Enable NFS version 3 */
const NMOPT_RDPLUS = 0x10; /* Use NFS3 readdirplus */
const NMOPT_SENDCLOSE = 0x20; /* Enable CLOSE RPC */
typedef opaque nfsmnt_handle<NFS3_FHSIZE>;
%#ifndef NMOPT_ONLY
struct mountarg {
string hostname<>;
string path<>;
int flags;
nfsmnt_handle handle;
};
union mountres switch (int status) {
case 0:
uint64 fsid;
default:
void;
};
struct remountarg {
string path<>;
int flags;
};
%#endif /* !NMOPT_ONLY */
const NUOPT_FORCE = 0x1; /* Force unmount */
const NUOPT_STALE = 0x2; /* Serve stale NFS file system */
const NUOPT_NOOP = 0x4; /* Don't actually call unmount */
const NUOPT_NLOG = 0x8; /* Don't log failed unmount */
%#ifndef NMOPT_ONLY
struct umountarg {
string path<>;
int flags;
};
/* Note: NFSMOUNTER_MOUNT and NFSMOUNTER_CLOSE must me preceeded by
* the UDP file descriptor of the NFS server (sent via
* axprt_unix::sendfd). */
program NFSMOUNTER_PROG {
version NFSMOUNTER_VERS {
void NFSMOUNTER_NULL (void) = 0;
mountres NFSMOUNTER_MOUNT (mountarg) = 1;
int NFSMOUNTER_REMOUNT (remountarg) = 2;
int NFSMOUNTER_UMOUNT (umountarg) = 3;
int NFSMOUNTER_UMOUNTALL (int /* flags */) = 4;
} = 1;
} = 395544;
%#endif /* !NMOPT_ONLY */