diff options
| author | Gert Hulselmans <gerth@zytor.com> | 2010-07-07 02:54:53 +0200 |
|---|---|---|
| committer | Gert Hulselmans <gerth@zytor.com> | 2010-07-07 02:54:53 +0200 |
| commit | cec521ffd06a8ff8550445ab4b92f235da46c948 (patch) | |
| tree | 93bc19f03f229124b297c1a21f8e01496760da85 /com32/lua/src/syslinux.c | |
| parent | 444426a9e552874ddb6f2f841db5565c3de678cc (diff) | |
| download | syslinux-cec521ffd06a8ff8550445ab4b92f235da46c948.tar.gz | |
lua: Add .syslinux.derivative() and .syslinux.version()
Add .syslinux.derivative() and .syslinux.version().
Add an example script which shows how you can use .syslinux.derivative().
Signed-off-by: Gert Hulselmans <gerth@zytor.com>
Diffstat (limited to 'com32/lua/src/syslinux.c')
| -rw-r--r-- | com32/lua/src/syslinux.c | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/com32/lua/src/syslinux.c b/com32/lua/src/syslinux.c index f7c05deb..fa54d7f1 100644 --- a/com32/lua/src/syslinux.c +++ b/com32/lua/src/syslinux.c @@ -38,6 +38,7 @@ #include "syslinux/boot.h" #include "syslinux/loadfile.h" #include "syslinux/linux.h" +#include "syslinux/config.h" int __parse_argv(char ***argv, const char *str); @@ -386,7 +387,7 @@ static int sl_initramfs_add_file(lua_State * L) if (initramfs_add_file(initramfs, file_data, file_len, file_len, "/testfile1", 0, 0755)) - return 0; + return 0; } static int sl_boot_it(lua_State * L) @@ -403,6 +404,41 @@ static int sl_boot_it(lua_State * L) return 0; } +static int sl_derivative(lua_State * L) +{ + const struct syslinux_version *sv; + + sv = syslinux_version(); + + switch (sv->filesystem) { + case SYSLINUX_FS_SYSLINUX: + lua_pushstring(L, "SYSLINUX"); + break; + case SYSLINUX_FS_PXELINUX: + lua_pushstring(L, "PXELINUX"); + break; + case SYSLINUX_FS_ISOLINUX: + lua_pushstring(L, "ISOLINUX"); + break; + case SYSLINUX_FS_UNKNOWN: + default: + lua_pushstring(L, "Unknown Syslinux derivative"); + break; + } + + return 1; +} + +static int sl_version(lua_State * L) +{ + const struct syslinux_version *sv; + + sv = syslinux_version(); + lua_pushstring(L, sv->version_string); + + return 1; +} + static const luaL_reg syslinuxlib[] = { {"run_command", sl_run_command}, {"run_default", sl_run_default}, @@ -419,6 +455,8 @@ static const luaL_reg syslinuxlib[] = { {"initramfs_load_archive", sl_initramfs_load_archive}, {"initramfs_add_file", sl_initramfs_add_file}, {"boot_it", sl_boot_it}, + {"derivative", sl_derivative}, + {"version", sl_version}, {NULL, NULL} }; |
