History log of /external/toybox/toys.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
df07fb73be98dc1087346c184877666970a88f4a 11-Feb-2016 Rob Landley <rob@landley.net> Wean scripts/install.c off toys.h so cross compiling less brittle.
/external/toybox/toys.h
ca311f1a41a579a57076adfeb2cc08b20dbca21a 30-Jan-2016 Rob Landley <rob@landley.net> Fix two CFG_TOYBOX_SUID corner cases:

1) Don't try to force re-exec unless we actually dropped permissions.
(Fixes "./toybox mount" when no suid bit on toybox binary, which
previously exited.)
2) Set temporary toys.which value for error reporting.
(Fixes "ln -s toybox mount && ./mount" with CFG_TOYBOX_DEBUG and
no suid bit, which previously segfaulted.)
/external/toybox/toys.h
f96bb3d8e7ec3882c70b861b998d8573083ffe55 13-Dec-2015 Rob Landley <rob@landley.net> Start of TAGGED_ARRAY() infrastructure.

This lets you have struct arrays with a string as the first member, ala:

struct {char *name; int x, y} blah thingy[] = TAGGED_ARRAY(BLAH,
{"one", 1, 2}, {"two", 3, 4}, {"three", 5, 6}
);

And it produces #defines for the array index of each, ala:

#define BLAH_one 0
#define BLAH_two 1
#define BLAH_three 2

So you can use thingy[BLAH_two].x and still reorder the elements at will.

Note: if you screw up the array initializers, temporarily replace
TAGGED_ARRAY(BLAH, with { and the ); with }; and the compiler will give you
better error messages. (With the macro the compiler reports errors on the
TAGGED_ARRAY line, not where the comma is missing in its contents.)

