chiark / gitweb /
Make run_directory.c stat the place it is going to try to run.
[elogind.git] / klibc / include / sys / mount.h
1 /*
2  * sys/mount.h
3  */
4
5 #ifndef _SYS_MOUNT_H
6 #define _SYS_MOUNT_H
7
8 #include <klibc/extern.h>
9 #include <sys/ioctl.h>
10
11 /*
12  * These are the fs-independent mount-flags: up to 32 flags are supported
13  */
14 #define MS_RDONLY        1      /* Mount read-only */
15 #define MS_NOSUID        2      /* Ignore suid and sgid bits */
16 #define MS_NODEV         4      /* Disallow access to device special files */
17 #define MS_NOEXEC        8      /* Disallow program execution */
18 #define MS_SYNCHRONOUS  16      /* Writes are synced at once */
19 #define MS_REMOUNT      32      /* Alter flags of a mounted FS */
20 #define MS_MANDLOCK     64      /* Allow mandatory locks on an FS */
21 #define MS_DIRSYNC      128     /* Directory modifications are synchronous */
22 #define MS_NOATIME      1024    /* Do not update access times. */
23 #define MS_NODIRATIME   2048    /* Do not update directory access times */
24 #define MS_BIND         4096
25 #define MS_MOVE         8192
26 #define MS_REC          16384
27 #define MS_VERBOSE      32768
28 #define MS_POSIXACL     (1<<16) /* VFS does not apply the umask */
29 #define MS_ONE_SECOND   (1<<17) /* fs has 1 sec a/m/ctime resolution */
30 #define MS_ACTIVE       (1<<30)
31 #define MS_NOUSER       (1<<31)
32
33 /*
34  * Superblock flags that can be altered by MS_REMOUNT
35  */
36 #define MS_RMT_MASK     (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_NOATIME|MS_NODIRATIME)
37
38 /*
39  * Old magic mount flag and mask
40  */
41 #define MS_MGC_VAL 0xC0ED0000
42 #define MS_MGC_MSK 0xffff0000
43
44 /*
45  * umount2() flags
46  */
47 #define MNT_FORCE       1       /* Forcibly unmount */
48 #define MNT_DETACH      2       /* Detach from tree only */
49 #define MNT_EXPIRE      4       /* Mark for expiry */
50
51 /*
52  * Block device ioctls
53  */
54 #define BLKROSET   _IO(0x12, 93) /* Set device read-only (0 = read-write).  */
55 #define BLKROGET   _IO(0x12, 94) /* Get read-only status (0 = read_write).  */
56 #define BLKRRPART  _IO(0x12, 95) /* Re-read partition table.  */
57 #define BLKGETSIZE _IO(0x12, 96) /* Return device size.  */
58 #define BLKFLSBUF  _IO(0x12, 97) /* Flush buffer cache.  */
59 #define BLKRASET   _IO(0x12, 98) /* Set read ahead for block device.  */
60 #define BLKRAGET   _IO(0x12, 99) /* Get current read ahead setting.  */
61
62 /*
63  * Prototypes
64  */
65 __extern int mount(const char *, const char *,
66                    const char *, unsigned long,
67                    const void *);
68 __extern int umount(const char *);
69 __extern int umount2(const char *, int);
70 __extern int pivot_root(const char *, const char *);
71
72 #endif /* _SYS_MOUNT_H */