Fix bug when both crossmnt and fsid are set.
[nfs-utils.git] / utils / mount / mount_constants.h
1 #ifndef _NFS_MOUNT_CONSTANTS_H
2 #define _NFS_MOUNT_CONSTANTS_H
3
4 #ifndef MS_DIRSYNC
5 #define MS_DIRSYNC      128     /* Directory modifications are synchronous */
6 #endif
7
8 #ifndef MS_ACTION_MASK
9 #define MS_ACTION_MASK  0x380
10 /* Remount, but new filesystem may be different from old. Atomic
11    (i.e. there is no interval when nothing is mounted at the mountpoint).
12    If new fs differs from the old one and old is busy - -EBUSY. */
13 #define MS_REPLACE      0x080   /* 128 */
14 /* After, Before: as soon as we get unions these will add a new member
15    in the end or beginning of the chain. Fail if there is a stack
16    on the mountpoint. */
17 #define MS_AFTER        0x100   /* 256 */
18 #define MS_BEFORE       0x180
19 /* Over: if nothing mounted on a mountpoint - same as if none of these
20 flags had been set; if we have a union with more than one element - fail;
21 if we have a stack or plain mount - mount atop of it, forming a stack. */
22 #define MS_OVER         0x200   /* 512 */
23 #endif
24 #ifndef MS_NOATIME
25 #define MS_NOATIME      0x400   /* 1024: Do not update access times. */
26 #endif
27 #ifndef MS_NODIRATIME
28 #define MS_NODIRATIME   0x800   /* 2048: Don't update directory access times */
29 #endif
30 #ifndef MS_BIND
31 #define MS_BIND         0x1000  /* 4096: Mount existing tree also elsewhere */
32 #endif
33 #ifndef MS_MOVE
34 #define MS_MOVE         0x2000  /* 8192: Atomically move tree */
35 #endif
36 #ifndef MS_REC
37 #define MS_REC          0x4000  /* 16384: Recursive loopback */
38 #endif
39 #ifndef MS_VERBOSE
40 #define MS_VERBOSE      0x8000  /* 32768 */
41 #endif
42
43 /*
44  * NFS fs-specific mount option flags
45  *
46  * MS_DUMMY is assigned to mount options that are not to be
47  * passed to the kernel via the "flags" argument.  These are
48  * generally ignored or handled entirely in user space.
49  */
50 #define MS_DUMMY        0x00000000
51 #define MS_USERS        0x40000000
52 #define MS_USER         0x80000000
53
54 /*
55  * Magic mount flag number. Had to be or-ed to the flag values.
56  */
57 #ifndef MS_MGC_VAL
58 #define MS_MGC_VAL 0xC0ED0000   /* magic flag number to indicate "new" flags */
59 #endif
60 #ifndef MS_MGC_MSK
61 #define MS_MGC_MSK 0xffff0000   /* magic flag number mask */
62 #endif
63
64 #endif /* _NFS_MOUNT_CONSTANTS_H */