require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_I386_SMBIOSVAR_)) {
    eval 'sub _I386_SMBIOSVAR_ () {1;}' unless defined(&_I386_SMBIOSVAR_);
    eval 'sub SMBIOS_START () {0xf0000;}' unless defined(&SMBIOS_START);
    eval 'sub SMBIOS_END () {0xfffff;}' unless defined(&SMBIOS_END);
    eval 'sub SMBIOS_UUID_NPRESENT () {0x1;}' unless defined(&SMBIOS_UUID_NPRESENT);
    eval 'sub SMBIOS_UUID_NSET () {0x2;}' unless defined(&SMBIOS_UUID_NSET);
    eval 'sub SMBIOS_UUID_REP () {"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x";}' unless defined(&SMBIOS_UUID_REP);
    eval 'sub SMBIOS_UUID_REPLEN () {37;}' unless defined(&SMBIOS_UUID_REPLEN);
    eval 'sub SMBIOS_TYPE_BIOS () {0;}' unless defined(&SMBIOS_TYPE_BIOS);
    eval 'sub SMBIOS_TYPE_SYSTEM () {1;}' unless defined(&SMBIOS_TYPE_SYSTEM);
    eval 'sub SMBIOS_TYPE_BASEBOARD () {2;}' unless defined(&SMBIOS_TYPE_BASEBOARD);
    eval 'sub SMBIOS_TYPE_ENCLOSURE () {3;}' unless defined(&SMBIOS_TYPE_ENCLOSURE);
    eval 'sub SMBIOS_TYPE_PROCESSOR () {4;}' unless defined(&SMBIOS_TYPE_PROCESSOR);
    eval 'sub SMBIOS_TYPE_MEMCTRL () {5;}' unless defined(&SMBIOS_TYPE_MEMCTRL);
    eval 'sub SMBIOS_TYPE_MEMMOD () {6;}' unless defined(&SMBIOS_TYPE_MEMMOD);
    eval 'sub SMBIOS_TYPE_CACHE () {7;}' unless defined(&SMBIOS_TYPE_CACHE);
    eval 'sub SMBIOS_TYPE_PORT () {8;}' unless defined(&SMBIOS_TYPE_PORT);
    eval 'sub SMBIOS_TYPE_SLOTS () {9;}' unless defined(&SMBIOS_TYPE_SLOTS);
    eval 'sub SMBIOS_TYPE_OBD () {10;}' unless defined(&SMBIOS_TYPE_OBD);
    eval 'sub SMBIOS_TYPE_OEM () {11;}' unless defined(&SMBIOS_TYPE_OEM);
    eval 'sub SMBIOS_TYPE_SYSCONFOPT () {12;}' unless defined(&SMBIOS_TYPE_SYSCONFOPT);
    eval 'sub SMBIOS_TYPE_BIOSLANG () {13;}' unless defined(&SMBIOS_TYPE_BIOSLANG);
    eval 'sub SMBIOS_TYPE_GROUPASSOC () {14;}' unless defined(&SMBIOS_TYPE_GROUPASSOC);
    eval 'sub SMBIOS_TYPE_SYSEVENTLOG () {15;}' unless defined(&SMBIOS_TYPE_SYSEVENTLOG);
    eval 'sub SMBIOS_TYPE_PHYMEM () {16;}' unless defined(&SMBIOS_TYPE_PHYMEM);
    eval 'sub SMBIOS_TYPE_MEMDEV () {17;}' unless defined(&SMBIOS_TYPE_MEMDEV);
    eval 'sub SMBIOS_TYPE_ECCINFO32 () {18;}' unless defined(&SMBIOS_TYPE_ECCINFO32);
    eval 'sub SMBIOS_TYPE_MEMMAPARRAYADDR () {19;}' unless defined(&SMBIOS_TYPE_MEMMAPARRAYADDR);
    eval 'sub SMBIOS_TYPE_MEMMAPDEVADDR () {20;}' unless defined(&SMBIOS_TYPE_MEMMAPDEVADDR);
    eval 'sub SMBIOS_TYPE_INBUILTPOINT () {21;}' unless defined(&SMBIOS_TYPE_INBUILTPOINT);
    eval 'sub SMBIOS_TYPE_PORTBATT () {22;}' unless defined(&SMBIOS_TYPE_PORTBATT);
    eval 'sub SMBIOS_TYPE_SYSRESET () {23;}' unless defined(&SMBIOS_TYPE_SYSRESET);
    eval 'sub SMBIOS_TYPE_HWSECUIRTY () {24;}' unless defined(&SMBIOS_TYPE_HWSECUIRTY);
    eval 'sub SMBIOS_TYPE_PWRCTRL () {25;}' unless defined(&SMBIOS_TYPE_PWRCTRL);
    eval 'sub SMBIOS_TYPE_VOLTPROBE () {26;}' unless defined(&SMBIOS_TYPE_VOLTPROBE);
    eval 'sub SMBIOS_TYPE_COOLING () {27;}' unless defined(&SMBIOS_TYPE_COOLING);
    eval 'sub SMBIOS_TYPE_TEMPPROBE () {28;}' unless defined(&SMBIOS_TYPE_TEMPPROBE);
    eval 'sub SMBIOS_TYPE_CURRENTPROBE () {29;}' unless defined(&SMBIOS_TYPE_CURRENTPROBE);
    eval 'sub SMBIOS_TYPE_OOB_REMOTEACCESS () {30;}' unless defined(&SMBIOS_TYPE_OOB_REMOTEACCESS);
    eval 'sub SMBIOS_TYPE_BIS () {31;}' unless defined(&SMBIOS_TYPE_BIS);
    eval 'sub SMBIOS_TYPE_SBI () {32;}' unless defined(&SMBIOS_TYPE_SBI);
    eval 'sub SMBIOS_TYPE_ECCINFO64 () {33;}' unless defined(&SMBIOS_TYPE_ECCINFO64);
    eval 'sub SMBIOS_TYPE_MGMTDEV () {34;}' unless defined(&SMBIOS_TYPE_MGMTDEV);
    eval 'sub SMBIOS_TYPE_MGTDEVCOMP () {35;}' unless defined(&SMBIOS_TYPE_MGTDEVCOMP);
    eval 'sub SMBIOS_TYPE_MGTDEVTHRESH () {36;}' unless defined(&SMBIOS_TYPE_MGTDEVTHRESH);
    eval 'sub SMBIOS_TYPE_MEMCHANNEL () {37;}' unless defined(&SMBIOS_TYPE_MEMCHANNEL);
    eval 'sub SMBIOS_TYPE_IPMIDEV () {38;}' unless defined(&SMBIOS_TYPE_IPMIDEV);
    eval 'sub SMBIOS_TYPE_SPS () {39;}' unless defined(&SMBIOS_TYPE_SPS);
    eval 'sub SMBIOS_TYPE_INACTIVE () {126;}' unless defined(&SMBIOS_TYPE_INACTIVE);
    eval 'sub SMBIOS_TYPE_EOT () {127;}' unless defined(&SMBIOS_TYPE_EOT);
    eval 'sub SMBIOS_CPUST_POPULATED () {(1<<6);}' unless defined(&SMBIOS_CPUST_POPULATED);
    eval 'sub SMBIOS_CPUST_STATUSMASK () {(0x7);}' unless defined(&SMBIOS_CPUST_STATUSMASK);
}
1;
