require '_h2ph_pre.ph';

unless(defined(&__LINUX_MROUTE_H)) {
    eval 'sub __LINUX_MROUTE_H () {1;}' unless defined(&__LINUX_MROUTE_H);
    require 'linux/sockios.ph';
    require 'linux/in.ph';
    eval 'sub MRT_BASE () {200;}' unless defined(&MRT_BASE);
    eval 'sub MRT_INIT () {( &MRT_BASE);}' unless defined(&MRT_INIT);
    eval 'sub MRT_DONE () {( &MRT_BASE+1);}' unless defined(&MRT_DONE);
    eval 'sub MRT_ADD_VIF () {( &MRT_BASE+2);}' unless defined(&MRT_ADD_VIF);
    eval 'sub MRT_DEL_VIF () {( &MRT_BASE+3);}' unless defined(&MRT_DEL_VIF);
    eval 'sub MRT_ADD_MFC () {( &MRT_BASE+4);}' unless defined(&MRT_ADD_MFC);
    eval 'sub MRT_DEL_MFC () {( &MRT_BASE+5);}' unless defined(&MRT_DEL_MFC);
    eval 'sub MRT_VERSION () {( &MRT_BASE+6);}' unless defined(&MRT_VERSION);
    eval 'sub MRT_ASSERT () {( &MRT_BASE+7);}' unless defined(&MRT_ASSERT);
    eval 'sub MRT_PIM () {( &MRT_BASE+8);}' unless defined(&MRT_PIM);
    eval 'sub SIOCGETVIFCNT () { &SIOCPROTOPRIVATE;}' unless defined(&SIOCGETVIFCNT);
    eval 'sub SIOCGETSGCNT () {( &SIOCPROTOPRIVATE+1);}' unless defined(&SIOCGETSGCNT);
    eval 'sub SIOCGETRPF () {( &SIOCPROTOPRIVATE+2);}' unless defined(&SIOCGETRPF);
    eval 'sub MAXVIFS () {32;}' unless defined(&MAXVIFS);
    eval 'sub ALL_VIFS () {((-1));}' unless defined(&ALL_VIFS);
    eval 'sub VIFM_SET {
        local($n,$m) = @_;
	    eval q((($m)|=(1<<($n))));
    }' unless defined(&VIFM_SET);
    eval 'sub VIFM_CLR {
        local($n,$m) = @_;
	    eval q((($m)&=~(1<<($n))));
    }' unless defined(&VIFM_CLR);
    eval 'sub VIFM_ISSET {
        local($n,$m) = @_;
	    eval q((($m)(1<<($n))));
    }' unless defined(&VIFM_ISSET);
    eval 'sub VIFM_CLRALL {
        local($m) = @_;
	    eval q((($m)=0));
    }' unless defined(&VIFM_CLRALL);
    eval 'sub VIFM_COPY {
        local($mfrom,$mto) = @_;
	    eval q((($mto)=($mfrom)));
    }' unless defined(&VIFM_COPY);
    eval 'sub VIFM_SAME {
        local($m1,$m2) = @_;
	    eval q((($m1)==($m2)));
    }' unless defined(&VIFM_SAME);
    eval 'sub VIFF_TUNNEL () {0x1;}' unless defined(&VIFF_TUNNEL);
    eval 'sub VIFF_SRCRT () {0x2;}' unless defined(&VIFF_SRCRT);
    eval 'sub VIFF_REGISTER () {0x4;}' unless defined(&VIFF_REGISTER);
}
1;
