示例#1
0
文件: dmi.c 项目: coskifu/syslinux
static int dmi_supported(lua_State *L)
{
    s_dmi dmi;

    if ( dmi_iterate(&dmi) ) {
        lua_pushboolean(L, 1);
    } else {
        lua_pushboolean(L, 0);
    }
    return 1;
}
示例#2
0
int main(void)
{
    s_dmi dmi;
    openconsole(&dev_stdcon_r, &dev_stdcon_w);

    if (dmi_iterate(&dmi) == -ENODMITABLE) {
	printf("No DMI Structure found\n");
	return -1;
    }
    parse_dmitable(&dmi);

    moreprintf("productname: %s\n", dmi.system.product_name);
    if (strncmp(dmi.system.product_name, "ProLiant ", 8) == 0) {
      syslinux_run_kernel_image("pxelinux.cfg/proliant", "", 0, IMAGE_TYPE_CONFIG);
    } else {
      syslinux_run_kernel_image("pxelinux.cfg/menu", "", 0, IMAGE_TYPE_CONFIG);
    }

    return 0;
}
示例#3
0
文件: dmi.c 项目: coskifu/syslinux
static int dmi_gettable(lua_State *L)
{
    s_dmi dmi;

    lua_newtable(L);

    if ( ! dmi_iterate(&dmi) ) {
        printf("No DMI Structure found\n");
        return -1;
    }

    parse_dmitable(&dmi);

    LUA_ADD_NUM_S(L, dmi, memory_module_count)
    LUA_ADD_NUM_S(L, dmi, memory_count)
    LUA_ADD_NUM_S(L, dmi, cache_count)
    LUA_ADD_STR_S(L, dmi, oem_strings)

    LUA_ADD_TABLE(L, &dmi, bios)
    LUA_ADD_TABLE(L, &dmi, system)
    LUA_ADD_TABLE(L, &dmi, base_board)
    LUA_ADD_TABLE(L, &dmi, chassis)
    LUA_ADD_TABLE(L, &dmi, processor)
    LUA_ADD_TABLE(L, &dmi, battery)
    LUA_ADD_TABLE(L, &dmi, memory)
    LUA_ADD_TABLE(L, &dmi, memory_module)
    LUA_ADD_TABLE(L, &dmi, cache)
    LUA_ADD_TABLE(L, &dmi, ipmi)
    LUA_ADD_TABLE(L, &dmi, hardware_security)
    LUA_ADD_TABLE(L, &dmi, dmi_info)

    /* set global variable: lua_setglobal(L, "dmitable"); */

    /* return number of return values on stack */
    return 1;
}