require '_h2ph_pre.ph';

unless(defined(&_STROPTS_H)) {
    die("Never include <bits/stropts.h> directly; use <stropts.h> instead.");
}
unless(defined(&_BITS_STROPTS_H)) {
    eval 'sub _BITS_STROPTS_H () {1;}' unless defined(&_BITS_STROPTS_H);
    require 'bits/types.ph';
    eval 'sub __SID () {(ord(\'S\') << 8);}' unless defined(&__SID);
    eval 'sub I_NREAD () {( &__SID | 1);}' unless defined(&I_NREAD);
    eval 'sub I_PUSH () {( &__SID | 2);}' unless defined(&I_PUSH);
    eval 'sub I_POP () {( &__SID | 3);}' unless defined(&I_POP);
    eval 'sub I_LOOK () {( &__SID | 4);}' unless defined(&I_LOOK);
    eval 'sub I_FLUSH () {( &__SID | 5);}' unless defined(&I_FLUSH);
    eval 'sub I_SRDOPT () {( &__SID | 6);}' unless defined(&I_SRDOPT);
    eval 'sub I_GRDOPT () {( &__SID | 7);}' unless defined(&I_GRDOPT);
    eval 'sub I_STR () {( &__SID | 8);}' unless defined(&I_STR);
    eval 'sub I_SETSIG () {( &__SID | 9);}' unless defined(&I_SETSIG);
    eval 'sub I_GETSIG () {( &__SID |10);}' unless defined(&I_GETSIG);
    eval 'sub I_FIND () {( &__SID |11);}' unless defined(&I_FIND);
    eval 'sub I_LINK () {( &__SID |12);}' unless defined(&I_LINK);
    eval 'sub I_UNLINK () {( &__SID |13);}' unless defined(&I_UNLINK);
    eval 'sub I_PEEK () {( &__SID |15);}' unless defined(&I_PEEK);
    eval 'sub I_FDINSERT () {( &__SID |16);}' unless defined(&I_FDINSERT);
    eval 'sub I_SENDFD () {( &__SID |17);}' unless defined(&I_SENDFD);
    eval 'sub I_RECVFD () {( &__SID |14);}' unless defined(&I_RECVFD);
    eval 'sub I_SWROPT () {( &__SID |19);}' unless defined(&I_SWROPT);
    eval 'sub I_GWROPT () {( &__SID |20);}' unless defined(&I_GWROPT);
    eval 'sub I_LIST () {( &__SID |21);}' unless defined(&I_LIST);
    eval 'sub I_PLINK () {( &__SID |22);}' unless defined(&I_PLINK);
    eval 'sub I_PUNLINK () {( &__SID |23);}' unless defined(&I_PUNLINK);
    eval 'sub I_FLUSHBAND () {( &__SID |28);}' unless defined(&I_FLUSHBAND);
    eval 'sub I_CKBAND () {( &__SID |29);}' unless defined(&I_CKBAND);
    eval 'sub I_GETBAND () {( &__SID |30);}' unless defined(&I_GETBAND);
    eval 'sub I_ATMARK () {( &__SID |31);}' unless defined(&I_ATMARK);
    eval 'sub I_SETCLTIME () {( &__SID |32);}' unless defined(&I_SETCLTIME);
    eval 'sub I_GETCLTIME () {( &__SID |33);}' unless defined(&I_GETCLTIME);
    eval 'sub I_CANPUT () {( &__SID |34);}' unless defined(&I_CANPUT);
    eval 'sub FMNAMESZ () {8;}' unless defined(&FMNAMESZ);
    eval 'sub FLUSHR () {0x1;}' unless defined(&FLUSHR);
    eval 'sub FLUSHW () {0x2;}' unless defined(&FLUSHW);
    eval 'sub FLUSHRW () {0x3;}' unless defined(&FLUSHRW);
    if(defined(&__USE_GNU)) {
	eval 'sub FLUSHBAND () {0x4;}' unless defined(&FLUSHBAND);
    }
    eval 'sub S_INPUT () {0x1;}' unless defined(&S_INPUT);
    eval 'sub S_HIPRI () {0x2;}' unless defined(&S_HIPRI);
    eval 'sub S_OUTPUT () {0x4;}' unless defined(&S_OUTPUT);
    eval 'sub S_MSG () {0x8;}' unless defined(&S_MSG);
    eval 'sub S_ERROR () {0x10;}' unless defined(&S_ERROR);
    eval 'sub S_HANGUP () {0x20;}' unless defined(&S_HANGUP);
    eval 'sub S_RDNORM () {0x40;}' unless defined(&S_RDNORM);
    eval 'sub S_WRNORM () { &S_OUTPUT;}' unless defined(&S_WRNORM);
    eval 'sub S_RDBAND () {0x80;}' unless defined(&S_RDBAND);
    eval 'sub S_WRBAND () {0x100;}' unless defined(&S_WRBAND);
    eval 'sub S_BANDURG () {0x200;}' unless defined(&S_BANDURG);
    eval 'sub RS_HIPRI () {0x1;}' unless defined(&RS_HIPRI);
    eval 'sub RNORM () {0x;}' unless defined(&RNORM);
    eval 'sub RMSGD () {0x1;}' unless defined(&RMSGD);
    eval 'sub RMSGN () {0x2;}' unless defined(&RMSGN);
    eval 'sub RPROTDAT () {0x4;}' unless defined(&RPROTDAT);
    eval 'sub RPROTDIS () {0x8;}' unless defined(&RPROTDIS);
    eval 'sub RPROTNORM () {0x10;}' unless defined(&RPROTNORM);
    if(defined(&__USE_GNU)) {
	eval 'sub RPROTMASK () {0x1c;}' unless defined(&RPROTMASK);
    }
    eval 'sub SNDZERO () {0x1;}' unless defined(&SNDZERO);
    if(defined(&__USE_GNU)) {
	eval 'sub SNDPIPE () {0x2;}' unless defined(&SNDPIPE);
    }
    eval 'sub ANYMARK () {0x1;}' unless defined(&ANYMARK);
    eval 'sub LASTMARK () {0x2;}' unless defined(&LASTMARK);
    if(defined(&__USE_GNU)) {
	eval 'sub MUXID_ALL () {(-1);}' unless defined(&MUXID_ALL);
    }
    eval 'sub MSG_HIPRI () {0x1;}' unless defined(&MSG_HIPRI);
    eval 'sub MSG_ANY () {0x2;}' unless defined(&MSG_ANY);
    eval 'sub MSG_BAND () {0x4;}' unless defined(&MSG_BAND);
    eval 'sub MORECTL () {1;}' unless defined(&MORECTL);
    eval 'sub MOREDATA () {2;}' unless defined(&MOREDATA);
}
1;
