require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_SYS_CALLOUT_H_)) {
    eval 'sub _SYS_CALLOUT_H_ () {1;}' unless defined(&_SYS_CALLOUT_H_);
    require 'sys/types.ph';
    eval 'sub CALLOUT_BOUND () {0x1;}' unless defined(&CALLOUT_BOUND);
    eval 'sub CALLOUT_PENDING () {0x2;}' unless defined(&CALLOUT_PENDING);
    eval 'sub CALLOUT_FIRED () {0x4;}' unless defined(&CALLOUT_FIRED);
    eval 'sub CALLOUT_INVOKING () {0x8;}' unless defined(&CALLOUT_INVOKING);
    eval 'sub CALLOUT_MPSAFE () {0x100;}' unless defined(&CALLOUT_MPSAFE);
    eval 'sub CALLOUT_FLAGMASK () {0xff00;}' unless defined(&CALLOUT_FLAGMASK);
    eval 'sub CALLOUT_FMT () {"\\177\\020b\\00BOUND\\0b\\01PENDING\\0b\\02FIRED\\0b\\03INVOKING\\0b\\10MPSAFE\\0";}' unless defined(&CALLOUT_FMT);
    if(defined(&_CALLOUT_PRIVATE)) {
	eval 'sub cq_next_e () { ($cq_next->{elem});}' unless defined(&cq_next_e);
	eval 'sub cq_prev_e () { ($cq_prev->{elem});}' unless defined(&cq_prev_e);
	eval 'sub cq_next_l () { ($cq_next->{list});}' unless defined(&cq_next_l);
	eval 'sub cq_prev_l () { ($cq_prev->{list});}' unless defined(&cq_prev_l);
	eval 'sub CALLOUT_MAGIC () {0x11deeba1;}' unless defined(&CALLOUT_MAGIC);
    }
    if(defined(&_KERNEL)) {
    }
}
1;
