1#pragma once 2 3#ifdef __cplusplus 4extern "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 64int mount(const char*, const char*, const char*, unsigned long, const void*); 65int umount(const char*); 66int umount2(const char*, int); 67 68#ifdef __cplusplus 69} 70#endif 71