summaryrefslogtreecommitdiffstats
path: root/main/busybox/0001-add-simple-beep-applet.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/busybox/0001-add-simple-beep-applet.patch')
-rw-r--r--main/busybox/0001-add-simple-beep-applet.patch205
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 050f229bb..000000000
--- 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
-