require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_ALTQ_ALTQ_HFSC_H_)) {
    eval 'sub _ALTQ_ALTQ_HFSC_H_ () {1;}' unless defined(&_ALTQ_ALTQ_HFSC_H_);
    require 'altq/altq.ph';
    require 'altq/altq_classq.ph';
    require 'altq/altq_red.ph';
    require 'altq/altq_rio.ph';
    if(defined(&__cplusplus)) {
    }
    eval 'sub HFSC_NULLCLASS_HANDLE () {0;}' unless defined(&HFSC_NULLCLASS_HANDLE);
    eval 'sub HFSC_MAX_CLASSES () {64;}' unless defined(&HFSC_MAX_CLASSES);
    eval 'sub HFCF_RED () {0x1;}' unless defined(&HFCF_RED);
    eval 'sub HFCF_ECN () {0x2;}' unless defined(&HFCF_ECN);
    eval 'sub HFCF_RIO () {0x4;}' unless defined(&HFCF_RIO);
    eval 'sub HFCF_CLEARDSCP () {0x10;}' unless defined(&HFCF_CLEARDSCP);
    eval 'sub HFCF_DEFAULTCLASS () {0x1000;}' unless defined(&HFCF_DEFAULTCLASS);
    eval 'sub HFSC_REALTIMESC () {1;}' unless defined(&HFSC_REALTIMESC);
    eval 'sub HFSC_LINKSHARINGSC () {2;}' unless defined(&HFSC_LINKSHARINGSC);
    eval 'sub HFSC_UPPERLIMITSC () {4;}' unless defined(&HFSC_UPPERLIMITSC);
    eval 'sub HFSC_DEFAULTSC () {( &HFSC_REALTIMESC| &HFSC_LINKSHARINGSC);}' unless defined(&HFSC_DEFAULTSC);
    if(defined(&_KERNEL)) {
	eval 'sub ellist_first {
	    my($s) = @_;
    	    eval q( &TAILQ_FIRST($s));
	}' unless defined(&ellist_first);
	eval 'sub actlist_first {
	    my($s) = @_;
    	    eval q( &TAILQ_FIRST($s));
	}' unless defined(&actlist_first);
	eval 'sub actlist_last {
	    my($s) = @_;
    	    eval q( &TAILQ_LAST($s,  &_active));
	}' unless defined(&actlist_last);
    }
    if(defined(&__cplusplus)) {
    }
}
1;
