require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_NETINET_IP_ICMP_H_)) {
    eval 'sub _NETINET_IP_ICMP_H_ () {1;}' unless defined(&_NETINET_IP_ICMP_H_);
    eval 'sub icmp_pptr () { ($icmp_hun->{ih_pptr});}' unless defined(&icmp_pptr);
    eval 'sub icmp_gwaddr () { ($icmp_hun->{ih_gwaddr});}' unless defined(&icmp_gwaddr);
    eval 'sub icmp_id () { ($icmp_hun->{ih_idseq}->{icd_id});}' unless defined(&icmp_id);
    eval 'sub icmp_seq () { ($icmp_hun->{ih_idseq}->{icd_seq});}' unless defined(&icmp_seq);
    eval 'sub icmp_void () { ($icmp_hun->{ih_void});}' unless defined(&icmp_void);
    eval 'sub icmp_pmvoid () { ($icmp_hun->{ih_pmtu}->{ipm_void});}' unless defined(&icmp_pmvoid);
    eval 'sub icmp_nextmtu () { ($icmp_hun->{ih_pmtu}->{ipm_nextmtu});}' unless defined(&icmp_nextmtu);
    eval 'sub icmp_num_addrs () { ($icmp_hun->{ih_rtradv}->{irt_num_addrs});}' unless defined(&icmp_num_addrs);
    eval 'sub icmp_wpa () { ($icmp_hun->{ih_rtradv}->{irt_wpa});}' unless defined(&icmp_wpa);
    eval 'sub icmp_lifetime () { ($icmp_hun->{ih_rtradv}->{irt_lifetime});}' unless defined(&icmp_lifetime);
    eval 'sub icmp_otime () { ($icmp_dun->{id_ts}->{its_otime});}' unless defined(&icmp_otime);
    eval 'sub icmp_rtime () { ($icmp_dun->{id_ts}->{its_rtime});}' unless defined(&icmp_rtime);
    eval 'sub icmp_ttime () { ($icmp_dun->{id_ts}->{its_ttime});}' unless defined(&icmp_ttime);
    eval 'sub icmp_ip () { ($icmp_dun->{id_ip}->{idi_ip});}' unless defined(&icmp_ip);
    eval 'sub icmp_mask () { ($icmp_dun->{id_mask});}' unless defined(&icmp_mask);
    eval 'sub icmp_data () { ($icmp_dun->{id_data});}' unless defined(&icmp_data);
    eval 'sub ICMP_V6ADVLENMIN () {(8+ $sizeof{\'struct ip\'} + 40);}' unless defined(&ICMP_V6ADVLENMIN);
    eval 'sub ICMP_V6ADVLEN {
        my($p) = @_;
	    eval q((8+ (($p)-> ($icmp_ip->{i$p_hl}) << 2) + 40));
    }' unless defined(&ICMP_V6ADVLEN);
    eval 'sub ICMP_MINLEN () {8;}' unless defined(&ICMP_MINLEN);
    eval 'sub ICMP_TSLEN () {(8+ 3* $sizeof{ &n_time});}' unless defined(&ICMP_TSLEN);
    eval 'sub ICMP_MASKLEN () {12;}' unless defined(&ICMP_MASKLEN);
    eval 'sub ICMP_ADVLENMIN () {(8+ $sizeof{\'struct ip\'} + 8);}' unless defined(&ICMP_ADVLENMIN);
    eval 'sub ICMP_ADVLEN {
        my($p) = @_;
	    eval q((8+ (($p)-> ($icmp_ip->{i$p_hl}) << 2) + 8));
    }' unless defined(&ICMP_ADVLEN);
    eval 'sub ICMP_ECHOREPLY () {0;}' unless defined(&ICMP_ECHOREPLY);
    eval 'sub ICMP_UNREACH () {3;}' unless defined(&ICMP_UNREACH);
    eval 'sub ICMP_UNREACH_NET () {0;}' unless defined(&ICMP_UNREACH_NET);
    eval 'sub ICMP_UNREACH_HOST () {1;}' unless defined(&ICMP_UNREACH_HOST);
    eval 'sub ICMP_UNREACH_PROTOCOL () {2;}' unless defined(&ICMP_UNREACH_PROTOCOL);
    eval 'sub ICMP_UNREACH_PORT () {3;}' unless defined(&ICMP_UNREACH_PORT);
    eval 'sub ICMP_UNREACH_NEEDFRAG () {4;}' unless defined(&ICMP_UNREACH_NEEDFRAG);
    eval 'sub ICMP_UNREACH_SRCFAIL () {5;}' unless defined(&ICMP_UNREACH_SRCFAIL);
    eval 'sub ICMP_UNREACH_NET_UNKNOWN () {6;}' unless defined(&ICMP_UNREACH_NET_UNKNOWN);
    eval 'sub ICMP_UNREACH_HOST_UNKNOWN () {7;}' unless defined(&ICMP_UNREACH_HOST_UNKNOWN);
    eval 'sub ICMP_UNREACH_ISOLATED () {8;}' unless defined(&ICMP_UNREACH_ISOLATED);
    eval 'sub ICMP_UNREACH_NET_PROHIB () {9;}' unless defined(&ICMP_UNREACH_NET_PROHIB);
    eval 'sub ICMP_UNREACH_HOST_PROHIB () {10;}' unless defined(&ICMP_UNREACH_HOST_PROHIB);
    eval 'sub ICMP_UNREACH_TOSNET () {11;}' unless defined(&ICMP_UNREACH_TOSNET);
    eval 'sub ICMP_UNREACH_TOSHOST () {12;}' unless defined(&ICMP_UNREACH_TOSHOST);
    eval 'sub ICMP_UNREACH_FILTER_PROHIB () {13;}' unless defined(&ICMP_UNREACH_FILTER_PROHIB);
    eval 'sub ICMP_UNREACH_HOST_PRECEDENCE () {14;}' unless defined(&ICMP_UNREACH_HOST_PRECEDENCE);
    eval 'sub ICMP_UNREACH_PRECEDENCE_CUTOFF () {15;}' unless defined(&ICMP_UNREACH_PRECEDENCE_CUTOFF);
    eval 'sub ICMP_SOURCEQUENCH () {4;}' unless defined(&ICMP_SOURCEQUENCH);
    eval 'sub ICMP_REDIRECT () {5;}' unless defined(&ICMP_REDIRECT);
    eval 'sub ICMP_REDIRECT_NET () {0;}' unless defined(&ICMP_REDIRECT_NET);
    eval 'sub ICMP_REDIRECT_HOST () {1;}' unless defined(&ICMP_REDIRECT_HOST);
    eval 'sub ICMP_REDIRECT_TOSNET () {2;}' unless defined(&ICMP_REDIRECT_TOSNET);
    eval 'sub ICMP_REDIRECT_TOSHOST () {3;}' unless defined(&ICMP_REDIRECT_TOSHOST);
    eval 'sub ICMP_ALTHOSTADDR () {6;}' unless defined(&ICMP_ALTHOSTADDR);
    eval 'sub ICMP_ECHO () {8;}' unless defined(&ICMP_ECHO);
    eval 'sub ICMP_ROUTERADVERT () {9;}' unless defined(&ICMP_ROUTERADVERT);
    eval 'sub ICMP_ROUTERADVERT_NORMAL () {0;}' unless defined(&ICMP_ROUTERADVERT_NORMAL);
    eval 'sub ICMP_ROUTERADVERT_NOROUTE_COMMON () {16;}' unless defined(&ICMP_ROUTERADVERT_NOROUTE_COMMON);
    eval 'sub ICMP_ROUTERSOLICIT () {10;}' unless defined(&ICMP_ROUTERSOLICIT);
    eval 'sub ICMP_TIMXCEED () {11;}' unless defined(&ICMP_TIMXCEED);
    eval 'sub ICMP_TIMXCEED_INTRANS () {0;}' unless defined(&ICMP_TIMXCEED_INTRANS);
    eval 'sub ICMP_TIMXCEED_REASS () {1;}' unless defined(&ICMP_TIMXCEED_REASS);
    eval 'sub ICMP_PARAMPROB () {12;}' unless defined(&ICMP_PARAMPROB);
    eval 'sub ICMP_PARAMPROB_ERRATPTR () {0;}' unless defined(&ICMP_PARAMPROB_ERRATPTR);
    eval 'sub ICMP_PARAMPROB_OPTABSENT () {1;}' unless defined(&ICMP_PARAMPROB_OPTABSENT);
    eval 'sub ICMP_PARAMPROB_LENGTH () {2;}' unless defined(&ICMP_PARAMPROB_LENGTH);
    eval 'sub ICMP_TSTAMP () {13;}' unless defined(&ICMP_TSTAMP);
    eval 'sub ICMP_TSTAMPREPLY () {14;}' unless defined(&ICMP_TSTAMPREPLY);
    eval 'sub ICMP_IREQ () {15;}' unless defined(&ICMP_IREQ);
    eval 'sub ICMP_IREQREPLY () {16;}' unless defined(&ICMP_IREQREPLY);
    eval 'sub ICMP_MASKREQ () {17;}' unless defined(&ICMP_MASKREQ);
    eval 'sub ICMP_MASKREPLY () {18;}' unless defined(&ICMP_MASKREPLY);
    eval 'sub ICMP_TRACEROUTE () {30;}' unless defined(&ICMP_TRACEROUTE);
    eval 'sub ICMP_DATACONVERR () {31;}' unless defined(&ICMP_DATACONVERR);
    eval 'sub ICMP_MOBILE_REDIRECT () {32;}' unless defined(&ICMP_MOBILE_REDIRECT);
    eval 'sub ICMP_IPV6_WHEREAREYOU () {33;}' unless defined(&ICMP_IPV6_WHEREAREYOU);
    eval 'sub ICMP_IPV6_IAMHERE () {34;}' unless defined(&ICMP_IPV6_IAMHERE);
    eval 'sub ICMP_MOBILE_REGREQUEST () {35;}' unless defined(&ICMP_MOBILE_REGREQUEST);
    eval 'sub ICMP_MOBILE_REGREPLY () {36;}' unless defined(&ICMP_MOBILE_REGREPLY);
    eval 'sub ICMP_SKIP () {39;}' unless defined(&ICMP_SKIP);
    eval 'sub ICMP_PHOTURIS () {40;}' unless defined(&ICMP_PHOTURIS);
    eval 'sub ICMP_PHOTURIS_UNKNOWN_INDEX () {1;}' unless defined(&ICMP_PHOTURIS_UNKNOWN_INDEX);
    eval 'sub ICMP_PHOTURIS_AUTH_FAILED () {2;}' unless defined(&ICMP_PHOTURIS_AUTH_FAILED);
    eval 'sub ICMP_PHOTURIS_DECRYPT_FAILED () {3;}' unless defined(&ICMP_PHOTURIS_DECRYPT_FAILED);
    eval 'sub ICMP_MAXTYPE () {40;}' unless defined(&ICMP_MAXTYPE);
    eval 'sub ICMP_INFOTYPE {
        my($type) = @_;
	    eval q((($type) ==  &ICMP_ECHOREPLY || ($type) ==  &ICMP_ECHO || ($type) ==  &ICMP_ROUTERADVERT || ($type) ==  &ICMP_ROUTERSOLICIT || ($type) ==  &ICMP_TSTAMP || ($type) ==  &ICMP_TSTAMPREPLY || ($type) ==  &ICMP_IREQ || ($type) ==  &ICMP_IREQREPLY || ($type) ==  &ICMP_MASKREQ || ($type) ==  &ICMP_MASKREPLY));
    }' unless defined(&ICMP_INFOTYPE);
    if(defined(&_KERNEL)) {
    }
}
1;
