summaryrefslogtreecommitdiff
path: root/console-tools
diff options
context:
space:
mode:
authorDenis Vlasenko2007-07-14 22:07:14 +0000
committerDenis Vlasenko2007-07-14 22:07:14 +0000
commitfb79a2e2cfe33002398f1898c26d8e4f341db006 (patch)
treef5b3ee27db5bc8c9b181fbec171f8fa430a75ba5 /console-tools
parentfcfaf2e18aba06dd90b16958ecfbfcfbf59ceb02 (diff)
downloadbusybox-fb79a2e2cfe33002398f1898c26d8e4f341db006.zip
busybox-fb79a2e2cfe33002398f1898c26d8e4f341db006.tar.gz
xioctl and friends by Tito <farmatito@tiscali.it>
function old new delta do_iptunnel 203 977 +774 process_dev 5328 5494 +166 ioctl_or_perror - 54 +54 ioctl_or_perror_and_die - 51 +51 ioctl_alt_func - 49 +49 bb_ioctl_or_warn - 47 +47 do_add_ioctl 102 145 +43 bb_xioctl - 39 +39 print_value_on_off - 31 +31 get_lcm 105 123 +18 arp_main 2155 2167 +12 .................. zcip_main 1576 1566 -10 setlogcons_main 92 82 -10 dumpkmap_main 263 253 -10 do_get_ioctl 85 75 -10 setkeycodes_main 165 154 -11 write_table 244 232 -12 vconfig_main 318 306 -12 do_del_ioctl 93 81 -12 set_address 75 62 -13 maybe_set_utc 30 16 -14 loadfont_main 495 479 -16 slattach_main 712 695 -17 do_loadfont 191 174 -17 do_iplink 1155 1136 -19 getty_main 2583 2562 -21 fbset_main 2058 2035 -23 do_time 588 565 -23 xioctl 25 - -25 read_rtc 186 160 -26 parse_conf 1299 1270 -29 udhcp_read_interface 269 239 -30 bb_ioctl 45 - -45 bb_ioctl_alt 70 - -70 bb_ioctl_on_off 78 - -78 .rodata 129370 129018 -352 do_show 799 - -799 ------------------------------------------------------------------------------ (add/remove: 6/5 grow/shrink: 13/49 up/down: 1316/-1864) Total: -548 bytes text data bss dec hex filename 675352 2740 13968 692060 a8f5c busybox_old 674804 2740 13968 691512 a8d38 busybox_unstripped
Diffstat (limited to 'console-tools')
-rw-r--r--console-tools/chvt.c6
-rw-r--r--console-tools/deallocvt.c4
-rw-r--r--console-tools/dumpkmap.c8
-rw-r--r--console-tools/loadfont.c20
-rw-r--r--console-tools/setconsole.c4
-rw-r--r--console-tools/setkeycodes.c6
-rw-r--r--console-tools/setlogcons.c3
7 files changed, 16 insertions, 35 deletions
diff --git a/console-tools/chvt.c b/console-tools/chvt.c
index e8761d5..86d3f2d 100644
--- a/console-tools/chvt.c
+++ b/console-tools/chvt.c
@@ -26,9 +26,7 @@ int chvt_main(int argc, char **argv)
fd = get_console_fd();
num = xatoul_range(argv[1], 1, 63);
- if ((-1 == ioctl(fd, VT_ACTIVATE, num))
- || (-1 == ioctl(fd, VT_WAITACTIVE, num))) {
- bb_perror_msg_and_die("ioctl");
- }
+ xioctl(fd, VT_ACTIVATE, (void *)num);
+ xioctl(fd, VT_WAITACTIVE, (void *)num);
return EXIT_SUCCESS;
}
diff --git a/console-tools/deallocvt.c b/console-tools/deallocvt.c
index db52747..a690266 100644
--- a/console-tools/deallocvt.c
+++ b/console-tools/deallocvt.c
@@ -31,8 +31,6 @@ int deallocvt_main(int argc, char **argv)
bb_show_usage();
}
- if (-1 == ioctl(get_console_fd(), VT_DISALLOCATE, num)) {
- bb_perror_msg_and_die("VT_DISALLOCATE");
- }
+ xioctl(get_console_fd(), VT_DISALLOCATE, (void *)num);
return EXIT_SUCCESS;
}
diff --git a/console-tools/dumpkmap.c b/console-tools/dumpkmap.c
index f61795c..a606d56 100644
--- a/console-tools/dumpkmap.c
+++ b/console-tools/dumpkmap.c
@@ -50,12 +50,12 @@ int dumpkmap_main(int argc, char **argv)
for (j = 0; j < NR_KEYS; j++) {
ke.kb_index = j;
ke.kb_table = i;
- if (ioctl(fd, KDGKBENT, &ke) < 0) {
- bb_perror_msg("ioctl failed with %s, %s, %p",
+ if (!ioctl_or_perror(fd, KDGKBENT, &ke,
+ "ioctl failed with %s, %s, %p",
(char *)&ke.kb_index,
(char *)&ke.kb_table,
- &ke.kb_value);
- } else {
+ &ke.kb_value)
+ ) {
write(1, (void*)&ke.kb_value, 2);
}
}
diff --git a/console-tools/loadfont.c b/console-tools/loadfont.c
index b046d40..6b4dcb4 100644
--- a/console-tools/loadfont.c
+++ b/console-tools/loadfont.c
@@ -49,13 +49,11 @@ static void do_loadfont(int fd, unsigned char *inbuf, int unit, int fontsize)
cfd.charheight = unit;
cfd.chardata = buf;
- if (ioctl(fd, PIO_FONTX, &cfd) == 0)
+ if (!ioctl_or_perror(fd, PIO_FONTX, &cfd, "PIO_FONTX ioctl failed (will try PIO_FONT)"))
goto ret; /* success */
- bb_perror_msg("PIO_FONTX ioctl (will try PIO_FONT)");
}
#endif
- if (ioctl(fd, PIO_FONT, buf))
- bb_perror_msg_and_die("PIO_FONT ioctl");
+ xioctl(fd, PIO_FONT, buf);
ret:
free(buf);
}
@@ -92,20 +90,10 @@ do_loadtable(int fd, unsigned char *inbuf, int tailsz, int fontsize)
advice.advised_hashsize = 0;
advice.advised_hashstep = 0;
advice.advised_hashlevel = 0;
- if (ioctl(fd, PIO_UNIMAPCLR, &advice)) {
-#ifdef ENOIOCTLCMD
- if (errno == ENOIOCTLCMD) {
- bb_error_msg("it seems this kernel is older than 1.1.92");
- bb_error_msg_and_die("no Unicode mapping table loaded");
- } else
-#endif
- bb_perror_msg_and_die("PIO_UNIMAPCLR");
- }
+ xioctl(fd, PIO_UNIMAPCLR, &advice);
ud.entry_ct = ct;
ud.entries = up;
- if (ioctl(fd, PIO_UNIMAP, &ud)) {
- bb_perror_msg_and_die("PIO_UNIMAP");
- }
+ xioctl(fd, PIO_UNIMAP, &ud);
}
static void loadnewfont(int fd)
diff --git a/console-tools/setconsole.c b/console-tools/setconsole.c
index f437415..8745b3b 100644
--- a/console-tools/setconsole.c
+++ b/console-tools/setconsole.c
@@ -42,8 +42,6 @@ int setconsole_main(int argc, char **argv)
device = DEV_CONSOLE;
}
- if (-1 == ioctl(xopen(device, O_RDONLY), TIOCCONS)) {
- bb_perror_msg_and_die("TIOCCONS");
- }
+ xioctl(xopen(device, O_RDONLY), TIOCCONS, NULL);
return EXIT_SUCCESS;
}
diff --git a/console-tools/setkeycodes.c b/console-tools/setkeycodes.c
index 0911ede..3de5f98 100644
--- a/console-tools/setkeycodes.c
+++ b/console-tools/setkeycodes.c
@@ -39,9 +39,9 @@ int setkeycodes_main(int argc, char** argv)
a.scancode -= 0xe000;
a.scancode += 128;
}
- if (ioctl(fd, KDSETKEYCODE, &a)) {
- bb_perror_msg_and_die("failed to set SCANCODE %x to KEYCODE %d", sc, a.keycode);
- }
+ ioctl_or_perror_and_die(fd, KDSETKEYCODE, &a,
+ "failed to set SCANCODE %x to KEYCODE %d",
+ sc, a.keycode);
argc -= 2;
argv += 2;
}
diff --git a/console-tools/setlogcons.c b/console-tools/setlogcons.c
index f95a653..2e2a5a4 100644
--- a/console-tools/setlogcons.c
+++ b/console-tools/setlogcons.c
@@ -25,8 +25,7 @@ int setlogcons_main(int argc, char **argv)
if (argc == 2)
arg.subarg = xatoul_range(argv[1], 0, 63);
- if (ioctl(xopen(VC_1, O_RDONLY), TIOCLINUX, &arg))
- bb_perror_msg_and_die("TIOCLINUX");
+ xioctl(xopen(VC_1, O_RDONLY), TIOCLINUX, &arg);
return 0;
}