Ignore:
Timestamp:
Jan 1, 2014, 12:47:38 AM (6 years ago)
Author:
Bruno Cornec
Message:
  • Update mindi-busybox to 1.21.1
Location:
branches/3.2/mindi-busybox/docs
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/3.2/mindi-busybox/docs/.gitignore

    r2725 r3232  
    11/busybox.1
    22/BusyBox.html
     3/busybox.net
    34/BusyBox.txt
    45/busybox.pod
  • branches/3.2/mindi-busybox/docs/ctty.htm

    r2725 r3232  
    1010<p>Before looking at the Linux implementation, first a general Unix
    1111description of threads, processes, process groups and sessions.
     12</p><p>
     13(See also <a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap11.html">General Terminal Interface</a>)
    1214</p><p>A session contains a number of process groups, and a process group
    1315contains a number of processes, and a process contains a number
     
    278280the SIGTTOU signal, or if its process group is orphaned (see below),
    279281then the write() returns an EIO error, and no signal is sent.
     282[vda: correction. SUS says that if SIGTTOU is blocked/ignored, write succeeds. ]
    280283<p>
    281284</p><h3>Orphaned process groups</h3>
  • branches/3.2/mindi-busybox/docs/mdev.txt

    r2725 r3232  
    5252
    5353The file has the format:
    54     <device regex>       <uid>:<gid> <permissions>
    55  or @<maj[,min1[-min2]]> <uid>:<gid> <permissions>
     54    [-]<device regex>   <uid>:<gid> <permissions>
     55or
     56    @<maj[,min1[-min2]]>    <uid>:<gid> <permissions>
     57or
     58    $envvar=<regex>     <uid>:<gid> <permissions>
    5659
    5760For example:
    58     hd[a-z][0-9]* 0:3 660
     61    hd[a-z][0-9]* 0:3 660
    5962
    6063The config file parsing stops at the first matching line.  If no line is
    6164matched, then the default of 0:0 660 is used.  To set your own default, simply
    6265create your own total match like so:
     66
    6367    .* 1:1 777
    6468
    6569You can rename/move device nodes by using the next optional field.
     70
    6671    <device regex> <uid>:<gid> <permissions> [=path]
     72
    6773So if you want to place the device node into a subdirectory, make sure the path
    6874has a trailing /.  If you want to rename the device node, just place the name.
  • branches/3.2/mindi-busybox/docs/new-applet-HOWTO.txt

    r2725 r3232  
    162162
    163163    /* all programs above here are alphabetically "less than" 'mu' */
    164     IF_MU(APPLET(mu, _BB_DIR_USR_BIN, _BB_SUID_DROP))
     164    IF_MU(APPLET(mu, BB_DIR_USR_BIN, BB_SUID_DROP))
    165165    /* all programs below here are alphabetically "greater than" 'mu' */
    166166
  • branches/3.2/mindi-busybox/docs/nofork_noexec.txt

    r2725 r3232  
    4545
    4646NOFORK applet should work correctly if another applet simply runs
    47 <applet>_main(argc,argv) and then continues with its business (xargs,
    48 find, shells can do it). This poses much more serious limitations
    49 on what applet can/cannot do:
     47<applet>_main(argc,argv) and then continues with its business.
     48xargs, find, shells do it (grep for "spawn_and_wait" and
     49"run_nofork_applet" to find more users).
     50
     51This poses much more serious limitations on what applet can do:
    5052
    5153* all NOEXEC limitations apply.
     
    5759  - fflush_stdout_and_exit(n) is ok to use.
    5860* do not use shared global data, or save/restore shared global data
    59   prior to returning. (e.g. bb_common_bufsiz1 is off-limits).
     61  (e.g. bb_common_bufsiz1) prior to returning.
    6062  - getopt32() is ok to use. You do not need to save/restore option_mask32,
    6163    it is already done by core code.
     
    7880
    7981Any NOFORK applet is also a NOEXEC applet.
     82
     83
     84    Relevant CONFIG options
     85
     86FEATURE_PREFER_APPLETS
     87  BB_EXECVP(cmd, argv) will try to exec /proc/self/exe
     88    if command's name matches some applet name
     89  applet tables will contain NOFORK/NOEXEC bits
     90  spawn_and_wait(argv) will do NOFORK/NOEXEC tricks
     91
     92FEATURE_SH_STANDALONE (needs FEATURE_PREFER_APPLETS=y)
     93  shells will try to exec /proc/self/exe if command's name matches
     94    some applet name
     95  shells will do NOEXEC trick on NOEXEC applets
     96
     97FEATURE_SH_NOFORK (needs FEATURE_PREFER_APPLETS=y)
     98  shells will do NOFORK trick on NOFORK applets
  • branches/3.2/mindi-busybox/docs/style-guide.txt

    r2725 r3232  
    680680Then have long options defined:
    681681
    682     static const struct option <applet>_long_options[] = {
    683         { "list",    0, NULL, 't' },
    684         { "extract", 0, NULL, 'x' },
    685         { NULL, 0, NULL, 0 }
    686     };
     682    static const char <applet>_longopts[] ALIGN1 =
     683        "list\0"    No_argument "t"
     684        "extract\0" No_argument "x"
     685    ;
    687686
    688687And a code block similar to the following near the top of your applet_main()
     
    692691
    693692    opt_complementary = "cryptic_string";
    694     applet_long_options = <applet>_long_options; /* if you have them */
     693    applet_long_options = <applet>_longopts; /* if you have them */
    695694    opt = getopt32(argc, argv, "ab:c", &str_b);
    696695    if (opt & 1) {
  • branches/3.2/mindi-busybox/docs/unicode.txt

    r2725 r3232  
    3030
    3131This case is a bit similar to "shell input", but unlike shell,
    32 editors may encounder many more unexpected unicode sequences
     32editors may encounter many more unexpected unicode sequences
    3333(try to load a random binary file...), and they need to preserve
    3434them, unlike shell which can afford to drop bogus input.
Note: See TracChangeset for help on using the changeset viewer.