diff options
Diffstat (limited to 'main/busybox/0001-add-simple-beep-applet.patch')
-rw-r--r-- | main/busybox/0001-add-simple-beep-applet.patch | 205 |
1 files changed, 0 insertions, 205 deletions
diff --git a/main/busybox/0001-add-simple-beep-applet.patch b/main/busybox/0001-add-simple-beep-applet.patch deleted file mode 100644 index 050f229bbd..0000000000 --- a/main/busybox/0001-add-simple-beep-applet.patch +++ /dev/null @@ -1,205 +0,0 @@ -From f1ca52c6dacbec39246fca696a597f5dbeca321f Mon Sep 17 00:00:00 2001 -From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> -Date: Fri, 21 Aug 2009 13:18:31 +0200 -Subject: [PATCH 1/2] add simple beep applet - -Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> ---- - include/applets.h | 1 + - include/usage.h | 10 ++++ - miscutils/Config.in | 6 +++ - miscutils/Kbuild | 1 + - miscutils/beep.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 137 insertions(+), 0 deletions(-) - create mode 100644 miscutils/beep.c - -diff --git a/include/applets.h b/include/applets.h -index 32c596d..5ddbfe4 100644 ---- a/include/applets.h -+++ b/include/applets.h -@@ -80,6 +80,7 @@ USE_ASH(APPLET(ash, _BB_DIR_BIN, _BB_SUID_NEVER)) - USE_AWK(APPLET_NOEXEC(awk, awk, _BB_DIR_USR_BIN, _BB_SUID_NEVER, awk)) - USE_BASENAME(APPLET_NOFORK(basename, basename, _BB_DIR_USR_BIN, _BB_SUID_NEVER, basename)) - USE_BBCONFIG(APPLET(bbconfig, _BB_DIR_BIN, _BB_SUID_NEVER)) -+USE_BEEP(APPLET(beep, _BB_DIR_USR_BIN, _BB_SUID_NEVER)) - //USE_BBSH(APPLET(bbsh, _BB_DIR_BIN, _BB_SUID_NEVER)) - USE_BLKID(APPLET(blkid, _BB_DIR_SBIN, _BB_SUID_NEVER)) - USE_BRCTL(APPLET(brctl, _BB_DIR_USR_SBIN, _BB_SUID_NEVER)) -diff --git a/include/usage.h b/include/usage.h -index bfacc56..f51b848 100644 ---- a/include/usage.h -+++ b/include/usage.h -@@ -142,6 +142,16 @@ - "$ basename /foo/bar.txt .txt\n" \ - "bar" - -+#define beep_trivial_usage \ -+ "-f freq -l length -d delay -r repetitions -n" -+#define beep_full_usage "\n\n" \ -+ "Options:\n" \ -+ "\n -f Frequency in Hz" \ -+ "\n -l Length in ms" \ -+ "\n -d Delay in ms" \ -+ "\n -r Repetitions" \ -+ "\n -n Start new tone" \ -+ - #define fbsplash_trivial_usage \ - "-s IMGFILE [-c] [-d DEV] [-i INIFILE] [-f CMD]" - #define fbsplash_full_usage "\n\n" \ -diff --git a/miscutils/Config.in b/miscutils/Config.in -index 7feaf4a..e56a3fc 100644 ---- a/miscutils/Config.in -+++ b/miscutils/Config.in -@@ -19,6 +19,12 @@ config BBCONFIG - The bbconfig applet will print the config file with which - busybox was built. - -+config BEEP -+ bool "beep" -+ default n -+ help -+ The beep applets beeps in a given freq/Hz. -+ - config CHAT - bool "chat" - default n -diff --git a/miscutils/Kbuild b/miscutils/Kbuild -index 23d7d8d..8cf3406 100644 ---- a/miscutils/Kbuild -+++ b/miscutils/Kbuild -@@ -7,6 +7,7 @@ - lib-y:= - lib-$(CONFIG_ADJTIMEX) += adjtimex.o - lib-$(CONFIG_BBCONFIG) += bbconfig.o -+lib-$(CONFIG_BEEP) += beep.o - lib-$(CONFIG_CHAT) += chat.o - lib-$(CONFIG_CHRT) += chrt.o - lib-$(CONFIG_CROND) += crond.o -diff --git a/miscutils/beep.c b/miscutils/beep.c -new file mode 100644 -index 0000000..d5c3531 ---- /dev/null -+++ b/miscutils/beep.c -@@ -0,0 +1,119 @@ -+/* vi: set sw=4 ts=4: */ -+/* -+ * beep implementation for busybox -+ * -+ * Copyright (C) 2009 Bernhard Reutner-Fischer -+ * -+ * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. -+ * -+ */ -+#include "libbb.h" -+ -+#include <linux/kd.h> -+#ifndef CLOCK_TICK_RATE -+#define CLOCK_TICK_RATE 1193180 -+#endif -+ -+#define OPT_f (1<<0) -+#define OPT_l (1<<1) -+#define OPT_d (1<<2) -+#define OPT_r (1<<3) -+/* defaults */ -+#define FREQ (4440) -+#define LENGTH (50) -+#define DELAY (0) -+#define REPETITIONS (1) -+ -+#define GET_ARG do { if (!*++opt) opt = *++argv; if (opt == NULL) bb_show_usage();} while (0) -+#define NEW_BEEP() { \ -+ freq = FREQ; \ -+ length = LENGTH; \ -+ delay = DELAY; \ -+ rep = REPETITIONS; \ -+ } -+ -+int beep_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; -+int beep_main(int argc UNUSED_PARAM, char **argv) -+{ -+ int speaker = get_console_fd_or_die(); -+ unsigned freq, length, delay, rep; -+ unsigned long ioctl_arg; -+ char *opt = NULL; -+ bool do_parse = true; -+ -+ NEW_BEEP() -+ while (*argv && *++argv) { -+ opt = *argv; -+ -+ while (*opt == '-') -+ ++opt; -+ if (do_parse) -+ switch (*opt) { -+ case 'f': -+ GET_ARG; -+ freq = xatoul(opt); -+ continue; -+ case 'l': -+ GET_ARG; -+ length = xatoul(opt); -+ continue; -+ case 'd': -+ GET_ARG; -+ delay = xatoul(opt); -+ continue; -+ case 'r': -+ GET_ARG; -+ rep = xatoul(opt); -+ continue; -+ case 'n': -+ break; -+ default: -+ bb_show_usage(); -+ break; -+ } -+ again: -+ while (rep) { -+//bb_info_msg("rep[%d] freq=%d, length=%d, delay=%d", rep, freq, length, delay); -+ ioctl_arg = (int)(CLOCK_TICK_RATE/freq); -+ xioctl(speaker, KIOCSOUND, (void*)ioctl_arg); -+ usleep(1000 * length); -+ ioctl(speaker, KIOCSOUND, 0); -+ if (rep--) -+ usleep(delay); -+ } -+ if (opt && *opt == 'n') -+ NEW_BEEP() -+ if (!do_parse && *argv == NULL) -+ goto out; -+ } -+ do_parse = false; -+ goto again; -+ out: -+ if (ENABLE_FEATURE_CLEAN_UP) -+ close(speaker); -+ return EXIT_SUCCESS; -+} -+/* -+ * so, e.g. Beethoven's 9th symphony "Ode an die Freude" would be -+ * something like: -+a=$((220*3)) -+b=$((247*3)) -+c=$((262*3)) -+d=$((294*3)) -+e=$((329*3)) -+f=$((349*3)) -+g=$((392*3)) -+#./beep -f$d -l200 -r2 -n -f$e -l100 -d 10 -n -f$c -l400 -f$g -l200 -+./beep -f$e -l200 -r2 \ -+ -n -d 100 -f$f -l200 \ -+ -n -f$g -l200 -r2 \ -+ -n -f$f -l200 \ -+ -n -f$e -l200 \ -+ -n -f$d -l200 \ -+ -n -f$c -l200 -r2 \ -+ -n -f$d -l200 \ -+ -n -f$e -l200 \ -+ -n -f$e -l400 \ -+ -n -f$d -l100 \ -+ -n -f$d -l200 \ -+*/ --- -1.6.4 - |