require '_h2ph_pre.ph';

unless(defined(&_LINK_H_)) {
    eval 'sub _LINK_H_ () {1;}' unless defined(&_LINK_H_);
    eval 'sub nz_un () { ($nlist->{n_un});}' unless defined(&nz_un);
    eval 'sub nz_strx () { ($nlist->{n_un}->{n_strx});}' unless defined(&nz_strx);
    eval 'sub nz_name () { ($nlist->{n_un}->{n_name});}' unless defined(&nz_name);
    eval 'sub nz_type () { ($nlist->{n_type});}' unless defined(&nz_type);
    eval 'sub nz_value () { ($nlist->{n_value});}' unless defined(&nz_value);
    eval 'sub nz_desc () { ($nlist->{n_desc});}' unless defined(&nz_desc);
    eval 'sub nz_other () { ($nlist->{n_other});}' unless defined(&nz_other);
    eval 'sub N_AUX {
        local($p) = @_;
	    eval q((($p)-> &n_other & 0xf));
    }' unless defined(&N_AUX);
    eval 'sub N_BIND {
        local($p) = @_;
	    eval q(((($p)-> &n_other >> 4) & 0xf));
    }' unless defined(&N_BIND);
    eval 'sub N_OTHER {
        local($r, $v) = @_;
	    eval q(((($r) << 4) | (($v) & 0xf)));
    }' unless defined(&N_OTHER);
    eval 'sub AUX_OBJECT () {1;}' unless defined(&AUX_OBJECT);
    eval 'sub AUX_FUNC () {2;}' unless defined(&AUX_FUNC);
    eval 'sub BIND_WEAK () {2;}' unless defined(&BIND_WEAK);
    eval 'sub LD_VERSION_SUN () {(3);}' unless defined(&LD_VERSION_SUN);
    eval 'sub LD_VERSION_BSD () {(8);}' unless defined(&LD_VERSION_BSD);
    eval 'sub LD_VERSION_NZLIST_P {
        local($v) = @_;
	    eval q((($v) >= 8));
    }' unless defined(&LD_VERSION_NZLIST_P);
    eval 'sub LD_GOT {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_got})));
    }' unless defined(&LD_GOT);
    eval 'sub LD_PLT {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_plt})));
    }' unless defined(&LD_PLT);
    eval 'sub LD_REL {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_rel})));
    }' unless defined(&LD_REL);
    eval 'sub LD_SYMBOL {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_nzlist})));
    }' unless defined(&LD_SYMBOL);
    eval 'sub LD_HASH {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_hash})));
    }' unless defined(&LD_HASH);
    eval 'sub LD_STRINGS {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_strings})));
    }' unless defined(&LD_STRINGS);
    eval 'sub LD_NEED {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_sods})));
    }' unless defined(&LD_NEED);
    eval 'sub LD_BUCKETS {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_buckets})));
    }' unless defined(&LD_BUCKETS);
    eval 'sub LD_PATHS {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_paths})));
    }' unless defined(&LD_PATHS);
    eval 'sub LD_GOTSZ {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_plt}) - ($x)-> ($d_un->{d_sdt}->{sdt_got})));
    }' unless defined(&LD_GOTSZ);
    eval 'sub LD_RELSZ {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_hash}) - ($x)-> ($d_un->{d_sdt}->{sdt_rel})));
    }' unless defined(&LD_RELSZ);
    eval 'sub LD_HASHSZ {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_nzlist}) - ($x)-> ($d_un->{d_sdt}->{sdt_hash})));
    }' unless defined(&LD_HASHSZ);
    eval 'sub LD_STABSZ {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_strings}) - ($x)-> ($d_un->{d_sdt}->{sdt_nzlist})));
    }' unless defined(&LD_STABSZ);
    eval 'sub LD_PLTSZ {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_plt_sz})));
    }' unless defined(&LD_PLTSZ);
    eval 'sub LD_STRSZ {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_str_sz})));
    }' unless defined(&LD_STRSZ);
    eval 'sub LD_TEXTSZ {
        local($x) = @_;
	    eval q((($x)-> ($d_un->{d_sdt}->{sdt_text_sz})));
    }' unless defined(&LD_TEXTSZ);
    eval 'sub CRT_VERSION_SUN () {1;}' unless defined(&CRT_VERSION_SUN);
    eval 'sub CRT_VERSION_BSD_2 () {2;}' unless defined(&CRT_VERSION_BSD_2);
    eval 'sub CRT_VERSION_BSD_3 () {3;}' unless defined(&CRT_VERSION_BSD_3);
    eval 'sub CRT_VERSION_BSD_4 () {4;}' unless defined(&CRT_VERSION_BSD_4);
    eval 'sub MAXDEWEY () {8;}' unless defined(&MAXDEWEY);
    eval 'sub HH_MAGIC () {011421044151;}' unless defined(&HH_MAGIC);
    eval 'sub LD_HINTS_VERSION_1 () {1;}' unless defined(&LD_HINTS_VERSION_1);
    eval 'sub LD_HINTS_VERSION_2 () {2;}' unless defined(&LD_HINTS_VERSION_2);
    eval 'sub HH_BADMAG {
        local($hdr) = @_;
	    eval q((($hdr). &hh_magic !=  &HH_MAGIC));
    }' unless defined(&HH_BADMAG);
    eval 'sub hi_major () { $hi_dewey[0];}' unless defined(&hi_major);
    eval 'sub hi_minor () { $hi_dewey[1];}' unless defined(&hi_minor);
    eval 'sub _PATH_LD_HINTS () {"/var/run/ld.so.hints";}' unless defined(&_PATH_LD_HINTS);
}
1;
