require '_h2ph_pre.ph';

unless(defined(&_SYS_MOUNT_H)) {
    eval 'sub _SYS_MOUNT_H () {1;}' unless defined(&_SYS_MOUNT_H);
    require 'features.ph';
    require 'sys/ioctl.ph';
    eval 'sub BLOCK_SIZE () {1024;}' unless defined(&BLOCK_SIZE);
    eval 'sub BLOCK_SIZE_BITS () {10;}' unless defined(&BLOCK_SIZE_BITS);
    eval("sub MS_RDONLY () { 1; }") unless defined(&MS_RDONLY);
    eval("sub MS_NOSUID () { 2; }") unless defined(&MS_NOSUID);
    eval("sub MS_NODEV () { 4; }") unless defined(&MS_NODEV);
    eval("sub MS_NOEXEC () { 8; }") unless defined(&MS_NOEXEC);
    eval("sub MS_SYNCHRONOUS () { 16; }") unless defined(&MS_SYNCHRONOUS);
    eval("sub MS_REMOUNT () { 32; }") unless defined(&MS_REMOUNT);
    eval("sub MS_MANDLOCK () { 64; }") unless defined(&MS_MANDLOCK);
    eval("sub S_WRITE () { 128; }") unless defined(&S_WRITE);
    eval("sub S_APPEND () { 256; }") unless defined(&S_APPEND);
    eval("sub S_IMMUTABLE () { 512; }") unless defined(&S_IMMUTABLE);
    eval("sub MS_NOATIME () { 1024; }") unless defined(&MS_NOATIME);
    eval("sub MS_NODIRATIME () { 2048; }") unless defined(&MS_NODIRATIME);
    eval("sub MS_BIND () { 4096; }") unless defined(&MS_BIND);
    eval 'sub MS_RMT_MASK () {( &MS_RDONLY |  &MS_MANDLOCK);}' unless defined(&MS_RMT_MASK);
    eval 'sub MS_MGC_VAL () {0xc0ed0000;}' unless defined(&MS_MGC_VAL);
    eval 'sub MS_MGC_MSK () {0xffff0000;}' unless defined(&MS_MGC_MSK);
    eval 'sub BLKROSET () { &_IO(0x12, 93);}' unless defined(&BLKROSET);
    eval 'sub BLKROGET () { &_IO(0x12, 94);}' unless defined(&BLKROGET);
    eval 'sub BLKRRPART () { &_IO(0x12, 95);}' unless defined(&BLKRRPART);
    eval 'sub BLKGETSIZE () { &_IO(0x12, 96);}' unless defined(&BLKGETSIZE);
    eval 'sub BLKFLSBUF () { &_IO(0x12, 97);}' unless defined(&BLKFLSBUF);
    eval 'sub BLKRASET () { &_IO(0x12, 98);}' unless defined(&BLKRASET);
    eval 'sub BLKRAGET () { &_IO(0x12, 99);}' unless defined(&BLKRAGET);
    eval("sub MNT_FORCE () { 1; }") unless defined(&MNT_FORCE);
}
1;
