require '_h2ph_pre.ph';

unless(defined(&CHAR_BIT)) {
    sub CHAR_BIT () {	8;}
}
unless(defined(&MB_LEN_MAX)) {
    sub MB_LEN_MAX () {	1;}
}
unless(defined(&SCHAR_MIN)) {
    sub SCHAR_MIN () {	(-0x7f-1);}
}
unless(defined(&SCHAR_MAX)) {
    sub SCHAR_MAX () {	0x7f;}
}
unless(defined(&UCHAR_MAX)) {
    sub UCHAR_MAX () {	0xff;}
}
unless(defined(&CHAR_MAX)) {
    sub CHAR_MAX () {	0x7f;}
}
unless(defined(&CHAR_MIN)) {
    sub CHAR_MIN () {	(-0x7f-1);}
}
unless(defined(&USHRT_MAX)) {
    sub USHRT_MAX () {	0xffff;}
}
unless(defined(&SHRT_MAX)) {
    sub SHRT_MAX () {	0x7fff;}
}
unless(defined(&SHRT_MIN)) {
    sub SHRT_MIN () {	(-0x7fff-1);}
}
unless(defined(&UINT_MAX)) {
    sub UINT_MAX () {	0xffffffff;}
}
unless(defined(&INT_MAX)) {
    sub INT_MAX () {	0x7fffffff;}
}
unless(defined(&INT_MIN)) {
    sub INT_MIN () {	(-0x7fffffff-1);}
}
unless(defined(&ULONG_MAX)) {
    sub ULONG_MAX () {	0xffffffff;}
}
unless(defined(&LONG_MAX)) {
    sub LONG_MAX () {	0x7fffffff;}
}
unless(defined(&LONG_MIN)) {
    sub LONG_MIN () {	(-0x7fffffff-1);}
}
if(!defined( &_ANSI_SOURCE)) {
    eval 'sub SSIZE_MAX () { &INT_MAX;}' unless defined(&SSIZE_MAX);
    if(!defined( &_POSIX_SOURCE)  && !defined( &_XOPEN_SOURCE)) {
	eval 'sub SIZE_T_MAX () { &UINT_MAX;}' unless defined(&SIZE_T_MAX);
	eval 'sub UID_MAX () { &UINT_MAX;}' unless defined(&UID_MAX);
	eval 'sub GID_MAX () { &UINT_MAX;}' unless defined(&GID_MAX);
	eval 'sub UQUAD_MAX () {(0-1);}' unless defined(&UQUAD_MAX);
	eval 'sub QUAD_MAX () {(( &UQUAD_MAX >> 1));}' unless defined(&QUAD_MAX);
	eval 'sub QUAD_MIN () {(- &QUAD_MAX-1);}' unless defined(&QUAD_MIN);
	eval 'sub ULLONG_MAX () {( &UQUAD_MAX);}' unless defined(&ULLONG_MAX);
	eval 'sub LLONG_MAX () {( &QUAD_MAX);}' unless defined(&LLONG_MAX);
	eval 'sub LLONG_MIN () {( &QUAD_MIN);}' unless defined(&LLONG_MIN);
    }
}
if((!defined( &_ANSI_SOURCE) &&!defined( &_POSIX_SOURCE)) || defined( &_XOPEN_SOURCE)) {
    eval 'sub LONG_BIT () {32;}' unless defined(&LONG_BIT);
    eval 'sub WORD_BIT () {32;}' unless defined(&WORD_BIT);
    eval 'sub DBL_DIG () {15;}' unless defined(&DBL_DIG);
    eval 'sub DBL_MAX () {1.7976931348623157E+308;}' unless defined(&DBL_MAX);
    eval 'sub DBL_MIN () {2.2250738585072014E-308;}' unless defined(&DBL_MIN);
    eval 'sub FLT_DIG () {6;}' unless defined(&FLT_DIG);
    eval 'sub FLT_MAX () {3.40282347E+38;}' unless defined(&FLT_MAX);
    eval 'sub FLT_MIN () {1.17549435E-38;}' unless defined(&FLT_MIN);
}
1;
