1 /* vi: set sw=4 ts=4: */
3 * Copyright (C) 2021 Denys Vlasenko <vda.linux@googlemail.com>
5 * Licensed under GPLv2, see file LICENSE in this source tree.
8 //config: bool "ascii (784 bytes)"
11 //config: Print ascii table.
14 //applet:IF_ASCII(APPLET(ascii, BB_DIR_USR_BIN, BB_SUID_DROP))
16 //kbuild:lib-$(CONFIG_ASCII) += ascii.o
18 //usage:#define ascii_trivial_usage NOUSAGE_STR
19 //usage:#define ascii_full_usage ""
23 int ascii_main(int argc
, char **argv
) MAIN_EXTERNALLY_VISIBLE
;
24 int ascii_main(int argc UNUSED_PARAM
, char **argv UNUSED_PARAM
)
27 "NUL""SOH""STX""ETX""EOT""ENQ""ACK""BEL"
28 "BS ""HT ""NL ""VT ""FF ""CR ""SO ""SI "
29 "DLE""DC1""DC2""DC3""DC4""NAK""SYN""ETB"
30 "CAN""EM ""SUB""ESC""FS ""GS ""RS ""US "
32 //TODO: od has a similar table, can we reuse it?
37 printf("Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex Dec Hex\n");
38 for (i
= 0; i
< 16; i
++) {
39 printf("%3u %02x %.3s%4u %02x %.3s%4u %02x %c%4u %02x %c%4u %02x %c%4u %02x %c%5u %02x %c%5u %02x %s\n",
40 i
+0x00, i
+0x00, ctrl
+ i
*3,
41 i
+0x10, i
+0x10, ctrl
+ i
*3 + 16*3,
42 i
+0x20, i
+0x20, i
+0x20,
43 i
+0x30, i
+0x30, i
+0x30,
44 i
+0x40, i
+0x40, i
+0x40,
45 i
+0x50, i
+0x50, i
+0x50,
46 i
+0x60, i
+0x60, i
+0x60,
47 i
+0x70, i
+0x70, (i
+0x70 == 0x7f ? "DEL" : (last
[0] = i
+0x70, last
))