require '_h2ph_pre.ph';

unless(defined(&__LINUX_RTNETLINK_H)) {
    eval 'sub __LINUX_RTNETLINK_H () {1;}' unless defined(&__LINUX_RTNETLINK_H);
    require 'linux/netlink.ph';
    eval 'sub RTNL_DEBUG () {1;}' unless defined(&RTNL_DEBUG);
    eval 'sub RTM_BASE () {0x10;}' unless defined(&RTM_BASE);
    eval 'sub RTM_NEWLINK () {( &RTM_BASE+0);}' unless defined(&RTM_NEWLINK);
    eval 'sub RTM_DELLINK () {( &RTM_BASE+1);}' unless defined(&RTM_DELLINK);
    eval 'sub RTM_GETLINK () {( &RTM_BASE+2);}' unless defined(&RTM_GETLINK);
    eval 'sub RTM_NEWADDR () {( &RTM_BASE+4);}' unless defined(&RTM_NEWADDR);
    eval 'sub RTM_DELADDR () {( &RTM_BASE+5);}' unless defined(&RTM_DELADDR);
    eval 'sub RTM_GETADDR () {( &RTM_BASE+6);}' unless defined(&RTM_GETADDR);
    eval 'sub RTM_NEWROUTE () {( &RTM_BASE+8);}' unless defined(&RTM_NEWROUTE);
    eval 'sub RTM_DELROUTE () {( &RTM_BASE+9);}' unless defined(&RTM_DELROUTE);
    eval 'sub RTM_GETROUTE () {( &RTM_BASE+10);}' unless defined(&RTM_GETROUTE);
    eval 'sub RTM_NEWNEIGH () {( &RTM_BASE+12);}' unless defined(&RTM_NEWNEIGH);
    eval 'sub RTM_DELNEIGH () {( &RTM_BASE+13);}' unless defined(&RTM_DELNEIGH);
    eval 'sub RTM_GETNEIGH () {( &RTM_BASE+14);}' unless defined(&RTM_GETNEIGH);
    eval 'sub RTM_NEWRULE () {( &RTM_BASE+16);}' unless defined(&RTM_NEWRULE);
    eval 'sub RTM_DELRULE () {( &RTM_BASE+17);}' unless defined(&RTM_DELRULE);
    eval 'sub RTM_GETRULE () {( &RTM_BASE+18);}' unless defined(&RTM_GETRULE);
    eval 'sub RTM_NEWQDISC () {( &RTM_BASE+20);}' unless defined(&RTM_NEWQDISC);
    eval 'sub RTM_DELQDISC () {( &RTM_BASE+21);}' unless defined(&RTM_DELQDISC);
    eval 'sub RTM_GETQDISC () {( &RTM_BASE+22);}' unless defined(&RTM_GETQDISC);
    eval 'sub RTM_NEWTCLASS () {( &RTM_BASE+24);}' unless defined(&RTM_NEWTCLASS);
    eval 'sub RTM_DELTCLASS () {( &RTM_BASE+25);}' unless defined(&RTM_DELTCLASS);
    eval 'sub RTM_GETTCLASS () {( &RTM_BASE+26);}' unless defined(&RTM_GETTCLASS);
    eval 'sub RTM_NEWTFILTER () {( &RTM_BASE+28);}' unless defined(&RTM_NEWTFILTER);
    eval 'sub RTM_DELTFILTER () {( &RTM_BASE+29);}' unless defined(&RTM_DELTFILTER);
    eval 'sub RTM_GETTFILTER () {( &RTM_BASE+30);}' unless defined(&RTM_GETTFILTER);
    eval 'sub RTM_MAX () {( &RTM_BASE+31);}' unless defined(&RTM_MAX);
    eval 'sub RTA_ALIGNTO () {4;}' unless defined(&RTA_ALIGNTO);
    eval 'sub RTA_ALIGN {
        local($len) = @_;
	    eval q(( (($len)+ &RTA_ALIGNTO-1) & ~( &RTA_ALIGNTO-1) ));
    }' unless defined(&RTA_ALIGN);
    eval 'sub RTA_OK {
        local($rta,$len) = @_;
	    eval q((($len) > 0 && ($rta)-> &rta_len >= $sizeof{\'struct rtattr\'}  && ($rta)-> &rta_len <= ($len)));
    }' unless defined(&RTA_OK);
    eval 'sub RTA_NEXT {
        local($rta,$attrlen) = @_;
	    eval q(( -=  &RTA_ALIGN(-> &rta_len), ((($rta)) +  &RTA_ALIGN(($rta)-> &rta_len))));
    }' unless defined(&RTA_NEXT);
    eval 'sub RTA_LENGTH {
        local($len) = @_;
	    eval q(( &RTA_ALIGN($sizeof{\'struct rtattr\'}) + ($len)));
    }' unless defined(&RTA_LENGTH);
    eval 'sub RTA_SPACE {
        local($len) = @_;
	    eval q( &RTA_ALIGN( &RTA_LENGTH($len)));
    }' unless defined(&RTA_SPACE);
    eval 'sub RTA_DATA {
        local($rta) = @_;
	    eval q((((($rta)) +  &RTA_LENGTH(0))));
    }' unless defined(&RTA_DATA);
    eval 'sub RTA_PAYLOAD {
        local($rta) = @_;
	    eval q(((($rta)-> &rta_len) -  &RTA_LENGTH(0)));
    }' unless defined(&RTA_PAYLOAD);
    eval("sub RTN_UNSPEC () { 0; }") unless defined(&RTN_UNSPEC);
    eval("sub RTN_UNICAST () { 1; }") unless defined(&RTN_UNICAST);
    eval("sub RTN_LOCAL () { 2; }") unless defined(&RTN_LOCAL);
    eval("sub RTN_BROADCAST () { 3; }") unless defined(&RTN_BROADCAST);
    eval("sub RTN_ANYCAST () { 4; }") unless defined(&RTN_ANYCAST);
    eval("sub RTN_MULTICAST () { 5; }") unless defined(&RTN_MULTICAST);
    eval("sub RTN_BLACKHOLE () { 6; }") unless defined(&RTN_BLACKHOLE);
    eval("sub RTN_UNREACHABLE () { 7; }") unless defined(&RTN_UNREACHABLE);
    eval("sub RTN_PROHIBIT () { 8; }") unless defined(&RTN_PROHIBIT);
    eval("sub RTN_THROW () { 9; }") unless defined(&RTN_THROW);
    eval("sub RTN_NAT () { 10; }") unless defined(&RTN_NAT);
    eval("sub RTN_XRESOLVE () { 11; }") unless defined(&RTN_XRESOLVE);
    eval 'sub RTN_MAX () { &RTN_XRESOLVE;}' unless defined(&RTN_MAX);
    eval 'sub RTPROT_UNSPEC () {0;}' unless defined(&RTPROT_UNSPEC);
    eval 'sub RTPROT_REDIRECT () {1;}' unless defined(&RTPROT_REDIRECT);
    eval 'sub RTPROT_KERNEL () {2;}' unless defined(&RTPROT_KERNEL);
    eval 'sub RTPROT_BOOT () {3;}' unless defined(&RTPROT_BOOT);
    eval 'sub RTPROT_STATIC () {4;}' unless defined(&RTPROT_STATIC);
    eval 'sub RTPROT_GATED () {8;}' unless defined(&RTPROT_GATED);
    eval 'sub RTPROT_RA () {9;}' unless defined(&RTPROT_RA);
    eval 'sub RTPROT_MRT () {10;}' unless defined(&RTPROT_MRT);
    eval 'sub RTPROT_ZEBRA () {11;}' unless defined(&RTPROT_ZEBRA);
    eval 'sub RTPROT_BIRD () {12;}' unless defined(&RTPROT_BIRD);
    eval 'sub RTPROT_DNROUTED () {13;}' unless defined(&RTPROT_DNROUTED);
    eval("sub RT_SCOPE_UNIVERSE () { 0; }") unless defined(&RT_SCOPE_UNIVERSE);
    eval("sub RT_SCOPE_SITE () { 200; }") unless defined(&RT_SCOPE_SITE);
    eval("sub RT_SCOPE_LINK () { 253; }") unless defined(&RT_SCOPE_LINK);
    eval("sub RT_SCOPE_HOST () { 254; }") unless defined(&RT_SCOPE_HOST);
    eval("sub RT_SCOPE_NOWHERE () { 255; }") unless defined(&RT_SCOPE_NOWHERE);
    eval 'sub RTM_F_NOTIFY () {0x100;}' unless defined(&RTM_F_NOTIFY);
    eval 'sub RTM_F_CLONED () {0x200;}' unless defined(&RTM_F_CLONED);
    eval 'sub RTM_F_EQUALIZE () {0x400;}' unless defined(&RTM_F_EQUALIZE);
    eval("sub RT_TABLE_UNSPEC () { 0; }") unless defined(&RT_TABLE_UNSPEC);
    eval("sub RT_TABLE_DEFAULT () { 253; }") unless defined(&RT_TABLE_DEFAULT);
    eval("sub RT_TABLE_MAIN () { 254; }") unless defined(&RT_TABLE_MAIN);
    eval("sub RT_TABLE_LOCAL () { 255; }") unless defined(&RT_TABLE_LOCAL);
    eval 'sub RT_TABLE_MAX () { &RT_TABLE_LOCAL;}' unless defined(&RT_TABLE_MAX);
    eval("sub RTA_UNSPEC () { 0; }") unless defined(&RTA_UNSPEC);
    eval("sub RTA_DST () { 1; }") unless defined(&RTA_DST);
    eval("sub RTA_SRC () { 2; }") unless defined(&RTA_SRC);
    eval("sub RTA_IIF () { 3; }") unless defined(&RTA_IIF);
    eval("sub RTA_OIF () { 4; }") unless defined(&RTA_OIF);
    eval("sub RTA_GATEWAY () { 5; }") unless defined(&RTA_GATEWAY);
    eval("sub RTA_PRIORITY () { 6; }") unless defined(&RTA_PRIORITY);
    eval("sub RTA_PREFSRC () { 7; }") unless defined(&RTA_PREFSRC);
    eval("sub RTA_METRICS () { 8; }") unless defined(&RTA_METRICS);
    eval("sub RTA_MULTIPATH () { 9; }") unless defined(&RTA_MULTIPATH);
    eval("sub RTA_PROTOINFO () { 10; }") unless defined(&RTA_PROTOINFO);
    eval("sub RTA_FLOW () { 11; }") unless defined(&RTA_FLOW);
    eval("sub RTA_CACHEINFO () { 12; }") unless defined(&RTA_CACHEINFO);
    eval 'sub RTA_MAX () { &RTA_CACHEINFO;}' unless defined(&RTA_MAX);
    eval 'sub RTM_RTA {
        local($r) = @_;
	    eval q((((($r)) +  &NLMSG_ALIGN($sizeof{\'struct rtmsg\'}))));
    }' unless defined(&RTM_RTA);
    eval 'sub RTM_PAYLOAD {
        local($n) = @_;
	    eval q( &NLMSG_PAYLOAD($n,$sizeof{\'struct rtmsg\'}));
    }' unless defined(&RTM_PAYLOAD);
    eval 'sub RTNH_F_DEAD () {1;}' unless defined(&RTNH_F_DEAD);
    eval 'sub RTNH_F_PERVASIVE () {2;}' unless defined(&RTNH_F_PERVASIVE);
    eval 'sub RTNH_F_ONLINK () {4;}' unless defined(&RTNH_F_ONLINK);
    eval 'sub RTNH_ALIGNTO () {4;}' unless defined(&RTNH_ALIGNTO);
    eval 'sub RTNH_ALIGN {
        local($len) = @_;
	    eval q(( (($len)+ &RTNH_ALIGNTO-1) & ~( &RTNH_ALIGNTO-1) ));
    }' unless defined(&RTNH_ALIGN);
    eval 'sub RTNH_OK {
        local($rtnh,$len) = @_;
	    eval q((-> &rtnh_len >=  &sizeof  && (($rtnh)-> &rtnh_len) <= ($len)));
    }' unless defined(&RTNH_OK);
    eval 'sub RTNH_NEXT {
        local($rtnh) = @_;
	    eval q((((($rtnh)) +  &RTNH_ALIGN(($rtnh)-> &rtnh_len))));
    }' unless defined(&RTNH_NEXT);
    eval 'sub RTNH_LENGTH {
        local($len) = @_;
	    eval q(( &RTNH_ALIGN($sizeof{\'struct rtnexthop\'}) + ($len)));
    }' unless defined(&RTNH_LENGTH);
    eval 'sub RTNH_SPACE {
        local($len) = @_;
	    eval q( &RTNH_ALIGN( &RTNH_LENGTH($len)));
    }' unless defined(&RTNH_SPACE);
    eval 'sub RTNH_DATA {
        local($rtnh) = @_;
	    eval q((((($rtnh)) +  &RTNH_LENGTH(0))));
    }' unless defined(&RTNH_DATA);
    eval 'sub RTNETLINK_HAVE_PEERINFO () {1;}' unless defined(&RTNETLINK_HAVE_PEERINFO);
    eval("sub RTAX_UNSPEC () { 0; }") unless defined(&RTAX_UNSPEC);
    eval("sub RTAX_LOCK () { 1; }") unless defined(&RTAX_LOCK);
    eval("sub RTAX_MTU () { 2; }") unless defined(&RTAX_MTU);
    eval("sub RTAX_WINDOW () { 3; }") unless defined(&RTAX_WINDOW);
    eval("sub RTAX_RTT () { 4; }") unless defined(&RTAX_RTT);
    eval("sub RTAX_RTTVAR () { 5; }") unless defined(&RTAX_RTTVAR);
    eval("sub RTAX_SSTHRESH () { 6; }") unless defined(&RTAX_SSTHRESH);
    eval("sub RTAX_CWND () { 7; }") unless defined(&RTAX_CWND);
    eval("sub RTAX_ADVMSS () { 8; }") unless defined(&RTAX_ADVMSS);
    eval("sub RTAX_REORDERING () { 9; }") unless defined(&RTAX_REORDERING);
    eval 'sub RTAX_MAX () { &RTAX_REORDERING;}' unless defined(&RTAX_MAX);
    eval("sub IFA_UNSPEC () { 0; }") unless defined(&IFA_UNSPEC);
    eval("sub IFA_ADDRESS () { 1; }") unless defined(&IFA_ADDRESS);
    eval("sub IFA_LOCAL () { 2; }") unless defined(&IFA_LOCAL);
    eval("sub IFA_LABEL () { 3; }") unless defined(&IFA_LABEL);
    eval("sub IFA_BROADCAST () { 4; }") unless defined(&IFA_BROADCAST);
    eval("sub IFA_ANYCAST () { 5; }") unless defined(&IFA_ANYCAST);
    eval("sub IFA_CACHEINFO () { 6; }") unless defined(&IFA_CACHEINFO);
    eval 'sub IFA_MAX () { &IFA_CACHEINFO;}' unless defined(&IFA_MAX);
    eval 'sub IFA_F_SECONDARY () {0x1;}' unless defined(&IFA_F_SECONDARY);
    eval 'sub IFA_F_DEPRECATED () {0x20;}' unless defined(&IFA_F_DEPRECATED);
    eval 'sub IFA_F_TENTATIVE () {0x40;}' unless defined(&IFA_F_TENTATIVE);
    eval 'sub IFA_F_PERMANENT () {0x80;}' unless defined(&IFA_F_PERMANENT);
    eval 'sub IFA_RTA {
        local($r) = @_;
	    eval q((((($r)) +  &NLMSG_ALIGN($sizeof{\'struct ifaddrmsg\'}))));
    }' unless defined(&IFA_RTA);
    eval 'sub IFA_PAYLOAD {
        local($n) = @_;
	    eval q( &NLMSG_PAYLOAD($n,$sizeof{\'struct ifaddrmsg\'}));
    }' unless defined(&IFA_PAYLOAD);
    eval("sub NDA_UNSPEC () { 0; }") unless defined(&NDA_UNSPEC);
    eval("sub NDA_DST () { 1; }") unless defined(&NDA_DST);
    eval("sub NDA_LLADDR () { 2; }") unless defined(&NDA_LLADDR);
    eval("sub NDA_CACHEINFO () { 3; }") unless defined(&NDA_CACHEINFO);
    eval 'sub NDA_MAX () { &NDA_CACHEINFO;}' unless defined(&NDA_MAX);
    eval 'sub NDA_RTA {
        local($r) = @_;
	    eval q((((($r)) +  &NLMSG_ALIGN($sizeof{\'struct ndmsg\'}))));
    }' unless defined(&NDA_RTA);
    eval 'sub NDA_PAYLOAD {
        local($n) = @_;
	    eval q( &NLMSG_PAYLOAD($n,$sizeof{\'struct ndmsg\'}));
    }' unless defined(&NDA_PAYLOAD);
    eval 'sub NTF_PROXY () {0x8;}' unless defined(&NTF_PROXY);
    eval 'sub NTF_ROUTER () {0x80;}' unless defined(&NTF_ROUTER);
    eval 'sub NUD_INCOMPLETE () {0x1;}' unless defined(&NUD_INCOMPLETE);
    eval 'sub NUD_REACHABLE () {0x2;}' unless defined(&NUD_REACHABLE);
    eval 'sub NUD_STALE () {0x4;}' unless defined(&NUD_STALE);
    eval 'sub NUD_DELAY () {0x8;}' unless defined(&NUD_DELAY);
    eval 'sub NUD_PROBE () {0x10;}' unless defined(&NUD_PROBE);
    eval 'sub NUD_FAILED () {0x20;}' unless defined(&NUD_FAILED);
    eval 'sub NUD_NOARP () {0x40;}' unless defined(&NUD_NOARP);
    eval 'sub NUD_PERMANENT () {0x80;}' unless defined(&NUD_PERMANENT);
    eval 'sub NUD_NONE () {0x;}' unless defined(&NUD_NONE);
    eval("sub IFLA_UNSPEC () { 0; }") unless defined(&IFLA_UNSPEC);
    eval("sub IFLA_ADDRESS () { 1; }") unless defined(&IFLA_ADDRESS);
    eval("sub IFLA_BROADCAST () { 2; }") unless defined(&IFLA_BROADCAST);
    eval("sub IFLA_IFNAME () { 3; }") unless defined(&IFLA_IFNAME);
    eval("sub IFLA_MTU () { 4; }") unless defined(&IFLA_MTU);
    eval("sub IFLA_LINK () { 5; }") unless defined(&IFLA_LINK);
    eval("sub IFLA_QDISC () { 6; }") unless defined(&IFLA_QDISC);
    eval("sub IFLA_STATS () { 7; }") unless defined(&IFLA_STATS);
    eval("sub IFLA_COST () { 8; }") unless defined(&IFLA_COST);
    eval("sub IFLA_PRIORITY () { 9; }") unless defined(&IFLA_PRIORITY);
    eval("sub IFLA_MASTER () { 10; }") unless defined(&IFLA_MASTER);
    eval("sub IFLA_WIRELESS () { 11; }") unless defined(&IFLA_WIRELESS);
    eval 'sub IFLA_MAX () { &IFLA_WIRELESS;}' unless defined(&IFLA_MAX);
    eval 'sub IFLA_RTA {
        local($r) = @_;
	    eval q((((($r)) +  &NLMSG_ALIGN($sizeof{\'struct ifinfomsg\'}))));
    }' unless defined(&IFLA_RTA);
    eval 'sub IFLA_PAYLOAD {
        local($n) = @_;
	    eval q( &NLMSG_PAYLOAD($n,$sizeof{\'struct ifinfomsg\'}));
    }' unless defined(&IFLA_PAYLOAD);
    eval("sub TCA_UNSPEC () { 0; }") unless defined(&TCA_UNSPEC);
    eval("sub TCA_KIND () { 1; }") unless defined(&TCA_KIND);
    eval("sub TCA_OPTIONS () { 2; }") unless defined(&TCA_OPTIONS);
    eval("sub TCA_STATS () { 3; }") unless defined(&TCA_STATS);
    eval("sub TCA_XSTATS () { 4; }") unless defined(&TCA_XSTATS);
    eval("sub TCA_RATE () { 5; }") unless defined(&TCA_RATE);
    eval 'sub TCA_MAX () { &TCA_RATE;}' unless defined(&TCA_MAX);
    eval 'sub TCA_RTA {
        local($r) = @_;
	    eval q((((($r)) +  &NLMSG_ALIGN($sizeof{\'struct tcmsg\'}))));
    }' unless defined(&TCA_RTA);
    eval 'sub TCA_PAYLOAD {
        local($n) = @_;
	    eval q( &NLMSG_PAYLOAD($n,$sizeof{\'struct tcmsg\'}));
    }' unless defined(&TCA_PAYLOAD);
    eval 'sub RTATTR_MAX () { &RTA_MAX;}' unless defined(&RTATTR_MAX);
    eval 'sub RTMGRP_LINK () {1;}' unless defined(&RTMGRP_LINK);
    eval 'sub RTMGRP_NOTIFY () {2;}' unless defined(&RTMGRP_NOTIFY);
    eval 'sub RTMGRP_NEIGH () {4;}' unless defined(&RTMGRP_NEIGH);
    eval 'sub RTMGRP_TC () {8;}' unless defined(&RTMGRP_TC);
    eval 'sub RTMGRP_IPV4_IFADDR () {0x10;}' unless defined(&RTMGRP_IPV4_IFADDR);
    eval 'sub RTMGRP_IPV4_MROUTE () {0x20;}' unless defined(&RTMGRP_IPV4_MROUTE);
    eval 'sub RTMGRP_IPV4_ROUTE () {0x40;}' unless defined(&RTMGRP_IPV4_ROUTE);
    eval 'sub RTMGRP_IPV6_IFADDR () {0x100;}' unless defined(&RTMGRP_IPV6_IFADDR);
    eval 'sub RTMGRP_IPV6_MROUTE () {0x200;}' unless defined(&RTMGRP_IPV6_MROUTE);
    eval 'sub RTMGRP_IPV6_ROUTE () {0x400;}' unless defined(&RTMGRP_IPV6_ROUTE);
    eval 'sub RTMGRP_DECnet_IFADDR () {0x1000;}' unless defined(&RTMGRP_DECnet_IFADDR);
    eval 'sub RTMGRP_DECnet_ROUTE () {0x4000;}' unless defined(&RTMGRP_DECnet_ROUTE);
}
1;
