require '_h2ph_pre.ph';

unless(defined(&_NET_IF_TUN_H_)) {
    eval 'sub _NET_IF_TUN_H_ () {1;}' unless defined(&_NET_IF_TUN_H_);
    require 'sys/ioccom.ph';
    eval 'sub TUN_OPEN () {0x0001;}' unless defined(&TUN_OPEN);
    eval 'sub TUN_INITED () {0x0002;}' unless defined(&TUN_INITED);
    eval 'sub TUN_RCOLL () {0x0004;}' unless defined(&TUN_RCOLL);
    eval 'sub TUN_IASET () {0x0008;}' unless defined(&TUN_IASET);
    eval 'sub TUN_DSTADDR () {0x0010;}' unless defined(&TUN_DSTADDR);
    eval 'sub TUN_RWAIT () {0x0040;}' unless defined(&TUN_RWAIT);
    eval 'sub TUN_ASYNC () {0x0080;}' unless defined(&TUN_ASYNC);
    eval 'sub TUN_NBIO () {0x0100;}' unless defined(&TUN_NBIO);
    eval 'sub TUN_BRDADDR () {0x0200;}' unless defined(&TUN_BRDADDR);
    eval 'sub TUN_STAYUP () {0x0400;}' unless defined(&TUN_STAYUP);
    eval 'sub TUN_READY () {( &TUN_OPEN |  &TUN_INITED |  &TUN_IASET);}' unless defined(&TUN_READY);
    eval 'sub TUNMTU () {3000;}' unless defined(&TUNMTU);
    eval 'sub TUNMRU () {16384;}' unless defined(&TUNMRU);
    eval 'sub TUNSDEBUG () { &_IOW(ord(\'t\'), 89, \'int\');}' unless defined(&TUNSDEBUG);
    eval 'sub TUNGDEBUG () { &_IOR(ord(\'t\'), 90, \'int\');}' unless defined(&TUNGDEBUG);
    eval 'sub TUNSIFINFO () { &_IOW(ord(\'t\'), 91, \'struct tuninfo\');}' unless defined(&TUNSIFINFO);
    eval 'sub TUNGIFINFO () { &_IOR(ord(\'t\'), 92, \'struct tuninfo\');}' unless defined(&TUNGIFINFO);
}
1;
