From 3515f6e04359a2c8e4ef28f1e0d0634f9148c773 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Mon, 10 Apr 2006 19:16:50 +0000 Subject: - make it resemble html. --- docs/busybox.net/programming.html | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'docs/busybox.net/programming.html') diff --git a/docs/busybox.net/programming.html b/docs/busybox.net/programming.html index f54f018ed..f5433f519 100644 --- a/docs/busybox.net/programming.html +++ b/docs/busybox.net/programming.html @@ -22,7 +22,7 @@
  • Who are the BusyBox developers?
  • -

    What are the goals of busybox?

    +

    What are the goals of busybox?

    Busybox aims to be the smallest and simplest correct implementation of the standard Linux command line tools. First and foremost, this means the @@ -31,7 +31,7 @@ and cleanest implementation we can manage, be standards compliant, minimize run-time memory usage (heap and stack), run fast, and take over the world.

    -

    What is the design of busybox?

    +

    What is the design of busybox?

    Busybox is like a swiss army knife: one thing with many functions. The busybox executable can act like many different programs depending on @@ -53,9 +53,9 @@ binaries for each applet, and a "libbb.so" to make the busybox common code available as a shared library. Neither is ready yet at the time of this writing.

    - + -

    The applet directories

    +

    The applet directories

    The directory "applets" contains the busybox startup code (applets.c and busybox.c), and several subdirectories containing the code for the individual @@ -95,7 +95,7 @@ html, txt, and man page formats) in the docs directory. See adding an applet to busybox for more information.

    -

    libbb

    +

    libbb

    Most non-setup code shared between busybox applets lives in the libbb directory. It's a mess that evolved over the years without much auditing @@ -110,7 +110,7 @@ of open(), close(), read(), and write() that test for their own failures and/or retry automatically, linked list management functions (llist.c), command line argument parsing (getopt_ulflags.c), and a whole lot more.

    -

    Adding an applet to busybox

    +

    Adding an applet to busybox

    To add a new applet to busybox, first pick a name for the applet and a corresponding CONFIG_NAME. Then do this:

    @@ -151,10 +151,10 @@ bugs. Be sure to try both "allyesconfig" and "allnoconfig" (and -

    What standards does busybox adhere to?

    +

    What standards does busybox adhere to?

    The standard we're paying attention to is the "Shell and Utilities" -portion of the Open +portion of the Open Group Base Standards (also known as the Single Unix Specification version 3 or SUSv3). Note that paying attention isn't necessarily the same thing as following it.

    @@ -330,7 +330,7 @@ return 0 unless it has hit the end of input, and an attempt to write 0 bytes should be ignored by the OS.)

    As for short writes, play around with two processes piping data to each -other on the command line (cat bigfile | gzip > out.gz) and suspend and +other on the command line (cat bigfile | gzip > out.gz) and suspend and resume a few times (ctrl-z to suspend, "fg" to resume). The writer can experience short writes, which are especially dangerous because if you don't notice them you'll discard data. They can also happen when a system is under @@ -340,7 +340,7 @@ text console scrolling...)

    So will data always be read from the far end of a pipe at the same chunk sizes it was written in? Nope. Don't rely on that. For one -counterexample, see rfc 896

    +counterexample, see rfc 896 for Nagle's algorithm, which waits a fraction of a second or so before sending out small amounts of data through a TCP/IP connection in case more data comes in that can be merged into the same packet. (In case you were -- cgit v1.2.3