/* ----------------------------------------------------------------------- * * * Copyright 2009 Intel Corporation; author: H. Peter Anvin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, * Boston MA 02110-1301, USA; either version 2 of the License, or * (at your option) any later version; incorporated herein by reference. * * ----------------------------------------------------------------------- */ #include <stdio.h> #include <string.h> #include <console.h> #include <syslinux/loadfile.h> #include <syslinux/keyboard.h> static inline void error(const char *msg) { fputs(msg, stderr); } int main(int argc, char *argv[]) { const struct syslinux_keyboard_map *const kmap = syslinux_keyboard_map(); size_t map_size; void *kbdmap; if (argc != 2) { error("Usage: kbdmap mapfile\n"); return 1; } if (kmap->version != 1) { error("Syslinux core version mismatch\n"); return 1; } if (loadfile(argv[1], &kbdmap, &map_size)) { error("Keyboard map file load error\n"); return 1; } if (map_size != kmap->length) { error("Keyboard map file format error\n"); return 1; } memcpy(kmap->map, kbdmap, map_size); return 0; }