diff options
Diffstat (limited to 'packages/busybox/busybox-1.00/add-getkey-applet.patch')
-rw-r--r-- | packages/busybox/busybox-1.00/add-getkey-applet.patch | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/packages/busybox/busybox-1.00/add-getkey-applet.patch b/packages/busybox/busybox-1.00/add-getkey-applet.patch deleted file mode 100644 index 6ce0df21bd..0000000000 --- a/packages/busybox/busybox-1.00/add-getkey-applet.patch +++ /dev/null @@ -1,157 +0,0 @@ - -# -# Patch managed by http://www.holgerschurig.de/patcher.html -# - ---- /dev/null -+++ busybox-1.00/console-tools/getkey.c -@@ -0,0 +1,94 @@ -+/* vi: set sw=4 ts=4: */ -+/* -+ * getkey.c - Michael 'Mickey' Lauer -+ * -+ * Version 0.1 -+ * -+ * A simple keygrapper. Displays a configurable message and waits a dedicated number -+ * of seconds for a keypress. Sets the exit code accordingly (SUCCESS on keypress). -+ */ -+#include <stdio.h> -+#include <fcntl.h> -+#include <memory.h> -+#include <stdlib.h> -+#include <unistd.h> -+#include <sys/types.h> -+#include <errno.h> -+#include <sys/ioctl.h> -+#include <sys/kd.h> -+#include "busybox.h" -+ -+extern int getkey_main(int argc, char **argv) -+{ -+ int status = EXIT_FAILURE; -+ -+ if ( argc < 2 ) -+ { -+ bb_show_usage(); -+ } -+ -+ /* -+ * If no terminal is attached it is quite useless -+ * to treat it like one. -+ */ -+ if( !isatty(STDIN_FILENO) ) -+ { -+ goto error_hard; -+ } -+ -+ //bb_printf( "DEBUG: time = '%s'\n", argv[1] ); -+ //bb_printf( "DEBUG: mesg = '%s'\n", argv[2] ); -+ -+ struct termios orig; -+ struct termios attr; -+ -+ if ( tcgetattr(STDIN_FILENO, &orig) == -1 ) -+ { -+ goto error_hard; -+ } -+ -+ attr = orig; -+ attr.c_cc[VMIN] = 0; -+ attr.c_cc[VTIME] = 0; -+ attr.c_iflag |= INLCR; -+ attr.c_oflag |= OPOST|ONLCR; -+ attr.c_cflag &= ~PARENB; -+ attr.c_lflag &= ~(ICANON/*|ECHO*/); -+ if ( tcsetattr(STDIN_FILENO,TCSANOW,&attr) == -1 ) -+ { -+ goto error_hard; -+ } -+ -+ fd_set rfds; -+ struct timeval tv; -+ int retval; -+ -+ FD_ZERO(&rfds); -+ FD_SET(0, &rfds); -+ -+ tv.tv_sec = atoi( argv[1] ); -+ tv.tv_usec = 0; -+ -+ if ( argc == 3 ) -+ { -+ bb_printf( argv[2], tv.tv_sec ); -+ bb_printf( "\n" ); -+ fflush(stdout); -+ } -+ retval = select(1, &rfds, NULL, NULL, &tv); -+ if (retval > 0) -+ { -+ status = EXIT_SUCCESS; -+ } -+ -+ if (tcsetattr(STDIN_FILENO,TCSANOW,&orig) == -1 ) -+ { -+ goto error_hard; -+ } -+ -+ return status; -+ -+error_hard : -+ return EXIT_FAILURE; -+}; -+ ---- busybox-1.00/console-tools/Makefile.in~add-getkey-applet.patch -+++ busybox-1.00/console-tools/Makefile.in -@@ -28,6 +28,7 @@ - CONSOLETOOLS_DIR-$(CONFIG_CLEAR) += clear.o - CONSOLETOOLS_DIR-$(CONFIG_DEALLOCVT) += deallocvt.o - CONSOLETOOLS_DIR-$(CONFIG_DUMPKMAP) += dumpkmap.o -+CONSOLETOOLS_DIR-$(CONFIG_GETKEY) += getkey.o - CONSOLETOOLS_DIR-$(CONFIG_LOADFONT) += loadfont.o - CONSOLETOOLS_DIR-$(CONFIG_LOADKMAP) += loadkmap.o - CONSOLETOOLS_DIR-$(CONFIG_OPENVT) += openvt.o ---- busybox-1.00/console-tools/Config.in~add-getkey-applet.patch -+++ busybox-1.00/console-tools/Config.in -@@ -31,6 +31,14 @@ - This program dumps the kernel's keyboard translation table to - stdout, in binary format. You can then use loadkmap to load it. - -+config CONFIG_GETKEY -+ bool "getkey" -+ default n -+ help -+ This program displays a configurable message and waits -+ a dedicated number of seconds for a keypress. It sets -+ the exit code accordingly, i.e. SUCCESS if there was a keypress. -+ - config CONFIG_LOADFONT - bool "loadfont" - default n ---- busybox-1.00/include/applets.h~add-getkey-applet.patch -+++ busybox-1.00/include/applets.h -@@ -223,6 +223,9 @@ - #ifdef CONFIG_FTPPUT - APPLET(ftpput, ftpgetput_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER) - #endif -+#ifdef CONFIG_GETKEY -+ APPLET(getkey, getkey_main, _BB_DIR_SBIN, _BB_SUID_NEVER) -+#endif - #ifdef CONFIG_GETOPT - APPLET(getopt, getopt_main, _BB_DIR_BIN, _BB_SUID_NEVER) - #endif ---- busybox-1.00/include/usage.h~add-getkey-applet.patch -+++ busybox-1.00/include/usage.h -@@ -734,6 +734,13 @@ - "\t-p, --password Password to be used\n" \ - "\t-P, --port Port number to be used" - -+#define getkey_trivial_usage \ -+ "time [message]" -+#define getkey_full_usage \ -+ "Display a message and wait for a keypress." -+#define getkey_example_usage \ -+ "$ getkey 5 'Press a key within %d seconds to interrupt autoboot.'" -+ - #define getopt_trivial_usage \ - "[OPTIONS]..." - #define getopt_full_usage \ |