aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-12-11 17:31:26 -0800
committerElliott Hughes <enh@google.com>2015-12-11 17:31:26 -0800
commitfc9e18a16f99b693a80a45e756dc4eea79a3a56b (patch)
tree6dce087bd7786d7a90373267ac40b1b75ec83461
parent0188665ed89e5db3feb0d0dca29c6b6105d79d2d (diff)
downloadtoybox-brillo-m8-release.tar.gz
Regenerate generated toybox files.brillo-m8-releasebrillo-m8-dev
Change-Id: I7315c525b57f02b481e5bbd24f9887e1b8dd166f
-rw-r--r--.config2
-rw-r--r--generated/config.h4
-rw-r--r--generated/flags.h162
-rw-r--r--generated/globals.h37
-rw-r--r--generated/help.h14
-rw-r--r--generated/newtoys.h8
6 files changed, 200 insertions, 27 deletions
diff --git a/.config b/.config
index 2a92dcda..15f9cbbc 100644
--- a/.config
+++ b/.config
@@ -75,6 +75,7 @@ CONFIG_PASTE=y
CONFIG_PATCH=y
CONFIG_PRINTF=y
CONFIG_PS=y
+# CONFIG_TTOP is not set
CONFIG_PWD=y
CONFIG_RENICE=y
CONFIG_RM=y
@@ -292,6 +293,7 @@ CONFIG_UMOUNT=y
# CONFIG_SKELETON is not set
# CONFIG_SKELETON_ALIAS is not set
# CONFIG_TEST_HUMAN_READABLE is not set
+# CONFIG_TEST_MANY_OPTIONS is not set
#
# Android
diff --git a/generated/config.h b/generated/config.h
index b87c734f..ac675305 100644
--- a/generated/config.h
+++ b/generated/config.h
@@ -136,6 +136,8 @@
#define USE_PRINTF(...) __VA_ARGS__
#define CFG_PS 1
#define USE_PS(...) __VA_ARGS__
+#define CFG_TTOP 0
+#define USE_TTOP(...)
#define CFG_PWD 1
#define USE_PWD(...) __VA_ARGS__
#define CFG_RENICE 1
@@ -538,6 +540,8 @@
#define USE_SKELETON_ALIAS(...)
#define CFG_TEST_HUMAN_READABLE 0
#define USE_TEST_HUMAN_READABLE(...)
+#define CFG_TEST_MANY_OPTIONS 0
+#define USE_TEST_MANY_OPTIONS(...)
#define CFG_GETENFORCE 1
#define USE_GETENFORCE(...) __VA_ARGS__
#define CFG_GETPROP 1
diff --git a/generated/flags.h b/generated/flags.h
index 66eeacc2..7c47bfb6 100644
--- a/generated/flags.h
+++ b/generated/flags.h
@@ -1,7 +1,9 @@
#ifdef FORCE_FLAGS
#define FORCED_FLAG 1
+#define FORCED_FLAGLL 1LL
#else
#define FORCED_FLAG 0
+#define FORCED_FLAGLL 0
#endif
// acpi abctV abctV
@@ -326,9 +328,9 @@
#undef FLAG_preserve
#endif
-// cpio mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF] mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]
+// cpio (no-preserve-owner)mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF] (no-preserve-owner)mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]
#undef OPTSTR_cpio
-#define OPTSTR_cpio "mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]"
+#define OPTSTR_cpio "(no-preserve-owner)mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]"
#ifdef CLEANUP_cpio
#undef CLEANUP_cpio
#undef FOR_cpio
@@ -343,6 +345,7 @@
#undef FLAG_u
#undef FLAG_d
#undef FLAG_m
+#undef FLAG_no_preserve_owner
#endif
// crond fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]
@@ -723,9 +726,9 @@
#undef FLAG_b
#endif
-// free tgmkb[!tgmkb] tgmkb[!tgmkb]
+// free htgmkb[!htgmkb] htgmkb[!htgmkb]
#undef OPTSTR_free
-#define OPTSTR_free "tgmkb[!tgmkb]"
+#define OPTSTR_free "htgmkb[!htgmkb]"
#ifdef CLEANUP_free
#undef CLEANUP_free
#undef FOR_free
@@ -734,6 +737,7 @@
#undef FLAG_m
#undef FLAG_g
#undef FLAG_t
+#undef FLAG_h
#endif
// freeramdisk <1>1 <1>1
@@ -1845,9 +1849,9 @@
#undef FOR_printf
#endif
-// ps P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae] P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]
+// ps k(sort)*P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae] k(sort)*P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]
#undef OPTSTR_ps
-#define OPTSTR_ps "P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]"
+#define OPTSTR_ps "k(sort)*P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]"
#ifdef CLEANUP_ps
#undef CLEANUP_ps
#undef FOR_ps
@@ -1871,6 +1875,8 @@
#undef FLAG_a
#undef FLAG_ppid
#undef FLAG_P
+#undef FLAG_sort
+#undef FLAG_k
#endif
// pwd >0LP[-LP] >0LP[-LP]
@@ -2447,6 +2453,66 @@
#undef FLAG_i
#endif
+// test_many_options ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba
+#undef OPTSTR_test_many_options
+#define OPTSTR_test_many_options 0
+#ifdef CLEANUP_test_many_options
+#undef CLEANUP_test_many_options
+#undef FOR_test_many_options
+#undef FLAG_a
+#undef FLAG_b
+#undef FLAG_c
+#undef FLAG_d
+#undef FLAG_e
+#undef FLAG_f
+#undef FLAG_g
+#undef FLAG_h
+#undef FLAG_i
+#undef FLAG_j
+#undef FLAG_k
+#undef FLAG_l
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_o
+#undef FLAG_p
+#undef FLAG_q
+#undef FLAG_r
+#undef FLAG_s
+#undef FLAG_t
+#undef FLAG_u
+#undef FLAG_v
+#undef FLAG_w
+#undef FLAG_x
+#undef FLAG_y
+#undef FLAG_z
+#undef FLAG_A
+#undef FLAG_B
+#undef FLAG_C
+#undef FLAG_D
+#undef FLAG_E
+#undef FLAG_F
+#undef FLAG_G
+#undef FLAG_H
+#undef FLAG_I
+#undef FLAG_J
+#undef FLAG_K
+#undef FLAG_L
+#undef FLAG_M
+#undef FLAG_N
+#undef FLAG_O
+#undef FLAG_P
+#undef FLAG_Q
+#undef FLAG_R
+#undef FLAG_S
+#undef FLAG_T
+#undef FLAG_U
+#undef FLAG_V
+#undef FLAG_W
+#undef FLAG_X
+#undef FLAG_Y
+#undef FLAG_Z
+#endif
+
// tftp <1b#<8>65464r:l:g|p|[!gp]
#undef OPTSTR_tftp
#define OPTSTR_tftp 0
@@ -2585,6 +2651,18 @@
#undef FLAG_s
#endif
+// ttop >0d#=3n#<1mb
+#undef OPTSTR_ttop
+#define OPTSTR_ttop 0
+#ifdef CLEANUP_ttop
+#undef CLEANUP_ttop
+#undef FOR_ttop
+#undef FLAG_b
+#undef FLAG_m
+#undef FLAG_n
+#undef FLAG_d
+#endif
+
// tty s s
#undef OPTSTR_tty
#define OPTSTR_tty "s"
@@ -3132,6 +3210,7 @@
#define FLAG_u (1<<7)
#define FLAG_d (1<<8)
#define FLAG_m (1<<9)
+#define FLAG_no_preserve_owner (1<<10)
#endif
#ifdef FOR_crond
@@ -3463,6 +3542,7 @@
#define FLAG_m (1<<2)
#define FLAG_g (1<<3)
#define FLAG_t (1<<4)
+#define FLAG_h (1<<5)
#endif
#ifdef FOR_freeramdisk
@@ -4414,6 +4494,8 @@
#define FLAG_a (1<<16)
#define FLAG_ppid (1<<17)
#define FLAG_P (1<<17)
+#define FLAG_sort (1<<18)
+#define FLAG_k (1<<18)
#endif
#ifdef FOR_pwd
@@ -4892,6 +4974,64 @@
#define FLAG_i (FORCED_FLAG<<2)
#endif
+#ifdef FOR_test_many_options
+#ifndef TT
+#define TT this.test_many_options
+#endif
+#define FLAG_a (FORCED_FLAG<<0)
+#define FLAG_b (FORCED_FLAG<<1)
+#define FLAG_c (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#define FLAG_e (FORCED_FLAG<<4)
+#define FLAG_f (FORCED_FLAG<<5)
+#define FLAG_g (FORCED_FLAG<<6)
+#define FLAG_h (FORCED_FLAG<<7)
+#define FLAG_i (FORCED_FLAG<<8)
+#define FLAG_j (FORCED_FLAG<<9)
+#define FLAG_k (FORCED_FLAG<<10)
+#define FLAG_l (FORCED_FLAG<<11)
+#define FLAG_m (FORCED_FLAG<<12)
+#define FLAG_n (FORCED_FLAG<<13)
+#define FLAG_o (FORCED_FLAG<<14)
+#define FLAG_p (FORCED_FLAG<<15)
+#define FLAG_q (FORCED_FLAG<<16)
+#define FLAG_r (FORCED_FLAG<<17)
+#define FLAG_s (FORCED_FLAG<<18)
+#define FLAG_t (FORCED_FLAG<<19)
+#define FLAG_u (FORCED_FLAG<<20)
+#define FLAG_v (FORCED_FLAG<<21)
+#define FLAG_w (FORCED_FLAG<<22)
+#define FLAG_x (FORCED_FLAG<<23)
+#define FLAG_y (FORCED_FLAG<<24)
+#define FLAG_z (FORCED_FLAG<<25)
+#define FLAG_A (FORCED_FLAG<<26)
+#define FLAG_B (FORCED_FLAG<<27)
+#define FLAG_C (FORCED_FLAG<<28)
+#define FLAG_D (FORCED_FLAG<<29)
+#define FLAG_E (FORCED_FLAG<<30)
+#define FLAG_F (FORCED_FLAG<<31)
+#define FLAG_G (FORCED_FLAGLL<<32)
+#define FLAG_H (FORCED_FLAGLL<<33)
+#define FLAG_I (FORCED_FLAGLL<<34)
+#define FLAG_J (FORCED_FLAGLL<<35)
+#define FLAG_K (FORCED_FLAGLL<<36)
+#define FLAG_L (FORCED_FLAGLL<<37)
+#define FLAG_M (FORCED_FLAGLL<<38)
+#define FLAG_N (FORCED_FLAGLL<<39)
+#define FLAG_O (FORCED_FLAGLL<<40)
+#define FLAG_P (FORCED_FLAGLL<<41)
+#define FLAG_Q (FORCED_FLAGLL<<42)
+#define FLAG_R (FORCED_FLAGLL<<43)
+#define FLAG_S (FORCED_FLAGLL<<44)
+#define FLAG_T (FORCED_FLAGLL<<45)
+#define FLAG_U (FORCED_FLAGLL<<46)
+#define FLAG_V (FORCED_FLAGLL<<47)
+#define FLAG_W (FORCED_FLAGLL<<48)
+#define FLAG_X (FORCED_FLAGLL<<49)
+#define FLAG_Y (FORCED_FLAGLL<<50)
+#define FLAG_Z (FORCED_FLAGLL<<51)
+#endif
+
#ifdef FOR_tftp
#ifndef TT
#define TT this.tftp
@@ -5008,6 +5148,16 @@
#define FLAG_s (1<<1)
#endif
+#ifdef FOR_ttop
+#ifndef TT
+#define TT this.ttop
+#endif
+#define FLAG_b (FORCED_FLAG<<0)
+#define FLAG_m (FORCED_FLAG<<1)
+#define FLAG_n (FORCED_FLAG<<2)
+#define FLAG_d (FORCED_FLAG<<3)
+#endif
+
#ifdef FOR_tty
#ifndef TT
#define TT this.tty
diff --git a/generated/globals.h b/generated/globals.h
index 6c631b7d..0f53409e 100644
--- a/generated/globals.h
+++ b/generated/globals.h
@@ -156,6 +156,7 @@ struct fallocate_data {
struct free_data {
unsigned bits;
unsigned long long units;
+ char *buf;
};
// toys/other/hexedit.c
@@ -1127,23 +1128,33 @@ struct patch_data {
// toys/posix/ps.c
struct ps_data {
- struct arg_list *G;
- struct arg_list *g;
- struct arg_list *U;
- struct arg_list *u;
- struct arg_list *t;
- struct arg_list *s;
- struct arg_list *p;
- struct arg_list *o;
- struct arg_list *P;
+ union {
+ struct {
+ struct arg_list *G;
+ struct arg_list *g;
+ struct arg_list *U;
+ struct arg_list *u;
+ struct arg_list *t;
+ struct arg_list *s;
+ struct arg_list *p;
+ struct arg_list *o;
+ struct arg_list *P;
+ struct arg_list *k;
+ } ps;
+ struct {
+ long n;
+ long d;
+ } ttop;
+ };
- struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU, *parsing;
+ struct sysinfo si;
+ struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU;
unsigned width;
dev_t tty;
- void *fields;
- long bits;
- long long ticks;
+ void *fields, *kfields;
+ long long ticks, bits;
size_t header_len;
+ int kcount;
};
// toys/posix/renice.c
diff --git a/generated/help.h b/generated/help.h
index f89f66af..526833f9 100644
--- a/generated/help.h
+++ b/generated/help.h
@@ -42,7 +42,9 @@
#define help_getenforce "usage: getenforce\n\nShows whether SELinux is disabled, enforcing, or permissive.\n\n"
-#define help_test_human_readable "usage: test_human_readable [-sbi] NUMBER\n\n\n"
+#define help_test_many_options "usage: test_many_options -[a-zA-Z]\n\nPrint the optflags value of the command arguments, in hex.\n\n\n"
+
+#define help_test_human_readable "usage: test_human_readable [-sbi] NUMBER\n\n"
#define help_skeleton_alias "usage: skeleton_alias [-dq] [-b NUMBER]\n\nExample of a second command with different arguments in the same source\nfile as the first. This allows shared infrastructure not added to lib/.\n\n"
@@ -210,7 +212,7 @@
#define help_freeramdisk "usage: freeramdisk [RAM device]\n\nFree all memory allocated to specified ramdisk\n\n"
-#define help_free "usage: free [-bkmgt]\n\nDisplay the total, free and used amount of physical memory and swap space.\n\n-bkmgt Output units (default is bytes)\n\n"
+#define help_free "usage: free [-bkmgt]\n\nDisplay the total, free and used amount of physical memory and swap space.\n\n-bkmgt Output units (default is bytes)\n-h Human readable\n\n"
#define help_flock "usage: flock [-sxun] fd\n\nManage advisory file locks.\n\n-s Shared lock.\n-x Exclusive lock (default).\n-u Unlock.\n-n Non-blocking: fail rather than wait for the lock.\n\n"
@@ -440,7 +442,9 @@
#define help_pwd "usage: pwd [-L|-P]\n\nPrint working (current) directory.\n\n-L Use shell's path from $PWD (when applicable)\n-P Print cannonical absolute path\n\n"
-#define help_ps "usage: ps [-AadeflnwZ] [-gG GROUP] [-o FIELD] [-p PID] [-t TTY] [-uU USER]\n\nList processes.\n\nWhich processes to show (selections may be comma separated lists):\n\n-A All processes\n-a Processes with terminals that aren't session leaders\n-d All processes that aren't session leaders\n-e Same as -A\n-g Belonging to GROUPs\n-G Belonging to real GROUPs (before sgid)\n-p PIDs (--pid)\n-P Parent PIDs (--ppid)\n-s In session IDs\n-t Attached to selected TTYs\n-u Owned by USERs\n-U Owned by real USERs (before suid)\n\nOutput modifiers:\n\n-n Show numeric USER and GROUP\n-w Wide output (don't truncate at terminal width)\n\nWhich FIELDs to show. (Default = -o PID,TTY,TIME,CMD)\n\n-f Full listing (-o USER:8=UID,PID,PPID,C,STIME,TTY,TIME,CMD)\n-l Long listing (-o F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAN,TTY,TIME,CMD)\n-o Output the listed FIELDs, each with optional :size and/or =title\n-Z Include LABEL\n\nAvailable -o FIELDs:\n\n ADDR Instruction pointer\n CMD Command line (from /proc/pid/cmdline, including args)\n CMDLINE Command line (from /proc/pid/cmdline, no args)\n COMM Command name (from /proc/pid/stat, no args)\n ETIME Elapsed time since process start\n F Process flags (PF_*) from linux source file include/sched.h\n (in octal rather than hex because posix)\n GID Group id\n GROUP Group name\n LABEL Security label\n MAJFL Major page faults\n MINFL Minor page faults\n NI Niceness of process (lower niceness is higher priority)\n PCPU Percentage of CPU time used\n PGID Process Group ID\n PID Process ID\n PPID Parent Process ID\n PRI Priority\n RGID Real (before sgid) group ID\n RGROUP Real (before sgid) group name\n RSS Resident Set Size (memory currently used)\n RUID Real (before suid) user ID\n RUSER Real (before suid) user name\n S Process state:\n R (running) S (sleeping) D (disk sleep) T (stopped) t (traced)\n Z (zombie) X (dead) x (dead) K (wakekill) W (waking)\n STAT Process state (S) plus:\n < high priority N low priority L locked memory\n s session leader + foreground l multithreaded\n STIME Start time of process in hh:mm (size :19 shows yyyy-mm-dd hh:mm:ss)\n SZ Memory Size (4k pages needed to completely swap out process)\n TIME CPU time consumed\n TTY Controlling terminal\n UID User id\n USER User name\n VSZ Virtual memory size (1k units)\n WCHAN Waiting in kernel for\n\n"
+#define help_ttop "\n"
+
+#define help_ps "usage: ps [-AadeflnwZ] [-gG GROUP,] [-k FIELD,] [-o FIELD,] [-p PID,] [-t TTY,] [-uU USER,]\n\nList processes.\n\nWhich processes to show (selections may be comma separated lists):\n\n-A All processes\n-a Processes with terminals that aren't session leaders\n-d All processes that aren't session leaders\n-e Same as -A\n-g Belonging to GROUPs\n-G Belonging to real GROUPs (before sgid)\n-p PIDs (--pid)\n-P Parent PIDs (--ppid)\n-s In session IDs\n-t Attached to selected TTYs\n-u Owned by USERs\n-U Owned by real USERs (before suid)\n\nOutput modifiers:\n\n-k Sort FIELDs in +increasing or -decreasting order (--sort)\n-n Show numeric USER and GROUP\n-w Wide output (don't truncate at terminal width)\n\nWhich FIELDs to show. (Default = -o PID,TTY,TIME,CMD)\n\n-f Full listing (-o USER:8=UID,PID,PPID,C,STIME,TTY,TIME,CMD)\n-l Long listing (-o F,S,UID,PID,PPID,C,PRI,NI,ADDR,SZ,WCHAN,TTY,TIME,CMD)\n-o Output the listed FIELDs, each with optional :size and/or =title\n-Z Include LABEL\n\nAvailable -o FIELDs:\n\n ADDR Instruction pointer\n CMD Command name (original)\n CMDLINE Command name (current argv[0])\n COMM Command line (with arguments)\n CPU Which processor is process running on\n ETIME Elapsed time since process start\n F Process flags (PF_*) from linux source file include/sched.h\n (in octal rather than hex because posix)\n GID Group id\n GROUP Group name\n LABEL Security label\n MAJFL Major page faults\n MINFL Minor page faults\n NI Niceness of process (lower niceness is higher priority)\n PCPU Percentage of CPU time used\n PGID Process Group ID\n PID Process ID\n PPID Parent Process ID\n PRI Priority\n RGID Real (before sgid) group ID\n RGROUP Real (before sgid) group name\n RSS Resident Set Size (memory currently used)\n RUID Real (before suid) user ID\n RUSER Real (before suid) user name\n S Process state:\n R (running) S (sleeping) D (disk sleep) T (stopped) t (traced)\n Z (zombie) X (dead) x (dead) K (wakekill) W (waking)\n STAT Process state (S) plus:\n < high priority N low priority L locked memory\n s session leader + foreground l multithreaded\n STIME Start time of process in hh:mm (size :19 shows yyyy-mm-dd hh:mm:ss)\n SZ Memory Size (4k pages needed to completely swap out process)\n TIME CPU time consumed\n TTY Controlling terminal\n UID User id\n USER User name\n VSZ Virtual memory size (1k units)\n WCHAN Waiting in kernel for\n\n"
#define help_printf "usage: printf FORMAT [ARGUMENT...]\n\nFormat and print ARGUMENT(s) according to FORMAT, using C printf syntax\n(% escapes for cdeEfgGiosuxX, \\ escapes for abefnrtv0 or \\OCTAL or \\xHEX).\n\n"
@@ -486,7 +490,7 @@
#define help_grep "usage: grep [-EFivwcloqsHbhn] [-m MAX] [-e REGEX]... [-f REGFILE] [FILE]...\n\nShow lines matching regular expressions. If no -e, first argument is\nregular expression to match. With no files (or \"-\" filename) read stdin.\nReturns 0 if matched, 1 if no match found.\n\n-e Regex to match. (May be repeated.)\n-f File containing regular expressions to match.\n\nmatch type:\n-E extended regex syntax -F fixed (match literal string)\n-i case insensitive -m stop after this many lines matched\n-r recursive (on dir) -v invert match\n-w whole word (implies -E) -x whole line\n-z input NUL terminated\n\ndisplay modes: (default: matched line)\n-c count of matching lines -l show matching filenames\n-o only matching part -q quiet (errors only)\n-s silent (no error msg) -Z output NUL terminated\n\noutput prefix (default: filename if checking more than 1 file)\n-H force filename -b byte offset of match\n-h hide filename -n line number of match\n\n"
-#define help_find "usage: find [-HL] [DIR...] [<options>]\n\nSearch directories for matching files.\nDefault: search \".\" match all -print all matches.\n\n-H Follow command line symlinks -L Follow all symlinks\n\nMatch filters:\n-name PATTERN filename with wildcards -iname case insensitive -name\n-path PATTERN path name with wildcards -ipath case insensitive -path\n-user UNAME belongs to user UNAME -nouser user not in /etc/passwd\n-group GROUP belongs to group GROUP -nogroup group not in /etc/group\n-perm [-]MODE permissons (-=at least) -prune ignore contents of dir\n-size N[c] 512 byte blocks (c=bytes) -xdev stay in this filesystem\n-links N hardlink count -atime N accessed N days ago\n-ctime N created N days ago -mtime N modified N days ago\n-newer FILE newer mtime than FILE -mindepth # at least # dirs down\n-depth ignore contents of dir -maxdepth # at most # dirs down\n-inum N inode number N\n-type [bcdflps] (block, char, dir, file, symlink, pipe, socket)\n\nNumbers N may be prefixed by a - (less than) or + (greater than):\n\nCombine matches with:\n!, -a, -o, ( ) not, and, or, group expressions\n\nActions:\n-print Print match with newline -print0 Print match with null\n-exec Run command with path -execdir Run command in file's dir\n-ok Ask before exec -okdir Ask before execdir\n\nCommands substitute \"{}\" with matched file. End with \";\" to run each file,\nor \"+\" (next argument after \"{}\") to collect and run with multiple files.\n\n"
+#define help_find "usage: find [-HL] [DIR...] [<options>]\n\nSearch directories for matching files.\nDefault: search \".\" match all -print all matches.\n\n-H Follow command line symlinks -L Follow all symlinks\n\nMatch filters:\n-name PATTERN filename with wildcards -iname case insensitive -name\n-path PATTERN path name with wildcards -ipath case insensitive -path\n-user UNAME belongs to user UNAME -nouser user ID not known\n-group GROUP belongs to group GROUP -nogroup group ID not known\n-perm [-/]MODE permissions (-=min /=any) -prune ignore contents of dir\n-size N[c] 512 byte blocks (c=bytes) -xdev only this filesystem\n-links N hardlink count -atime N accessed N days ago\n-ctime N created N days ago -mtime N modified N days ago\n-newer FILE newer mtime than FILE -mindepth # at least # dirs down\n-depth ignore contents of dir -maxdepth # at most # dirs down\n-inum N inode number N\n-type [bcdflps] (block, char, dir, file, symlink, pipe, socket)\n\nNumbers N may be prefixed by a - (less than) or + (greater than):\n\nCombine matches with:\n!, -a, -o, ( ) not, and, or, group expressions\n\nActions:\n-print Print match with newline -print0 Print match with null\n-exec Run command with path -execdir Run command in file's dir\n-ok Ask before exec -okdir Ask before execdir\n\nCommands substitute \"{}\" with matched file. End with \";\" to run each file,\nor \"+\" (next argument after \"{}\") to collect and run with multiple files.\n\n"
#define help_false "Return nonzero.\n\n"
@@ -506,7 +510,7 @@
#define help_cut "usage: cut OPTION... [FILE]...\n\nPrint selected parts of lines from each FILE to standard output.\n\n-b LIST select only these bytes from LIST.\n-c LIST select only these characters from LIST.\n-f LIST select only these fields.\n-d DELIM use DELIM instead of TAB for field delimiter.\n-s do not print lines not containing delimiters.\n-n don't split multibyte characters (Ignored).\n\n"
-#define help_cpio "usage: cpio -{o|t|i|p DEST} [-v] [--verbose] [-F FILE] [ignored: -mdu -H newc]\n\ncopy files into and out of a \"newc\" format cpio archive\n\n-F FILE use archive FILE instead of stdin/stdout\n-p DEST copy-pass mode, copy stdin file list to directory DEST\n-i extract from archive into file system (stdin=archive)\n-o create archive (stdin=list of files, stdout=archive)\n-t test files (list only, stdin=archive, stdout=list of files)\n-v verbose (list files during create/extract)\n\n"
+#define help_cpio "usage: cpio -{o|t|i|p DEST} [-v] [--verbose] [-F FILE] [--no-preserve-owner]\n [ignored: -mdu -H newc]\n\ncopy files into and out of a \"newc\" format cpio archive\n\n-F FILE use archive FILE instead of stdin/stdout\n-p DEST copy-pass mode, copy stdin file list to directory DEST\n-i extract from archive into file system (stdin=archive)\n-o create archive (stdin=list of files, stdout=archive)\n-t test files (list only, stdin=archive, stdout=list of files)\n-v verbose (list files during create/extract)\n--no-preserve-owner (don't set ownership during extract)\n\n"
#define help_install "usage: install [-dDpsv] [-o USER] [-g GROUP] [-m MODE] [SOURCE...] DEST\n\nCopy files and set attributes.\n\n-d Act like mkdir -p\n-D Create leading directories for DEST\n-g Make copy belong to GROUP\n-m Set permissions to MODE\n-o Make copy belong to USER\n-p Preserve timestamps\n-s Call \"strip -p\"\n-v Verbose\n\n"
diff --git a/generated/newtoys.h b/generated/newtoys.h
index acdc6b92..941094be 100644
--- a/generated/newtoys.h
+++ b/generated/newtoys.h
@@ -33,7 +33,7 @@ USE_COMM(NEWTOY(comm, "<2>2321", TOYFLAG_USR|TOYFLAG_BIN))
USE_COMPRESS(NEWTOY(compress, "zcd9lrg[-cd][!zgLr]", TOYFLAG_USR|TOYFLAG_BIN))
USE_COUNT(NEWTOY(count, NULL, TOYFLAG_USR|TOYFLAG_BIN))
USE_CP(NEWTOY(cp, "<2"USE_CP_PRESERVE("(preserve):;")"RHLPp"USE_CP_MORE("rdaslvnF(remove-destination)")"fi[-HLP"USE_CP_MORE("d")"]"USE_CP_MORE("[-ni]"), TOYFLAG_BIN))
-USE_CPIO(NEWTOY(cpio, "mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]", TOYFLAG_BIN))
+USE_CPIO(NEWTOY(cpio, "(no-preserve-owner)mduH:p:|i|t|F:v(verbose)o|[!pio][!pot][!pF]", TOYFLAG_BIN))
USE_CROND(NEWTOY(crond, "fbSl#<0=8d#<0L:c:[-bf][-LS][-ld]", TOYFLAG_USR|TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
USE_CRONTAB(NEWTOY(crontab, "c:u:elr[!elr]", TOYFLAG_USR|TOYFLAG_BIN|TOYFLAG_STAYROOT))
USE_CUT(NEWTOY(cut, "b:|c:|f:|d:sn[!cbf]", TOYFLAG_USR|TOYFLAG_BIN))
@@ -67,7 +67,7 @@ USE_FGREP(OLDTOY(fgrep, grep, TOYFLAG_BIN))
USE_FIND(NEWTOY(find, "?^HL[-HL]", TOYFLAG_USR|TOYFLAG_BIN))
USE_FLOCK(NEWTOY(flock, "<1>1nsux[-sux]", TOYFLAG_USR|TOYFLAG_BIN))
USE_FOLD(NEWTOY(fold, "bsuw#<1", TOYFLAG_USR|TOYFLAG_BIN))
-USE_FREE(NEWTOY(free, "tgmkb[!tgmkb]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_FREE(NEWTOY(free, "htgmkb[!htgmkb]", TOYFLAG_USR|TOYFLAG_BIN))
USE_FREERAMDISK(NEWTOY(freeramdisk, "<1>1", TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
USE_FSCK(NEWTOY(fsck, "?t:ANPRTVsC#", TOYFLAG_USR|TOYFLAG_BIN))
USE_FSFREEZE(NEWTOY(fsfreeze, "<1>1f|u|[!fu]", TOYFLAG_USR|TOYFLAG_SBIN))
@@ -171,7 +171,7 @@ USE_PMAP(NEWTOY(pmap, "<1xq", TOYFLAG_BIN))
USE_REBOOT(OLDTOY(poweroff, reboot, TOYFLAG_SBIN|TOYFLAG_NEEDROOT))
USE_PRINTENV(NEWTOY(printenv, "0(null)", TOYFLAG_USR|TOYFLAG_BIN))
USE_PRINTF(NEWTOY(printf, "<1?^", TOYFLAG_USR|TOYFLAG_BIN))
-USE_PS(NEWTOY(ps, "P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]", TOYFLAG_USR|TOYFLAG_BIN))
+USE_PS(NEWTOY(ps, "k(sort)*P(ppid)*aAdeflno*p(pid)*s*t*u*U*g*G*wZ[!ol][+Ae]", TOYFLAG_USR|TOYFLAG_BIN))
USE_PWD(NEWTOY(pwd, ">0LP[-LP]", TOYFLAG_BIN))
USE_PWDX(NEWTOY(pwdx, "<1a", TOYFLAG_USR|TOYFLAG_BIN))
USE_READAHEAD(NEWTOY(readahead, NULL, TOYFLAG_BIN))
@@ -221,6 +221,7 @@ USE_TELNET(NEWTOY(telnet, "<1>2", TOYFLAG_BIN))
USE_TELNETD(NEWTOY(telnetd, "w#<0b:p#<0>65535=23f:l:FSKi[!wi]", TOYFLAG_USR|TOYFLAG_BIN))
USE_TEST(NEWTOY(test, NULL, TOYFLAG_USR|TOYFLAG_BIN))
USE_TEST_HUMAN_READABLE(NEWTOY(test_human_readable, "<1>1ibs", 0))
+USE_TEST_MANY_OPTIONS(NEWTOY(test_many_options, "ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba", TOYFLAG_USR|TOYFLAG_BIN))
USE_TFTP(NEWTOY(tftp, "<1b#<8>65464r:l:g|p|[!gp]", TOYFLAG_USR|TOYFLAG_BIN))
USE_TFTPD(NEWTOY(tftpd, "rcu:l", TOYFLAG_BIN))
USE_TIME(NEWTOY(time, "<1^p", TOYFLAG_USR|TOYFLAG_BIN))
@@ -233,6 +234,7 @@ USE_TRACEROUTE(NEWTOY(traceroute, "<1>2i:f#<1>255=1z#<0>86400=0g*w#<0>86400=5t#<
USE_TRACEROUTE(OLDTOY(traceroute6,traceroute, TOYFLAG_STAYROOT|TOYFLAG_USR|TOYFLAG_BIN))
USE_TRUE(NEWTOY(true, NULL, TOYFLAG_BIN))
USE_TRUNCATE(NEWTOY(truncate, "<1s:|c", TOYFLAG_BIN))
+USE_TTOP(NEWTOY(ttop, ">0d#=3n#<1mb", TOYFLAG_USR|TOYFLAG_BIN))
USE_TTY(NEWTOY(tty, "s", TOYFLAG_USR|TOYFLAG_BIN))
USE_TCPSVD(OLDTOY(udpsvd, tcpsvd, TOYFLAG_USR|TOYFLAG_BIN))
USE_UMOUNT(NEWTOY(umount, "ndDflrat*v[!na]", TOYFLAG_BIN|TOYFLAG_STAYROOT))