Currently the TAGGED_ARRAY( and ); must be on their own lines, and the
{ and start of each attached string must be on the same line.
/external/toybox/toys.h
fc7543b7f63c159d966ca6b71caf17f877eae985 13-Dec-2015 Rob Landley <rob@landley.net> Make "ps -o TIME+ -k TIME+" work. Factor out -o field names, field lengths,
and slot numers into a structure. (Keeping multiple arrays in sync may have
been efficient but it was ugly.) Fix duplicate command name copying that
corrupted the name of kernel threads. Tighten up slot[] docs.
/external/toybox/toys.h
aaecbbac2f94b7a93eb2df7f9db78828cbb7b647 10-Dec-2015 Rob Landley <rob@landley.net> Expand toys.optargs to 64 bits so people adding more options to ls don't run out.

Keep the low 32 bits of FLAG_x constants as 32 bit numbers so that at least
on little endian platforms it's still normal 32 bit math outside of lib/args.c.
/external/toybox/toys.h
7d6af77804adc069a83e8566250f868a6cb9786e 29-Sep-2015 Rob Landley <rob@landley.net> Make defconfig build for nommu.

Adds XVFORK() macro, teaches xpopen_both() to call /proc/self/exe with NULL
argv (and converts cpio -p to use that), adds TOYBOX_FORK guards to some
unconverted commands.
/external/toybox/toys.h
3b51a07e478d64a84e40b3a7c026b2f8566b194b 27-Sep-2015 Rob Landley <rob@landley.net> Another chunk of nommu support, replacing toys.recursion with toys.stacktop.
/external/toybox/toys.h
e5354ca12a232b3f97726214254a868771cb70d1 11-Sep-2015 Rob Landley <rob@landley.net> Replace toys.exithelp with help_exit() in lib.
/external/toybox/toys.h
0cb5b70fa4ef093b08e59db813e73f3be6ecef4b 19-May-2015 Rob Landley <rob@landley.net> Switch id over to new infrastructure, switch id to use FORCE_FLAGS, and
make lib/lsm.h auto-include from toys.h.
/external/toybox/toys.h
9398f05d34453e9306f7a91993ee4c8fcf1102ec 03-May-2015 Rob Landley <rob@landley.net> Move a prototype to the start of portability.h (suggested by Elliott Hughes)
/external/toybox/toys.h
0a4bd4b89f9a17e4ba8c7873d1384fb04f79b14d 16-Jan-2015 Rob Landley <rob@landley.net> Move pty.h back to toys.h (under LSB 4.1 headers).
/external/toybox/toys.h
f3e56f4e4ff773de95fa2c9daf979734d826fc33 01-Jan-2015 Rob Landley <rob@landley.net> Redo option parsing infrastructure so #define FORCE_FLAGS can unzero flag macros for a disabled command (needed when multiple commands share infrastructure with a common set of flags).

This means the flag space is no longer packed, but leaves gaps where the zeroes
go. (Actual flag bit positions are the same for all configs.) Since the
option parsing needs to know where the holes are, the OPTSTR values are
now generated as part of flags.h with ascii 1 values for the disabled values.
(So generated/oldflags.h went away.)

This also means that the option string argument for OLDTOY() went away, it now
uses the same arguments as the NEWTOY() it references.
/external/toybox/toys.h
de699accf6804e8b1d8042b46c85500ee8c672c6 31-Dec-2014 Rob Landley <rob@landley.net> When you include the posix header libgen.h, glibc #defines basename to some random other symbol name (because gnu) and this screws up nontrivial macro expansions of NEWTOY(basename), so work around it in portability.h.
/external/toybox/toys.h
46ddf0e34b03f7711a9c80f7a70dc8cbf732f782 19-Nov-2014 Isaac Dunham <ibid.ag@gmail.com> probe for getspnam(), forkpty(), utmpx, replace sethostname()

Android is missing all of these; we need to probe for some so we have
a config symbol to depend on.
sethostname() is easily replaced.
We got termios.h via pty.h; now it's not included in configure-step tools,
so we need termios.h to generate globals.
/external/toybox/toys.h
d4bae7ddb771d32d35cc953a3fedbcc622820dbe 26-Oct-2014 Rob Landley <rob@landley.net> xexec() recursion limiter has to go after rebound or toy_init() zeroes it.
/external/toybox/toys.h
d97440cb600750fc4ed3b2ef38b64a4b5b401955 28-Sep-2014 Rob Landley <rob@landley.net> Have OLDTOY emit (redundant) function prototype so single.sh can build OLDTOY standalone (if it has its own config symbol).
/external/toybox/toys.h
c6705af4231b8071830721f98021d0e79223da12 10-Sep-2014 Rob Landley <rob@landley.net> Two problems: 1) Sometimes toy_exec() needs to re-exec to gain dropped root permissions, 2) shouldn't recurse forever without exec, stack depth increases and we may leak other resources. Limit it to ~5 levels.
/external/toybox/toys.h
89a62bf2907412cb562d22c875736357e314c8c8 09-Jun-2014 Rob Landley <rob@landley.net> When locale is enabled, sprintf("%.123s", str) is counting characters, not bytes, so we can't globally enable locale without opening stack/heap smashing vulnerabilities. Make commands individually request setlocale() using TOYFLAGS instead.
/external/toybox/toys.h
1bc522424f6bb21842366ccd11953136436b684b 21-May-2014 Rob Landley <rob@landley.net> Add generic_signal() handler, which sets toys.signal and writes byte to toys.signalfd if set.
/external/toybox/toys.h
4c2bd6277d5966ea7ef7d59a34838066b5c130eb 06-May-2014 Rob Landley <rob@landley.net> Fix bug reported by Ashwini Sharma: rebound has to be at the end or toy_init() doesn't zero the rest of the struct.
/external/toybox/toys.h
9953f64c02ad754b2831e02651ae7f8bec9b67d1 10-Apr-2014 Isaac Dunham <ibid.ag@gmail.com> modprobe: cleanup, incorporate Ashwini's fix for alias loading

Move <fnmatch.h> to toys.h, since it's POSIX.
Avoid duplicating code in an if/else block.
Terser error messages, spelling.
Don't always print the state.
/external/toybox/toys.h
5b405827a2fa4c928c488f3e7b0197dfec60dcc2 30-Mar-2014 Rob Landley <rob@landley.net> Group headers by standard (POSIX or LSB) or function (internationalization, networking). Move headers standards ignore (but which have been there >15 years) to lib/portability.h. Fold xregcomp into lib since it's posix.
/external/toybox/toys.h
36aa7d7382f64695ef003e5616890188b9f1f61b 28-Mar-2014 Rob Landley <rob@landley.net> Add help -a (to show all commands) and -h (to produce HTML output).
/external/toybox/toys.h
98c322e881c6ab8d4f54c23feb1a106c23673640 02-Nov-2013 Rob Landley <rob@landley.net> Merge toynet.h into toys.h: musl supports it and micromanaging uClibc config options isn't very interesting anymore.
/external/toybox/toys.h
207cadacd3cef42fa918981423c951f49443f032 03-Oct-2013 Rob Landley <rob@landley.net> Switch flag generation from shell to C.

