Changeset 1770 in MondoRescue for branches/stable/mindi-busybox/console-tools/dumpkmap.c
- Timestamp:
- Nov 6, 2007, 11:01:53 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mindi-busybox/console-tools/dumpkmap.c
r821 r1770 5 5 * Copyright (C) Arne Bernin <arne@matrix.loopback.org> 6 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 7 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 20 8 * 21 9 */ 22 10 23 #include <errno.h> 24 #include <fcntl.h> 25 #include <stdio.h> 26 #include <unistd.h> 27 #include <string.h> 28 #include <stdlib.h> 29 #include <sys/ioctl.h> 30 #include "busybox.h" 11 #include "libbb.h" 31 12 32 13 /* From <linux/kd.h> */ … … 42 23 #define MAX_NR_KEYMAPS 256 43 24 25 int dumpkmap_main(int argc, char **argv); 44 26 int dumpkmap_main(int argc, char **argv) 45 27 { 46 28 struct kbentry ke; 47 29 int i, j, fd; 48 char flags[MAX_NR_KEYMAPS] , magic[] = "bkeymap";30 char flags[MAX_NR_KEYMAPS]; 49 31 50 if (argc >= 2 && *argv[1] == '-')32 if (argc >= 2 && argv[1][0] == '-') 51 33 bb_show_usage(); 52 34 53 fd = bb_xopen(CURRENT_VC, O_RDWR);35 fd = xopen(CURRENT_VC, O_RDWR); 54 36 55 write(1, magic, 7);37 write(1, "bkeymap", 7); 56 38 57 39 /* Here we want to set everything to 0 except for indexes: … … 69 51 ke.kb_index = j; 70 52 ke.kb_table = i; 71 if ( ioctl(fd, KDGKBENT, &ke) < 0) {72 bb_perror_msg("ioctl failed with %s, %s, %p",53 if (!ioctl_or_perror(fd, KDGKBENT, &ke, 54 "ioctl failed with %s, %s, %p", 73 55 (char *)&ke.kb_index, 74 56 (char *)&ke.kb_table, 75 &ke.kb_value) ;76 } else{57 &ke.kb_value) 58 ) { 77 59 write(1, (void*)&ke.kb_value, 2); 78 60 }
Note:
See TracChangeset
for help on using the changeset viewer.