annotate toys/toylist.h @ 189:22d22427dec6

Add first pass at netcat. Base applet, -f, and -w implemented.
author Rob Landley <rob@landley.net>
date Mon, 03 Dec 2007 18:53:00 -0600
parents c983a0af6d4e
children 7f55c59f5122
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
21
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
1 /* vi: set ts=4 :*/
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
2 /* Toybox infrastructure.
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
3 *
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
4 * Copyright 2006 Rob Landley <rob@landley.net>
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
5 */
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
6
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
7
88
021fe1a818c3 Small cleanup to prepare for cross-compile friendly make install.
Rob Landley <rob@landley.net>
parents: 82
diff changeset
8 // Provide function declarations and structs. Note that main.c #includes this
021fe1a818c3 Small cleanup to prepare for cross-compile friendly make install.
Rob Landley <rob@landley.net>
parents: 82
diff changeset
9 // file twice (with different macros) to populate toy_list[].
21
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
10
88
021fe1a818c3 Small cleanup to prepare for cross-compile friendly make install.
Rob Landley <rob@landley.net>
parents: 82
diff changeset
11 #ifndef NEWTOY
186
25447caf1b4b Change command main() functions to return void, and exit(toys.exitval) from
Rob Landley <rob@landley.net>
parents: 179
diff changeset
12 #define NEWTOY(name, opts, flags) void name##_main(void);
25
eb46bb5626cb New option parsing infrastructure (doesn't use getopt). Hook it up to
Rob Landley <rob@landley.net>
parents: 21
diff changeset
13 #define OLDTOY(name, oldname, opts, flags)
21
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
14
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
15 struct df_data {
33
bc91b57308dc Fix a warning.
Rob Landley <rob@landley.net>
parents: 32
diff changeset
16 struct arg_list *fstype;
53
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
17
21
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
18 long units;
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
19 };
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
20
146
99e651512aa4 Get toysh.c to start using the option parsing logic, and some minor cleanup.
Rob Landley <rob@landley.net>
parents: 139
diff changeset
21 // Still to go: "E:jJ:L:m:O:"
99e651512aa4 Get toysh.c to start using the option parsing logic, and some minor cleanup.
Rob Landley <rob@landley.net>
parents: 139
diff changeset
22 #define MKE2FS_OPTSTRING "<1>2g:Fnqm#N#i#b#"
99e651512aa4 Get toysh.c to start using the option parsing logic, and some minor cleanup.
Rob Landley <rob@landley.net>
parents: 139
diff changeset
23
169
56034b162074 Implement dmesg.
Rob Landley <rob@landley.net>
parents: 162
diff changeset
24 struct dmesg_data {
56034b162074 Implement dmesg.
Rob Landley <rob@landley.net>
parents: 162
diff changeset
25 long level;
56034b162074 Implement dmesg.
Rob Landley <rob@landley.net>
parents: 162
diff changeset
26 long size;
56034b162074 Implement dmesg.
Rob Landley <rob@landley.net>
parents: 162
diff changeset
27 };
56034b162074 Implement dmesg.
Rob Landley <rob@landley.net>
parents: 162
diff changeset
28
53
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
29 struct mke2fs_data {
113
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
30 // Command line arguments.
53
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
31 long blocksize;
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
32 long bytes_per_inode;
113
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
33 long inodes; // Total inodes in filesystem.
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
34 long reserved_percent; // Integer precent of space to reserve for root.
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
35 char *gendir; // Where to read dirtree from.
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
36
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
37 // Internal data.
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
38 struct dirtree *dt; // Tree of files to copy into the new filesystem.
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
39 unsigned treeblocks; // Blocks used by dt
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
40 unsigned treeinodes; // Inodes used by dt
53
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
41
113
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
42 unsigned blocks; // Total blocks in the filesystem.
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
43 unsigned freeblocks; // Free blocks in the filesystem.
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
44 unsigned inodespg; // Inodes per group
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
45 unsigned groups; // Total number of block groups.
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
46 unsigned blockbits; // Bits per block. (Also blocks per group.)
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
47
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
48 // For gene2fs
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
49 unsigned nextblock; // Next data block to allocate
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
50 unsigned nextgroup; // Next group we'll be allocating from
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
51 int fsfd; // File descriptor of filesystem (to output to).
1f7dcdef245c And more mke2fs changes.
Rob Landley <rob@landley.net>
parents: 106
diff changeset
52
82
612c8d6c2829 More work on mke2fs.
Rob Landley <rob@landley.net>
parents: 78
diff changeset
53 struct ext2_superblock sb;
53
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
54 };
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
55
189
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
56 struct netcat_data {
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
57 char *filename; // -f read from filename instead of network
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
58 long quit_delay; // -q Exit after EOF from stdin after # seconds.
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
59 char *source_address; // -s Bind to a specific source address.
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
60 long port; // -p Bind to a specific source port.
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
61 long listen; // -l Listen for connection instead of dialing out.
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
62 long wait; // -w Wait # seconds for a connection.
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
63 long delay; // -i delay between lines sent
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
64 };
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
65
118
93da7cc220e6 Add sleep.
Rob Landley <rob@landley.net>
parents: 116
diff changeset
66 struct sleep_data {
93da7cc220e6 Add sleep.
Rob Landley <rob@landley.net>
parents: 116
diff changeset
67 long seconds;
93da7cc220e6 Add sleep.
Rob Landley <rob@landley.net>
parents: 116
diff changeset
68 };
93da7cc220e6 Add sleep.
Rob Landley <rob@landley.net>
parents: 116
diff changeset
69
100
c3d1d74d5d8f MacOS X has a defective sed with no -r.
Rob Landley <rob@landley.net>
parents: 99
diff changeset
70 struct touch_data {
c3d1d74d5d8f MacOS X has a defective sed with no -r.
Rob Landley <rob@landley.net>
parents: 99
diff changeset
71 char *ref_file;
c3d1d74d5d8f MacOS X has a defective sed with no -r.
Rob Landley <rob@landley.net>
parents: 99
diff changeset
72 char *time;
162
0864aec90026 Add an option to let touch extend or truncate a file and rename the err label to time_error to reduce confusion.
Charlie Shepherd <masterdriverz@gentoo.org>
parents: 157
diff changeset
73 long length;
100
c3d1d74d5d8f MacOS X has a defective sed with no -r.
Rob Landley <rob@landley.net>
parents: 99
diff changeset
74 };
c3d1d74d5d8f MacOS X has a defective sed with no -r.
Rob Landley <rob@landley.net>
parents: 99
diff changeset
75
146
99e651512aa4 Get toysh.c to start using the option parsing logic, and some minor cleanup.
Rob Landley <rob@landley.net>
parents: 139
diff changeset
76 struct toysh_data {
99e651512aa4 Get toysh.c to start using the option parsing logic, and some minor cleanup.
Rob Landley <rob@landley.net>
parents: 139
diff changeset
77 char *command;
99e651512aa4 Get toysh.c to start using the option parsing logic, and some minor cleanup.
Rob Landley <rob@landley.net>
parents: 139
diff changeset
78 };
53
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
79
157
714f4c051594 Add initial mkfifo implementation
Charlie Shepherd <masterdriverz@gentoo.org>
parents: 147
diff changeset
80 struct mkfifo_data {
714f4c051594 Add initial mkfifo implementation
Charlie Shepherd <masterdriverz@gentoo.org>
parents: 147
diff changeset
81 char *mode;
714f4c051594 Add initial mkfifo implementation
Charlie Shepherd <masterdriverz@gentoo.org>
parents: 147
diff changeset
82 };
714f4c051594 Add initial mkfifo implementation
Charlie Shepherd <masterdriverz@gentoo.org>
parents: 147
diff changeset
83
93
cc0a6789f92a Trim a redundant definition that confuses older compilers. (Regression testing
Rob Landley <rob@landley.net>
parents: 92
diff changeset
84 extern union toy_union {
169
56034b162074 Implement dmesg.
Rob Landley <rob@landley.net>
parents: 162
diff changeset
85 struct dmesg_data dmesg;
21
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
86 struct df_data df;
53
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
87 struct mke2fs_data mke2fs;
157
714f4c051594 Add initial mkfifo implementation
Charlie Shepherd <masterdriverz@gentoo.org>
parents: 147
diff changeset
88 struct mkfifo_data mkfifo;
189
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
89 struct netcat_data netcat;
146
99e651512aa4 Get toysh.c to start using the option parsing logic, and some minor cleanup.
Rob Landley <rob@landley.net>
parents: 139
diff changeset
90 struct sleep_data sleep;
99e651512aa4 Get toysh.c to start using the option parsing logic, and some minor cleanup.
Rob Landley <rob@landley.net>
parents: 139
diff changeset
91 struct touch_data touch;
99e651512aa4 Get toysh.c to start using the option parsing logic, and some minor cleanup.
Rob Landley <rob@landley.net>
parents: 139
diff changeset
92 struct toysh_data toysh;
21
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
93 } toy;
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
94
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
95 #define TOYFLAG_USR (1<<0)
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
96 #define TOYFLAG_BIN (1<<1)
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
97 #define TOYFLAG_SBIN (1<<2)
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
98 #define TOYMASK_LOCATION ((1<<4)-1)
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
99
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
100 #define TOYFLAG_NOFORK (1<<4)
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
101
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
102 extern struct toy_list {
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
103 char *name;
186
25447caf1b4b Change command main() functions to return void, and exit(toys.exitval) from
Rob Landley <rob@landley.net>
parents: 179
diff changeset
104 void (*toy_main)(void);
25
eb46bb5626cb New option parsing infrastructure (doesn't use getopt). Hook it up to
Rob Landley <rob@landley.net>
parents: 21
diff changeset
105 char *options;
21
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
106 int flags;
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
107 } toy_list[];
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
108
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
109 #endif
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
110
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
111 // List of all the applets toybox can provide.
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
112
53
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
113 // This one is out of order on purpose: it's the first element in the array.
21
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
114
25
eb46bb5626cb New option parsing infrastructure (doesn't use getopt). Hook it up to
Rob Landley <rob@landley.net>
parents: 21
diff changeset
115 NEWTOY(toybox, NULL, 0)
21
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
116
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
117 // The rest of these are alphabetical, for binary search.
6475d6c46066 Add pwd. Consolidate toy list information under toylist.h.
Rob Landley <rob@landley.net>
parents:
diff changeset
118
176
07533cabeede Patch from Charlie Shepherd to add basename and dirname. (Fixed up to apply.)
Rob Landley <rob@landley.net>
parents: 169
diff changeset
119 USE_BASENAME(NEWTOY(basename, "<1>2", TOYFLAG_BIN))
54
60a7fb8ddeb4 Add a quick and dirt bzcat (stdin to stdout only for the moment) to test
Rob Landley <rob@landley.net>
parents: 53
diff changeset
120 USE_BZCAT(NEWTOY(bzcat, "", TOYFLAG_USR|TOYFLAG_BIN))
66
d2c7f1cbd7d2 Add count command.
Rob Landley <rob@landley.net>
parents: 54
diff changeset
121 USE_CATV(NEWTOY(catv, "vte", TOYFLAG_USR|TOYFLAG_BIN))
d2c7f1cbd7d2 Add count command.
Rob Landley <rob@landley.net>
parents: 54
diff changeset
122 USE_COUNT(NEWTOY(count, "", TOYFLAG_USR|TOYFLAG_BIN))
25
eb46bb5626cb New option parsing infrastructure (doesn't use getopt). Hook it up to
Rob Landley <rob@landley.net>
parents: 21
diff changeset
123 USE_TOYSH(NEWTOY(cd, NULL, TOYFLAG_NOFORK))
32
993eab821bd5 More work on option parsing. "df -t tmpfs" actually seems to work now.
Rob Landley <rob@landley.net>
parents: 25
diff changeset
124 USE_DF(NEWTOY(df, "Pkt*a", TOYFLAG_USR|TOYFLAG_SBIN))
176
07533cabeede Patch from Charlie Shepherd to add basename and dirname. (Fixed up to apply.)
Rob Landley <rob@landley.net>
parents: 169
diff changeset
125 USE_DIRNAME(NEWTOY(dirname, "<1>1", TOYFLAG_BIN))
169
56034b162074 Implement dmesg.
Rob Landley <rob@landley.net>
parents: 162
diff changeset
126 USE_DMESG(NEWTOY(dmesg, "s#n#c", TOYFLAG_BIN))
92
154070b2b28d Toybox option parsing must stop at the first non-option argument.
Rob Landley <rob@landley.net>
parents: 88
diff changeset
127 USE_ECHO(NEWTOY(echo, "+en", TOYFLAG_BIN))
25
eb46bb5626cb New option parsing infrastructure (doesn't use getopt). Hook it up to
Rob Landley <rob@landley.net>
parents: 21
diff changeset
128 USE_TOYSH(NEWTOY(exit, NULL, TOYFLAG_NOFORK))
116
a0678c2ae9b8 Add true and false.
Rob Landley <rob@landley.net>
parents: 115
diff changeset
129 USE_FALSE(NEWTOY(false, NULL, TOYFLAG_BIN))
139
fb0745eec453 Add "help" command. (Building help/help.h requires python, but I'll ship
Rob Landley <rob@landley.net>
parents: 118
diff changeset
130 USE_HELLO(NEWTOY(hello, NULL, TOYFLAG_USR|TOYFLAG_BIN))
fb0745eec453 Add "help" command. (Building help/help.h requires python, but I'll ship
Rob Landley <rob@landley.net>
parents: 118
diff changeset
131 USE_HELP(NEWTOY(help, "<1", TOYFLAG_BIN))
53
41d55b5d49fd Add start of mke2fs/gene2fs, and some other stuff I've been working on.
Rob Landley <rob@landley.net>
parents: 35
diff changeset
132 USE_MKE2FS(NEWTOY(mke2fs, MKE2FS_OPTSTRING, TOYFLAG_SBIN))
157
714f4c051594 Add initial mkfifo implementation
Charlie Shepherd <masterdriverz@gentoo.org>
parents: 147
diff changeset
133 USE_MKFIFO(NEWTOY(mkfifo, "<1m:", TOYFLAG_BIN))
189
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
134 USE_NETCAT(OLDTOY(nc, netcat, "i#w#l@p#s:q#f:e", TOYFLAG_BIN))
22d22427dec6 Add first pass at netcat. Base applet, -f, and -w implemented.
Rob Landley <rob@landley.net>
parents: 187
diff changeset
135 USE_NETCAT(NEWTOY(netcat, "i#w#l@p#s:q#f:e", TOYFLAG_BIN))
106
422df21290d7 Fix oneit: <1 is only parsed at the start of the argument list.
Rob Landley <rob@landley.net>
parents: 104
diff changeset
136 USE_ONEIT(NEWTOY(oneit, "+<1p", TOYFLAG_SBIN))
25
eb46bb5626cb New option parsing infrastructure (doesn't use getopt). Hook it up to
Rob Landley <rob@landley.net>
parents: 21
diff changeset
137 USE_PWD(NEWTOY(pwd, NULL, TOYFLAG_BIN))
115
19b5567f0a1b Add readlink, xreadlink(), and change xrealloc() to not fight the stupid
Rob Landley <rob@landley.net>
parents: 114
diff changeset
138 USE_READLINK(NEWTOY(readlink, "<1f", TOYFLAG_BIN))
25
eb46bb5626cb New option parsing infrastructure (doesn't use getopt). Hook it up to
Rob Landley <rob@landley.net>
parents: 21
diff changeset
139 USE_TOYSH(OLDTOY(sh, toysh, "c:i", TOYFLAG_BIN))
187
c983a0af6d4e Add sha1sum. (No -c mode yet.) Slight tweaks to loopfiles() too.
Rob Landley <rob@landley.net>
parents: 186
diff changeset
140 USE_SHA1SUM(NEWTOY(sha1sum, NULL, TOYFLAG_USR|TOYFLAG_BIN))
118
93da7cc220e6 Add sleep.
Rob Landley <rob@landley.net>
parents: 116
diff changeset
141 USE_SLEEP(NEWTOY(sleep, "<1", TOYFLAG_BIN))
114
ce6956dfc0cf Add sync and an incomplete version of mdev.
Rob Landley <rob@landley.net>
parents: 113
diff changeset
142 USE_SYNC(NEWTOY(sync, NULL, TOYFLAG_BIN))
162
0864aec90026 Add an option to let touch extend or truncate a file and rename the err label to time_error to reduce confusion.
Charlie Shepherd <masterdriverz@gentoo.org>
parents: 157
diff changeset
143 USE_TOUCH(NEWTOY(touch, "l#t:r:mca", TOYFLAG_BIN))
25
eb46bb5626cb New option parsing infrastructure (doesn't use getopt). Hook it up to
Rob Landley <rob@landley.net>
parents: 21
diff changeset
144 USE_TOYSH(NEWTOY(toysh, "c:i", TOYFLAG_BIN))
116
a0678c2ae9b8 Add true and false.
Rob Landley <rob@landley.net>
parents: 115
diff changeset
145 USE_TRUE(NEWTOY(true, NULL, TOYFLAG_BIN))
179
4b683759de51 Add tty applet
Charlie Shepherd <masterdriverz@gentoo.org>
parents: 176
diff changeset
146 USE_TTY(NEWTOY(tty, "s", TOYFLAG_BIN))
25
eb46bb5626cb New option parsing infrastructure (doesn't use getopt). Hook it up to
Rob Landley <rob@landley.net>
parents: 21
diff changeset
147 USE_WHICH(NEWTOY(which, "a", TOYFLAG_USR|TOYFLAG_BIN))
74
dfe99495acbc Add "yes" command.
Rob Landley <rob@landley.net>
parents: 70
diff changeset
148 USE_YES(NEWTOY(yes, "", TOYFLAG_USR|TOYFLAG_BIN))