This should actually generate FLAG_longopt 0 #defines for disabled bare
longopts (ala ls without --color). Put temporary executables under "generated"
(including instlist for install).
/external/toybox/toys.h
8fdcfdb4479dff7a993a25a63253f0e749fd99fe 04-Sep-2013 Rob Landley <rob@landley.net> Introduce libbuf analogous to toybuf but for use by lib/*.c. Change readfile() semantics to be able to read into an existing buffer, or malloc its own if that's NULL.
/external/toybox/toys.h
59bf7ce6a5114ed228cf3bf847ff96a35aa86f54 17-Aug-2013 Strake <strake888@gmail.com> su: cleanery

* make help message more like others
* s/TT\.(.)Argu/TT.\1/g
* move environ to toys.h
* simplify failure messages
* clear password before quit
* not check what execve returns
* -lc
/external/toybox/toys.h
982c38dd65209f96434ab094950129e25b07eb58 15-Aug-2013 Rob Landley <rob@landley.net> Forgot to check in toys.h when generated/oldtoys.h went in. (Oops.)
/external/toybox/toys.h
933919cd8094e870b3e7a554605fd49b20ddb1e0 21-Apr-2013 Rob Landley <rob@landley.net> Fix some comments from way back when toybox first started (in 2006), when I was still cleaning busybox-isms out of my head...
/external/toybox/toys.h
b1c002ac55339d7b7ec53214397f841c56cf6488 11-Dec-2012 Rob Landley <rob@landley.net> Add stat submission to new "pending" directory, along with infrastructure to support pending.
/external/toybox/toys.h
503c8b839d8a40f08f8934940133d7574be43916 02-Dec-2012 Rob Landley <rob@landley.net> Add header that musl libc needs.
/external/toybox/toys.h
6cf0a115451d6d5ead94860f0731040dc2293db0 26-Nov-2012 Rob Landley <rob@landley.net> Cleanup i18n support (#ifdefectomy, move global init to process launch). Teach make.sh to emit "#define FLAG_x 0" for options inside disabled USE macros so we can unconditionally refer to them.
/external/toybox/toys.h
250e0055fe0596f0f13d6e30f0bfe086702f5a25 21-Nov-2012 Felix Janda <felix.janda@posteo.de> Make internalization support optional
/external/toybox/toys.h
caf39c26827f355c4e107f55c5c51f67c484bfd7 16-Nov-2012 Rob Landley <rob@landley.net> Add rebound support to intercept error_exit() and longjmp instead.
/external/toybox/toys.h
7aa651a6a4496d848f86de9b1e6b3a003256a01f 14-Nov-2012 Rob Landley <rob@landley.net> Reindent to two spaces per level. Remove vi: directives that haven't worked right in years (ubuntu broke its' vim implementation). Remove trailing spaces. Add/remove blank lines. Re-wordwrap in places. Update documentation with new coding style.

The actual code should be the same afterward, this is just cosmetic refactoring.
/external/toybox/toys.h
abb8ca2455f3efd6f8f0eed78c54829bf0a9001e 08-Nov-2012 Felix Janda <felix.janda@posteo.de> wc -m only cares about counting characters. Attached is a try on implementing it and some test cases for it. The test cases are only for UTF-8 locales.
/external/toybox/toys.h
c0e56edaf256adb6c60c5a052525a1ffbb927901 08-Oct-2012 Rob Landley <rob@landley.net> New build infrastructure to generate FLAG_ macros and TT alias, #define FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate.
/external/toybox/toys.h
9c1c5ecd688052c39574999a523fa95f022b69b8 14-Aug-2012 Rob Landley <rob@landley.net> Replace TOY_LIST_LEN with more generic ARRAY_LEN()
/external/toybox/toys.h
756f794beece13a27b4ab38947144fa356609d4c 15-Jul-2012 Elie De Brauwer <eliedebrauwer@gmail.com> Adding initial implementation of taskset
/external/toybox/toys.h
628eb9b22032fb0f2e343f43efa60ec52b01d345 16-Jun-2012 Rob Landley <rob@landley.net> More header fiddling: crypt.h is silly, SUSv4 requires crypt() to be prototyped in unistd.h. The fact glibc refuses to do so without a wacky #define is a glibc bug, treat it as such.
/external/toybox/toys.h
e3b171e6df244be8f7d5163ec5818406cce513f0 28-Apr-2012 Rob Landley <rob@landley.net> Georgi pointed out that some overly-pedantic C libraries require you to include both "string.h" and "strings.h". (Most don't.)
/external/toybox/toys.h
0b11a16626867a362ed9aff3950650af94d1cfa7 24-Apr-2012 Elie De Brauwer <eliedebrauwer@gmail.com> Adding initial version of login.c
/external/toybox/toys.h
43e9d331c8055dff7e243bd19d2d06df826d6f38 15-Apr-2012 Rob Landley <rob@landley.net> Comment and whitespace changes.
/external/toybox/toys.h
6da3be91efef92ebe27c06222212f99f28814ca5 12-Mar-2012 Rob Landley <rob@landley.net> Yet another header for technical susv4 compliance.
/external/toybox/toys.h
f05f660d9c4f18aa4702d723ed7b35f7053ce08c 08-Mar-2012 Rob Landley <rob@landley.net> Consolidate headers.
/external/toybox/toys.h
2c162816e81ab49b43df565484f0d965f8984844 18-Feb-2012 Elie De Brauwer <eliedebrauwer@gmail.com> Adding swapon and swapoff
/external/toybox/toys.h
9494ffce734e31194ccbecf51436f33582f0925c 17-Feb-2012 Rob Landley <rob@landley.net> Sigh: moving a header to toys.h isn't very useful if I forget to check in toys.h.
/external/toybox/toys.h
37c05d6305cc1cfaae1908ef86a79c8c137b6b7b 04-Feb-2012 Rob Landley <rob@landley.net> Cleaning out one more old gpl notice that no longer applies after the switch to BSD in november.
/external/toybox/toys.h
e0377fb294821a68112d4da09f836ac42e3d5956 05-Jan-2010 Rob Landley <rob@landley.net> Add TOYBOX_SUID.
/external/toybox/toys.h
6f4584958bc299b073ce20801e6184fb1af3baac 07-Aug-2009 Rob Landley <rob@landley.net> Make a warning go away on Fedora 11.
/external/toybox/toys.h
53dda1a9cfc453fa5b2e5ff0ed58f8a9c99749a9 25-Jan-2009 Rob Landley <rob@landley.net> Comment tweaks.
/external/toybox/toys.h
ae2e4b743aee024f61793cc66ecf2be2115da250 15-Nov-2008 Rob Landley <rob@landley.net> Add netcat server mode, -l, -L, and -t.
/external/toybox/toys.h
0f8c4c5998317e575f1afd47dad7f6967bc271ab 13-Feb-2008 Rob Landley <rob@landley.net> Add TOYFLAG_UMASK.
/external/toybox/toys.h
26bf9e642eba4ea00cdf736d7ac4cd6be095a6af 13-Feb-2008 Rob Landley <rob@landley.net> Add toys.optc, an argv-style count for toys.optargs.
/external/toybox/toys.h
b1aaba1fc8176ac0b7c202a664d2554aa0967116 21-Jan-2008 Rob Landley <rob@landley.net> Zap toylist.h, moving contents of global structures into DEFINE_GLOBALS()
macros in each C file, and making generated/globals.h from that. Rename
"toy" to "this" along the way to avoid toy/toys confusion.
/external/toybox/toys.h
55928b1e0a08d84a5cbc50020f0a8c1024f5b6ce 20-Jan-2008 Rob Landley <rob@landley.net> Move NEWTOY() list from end of toylist.h to generated/newtoys.h.
/external/toybox/toys.h
2896480c4918f2accccb8301bec457a7bff7377e 20-Jan-2008 Rob Landley <rob@landley.net> Zap toys/Config.in and instead create generated/Config.in from contents of
toys/*.c. Move relevant info into comment at the top of each toys/*.c. Also
convert more of Makefile into a thin wrapper around shell scripts that actually
do the work. (Makefile is only still there for the user interface.)
/external/toybox/toys.h
58ecc3e589c2edc0ef4f33d4419b0b2e7ac6a83d 10-Jan-2008 Rob Landley <rob@landley.net> Move some generated files into the "generated" subdirectory.
/external/toybox/toys.h
07c78d338b1adf0c3d32c3670f21e9b066d740da 28-Dec-2007 Rob Landley <rob@landley.net> Make touch work reliably when file doesn't exist and clean up headers a bit.
/external/toybox/toys.h
9abf13622b76eec96f5846298bbf012cdb8bc678 16-Oct-2007 Rob Landley <rob@landley.net> Need to commit this too. :)
/external/toybox/toys.h
f3c56e719e2e000aaf750230f18aea3b01af9ce7 15-Aug-2007 Rob Landley <rob@landley.net> Remove strings.h which Maximilian Attems points out is obsolete:
> belows snippet directly taken from mdadm.h.
>
> to quote hpa:
> "Including <strings.h> is a bug in the upstream source;
> <strings.h> has been obsolete since at least 1989"
>
> one small little step for better klibc support ;)
/external/toybox/toys.h
f2f98fa34e9c00c2b5366fb6a9a912cf94f9a157 17-May-2007 Rob Landley <rob@landley.net> Add sleep.
/external/toybox/toys.h
c92fde0bc75ade9d06c0d843c4693b9e2e338938 23-Apr-2007 Rob Landley <rob@landley.net> Add sync and an incomplete version of mdev.
/external/toybox/toys.h
fd1c5ba0cbbd31c4713d9283c4fa5c3265ad2296 03-Feb-2007 Rob Landley <rob@landley.net> Teach build to build only the toys/*.c selected in .config, and teach
CFG_TOYSH_DEBUG to shut up the spurious "gcc can't tell that this is never
actually used uninitialized because gcc is stupid" warnings.
/external/toybox/toys.h
3ac8d261fd430c45f4827570cb5146336cbc656a 28-Jan-2007 Rob Landley <rob@landley.net> More work on mke2fs.
/external/toybox/toys.h
6b7092fd084070daeef5aeb60b608a633d56f252 24-Jan-2007 Rob Landley <rob@landley.net> More work on mke2fs.
/external/toybox/toys.h
e2580dbebbd43f668913b3d2ae6c0636161636ed 23-Jan-2007 Rob Landley <rob@landley.net> More random progress on mke2fs. Nothing to see yet.
/external/toybox/toys.h
901637760b4206e968e73dd5ff7430c107c27b57 19-Jan-2007 Rob Landley <rob@landley.net> Add fdprintf(). Remove reread() and rewrite() which handle -EINTR, which
shouldn't be a problem if we register signal handlers with sigaction(SA_RESTART)
Straighten out count and len (I generally consistently use "count" for the
current progress and "len" for the total, but this time I got them backwards
for some reason and don't want to confuse myself in future.)
/external/toybox/toys.h
055cfcbe5b0534c700b30216f54336b7581f7be4 15-Jan-2007 Rob Landley <rob@landley.net> Add start of mke2fs/gene2fs, and some other stuff I've been working on.
/external/toybox/toys.h
6973a1d0e4c99e7bd07b239dee8a6c52c74ecb0f 25-Nov-2006 Rob Landley <rob@landley.net> Add my old micro-bunzip library. Needs some cleanup...
/external/toybox/toys.h
1521a9e9691bf7d6f16bf3b11b5b8fc9079166fb 25-Nov-2006 Rob Landley <rob@landley.net> Add cat -v.
/external/toybox/toys.h
8324b89598b2aee0957a0378f0f63ff5755498be 19-Nov-2006 Rob Landley <rob@landley.net> New option parsing infrastructure (doesn't use getopt). Hook it up to
existing applets. Still a bit buggy, but bits of it work.
/external/toybox/toys.h
f2311a42a0751e7c039981857fcf60b40f36b475 04-Nov-2006 Rob Landley <rob@landley.net> Add pwd. Consolidate toy list information under toylist.h.
/external/toybox/toys.h
0a04b3ef850cd3d6f06b3c8d0036993adc9ba7b2 03-Nov-2006 Rob Landley <rob@landley.net> Implement which. Add hello world to menuconfig. Wrap the various applet main
functions in main.c with USE() macros so --gc-sections can strip them.
/external/toybox/toys.h
9b3fc7d5e0fe4850c7faa67257231366bf9053e2 02-Nov-2006 Rob Landley <rob@landley.net> Add a hello world applet, partly as an example and partly for testing purposes.
/external/toybox/toys.h
09ea7ac1a269db3c9a3b76840b37a7cb1eccbc24 30-Oct-2006 landley <landley@driftwood> Implement df. Add -Wall to build and fix up warnings. Add copyright notices.
Add error_msg() and itoa() to library. Remove argc from globals (since argv is
null terminated), add optflags to globals.
/external/toybox/toys.h
00f87f150c3c9769e09e688bb9779947d64eb9d3 26-Oct-2006 landley <landley@driftwood> Add xmsprintf(), xgetcwd(), xgetcwd(), find_in_path().
/external/toybox/toys.h
cd9dfc3b7b73715840b63180e2e4bfdb6e7ca9a4 19-Oct-2006 landley <landley@driftwood> Next drop of toysh, plus more infratructure.
/external/toybox/toys.h
4f344e356d2c36c4b1df46917eaef25f82ca79a9 05-Oct-2006 landley <landley@driftwood> Infrastructure, first drop of toy shell, and a bit of work on df.
/external/toybox/toys.h
c56215062c961402515daeef8330ed75cd94af29 28-Sep-2006 landley <landley@driftwood> Next snapshot. Tries to grab something out of lib in order to build, I have
an empty "blah.c" in there to make it happy but I'm not checking that in.
/external/toybox/toys.h