require '_h2ph_pre.ph';

no warnings qw(redefine misc);

unless(defined(&_NET_IF_GIF_H_)) {
    eval 'sub _NET_IF_GIF_H_ () {1;}' unless defined(&_NET_IF_GIF_H_);
    require 'sys/queue.ph';
    require 'sys/percpu.ph';
    if(defined(&_KERNEL)) {
	require 'sys/pserialize.ph';
	require 'sys/psref.ph';
    }
    if(defined(&_KERNEL_OPT)) {
	require './net/opt_inet.ph';
    }
    require 'netinet/in.ph';
    eval 'sub GIF_ROUTE_TTL () {10;}' unless defined(&GIF_ROUTE_TTL);
    eval 'sub GIF_MTU () {(1280);}' unless defined(&GIF_MTU);
    eval 'sub GIF_MTU_MIN () {(1280);}' unless defined(&GIF_MTU_MIN);
    eval 'sub GIF_MTU_MAX () {(8192);}' unless defined(&GIF_MTU_MAX);
    eval 'sub gif_putref_variant {
        my($var,$psref) = @_;
	    eval q({  &KASSERT($var !=  &NULL);  &psref_release($psref,  ($var->{gv_psref}),  &gv_psref_class); });
    }' unless defined(&gif_putref_variant);
    eval 'sub gif_heldref_variant {
        my($var) = @_;
	    eval q({  &psref_held( ($var->{gv_psref}),  &gv_psref_class); });
    }' unless defined(&gif_heldref_variant);
    if(defined(&GIF_ENCAPCHECK)) {
    }
}
1;
