1 #pragma once 2 3 #ifdef __cplusplus 4 extern "C" { 5 #endif 6 7 #include <sys/ioctl.h> 8 9 #define BLKROSET _IO(0x12, 93) 10 #define BLKROGET _IO(0x12, 94) 11 #define BLKRRPART _IO(0x12, 95) 12 #define BLKGETSIZE _IO(0x12, 96) 13 #define BLKFLSBUF _IO(0x12, 97) 14 #define BLKRASET _IO(0x12, 98) 15 #define BLKRAGET _IO(0x12, 99) 16 #define BLKFRASET _IO(0x12, 100) 17 #define BLKFRAGET _IO(0x12, 101) 18 #define BLKSECTSET _IO(0x12, 102) 19 #define BLKSECTGET _IO(0x12, 103) 20 #define BLKSSZGET _IO(0x12, 104) 21 #define BLKBSZGET _IOR(0x12, 112, size_t) 22 #define BLKBSZSET _IOW(0x12, 113, size_t) 23 #define BLKGETSIZE64 _IOR(0x12, 114, size_t) 24 25 #define MS_RDONLY 1 26 #define MS_NOSUID 2 27 #define MS_NODEV 4 28 #define MS_NOEXEC 8 29 #define MS_SYNCHRONOUS 16 30 #define MS_REMOUNT 32 31 #define MS_MANDLOCK 64 32 #define MS_DIRSYNC 128 33 #define MS_NOATIME 1024 34 #define MS_NODIRATIME 2048 35 #define MS_BIND 4096 36 #define MS_MOVE 8192 37 #define MS_REC 16384 38 #define MS_SILENT 32768 39 #define MS_POSIXACL (1 << 16) 40 #define MS_UNBINDABLE (1 << 17) 41 #define MS_PRIVATE (1 << 18) 42 #define MS_SLAVE (1 << 19) 43 #define MS_SHARED (1 << 20) 44 #define MS_RELATIME (1 << 21) 45 #define MS_KERNMOUNT (1 << 22) 46 #define MS_I_VERSION (1 << 23) 47 #define MS_STRICTATIME (1 << 24) 48 #define MS_LAZYTIME (1 << 25) 49 #define MS_NOSEC (1 << 28) 50 #define MS_BORN (1 << 29) 51 #define MS_ACTIVE (1 << 30) 52 #define MS_NOUSER (1U << 31) 53 54 #define MS_RMT_MASK (MS_RDONLY | MS_SYNCHRONOUS | MS_MANDLOCK | MS_I_VERSION | MS_LAZYTIME) 55 56 #define MS_MGC_VAL 0xc0ed0000 57 #define MS_MGC_MSK 0xffff0000 58 59 #define MNT_FORCE 1 60 #define MNT_DETACH 2 61 #define MNT_EXPIRE 4 62 #define UMOUNT_NOFOLLOW 8 63 64 int mount(const char*, const char*, const char*, unsigned long, const void*); 65 int umount(const char*); 66 int umount2(const char*, int); 67 68 #ifdef __cplusplus 69 } 70 #endif 71