185cda1a44a0b00f13a49fd7c606e43cfd1328057Elliott Hughes// toys/android/getprop.c
285cda1a44a0b00f13a49fd7c606e43cfd1328057Elliott Hughes
385cda1a44a0b00f13a49fd7c606e43cfd1328057Elliott Hughesstruct getprop_data {
485cda1a44a0b00f13a49fd7c606e43cfd1328057Elliott Hughes  size_t size;
510a5d416c13890a04ea475738a4d6d8138ba82ceElliott Hughes  char **nv; // name/value pairs: even=name, odd=value
685cda1a44a0b00f13a49fd7c606e43cfd1328057Elliott Hughes};
785cda1a44a0b00f13a49fd7c606e43cfd1328057Elliott Hughes
8d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/example/hello.c
9d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
10d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct hello_data {
11d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int unused;
12d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
13d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
14d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/example/skeleton.c
15d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
16d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct skeleton_data {
17d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  union {
18d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    struct {
19d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes      char *b_string;
20d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes      long c_number;
21d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes      struct arg_list *d_list;
22d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes      long e_count;
23d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes      char *also_string;
24d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes      char *blubber_string;
25d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    } s;
26d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    struct {
27d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes      long b_number;
28d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    } a;
29d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  };
30d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
31d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int more_globals;
32d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
33d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
34d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/lsb/dmesg.c
35d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
36d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct dmesg_data {
37d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long level;
38d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long size;
39d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
40d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
41d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/lsb/killall.c
42d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
43d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct killall_data {
44d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *sig;
45d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
46d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int signum;
47d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  pid_t cur_pid;
48d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char **names;
49d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  short *err;
50d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
51d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
52d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/lsb/md5sum.c
53d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
54d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct md5sum_data {
55d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned state[5];
56d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned oldstate[5];
57d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uint64_t count;
58d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  union {
59d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char c[64];
60d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned i[16];
61d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  } buffer;
62d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
63d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
6440d36f2bcc386eff740ac03bda24d1516e35820aElliott Hughes// toys/lsb/mknod.c
6540d36f2bcc386eff740ac03bda24d1516e35820aElliott Hughes
6640d36f2bcc386eff740ac03bda24d1516e35820aElliott Hughesstruct mknod_data {
6740d36f2bcc386eff740ac03bda24d1516e35820aElliott Hughes  char *m;
6840d36f2bcc386eff740ac03bda24d1516e35820aElliott Hughes};
6940d36f2bcc386eff740ac03bda24d1516e35820aElliott Hughes
70d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/lsb/mktemp.c
71d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
72d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct mktemp_data {
73bf65a2e0c8cf53f35ba0ecb7cedc470d51315d94Elliott Hughes  char *tmpdir;
74d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
75d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
76d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/lsb/mount.c
77d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
78d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct mount_data {
79d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *optlist;
80d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *type;
81d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *bigO;
82d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
83d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned long flags;
84d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *opts;
85d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int okuser;
86d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
87d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
88d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/lsb/passwd.c
89d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
90d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct passwd_data {
91d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *algo;
92d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
93d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
94d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/lsb/pidof.c
95d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
96d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct pidof_data {
97d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *omit;
98d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
99d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
100d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/lsb/seq.c
101d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
102d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct seq_data {
103d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *sep;
104d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *fmt;
105d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
106d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
107d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/lsb/su.c
108d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
109d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct su_data {
110d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *s;
111d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *c;
112d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
113d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
114d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/lsb/umount.c
115d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
116d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct umount_data {
117d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *t;
118d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
119d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *types;
120d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
121d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
122d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/acpi.c
123d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
124d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct acpi_data {
125d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int ac;
126d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int bat;
127d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int therm;
128d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int cool;
129d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *cpath;
130d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
131d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
132148622383ae45985d4b44de5a5dd3674a354e0ccElliott Hughes// toys/other/base64.c
133148622383ae45985d4b44de5a5dd3674a354e0ccElliott Hughes
134148622383ae45985d4b44de5a5dd3674a354e0ccElliott Hughesstruct base64_data {
135148622383ae45985d4b44de5a5dd3674a354e0ccElliott Hughes  long columns;
136148622383ae45985d4b44de5a5dd3674a354e0ccElliott Hughes};
137148622383ae45985d4b44de5a5dd3674a354e0ccElliott Hughes
138d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/blockdev.c
139d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
140d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct blockdev_data {
141d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long bsz;
142d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
143d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
144d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/dos2unix.c
145d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
146d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct dos2unix_data {
147d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *tempfile;
148d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
149d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
150d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/fallocate.c
151d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
152d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct fallocate_data {
153d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long size;
154d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
155d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
156d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/free.c
157d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
158d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct free_data {
159d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned bits;
160d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned long long units;
161d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
162d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
163584c654efead9619e5a08b387f715882709c3a54Elliott Hughes// toys/other/hexedit.c
164584c654efead9619e5a08b387f715882709c3a54Elliott Hughes
165584c654efead9619e5a08b387f715882709c3a54Elliott Hughesstruct hexedit_data {
166584c654efead9619e5a08b387f715882709c3a54Elliott Hughes  char *data;
167584c654efead9619e5a08b387f715882709c3a54Elliott Hughes  long long len, base;
168584c654efead9619e5a08b387f715882709c3a54Elliott Hughes  int numlen;
169584c654efead9619e5a08b387f715882709c3a54Elliott Hughes  unsigned height;
170584c654efead9619e5a08b387f715882709c3a54Elliott Hughes};
171584c654efead9619e5a08b387f715882709c3a54Elliott Hughes
172d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/ifconfig.c
173d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
174d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct ifconfig_data {
175d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int sockfd;
176d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
177d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
178d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/login.c
179d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
180d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct login_data {
181d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *hostname;
182d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
183d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int login_timeout, login_fail_timeout;
184d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
185d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
186d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/losetup.c
187d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
188d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct losetup_data {
189d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *jfile;
190d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long offset;
191d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long size;
192d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
193d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int openflags;
194d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  dev_t jdev;
195d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  ino_t jino;
196d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
197d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
198d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/lspci.c
199d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
200d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct lspci_data {
201d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *ids;
202d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long numeric;
203d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
204d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  FILE *db;
205d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
206d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
207d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/makedevs.c
208d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
209d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct makedevs_data {
210d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *fname;
211d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
212d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
2134ac9dd68f1aa1b97c421cde2300cd250a7a2ab11Elliott Hughes// toys/other/mix.c
2144ac9dd68f1aa1b97c421cde2300cd250a7a2ab11Elliott Hughes
2154ac9dd68f1aa1b97c421cde2300cd250a7a2ab11Elliott Hughesstruct mix_data {
2164ac9dd68f1aa1b97c421cde2300cd250a7a2ab11Elliott Hughes   long right;
2174ac9dd68f1aa1b97c421cde2300cd250a7a2ab11Elliott Hughes   long level;
2184ac9dd68f1aa1b97c421cde2300cd250a7a2ab11Elliott Hughes   char *dev;
2194ac9dd68f1aa1b97c421cde2300cd250a7a2ab11Elliott Hughes   char *chan;
2204ac9dd68f1aa1b97c421cde2300cd250a7a2ab11Elliott Hughes};
2214ac9dd68f1aa1b97c421cde2300cd250a7a2ab11Elliott Hughes
222d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/mkpasswd.c
223d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
224d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct mkpasswd_data {
225d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long pfd;
226d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *method;
227d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *salt;
228d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
229d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
230d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/modinfo.c
231d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
232d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct modinfo_data {
233d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *field;
234d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *knam;
235d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *base;
236d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
237d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long mod;
238d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
239d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
240d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/netcat.c
241d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
242d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct netcat_data {
243d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *filename;        // -f read from filename instead of network
244d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long quit_delay;       // -q Exit after EOF from stdin after # seconds.
245d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *source_address;  // -s Bind to a specific source address.
246d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long port;             // -p Bind to a specific source port.
247d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long wait;             // -w Wait # seconds for a connection.
248d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
249d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
250bf65a2e0c8cf53f35ba0ecb7cedc470d51315d94Elliott Hughes// toys/other/nsenter.c
251bf65a2e0c8cf53f35ba0ecb7cedc470d51315d94Elliott Hughes
252bf65a2e0c8cf53f35ba0ecb7cedc470d51315d94Elliott Hughesstruct nsenter_data {
253bf65a2e0c8cf53f35ba0ecb7cedc470d51315d94Elliott Hughes  char *nsnames[6];
254bf65a2e0c8cf53f35ba0ecb7cedc470d51315d94Elliott Hughes  long targetpid;
255bf65a2e0c8cf53f35ba0ecb7cedc470d51315d94Elliott Hughes};
256bf65a2e0c8cf53f35ba0ecb7cedc470d51315d94Elliott Hughes
257d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/oneit.c
258d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
259d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct oneit_data {
260d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *console;
261d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
262d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
26353a43da9b450261eba4490781c734cda29a75b09Elliott Hughes// toys/other/shred.c
26453a43da9b450261eba4490781c734cda29a75b09Elliott Hughes
26553a43da9b450261eba4490781c734cda29a75b09Elliott Hughesstruct shred_data {
26653a43da9b450261eba4490781c734cda29a75b09Elliott Hughes  long offset;
26753a43da9b450261eba4490781c734cda29a75b09Elliott Hughes  long iterations;
26853a43da9b450261eba4490781c734cda29a75b09Elliott Hughes  long size;
26953a43da9b450261eba4490781c734cda29a75b09Elliott Hughes
27053a43da9b450261eba4490781c734cda29a75b09Elliott Hughes  int ufd;
27153a43da9b450261eba4490781c734cda29a75b09Elliott Hughes};
27253a43da9b450261eba4490781c734cda29a75b09Elliott Hughes
273d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/stat.c
274d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
275d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct stat_data {
276d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *fmt;
277d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
278d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  union {
279d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    struct stat st;
280d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    struct statfs sf;
281d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  } stat;
282d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct passwd *user_name;
283d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct group *group_name;
284d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
285d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
286d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/swapon.c
287d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
288d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct swapon_data {
289d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long priority;
290d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
291d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
292d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/switch_root.c
293d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
294d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct switch_root_data {
295d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *console;
296d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
297d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  dev_t rootdev;
298d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
299d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
300d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/timeout.c
301d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
302d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct timeout_data {
303d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *s_signal;
304d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *k_timeout;
305d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
306d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int nextsig;
307d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  pid_t pid;
308d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct timeval ktv;
309d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct itimerval itv;
310d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
311d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
312d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/other/truncate.c
313d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
314d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct truncate_data {
31510a5d416c13890a04ea475738a4d6d8138ba82ceElliott Hughes  char *s;
31610a5d416c13890a04ea475738a4d6d8138ba82ceElliott Hughes
317d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long size;
31810a5d416c13890a04ea475738a4d6d8138ba82ceElliott Hughes  int type;
319d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
320d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
321d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/arp.c
322d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
323d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct arp_data {
324d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *hw_type;
325d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *af_type_A;
326d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *af_type_p;
327d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *interface;
328d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
329d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    int sockfd;
330d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *device;
331d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
332d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
333d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/arping.c
334d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
335d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct arping_data {
336d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    long count;
337d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned long time_out;
338d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *iface;
339d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *src_ip;
340d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
341d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    int sockfd;
342d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned start;
343d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned end;
344d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned sent_at;
345d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned sent_nr;
346d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned rcvd_nr;
347d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned brd_sent;
348d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned rcvd_req;
349d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned brd_rcv;
350d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    unsigned unicast_flag;
351d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
352d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
353d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/bootchartd.c
354d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
355d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct bootchartd_data {
356d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char buf[32];
357d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long smpl_period_usec;
358d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int proc_accounting;
359d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int is_login;
360d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
361d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void *head;
362d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
363d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
364d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/brctl.c
365d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
366d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct brctl_data {
367d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    int sockfd;
368d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
369d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
370d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/compress.c
371d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
372d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct compress_data {
3737fcfbe7a2e99fe96e68ffe8d87370b86097d3999Elliott Hughes  // Huffman codes: base offset and extra bits tables (length and distance)
374d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char lenbits[29], distbits[30];
375d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned short lenbase[29], distbase[30];
376d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void *fixdisthuff, *fixlithuff;
377d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
3787fcfbe7a2e99fe96e68ffe8d87370b86097d3999Elliott Hughes  // CRC
379d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void (*crcfunc)(char *data, int len);
3807fcfbe7a2e99fe96e68ffe8d87370b86097d3999Elliott Hughes  unsigned crc;
381d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
3827fcfbe7a2e99fe96e68ffe8d87370b86097d3999Elliott Hughes  // Compressed data buffer
3837fcfbe7a2e99fe96e68ffe8d87370b86097d3999Elliott Hughes  char *data;
3847fcfbe7a2e99fe96e68ffe8d87370b86097d3999Elliott Hughes  unsigned pos, len;
38553a43da9b450261eba4490781c734cda29a75b09Elliott Hughes  int infd, outfd;
3867fcfbe7a2e99fe96e68ffe8d87370b86097d3999Elliott Hughes
3877fcfbe7a2e99fe96e68ffe8d87370b86097d3999Elliott Hughes  // Tables only used for deflation
38853a43da9b450261eba4490781c734cda29a75b09Elliott Hughes  unsigned short *hashhead, *hashchain;
389d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
390d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
391d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/crond.c
392d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
393d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct crond_data {
394d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *crontabs_dir;
395d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *logfile;
396d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int loglevel_d;
397d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int loglevel;
398d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
399d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  time_t crontabs_dir_mtime;
400d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uint8_t flagd;
401d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
402d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
403d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/crontab.c
404d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
405d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct crontab_data {
406d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *user;
407d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *cdir;
408d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
409d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
410d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/dd.c
411d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
412d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct dd_data {
413d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int sig;
414d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
415d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
416d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/dhcp.c
417d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
418d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct dhcp_data {
419d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *iface;
420d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *pidfile;
421d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *script;
422d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    long retries;
423d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    long timeout;
424d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    long tryagain;
425d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    struct arg_list *req_opt;
426d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *req_ip;
427d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    struct arg_list *pkt_opt;
428d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *fdn_name;
429d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *hostname;
430d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *vendor_cls;
431d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
432d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
433d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/dhcpd.c
434d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
435d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct dhcpd_data {
436d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    long port;
437d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};;
438d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
439d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/diff.c
440d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
441d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct diff_data {
442d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long ct;
443d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *start;
444d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *L_list;
445d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
446d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int dir_num, size, is_binary, status, change, len[2];
447d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int *offset[2];
448d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
449d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
450d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/dumpleases.c
451d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
452d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct dumpleases_data {
453d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *file;
454d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
455d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
456d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/expr.c
457d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
458d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct expr_data {
459d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int argidx;
460d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
461d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
462d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/fdisk.c
463d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
464d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct fdisk_data {
465d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long sect_sz;
466d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long sectors;
467d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long heads;
468d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long cylinders;
469d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
470d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
471d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/fold.c
472d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
473d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct fold_data {
474d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int width;
475d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
476d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
477d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/fsck.c
478d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
479d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct fsck_data {
480d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int fd_num;
481d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *t_list;
482d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
483d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct double_list *devices;
484d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *arr_flag;
485d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char **arr_type;
486d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int negate;
487d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int sum_status;
488d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int nr_run;
489d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int sig_num;
490d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long max_nr_run;
491d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
492d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
493d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/ftpget.c
494d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
495d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct ftpget_data {
496d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long port; //  char *port;
497d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *password;
498d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *username;
499d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
500d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  FILE *sockfp;
501d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int c;
502d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int isget;
503d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char buf[sizeof(struct sockaddr_storage)];
504d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
505d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
506d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/getty.c
507d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
508d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct getty_data {
509d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *issue_str;
510d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *login_str;
511d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *init_str;
512d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *host_str;
513d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long timeout;
514d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
515d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *tty_name;
516d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int  speeds[20];
517d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int  sc;
518d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct termios termios;
519d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char buff[128];
520d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
521d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
522d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/groupadd.c
523d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
524d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct groupadd_data {
525d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long gid;
526d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
527d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
528d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/host.c
529d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
530d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct host_data {
531d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *type_str;
532d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
533d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
534d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/hwclock.c
535d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
536d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct hwclock_data {
537d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *fname;
538d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
539d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int utc;
540d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
541d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
542d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/iconv.c
543d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
544d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct iconv_data {
545d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *from;
546d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *to;
547d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
548d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void *ic;
549d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
550d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
551d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/ip.c
552d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
553d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct ip_data {
554d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char stats, singleline, flush, *filter_dev, gbuf[8192];
555d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int sockfd, connected, from_ok, route_cmd;
556d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int8_t addressfamily, is_addr;
557d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
558d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
559d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/ipcrm.c
560d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
561d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct ipcrm_data {
562d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *qkey;
563d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *qid;
564d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *skey;
565d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *sid;
566d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *mkey;
567d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *mid;
568d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
569d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
570d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/ipcs.c
571d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
572d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct ipcs_data {
573d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int id;
574d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
575d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
576d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/klogd.c
577d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
578d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct klogd_data {
579d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long level;
580d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
581d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int fd;
582d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
583d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
584d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/last.c
585d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
586d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct last_data {
587d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *file;
588d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
589d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *list;
590d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
591d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
592d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/logger.c
593d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
594d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct logger_data {
595d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *priority_arg;
596d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *ident;
597d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
598d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
599d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/mke2fs.c
600d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
601d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct mke2fs_data {
602d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  // Command line arguments.
603d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long blocksize;
604d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long bytes_per_inode;
605d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long inodes;           // Total inodes in filesystem.
606d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long reserved_percent; // Integer precent of space to reserve for root.
607d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *gendir;          // Where to read dirtree from.
608d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
609d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  // Internal data.
610d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct dirtree *dt;    // Tree of files to copy into the new filesystem.
611d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned treeblocks;   // Blocks used by dt
612d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned treeinodes;   // Inodes used by dt
613d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
614d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned blocks;       // Total blocks in the filesystem.
615d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned freeblocks;   // Free blocks in the filesystem.
616d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned inodespg;     // Inodes per group
617d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned groups;       // Total number of block groups.
618d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned blockbits;    // Bits per block.  (Also blocks per group.)
619d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
620d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  // For gene2fs
621d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned nextblock;    // Next data block to allocate
622d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned nextgroup;    // Next group we'll be allocating from
623d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int fsfd;              // File descriptor of filesystem (to output to).
624d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
625d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct ext2_superblock sb;
626d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
627d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
628d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/modprobe.c
629d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
630d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct modprobe_data {
631d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *probes;
632d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *dbase[256];
633d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *cmdopts;
634d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int nudeps;
635d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uint8_t symreq;
636d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void (*dbg)(char *format, ...);
637d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
638d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
639d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/more.c
640d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
641d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct more_data {
642d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct termios inf;
643d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int cin_fd;
644d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
645d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
646d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/openvt.c
647d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
648d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct openvt_data {
649d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned long vt_num;
650d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
651d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
652d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/pgrep.c
653d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
654d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct pgrep_data {
655d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long sid;       //-s
656d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long ppid;      //-P
657d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *signame;
658d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
659d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
660d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/ping.c
661d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
662d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct ping_data {
663d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long wait_exit;
664d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long wait_resp;
665d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *iface;
666d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long size;
667d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long count;
668d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long ttl;
669d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
670d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int sock;
671d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
672d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
673d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/ps.c
674d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
675d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct ps_data {
676e56faa856b1b0703b5ae5c085a542622091f51ebElliott Hughes  struct arg_list *o;
67740d36f2bcc386eff740ac03bda24d1516e35820aElliott Hughes
678e56faa856b1b0703b5ae5c085a542622091f51ebElliott Hughes  unsigned width;
679e56faa856b1b0703b5ae5c085a542622091f51ebElliott Hughes  dev_t tty;
680e56faa856b1b0703b5ae5c085a542622091f51ebElliott Hughes  void *fields;
681e56faa856b1b0703b5ae5c085a542622091f51ebElliott Hughes  long uptime;
682d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
683d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
684d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/route.c
685d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
686d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct route_data {
687d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *family;
688d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
689d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
690d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/sh.c
691d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
692d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct sh_data {
693d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *command;
694d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
695d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
696d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/sulogin.c
697d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
698d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct sulogin_data {
699d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long timeout;
700d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct termios crntio;
701d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
702d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
703d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/syslogd.c
704d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
705d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct syslogd_data {
706d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *socket;
707d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *config_file;
708d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *unix_socket;
709d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *logfile;
710d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long interval;
711d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long rot_size;
712d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long rot_count;
713d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *remote_log;
714d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long log_prio;
715d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
716d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct unsocks *lsocks;  // list of listen sockets
717d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct logfile *lfiles;  // list of write logfiles
718d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int sigfd[2];
719d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
720d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
721d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/tar.c
722d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
723d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct tar_data {
724d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *fname;
725d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *dir;
726d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *inc_file;
727d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *exc_file;
728d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *tocmd;
729d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *exc;
730d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
731d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *inc, *pass;
732d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void *inodes, *handle;
733d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
734d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
735d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/tcpsvd.c
736d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
737d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct tcpsvd_data {
738d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *name;
739d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *user;
740d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long bn;
741d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *nmsg;
742d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long cn;
743d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
744d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int maxc;
745d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int count_all;
746d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int udp;
747d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
748d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
749d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/telnet.c
750d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
751d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct telnet_data {
752d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int port;
753d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int sfd;
754d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char buff[128];
755d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int pbuff;
756d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char iac[256];
757d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int piac;
758d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *ttype;
759d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct termios def_term;
760d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct termios raw_term;
761d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uint8_t term_ok;
762d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uint8_t term_mode;
763d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uint8_t flags;
764d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned win_width;
765d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned win_height;
766d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
767d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
768d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/telnetd.c
769d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
770d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct telnetd_data {
771d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *login_path;
772d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *issue_path;
773d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    int port;
774d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    char *host_addr;
775d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    long w_sec;
776d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
777d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    int gmax_fd;
778d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes    pid_t fork_pid;
779d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
780d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
781d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/tftpd.c
782d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
783d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct tftpd_data {
784d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *user;
785d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
786d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long sfd;
787d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct passwd *pw;
788d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
789d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
790d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/top.c
791d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
792d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct top_data {
793d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long iterations;
794d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long delay;
795d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
796d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long cmp_field;
797d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long reverse;
798d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long rows;
799d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long smp;
800d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long threads;
801d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long m_flag;
802d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long num_new_procs;
803d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long scroll_offset;
804d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct termios inf;
805d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
806d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
807d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/tr.c
808d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
809d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct tr_data {
810d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  short map[256]; //map of chars
811d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int len1, len2;
812d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
813d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
814d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/traceroute.c
815d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
816d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct traceroute_data {
817d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long max_ttl;
818d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long port;
819d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long ttl_probes;
820d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *src_ip;
821d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long tos;
822d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long wait_time;
823d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *loose_source;
824d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long pause_time;
825d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long first_ttl;
826d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *iface;
827d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
828d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uint32_t gw_list[9];
829d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int recv_sock;
830d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int snd_sock;
831d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned msg_len;
832d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *packet;
833d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uint32_t ident;
834d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int istraceroute6;
835d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
836d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
837d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/useradd.c
838d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
839d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct useradd_data {
840d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *dir;
841d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *gecos;
842d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *shell;
843d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *u_grp;
844d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long uid;
845d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
846d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long gid;
847d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
848d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
849d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/pending/watch.c
850d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
851d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct watch_data {
852d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int interval;
853d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
854d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
855d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/chgrp.c
856d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
857d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct chgrp_data {
858d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uid_t owner;
859d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  gid_t group;
860d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *owner_name, *group_name;
861d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int symfollow;
862d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
863d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
864d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/chmod.c
865d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
866d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct chmod_data {
867d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *mode;
868d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
869d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
870d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/cksum.c
871d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
872d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct cksum_data {
873d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned crc_table[256];
874d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
875d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
876d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/cmp.c
877d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
878d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct cmp_data {
879d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int fd;
880d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *name;
881d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
882d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
883d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/cp.c
884d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
885d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct cp_data {
886d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  // install's options
887d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *group;
888d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *user;
889d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *mode;
890d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
891d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *destname;
892d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct stat top;
893d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int (*callback)(struct dirtree *try);
894d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uid_t uid;
895d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  gid_t gid;
896d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
897d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
898d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/cpio.c
899d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
900d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct cpio_data {
901d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *archive;
902d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *pass;
903d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *fmt;
904d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
905d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
906d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/cut.c
907d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
908d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct cut_data {
909d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *delim;
910d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *flist;
911d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *clist;
912d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *blist;
913d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
914d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void *slist_head;
915d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned nelem;
916d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void (*do_cut)(int fd);
917d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
918d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
919d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/date.c
920d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
921d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct date_data {
922d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *file;
923d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *setfmt;
924d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *showdate;
925d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
926d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
927d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/df.c
928d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
929d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct df_data {
930d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *fstype;
931d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
932d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long units;
933d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
934d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
935d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/du.c
936d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
937d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct du_data {
938d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long maxdepth;
939d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
940d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long depth, total;
941d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  dev_t st_dev;
942d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void *inodes;
943d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
944d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
945d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/expand.c
946d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
947d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct expand_data {
948d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *tabs;
949d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
950d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned tabcount, *tab;
951d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
952d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
953d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/find.c
954d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
955d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct find_data {
956d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char **filter;
957d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct double_list *argdata;
958d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int topdir, xdev, depth, envsize;
959d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  time_t now;
960d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
961d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
962d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/grep.c
963d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
964d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct grep_data {
965d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long m;
966d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *f;
967d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *e;
968d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
969d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *regex;
970d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
971d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
972d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/head.c
973d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
974d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct head_data {
975d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long lines;
976d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int file_no;
977d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
978d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
979d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/id.c
980d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
981d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct id_data {
9829fe4a3a70d55331fd3e9b3a268778fed3a15c39bElliott Hughes  int do_u, do_n, do_G, do_Z, is_groups;
983d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
984d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
985d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/kill.c
986d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
987d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct kill_data {
988d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *signame;
989d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *olist;
990d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
991d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
992d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/ls.c
993d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
994d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct ls_data {
995d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *color;
996d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
997d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct dirtree *files;
998d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
999d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned screen_width;
1000d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int nl_title;
1001d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char uid_buf[12], gid_buf[12];
1002d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1003d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1004d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/mkdir.c
1005d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1006d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct mkdir_data {
1007d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *arg_mode;
1008d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1009d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1010d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/mkfifo.c
1011d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1012d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct mkfifo_data {
1013d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *m_string;
1014d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  mode_t mode;
1015d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1016d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1017d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/nice.c
1018d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1019d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct nice_data {
1020d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long priority;
1021d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1022d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1023d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/nl.c
1024d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1025d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct nl_data {
1026d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long w;
1027d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *s;
1028d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *n;
1029d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *b;
1030d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long l;
1031d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long v;
1032d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1033d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  // Count of consecutive blank lines for -l has to persist between files
1034d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long lcount;
1035d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1036d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1037d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/od.c
1038d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1039d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct od_data {
1040d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *output_base;
1041d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *address_base;
1042d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long max_count;
1043d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long jump_bytes;
1044d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1045d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int address_idx;
1046d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned types, leftover, star;
1047d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *buf;
1048d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  uint64_t bufs[4]; // force 64-bit alignment
1049d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  off_t pos;
1050d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1051d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1052d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/paste.c
1053d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1054d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct paste_data {
1055d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *delim;
1056d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1057d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1058d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/patch.c
1059d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1060d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct patch_data {
1061d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *infile;
1062d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long prefix;
1063d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1064d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct double_list *current_hunk;
1065d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long oldline, oldlen, newline, newlen;
1066d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long linenum;
1067d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int context, state, filein, fileout, filepatch, hunknum;
1068d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *tempname;
1069d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1070d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1071d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/renice.c
1072d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1073d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct renice_data {
1074d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long nArgu;
1075d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1076d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1077f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes// toys/posix/sed.c
1078f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes
1079f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughesstruct sed_data {
1080f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes  struct arg_list *f;
1081f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes  struct arg_list *e;
1082f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes
1083f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes  // processed pattern list
1084f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes  struct double_list *pattern;
1085f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes
1086f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes  char *nextline, *remember;
1087f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes  void *restart, *lastregex;
1088f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes  long nextlen, rememberlen, count;
1089f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes  int fdout, noeol;
1090f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes  unsigned xx;
1091f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes};
1092f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes
1093d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/sort.c
1094d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1095d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct sort_data {
1096d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *key_separator;
1097d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  struct arg_list *raw_keys;
1098d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *outfile;
1099d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *ignore1, ignore2;   // GNU compatability NOPs for -S and -T.
1100d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1101d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void *key_list;
1102d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int linecount;
1103d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char **lines;
1104d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1105d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1106d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/split.c
1107d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1108d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct split_data {
1109d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long lines;
1110d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long bytes;
1111d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long suflen;
1112d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1113d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *outfile;
1114d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1115d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1116d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/strings.c
1117d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1118d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct strings_data {
1119d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long num;
1120d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1121d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1122d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/tail.c
1123d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1124d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct tail_data {
1125d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long lines;
1126d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long bytes;
1127d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1128d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  int file_no;
1129d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1130d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1131d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/tee.c
1132d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1133d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct tee_data {
1134d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  void *outputs;
1135d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1136d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1137d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/touch.c
1138d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1139d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct touch_data {
1140d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *time;
1141d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *file;
1142d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *date;
1143d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1144d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1145d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/uniq.c
1146d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1147d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct uniq_data {
1148d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long maxchars;
1149d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long nchars;
1150d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long nfields;
1151d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long repeats;
1152d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1153d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1154d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/uudecode.c
1155d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1156d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct uudecode_data {
1157d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *o;
1158d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1159d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1160d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/wc.c
1161d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1162d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct wc_data {
1163d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  unsigned long totals[3];
1164d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1165d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1166d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes// toys/posix/xargs.c
1167d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1168d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesstruct xargs_data {
1169d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long max_bytes;
1170d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long max_entries;
1171d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long L;
1172d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *eofstr;
1173d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char *I;
1174d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1175d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  long entries, bytes;
1176d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes  char delim;
1177d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes};
1178d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes
1179d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughesextern union global_union {
118085cda1a44a0b00f13a49fd7c606e43cfd1328057Elliott Hughes	struct getprop_data getprop;
1181d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct hello_data hello;
1182d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct skeleton_data skeleton;
1183d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct dmesg_data dmesg;
1184d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct killall_data killall;
1185d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct md5sum_data md5sum;
118640d36f2bcc386eff740ac03bda24d1516e35820aElliott Hughes	struct mknod_data mknod;
1187d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct mktemp_data mktemp;
1188d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct mount_data mount;
1189d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct passwd_data passwd;
1190d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct pidof_data pidof;
1191d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct seq_data seq;
1192d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct su_data su;
1193d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct umount_data umount;
1194d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct acpi_data acpi;
1195148622383ae45985d4b44de5a5dd3674a354e0ccElliott Hughes	struct base64_data base64;
1196d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct blockdev_data blockdev;
1197d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct dos2unix_data dos2unix;
1198d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct fallocate_data fallocate;
1199d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct free_data free;
1200584c654efead9619e5a08b387f715882709c3a54Elliott Hughes	struct hexedit_data hexedit;
1201d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct ifconfig_data ifconfig;
1202d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct login_data login;
1203d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct losetup_data losetup;
1204d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct lspci_data lspci;
1205d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct makedevs_data makedevs;
12064ac9dd68f1aa1b97c421cde2300cd250a7a2ab11Elliott Hughes	struct mix_data mix;
1207d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct mkpasswd_data mkpasswd;
1208d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct modinfo_data modinfo;
1209d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct netcat_data netcat;
1210bf65a2e0c8cf53f35ba0ecb7cedc470d51315d94Elliott Hughes	struct nsenter_data nsenter;
1211d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct oneit_data oneit;
121253a43da9b450261eba4490781c734cda29a75b09Elliott Hughes	struct shred_data shred;
1213d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct stat_data stat;
1214d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct swapon_data swapon;
1215d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct switch_root_data switch_root;
1216d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct timeout_data timeout;
1217d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct truncate_data truncate;
1218d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct arp_data arp;
1219d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct arping_data arping;
1220d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct bootchartd_data bootchartd;
1221d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct brctl_data brctl;
1222d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct compress_data compress;
1223d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct crond_data crond;
1224d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct crontab_data crontab;
1225d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct dd_data dd;
1226d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct dhcp_data dhcp;
1227d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct dhcpd_data dhcpd;
1228d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct diff_data diff;
1229d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct dumpleases_data dumpleases;
1230d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct expr_data expr;
1231d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct fdisk_data fdisk;
1232d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct fold_data fold;
1233d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct fsck_data fsck;
1234d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct ftpget_data ftpget;
1235d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct getty_data getty;
1236d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct groupadd_data groupadd;
1237d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct host_data host;
1238d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct hwclock_data hwclock;
1239d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct iconv_data iconv;
1240d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct ip_data ip;
1241d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct ipcrm_data ipcrm;
1242d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct ipcs_data ipcs;
1243d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct klogd_data klogd;
1244d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct last_data last;
1245d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct logger_data logger;
1246d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct mke2fs_data mke2fs;
1247d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct modprobe_data modprobe;
1248d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct more_data more;
1249d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct openvt_data openvt;
1250d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct pgrep_data pgrep;
1251d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct ping_data ping;
1252d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct ps_data ps;
1253d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct route_data route;
1254d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct sh_data sh;
1255d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct sulogin_data sulogin;
1256d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct syslogd_data syslogd;
1257d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct tar_data tar;
1258d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct tcpsvd_data tcpsvd;
1259d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct telnet_data telnet;
1260d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct telnetd_data telnetd;
1261d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct tftpd_data tftpd;
1262d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct top_data top;
1263d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct tr_data tr;
1264d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct traceroute_data traceroute;
1265d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct useradd_data useradd;
1266d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct watch_data watch;
1267d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct chgrp_data chgrp;
1268d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct chmod_data chmod;
1269d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct cksum_data cksum;
1270d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct cmp_data cmp;
1271d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct cp_data cp;
1272d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct cpio_data cpio;
1273d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct cut_data cut;
1274d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct date_data date;
1275d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct df_data df;
1276d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct du_data du;
1277d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct expand_data expand;
1278d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct find_data find;
1279d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct grep_data grep;
1280d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct head_data head;
1281d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct id_data id;
1282d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct kill_data kill;
1283d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct ls_data ls;
1284d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct mkdir_data mkdir;
1285d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct mkfifo_data mkfifo;
1286d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct nice_data nice;
1287d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct nl_data nl;
1288d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct od_data od;
1289d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct paste_data paste;
1290d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct patch_data patch;
1291d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct renice_data renice;
1292f9551b31dc3cfd3816c40fcdb1121da6741c2be7Elliott Hughes	struct sed_data sed;
1293d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct sort_data sort;
1294d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct split_data split;
1295d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct strings_data strings;
1296d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct tail_data tail;
1297d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct tee_data tee;
1298d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct touch_data touch;
1299d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct uniq_data uniq;
1300d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct uudecode_data uudecode;
1301d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct wc_data wc;
1302d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes	struct xargs_data xargs;
1303d8d2d3c44e552f4e53708db5ea60a7f91a382c0fElliott Hughes} this;
1304