From b5d701d737cb68b5bb54dc279c3cebc0dc87600b Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Thu, 21 Aug 2008 12:52:45 +0000 Subject: - some more nitpicks --- docs/busybox.net/FAQ.html | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'docs/busybox.net/FAQ.html') diff --git a/docs/busybox.net/FAQ.html b/docs/busybox.net/FAQ.html index aa2a5f7..ac4e90a 100644 --- a/docs/busybox.net/FAQ.html +++ b/docs/busybox.net/FAQ.html @@ -802,7 +802,7 @@ file is at least worth a look. Special-case code in the body of an applet is something we're trying to avoid.


-

Programming tips and tricks.

+

Programming tips and tricks.

Various things busybox uses that aren't particularly well documented elsewhere.

@@ -1040,7 +1040,8 @@ to measure).


Including kernel headers

-

The "linux" or "asm" directories of /usr/include contain Linux kernel +

The "linux" or "asm" directories of /usr/include +contain Linux kernel headers, so that the C library can talk directly to the Linux kernel. In a perfect world, applications shouldn't include these headers directly, but we don't live in a perfect world.

@@ -1050,7 +1051,7 @@ we don't live in a perfect world.

Attempts to cut and paste the information into a local busybox header file proved incredibly painful, because portions of the loop_info structure vary by architecture, namely the type __kernel_dev_t has different sizes on alpha, -arm, x86, and so on. Meaning we either #include or +arm, x86, and so on. Meaning we either #include <linux/posix_types.h> or we hardwire #ifdefs to check what platform we're building on and define this type appropriately for every single hardware architecture supported by Linux, which is simply unworkable.

@@ -1058,7 +1059,8 @@ Linux, which is simply unworkable.

This is aside from the fact that the relevant type defined in posix_types.h was renamed to __kernel_old_dev_t during the 2.5 series, so to cut and paste the structure into our header we have to #include - to figure out which name to use. (What we actually do is +<linux/version.h> to figure out which name to use. (What we actually +do is check if we're building on 2.6, and if so just use the new 64 bit structure instead to avoid the rename entirely.) But we still need the version check, since 2.4 didn't have the 64 bit structure.

@@ -1067,8 +1069,9 @@ check, since 2.4 didn't have the 64 bit structure.

out a clean way to do all this. There isn't one. The losetup in the util-linux package from kernel.org isn't doing it cleanly either, they just hide the ugliness by nesting #include files. Their mount/loop.h -#includes "my_dev_t.h", which #includes and - just like we do. There simply is no alternative.

+#includes "my_dev_t.h", which #includes <linux/posix_types.h> +and <linux/version.h> just like we do. There simply is no alternative. +

Just because directly #including kernel headers is sometimes unavoidable doesn't me we should include them when there's a better @@ -1109,8 +1112,8 @@ vda :Denys Vlasenko - BusyBox maintainer

The following accounts used to exist on busybox.net, but don't anymore so -I can't ask /etc/passwd for their names. Rob Wentworth -asked Google and recovered the names:

+I can't ask /etc/passwd for their names. Rob Wentworth +<robwen at gmail.com> asked Google and recovered the names:

 aaronl   :Aaron Lehmann
-- 
cgit v1.1