xref: /aosp_15_r20/external/toybox/android/mac/generated/globals.h (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker struct gzip_data {
2*cf5a6c84SAndroid Build Coastguard Worker   int level;
3*cf5a6c84SAndroid Build Coastguard Worker };
4*cf5a6c84SAndroid Build Coastguard Worker 
5*cf5a6c84SAndroid Build Coastguard Worker struct hostname_data {
6*cf5a6c84SAndroid Build Coastguard Worker   char *F;
7*cf5a6c84SAndroid Build Coastguard Worker };
8*cf5a6c84SAndroid Build Coastguard Worker 
9*cf5a6c84SAndroid Build Coastguard Worker struct md5sum_data {
10*cf5a6c84SAndroid Build Coastguard Worker   int sawline;
11*cf5a6c84SAndroid Build Coastguard Worker };
12*cf5a6c84SAndroid Build Coastguard Worker 
13*cf5a6c84SAndroid Build Coastguard Worker struct mktemp_data {
14*cf5a6c84SAndroid Build Coastguard Worker   char *p, *tmpdir;
15*cf5a6c84SAndroid Build Coastguard Worker };
16*cf5a6c84SAndroid Build Coastguard Worker 
17*cf5a6c84SAndroid Build Coastguard Worker struct seq_data {
18*cf5a6c84SAndroid Build Coastguard Worker   char *s, *f;
19*cf5a6c84SAndroid Build Coastguard Worker 
20*cf5a6c84SAndroid Build Coastguard Worker   int precision, buflen;
21*cf5a6c84SAndroid Build Coastguard Worker };
22*cf5a6c84SAndroid Build Coastguard Worker 
23*cf5a6c84SAndroid Build Coastguard Worker struct microcom_data {
24*cf5a6c84SAndroid Build Coastguard Worker   long s;
25*cf5a6c84SAndroid Build Coastguard Worker 
26*cf5a6c84SAndroid Build Coastguard Worker   int fd, stok;
27*cf5a6c84SAndroid Build Coastguard Worker   struct termios old_stdin, old_fd;
28*cf5a6c84SAndroid Build Coastguard Worker };
29*cf5a6c84SAndroid Build Coastguard Worker 
30*cf5a6c84SAndroid Build Coastguard Worker struct dos2unix_data {
31*cf5a6c84SAndroid Build Coastguard Worker   char *tempfile;
32*cf5a6c84SAndroid Build Coastguard Worker };
33*cf5a6c84SAndroid Build Coastguard Worker 
34*cf5a6c84SAndroid Build Coastguard Worker struct getopt_data {
35*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list *l;
36*cf5a6c84SAndroid Build Coastguard Worker   char *o, *n;
37*cf5a6c84SAndroid Build Coastguard Worker };
38*cf5a6c84SAndroid Build Coastguard Worker 
39*cf5a6c84SAndroid Build Coastguard Worker struct realpath_data {
40*cf5a6c84SAndroid Build Coastguard Worker   char *R, *relative_base;
41*cf5a6c84SAndroid Build Coastguard Worker };
42*cf5a6c84SAndroid Build Coastguard Worker 
43*cf5a6c84SAndroid Build Coastguard Worker struct setsid_data {
44*cf5a6c84SAndroid Build Coastguard Worker   long c;
45*cf5a6c84SAndroid Build Coastguard Worker };
46*cf5a6c84SAndroid Build Coastguard Worker 
47*cf5a6c84SAndroid Build Coastguard Worker struct stat_data {
48*cf5a6c84SAndroid Build Coastguard Worker   char *c;
49*cf5a6c84SAndroid Build Coastguard Worker 
50*cf5a6c84SAndroid Build Coastguard Worker   union {
51*cf5a6c84SAndroid Build Coastguard Worker     struct stat st;
52*cf5a6c84SAndroid Build Coastguard Worker     struct statfs sf;
53*cf5a6c84SAndroid Build Coastguard Worker   } stat;
54*cf5a6c84SAndroid Build Coastguard Worker   char *file, *pattern;
55*cf5a6c84SAndroid Build Coastguard Worker   int patlen;
56*cf5a6c84SAndroid Build Coastguard Worker };
57*cf5a6c84SAndroid Build Coastguard Worker 
58*cf5a6c84SAndroid Build Coastguard Worker struct timeout_data {
59*cf5a6c84SAndroid Build Coastguard Worker   char *s, *k;
60*cf5a6c84SAndroid Build Coastguard Worker 
61*cf5a6c84SAndroid Build Coastguard Worker   struct pollfd pfd;
62*cf5a6c84SAndroid Build Coastguard Worker   sigjmp_buf sj;
63*cf5a6c84SAndroid Build Coastguard Worker   int fds[2], pid, rc;
64*cf5a6c84SAndroid Build Coastguard Worker };
65*cf5a6c84SAndroid Build Coastguard Worker 
66*cf5a6c84SAndroid Build Coastguard Worker struct truncate_data {
67*cf5a6c84SAndroid Build Coastguard Worker   char *s;
68*cf5a6c84SAndroid Build Coastguard Worker 
69*cf5a6c84SAndroid Build Coastguard Worker   long long size;
70*cf5a6c84SAndroid Build Coastguard Worker   int type;
71*cf5a6c84SAndroid Build Coastguard Worker };
72*cf5a6c84SAndroid Build Coastguard Worker 
73*cf5a6c84SAndroid Build Coastguard Worker struct xxd_data {
74*cf5a6c84SAndroid Build Coastguard Worker   long s, g, o, l, c;
75*cf5a6c84SAndroid Build Coastguard Worker };
76*cf5a6c84SAndroid Build Coastguard Worker 
77*cf5a6c84SAndroid Build Coastguard Worker struct diff_data {
78*cf5a6c84SAndroid Build Coastguard Worker   long U;
79*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list *L;
80*cf5a6c84SAndroid Build Coastguard Worker   char *F, *S, *new_line_format, *old_line_format, *unchanged_line_format;
81*cf5a6c84SAndroid Build Coastguard Worker 
82*cf5a6c84SAndroid Build Coastguard Worker   int dir_num, size, is_binary, is_symlink, differ, change, len[2], *offset[2];
83*cf5a6c84SAndroid Build Coastguard Worker   struct stat st[2];
84*cf5a6c84SAndroid Build Coastguard Worker   struct {
85*cf5a6c84SAndroid Build Coastguard Worker     char **list;
86*cf5a6c84SAndroid Build Coastguard Worker     int nr_elm;
87*cf5a6c84SAndroid Build Coastguard Worker   } dir[2];
88*cf5a6c84SAndroid Build Coastguard Worker   struct {
89*cf5a6c84SAndroid Build Coastguard Worker     FILE *fp;
90*cf5a6c84SAndroid Build Coastguard Worker     int len;
91*cf5a6c84SAndroid Build Coastguard Worker   } file[2];
92*cf5a6c84SAndroid Build Coastguard Worker   struct {
93*cf5a6c84SAndroid Build Coastguard Worker     char *name;
94*cf5a6c84SAndroid Build Coastguard Worker     int len;
95*cf5a6c84SAndroid Build Coastguard Worker   } link[2];
96*cf5a6c84SAndroid Build Coastguard Worker };
97*cf5a6c84SAndroid Build Coastguard Worker 
98*cf5a6c84SAndroid Build Coastguard Worker struct expr_data {
99*cf5a6c84SAndroid Build Coastguard Worker   char **tok, *delete;
100*cf5a6c84SAndroid Build Coastguard Worker };
101*cf5a6c84SAndroid Build Coastguard Worker 
102*cf5a6c84SAndroid Build Coastguard Worker struct tr_data {
103*cf5a6c84SAndroid Build Coastguard Worker   short *map;
104*cf5a6c84SAndroid Build Coastguard Worker   int len1, len2;
105*cf5a6c84SAndroid Build Coastguard Worker };
106*cf5a6c84SAndroid Build Coastguard Worker 
107*cf5a6c84SAndroid Build Coastguard Worker struct basename_data {
108*cf5a6c84SAndroid Build Coastguard Worker   char *s;
109*cf5a6c84SAndroid Build Coastguard Worker };
110*cf5a6c84SAndroid Build Coastguard Worker 
111*cf5a6c84SAndroid Build Coastguard Worker struct chmod_data {
112*cf5a6c84SAndroid Build Coastguard Worker   char *mode;
113*cf5a6c84SAndroid Build Coastguard Worker };
114*cf5a6c84SAndroid Build Coastguard Worker 
115*cf5a6c84SAndroid Build Coastguard Worker struct cmp_data {
116*cf5a6c84SAndroid Build Coastguard Worker   long n;
117*cf5a6c84SAndroid Build Coastguard Worker 
118*cf5a6c84SAndroid Build Coastguard Worker   int fd;
119*cf5a6c84SAndroid Build Coastguard Worker   char *name;
120*cf5a6c84SAndroid Build Coastguard Worker };
121*cf5a6c84SAndroid Build Coastguard Worker 
122*cf5a6c84SAndroid Build Coastguard Worker struct cp_data {
123*cf5a6c84SAndroid Build Coastguard Worker   union {
124*cf5a6c84SAndroid Build Coastguard Worker     // install's options
125*cf5a6c84SAndroid Build Coastguard Worker     struct {
126*cf5a6c84SAndroid Build Coastguard Worker       char *g, *o, *m, *t;
127*cf5a6c84SAndroid Build Coastguard Worker     } i;
128*cf5a6c84SAndroid Build Coastguard Worker     // cp's options
129*cf5a6c84SAndroid Build Coastguard Worker     struct {
130*cf5a6c84SAndroid Build Coastguard Worker       char *t, *preserve;
131*cf5a6c84SAndroid Build Coastguard Worker     } c;
132*cf5a6c84SAndroid Build Coastguard Worker   };
133*cf5a6c84SAndroid Build Coastguard Worker 
134*cf5a6c84SAndroid Build Coastguard Worker   char *destname;
135*cf5a6c84SAndroid Build Coastguard Worker   struct stat top;
136*cf5a6c84SAndroid Build Coastguard Worker   int (*callback)(struct dirtree *try);
137*cf5a6c84SAndroid Build Coastguard Worker   uid_t uid;
138*cf5a6c84SAndroid Build Coastguard Worker   gid_t gid;
139*cf5a6c84SAndroid Build Coastguard Worker   int pflags;
140*cf5a6c84SAndroid Build Coastguard Worker };
141*cf5a6c84SAndroid Build Coastguard Worker 
142*cf5a6c84SAndroid Build Coastguard Worker struct cpio_data {
143*cf5a6c84SAndroid Build Coastguard Worker   char *F, *H, *R;
144*cf5a6c84SAndroid Build Coastguard Worker };
145*cf5a6c84SAndroid Build Coastguard Worker 
146*cf5a6c84SAndroid Build Coastguard Worker struct cut_data {
147*cf5a6c84SAndroid Build Coastguard Worker   char *d, *O;
148*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list *select[5]; // we treat them the same, so loop through
149*cf5a6c84SAndroid Build Coastguard Worker 
150*cf5a6c84SAndroid Build Coastguard Worker   unsigned line;
151*cf5a6c84SAndroid Build Coastguard Worker   int pairs;
152*cf5a6c84SAndroid Build Coastguard Worker   regex_t reg;
153*cf5a6c84SAndroid Build Coastguard Worker };
154*cf5a6c84SAndroid Build Coastguard Worker 
155*cf5a6c84SAndroid Build Coastguard Worker struct date_data {
156*cf5a6c84SAndroid Build Coastguard Worker   char *s, *r, *I, *D, *d;
157*cf5a6c84SAndroid Build Coastguard Worker 
158*cf5a6c84SAndroid Build Coastguard Worker   unsigned nano;
159*cf5a6c84SAndroid Build Coastguard Worker };
160*cf5a6c84SAndroid Build Coastguard Worker 
161*cf5a6c84SAndroid Build Coastguard Worker struct dd_data {
162*cf5a6c84SAndroid Build Coastguard Worker   // Display fields
163*cf5a6c84SAndroid Build Coastguard Worker   int show_xfer, show_records;
164*cf5a6c84SAndroid Build Coastguard Worker   unsigned long long bytes, in_full, in_part, out_full, out_part, start;
165*cf5a6c84SAndroid Build Coastguard Worker };
166*cf5a6c84SAndroid Build Coastguard Worker 
167*cf5a6c84SAndroid Build Coastguard Worker struct du_data {
168*cf5a6c84SAndroid Build Coastguard Worker   long d;
169*cf5a6c84SAndroid Build Coastguard Worker 
170*cf5a6c84SAndroid Build Coastguard Worker   unsigned long depth, total;
171*cf5a6c84SAndroid Build Coastguard Worker   dev_t st_dev;
172*cf5a6c84SAndroid Build Coastguard Worker   void *inodes;
173*cf5a6c84SAndroid Build Coastguard Worker };
174*cf5a6c84SAndroid Build Coastguard Worker 
175*cf5a6c84SAndroid Build Coastguard Worker struct env_data {
176*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list *u;
177*cf5a6c84SAndroid Build Coastguard Worker   char *e;
178*cf5a6c84SAndroid Build Coastguard Worker };
179*cf5a6c84SAndroid Build Coastguard Worker 
180*cf5a6c84SAndroid Build Coastguard Worker struct file_data {
181*cf5a6c84SAndroid Build Coastguard Worker   int max_name_len;
182*cf5a6c84SAndroid Build Coastguard Worker   off_t len;
183*cf5a6c84SAndroid Build Coastguard Worker };
184*cf5a6c84SAndroid Build Coastguard Worker 
185*cf5a6c84SAndroid Build Coastguard Worker struct find_data {
186*cf5a6c84SAndroid Build Coastguard Worker   char **filter;
187*cf5a6c84SAndroid Build Coastguard Worker   struct double_list *argdata;
188*cf5a6c84SAndroid Build Coastguard Worker   int topdir, xdev, depth;
189*cf5a6c84SAndroid Build Coastguard Worker   time_t now;
190*cf5a6c84SAndroid Build Coastguard Worker   long max_bytes;
191*cf5a6c84SAndroid Build Coastguard Worker   char *start;
192*cf5a6c84SAndroid Build Coastguard Worker };
193*cf5a6c84SAndroid Build Coastguard Worker 
194*cf5a6c84SAndroid Build Coastguard Worker struct grep_data {
195*cf5a6c84SAndroid Build Coastguard Worker   long m, A, B, C;
196*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list *f, *e, *M, *S, *exclude_dir;
197*cf5a6c84SAndroid Build Coastguard Worker   char *color;
198*cf5a6c84SAndroid Build Coastguard Worker 
199*cf5a6c84SAndroid Build Coastguard Worker   char *purple, *cyan, *red, *green, *grey;
200*cf5a6c84SAndroid Build Coastguard Worker   struct double_list *reg;
201*cf5a6c84SAndroid Build Coastguard Worker   int found, tried, delim;
202*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list **fixed;
203*cf5a6c84SAndroid Build Coastguard Worker };
204*cf5a6c84SAndroid Build Coastguard Worker 
205*cf5a6c84SAndroid Build Coastguard Worker struct head_data {
206*cf5a6c84SAndroid Build Coastguard Worker   long c, n;
207*cf5a6c84SAndroid Build Coastguard Worker 
208*cf5a6c84SAndroid Build Coastguard Worker   int file_no;
209*cf5a6c84SAndroid Build Coastguard Worker };
210*cf5a6c84SAndroid Build Coastguard Worker 
211*cf5a6c84SAndroid Build Coastguard Worker struct id_data {
212*cf5a6c84SAndroid Build Coastguard Worker   int is_groups;
213*cf5a6c84SAndroid Build Coastguard Worker };
214*cf5a6c84SAndroid Build Coastguard Worker 
215*cf5a6c84SAndroid Build Coastguard Worker struct ln_data {
216*cf5a6c84SAndroid Build Coastguard Worker   char *t;
217*cf5a6c84SAndroid Build Coastguard Worker };
218*cf5a6c84SAndroid Build Coastguard Worker 
219*cf5a6c84SAndroid Build Coastguard Worker struct ls_data {
220*cf5a6c84SAndroid Build Coastguard Worker   long w, l, block_size;
221*cf5a6c84SAndroid Build Coastguard Worker   char *color, *sort;
222*cf5a6c84SAndroid Build Coastguard Worker 
223*cf5a6c84SAndroid Build Coastguard Worker   struct dirtree *files, *singledir;
224*cf5a6c84SAndroid Build Coastguard Worker   unsigned screen_width;
225*cf5a6c84SAndroid Build Coastguard Worker   int nl_title;
226*cf5a6c84SAndroid Build Coastguard Worker   char *escmore;
227*cf5a6c84SAndroid Build Coastguard Worker };
228*cf5a6c84SAndroid Build Coastguard Worker 
229*cf5a6c84SAndroid Build Coastguard Worker struct mkdir_data {
230*cf5a6c84SAndroid Build Coastguard Worker   char *m, *Z;
231*cf5a6c84SAndroid Build Coastguard Worker };
232*cf5a6c84SAndroid Build Coastguard Worker 
233*cf5a6c84SAndroid Build Coastguard Worker struct nl_data {
234*cf5a6c84SAndroid Build Coastguard Worker   char *s, *n, *b;
235*cf5a6c84SAndroid Build Coastguard Worker   long w, l, v;
236*cf5a6c84SAndroid Build Coastguard Worker 
237*cf5a6c84SAndroid Build Coastguard Worker   // Count of consecutive blank lines for -l has to persist between files
238*cf5a6c84SAndroid Build Coastguard Worker   long lcount, slen;
239*cf5a6c84SAndroid Build Coastguard Worker };
240*cf5a6c84SAndroid Build Coastguard Worker 
241*cf5a6c84SAndroid Build Coastguard Worker struct od_data {
242*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list *t;
243*cf5a6c84SAndroid Build Coastguard Worker   char *A;
244*cf5a6c84SAndroid Build Coastguard Worker   long N, w, j;
245*cf5a6c84SAndroid Build Coastguard Worker 
246*cf5a6c84SAndroid Build Coastguard Worker   int address_idx;
247*cf5a6c84SAndroid Build Coastguard Worker   unsigned types, leftover, star;
248*cf5a6c84SAndroid Build Coastguard Worker   char *buf; // Points to buffers[0] or buffers[1].
249*cf5a6c84SAndroid Build Coastguard Worker   char *bufs[2]; // Used to detect duplicate lines.
250*cf5a6c84SAndroid Build Coastguard Worker   off_t pos;
251*cf5a6c84SAndroid Build Coastguard Worker };
252*cf5a6c84SAndroid Build Coastguard Worker 
253*cf5a6c84SAndroid Build Coastguard Worker struct paste_data {
254*cf5a6c84SAndroid Build Coastguard Worker   char *d;
255*cf5a6c84SAndroid Build Coastguard Worker 
256*cf5a6c84SAndroid Build Coastguard Worker   int files;
257*cf5a6c84SAndroid Build Coastguard Worker };
258*cf5a6c84SAndroid Build Coastguard Worker 
259*cf5a6c84SAndroid Build Coastguard Worker struct patch_data {
260*cf5a6c84SAndroid Build Coastguard Worker   char *i, *d;
261*cf5a6c84SAndroid Build Coastguard Worker   long v, p, g, F;
262*cf5a6c84SAndroid Build Coastguard Worker 
263*cf5a6c84SAndroid Build Coastguard Worker   void *current_hunk;
264*cf5a6c84SAndroid Build Coastguard Worker   long oldline, oldlen, newline, newlen, linenum, outnum;
265*cf5a6c84SAndroid Build Coastguard Worker   int context, state, filein, fileout, filepatch, hunknum;
266*cf5a6c84SAndroid Build Coastguard Worker   char *tempname;
267*cf5a6c84SAndroid Build Coastguard Worker };
268*cf5a6c84SAndroid Build Coastguard Worker 
269*cf5a6c84SAndroid Build Coastguard Worker struct sed_data {
270*cf5a6c84SAndroid Build Coastguard Worker   char *i;
271*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list *f, *e;
272*cf5a6c84SAndroid Build Coastguard Worker 
273*cf5a6c84SAndroid Build Coastguard Worker   // processed pattern list
274*cf5a6c84SAndroid Build Coastguard Worker   struct double_list *pattern;
275*cf5a6c84SAndroid Build Coastguard Worker 
276*cf5a6c84SAndroid Build Coastguard Worker   char *nextline, *remember, *tarxform;
277*cf5a6c84SAndroid Build Coastguard Worker   void *restart, *lastregex;
278*cf5a6c84SAndroid Build Coastguard Worker   long nextlen, rememberlen, count;
279*cf5a6c84SAndroid Build Coastguard Worker   int fdout, noeol;
280*cf5a6c84SAndroid Build Coastguard Worker   unsigned xx, tarxlen, xflags;
281*cf5a6c84SAndroid Build Coastguard Worker   char delim, xftype;
282*cf5a6c84SAndroid Build Coastguard Worker };
283*cf5a6c84SAndroid Build Coastguard Worker 
284*cf5a6c84SAndroid Build Coastguard Worker struct sort_data {
285*cf5a6c84SAndroid Build Coastguard Worker   char *t;
286*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list *k;
287*cf5a6c84SAndroid Build Coastguard Worker   char *o, *T, S;
288*cf5a6c84SAndroid Build Coastguard Worker 
289*cf5a6c84SAndroid Build Coastguard Worker   void *key_list;
290*cf5a6c84SAndroid Build Coastguard Worker   unsigned linecount;
291*cf5a6c84SAndroid Build Coastguard Worker   char **lines, *name;
292*cf5a6c84SAndroid Build Coastguard Worker };
293*cf5a6c84SAndroid Build Coastguard Worker 
294*cf5a6c84SAndroid Build Coastguard Worker struct tail_data {
295*cf5a6c84SAndroid Build Coastguard Worker   long n, c;
296*cf5a6c84SAndroid Build Coastguard Worker   char *s;
297*cf5a6c84SAndroid Build Coastguard Worker 
298*cf5a6c84SAndroid Build Coastguard Worker   int file_no, last_fd, ss;
299*cf5a6c84SAndroid Build Coastguard Worker   struct xnotify *not;
300*cf5a6c84SAndroid Build Coastguard Worker   struct {
301*cf5a6c84SAndroid Build Coastguard Worker     char *path;
302*cf5a6c84SAndroid Build Coastguard Worker     int fd;
303*cf5a6c84SAndroid Build Coastguard Worker     struct dev_ino di;
304*cf5a6c84SAndroid Build Coastguard Worker   } *F;
305*cf5a6c84SAndroid Build Coastguard Worker };
306*cf5a6c84SAndroid Build Coastguard Worker 
307*cf5a6c84SAndroid Build Coastguard Worker struct tar_data {
308*cf5a6c84SAndroid Build Coastguard Worker   char *f, *C, *I;
309*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list *T, *X, *xform;
310*cf5a6c84SAndroid Build Coastguard Worker   long strip;
311*cf5a6c84SAndroid Build Coastguard Worker   char *to_command, *owner, *group, *mtime, *mode, *sort;
312*cf5a6c84SAndroid Build Coastguard Worker   struct arg_list *exclude;
313*cf5a6c84SAndroid Build Coastguard Worker 
314*cf5a6c84SAndroid Build Coastguard Worker   struct double_list *incl, *excl, *seen;
315*cf5a6c84SAndroid Build Coastguard Worker   struct string_list *dirs;
316*cf5a6c84SAndroid Build Coastguard Worker   char *cwd, **xfsed;
317*cf5a6c84SAndroid Build Coastguard Worker   int fd, ouid, ggid, hlc, warn, sparselen, pid, xfpipe[2];
318*cf5a6c84SAndroid Build Coastguard Worker   struct dev_ino archive_di;
319*cf5a6c84SAndroid Build Coastguard Worker   long long *sparse;
320*cf5a6c84SAndroid Build Coastguard Worker   time_t mtt;
321*cf5a6c84SAndroid Build Coastguard Worker 
322*cf5a6c84SAndroid Build Coastguard Worker   // hardlinks seen so far (hlc many)
323*cf5a6c84SAndroid Build Coastguard Worker   struct {
324*cf5a6c84SAndroid Build Coastguard Worker     char *arg;
325*cf5a6c84SAndroid Build Coastguard Worker     struct dev_ino di;
326*cf5a6c84SAndroid Build Coastguard Worker   } *hlx;
327*cf5a6c84SAndroid Build Coastguard Worker 
328*cf5a6c84SAndroid Build Coastguard Worker   // Parsed information about a tar header.
329*cf5a6c84SAndroid Build Coastguard Worker   struct tar_header {
330*cf5a6c84SAndroid Build Coastguard Worker     char *name, *link_target, *uname, *gname;
331*cf5a6c84SAndroid Build Coastguard Worker     long long size, ssize, oldsparse;
332*cf5a6c84SAndroid Build Coastguard Worker     uid_t uid;
333*cf5a6c84SAndroid Build Coastguard Worker     gid_t gid;
334*cf5a6c84SAndroid Build Coastguard Worker     mode_t mode;
335*cf5a6c84SAndroid Build Coastguard Worker     time_t mtime;
336*cf5a6c84SAndroid Build Coastguard Worker     dev_t device;
337*cf5a6c84SAndroid Build Coastguard Worker   } hdr;
338*cf5a6c84SAndroid Build Coastguard Worker };
339*cf5a6c84SAndroid Build Coastguard Worker 
340*cf5a6c84SAndroid Build Coastguard Worker struct tee_data {
341*cf5a6c84SAndroid Build Coastguard Worker   void *outputs;
342*cf5a6c84SAndroid Build Coastguard Worker   int out;
343*cf5a6c84SAndroid Build Coastguard Worker };
344*cf5a6c84SAndroid Build Coastguard Worker 
345*cf5a6c84SAndroid Build Coastguard Worker struct touch_data {
346*cf5a6c84SAndroid Build Coastguard Worker   char *t, *r, *d;
347*cf5a6c84SAndroid Build Coastguard Worker };
348*cf5a6c84SAndroid Build Coastguard Worker 
349*cf5a6c84SAndroid Build Coastguard Worker struct uniq_data {
350*cf5a6c84SAndroid Build Coastguard Worker   long w, s, f;
351*cf5a6c84SAndroid Build Coastguard Worker 
352*cf5a6c84SAndroid Build Coastguard Worker   long repeats;
353*cf5a6c84SAndroid Build Coastguard Worker };
354*cf5a6c84SAndroid Build Coastguard Worker 
355*cf5a6c84SAndroid Build Coastguard Worker struct wc_data {
356*cf5a6c84SAndroid Build Coastguard Worker   unsigned long totals[5];
357*cf5a6c84SAndroid Build Coastguard Worker };
358*cf5a6c84SAndroid Build Coastguard Worker 
359*cf5a6c84SAndroid Build Coastguard Worker struct xargs_data {
360*cf5a6c84SAndroid Build Coastguard Worker   long s, n, P;
361*cf5a6c84SAndroid Build Coastguard Worker   char *E;
362*cf5a6c84SAndroid Build Coastguard Worker 
363*cf5a6c84SAndroid Build Coastguard Worker   long entries, bytes, np;
364*cf5a6c84SAndroid Build Coastguard Worker   char delim;
365*cf5a6c84SAndroid Build Coastguard Worker   FILE *tty;
366*cf5a6c84SAndroid Build Coastguard Worker };
367*cf5a6c84SAndroid Build Coastguard Worker extern union global_union {
368*cf5a6c84SAndroid Build Coastguard Worker 	struct gzip_data gzip;
369*cf5a6c84SAndroid Build Coastguard Worker 	struct hostname_data hostname;
370*cf5a6c84SAndroid Build Coastguard Worker 	struct md5sum_data md5sum;
371*cf5a6c84SAndroid Build Coastguard Worker 	struct mktemp_data mktemp;
372*cf5a6c84SAndroid Build Coastguard Worker 	struct seq_data seq;
373*cf5a6c84SAndroid Build Coastguard Worker 	struct microcom_data microcom;
374*cf5a6c84SAndroid Build Coastguard Worker 	struct dos2unix_data dos2unix;
375*cf5a6c84SAndroid Build Coastguard Worker 	struct getopt_data getopt;
376*cf5a6c84SAndroid Build Coastguard Worker 	struct realpath_data realpath;
377*cf5a6c84SAndroid Build Coastguard Worker 	struct setsid_data setsid;
378*cf5a6c84SAndroid Build Coastguard Worker 	struct stat_data stat;
379*cf5a6c84SAndroid Build Coastguard Worker 	struct timeout_data timeout;
380*cf5a6c84SAndroid Build Coastguard Worker 	struct truncate_data truncate;
381*cf5a6c84SAndroid Build Coastguard Worker 	struct xxd_data xxd;
382*cf5a6c84SAndroid Build Coastguard Worker 	struct diff_data diff;
383*cf5a6c84SAndroid Build Coastguard Worker 	struct expr_data expr;
384*cf5a6c84SAndroid Build Coastguard Worker 	struct tr_data tr;
385*cf5a6c84SAndroid Build Coastguard Worker 	struct basename_data basename;
386*cf5a6c84SAndroid Build Coastguard Worker 	struct chmod_data chmod;
387*cf5a6c84SAndroid Build Coastguard Worker 	struct cmp_data cmp;
388*cf5a6c84SAndroid Build Coastguard Worker 	struct cp_data cp;
389*cf5a6c84SAndroid Build Coastguard Worker 	struct cpio_data cpio;
390*cf5a6c84SAndroid Build Coastguard Worker 	struct cut_data cut;
391*cf5a6c84SAndroid Build Coastguard Worker 	struct date_data date;
392*cf5a6c84SAndroid Build Coastguard Worker 	struct dd_data dd;
393*cf5a6c84SAndroid Build Coastguard Worker 	struct du_data du;
394*cf5a6c84SAndroid Build Coastguard Worker 	struct env_data env;
395*cf5a6c84SAndroid Build Coastguard Worker 	struct file_data file;
396*cf5a6c84SAndroid Build Coastguard Worker 	struct find_data find;
397*cf5a6c84SAndroid Build Coastguard Worker 	struct grep_data grep;
398*cf5a6c84SAndroid Build Coastguard Worker 	struct head_data head;
399*cf5a6c84SAndroid Build Coastguard Worker 	struct id_data id;
400*cf5a6c84SAndroid Build Coastguard Worker 	struct ln_data ln;
401*cf5a6c84SAndroid Build Coastguard Worker 	struct ls_data ls;
402*cf5a6c84SAndroid Build Coastguard Worker 	struct mkdir_data mkdir;
403*cf5a6c84SAndroid Build Coastguard Worker 	struct nl_data nl;
404*cf5a6c84SAndroid Build Coastguard Worker 	struct od_data od;
405*cf5a6c84SAndroid Build Coastguard Worker 	struct paste_data paste;
406*cf5a6c84SAndroid Build Coastguard Worker 	struct patch_data patch;
407*cf5a6c84SAndroid Build Coastguard Worker 	struct sed_data sed;
408*cf5a6c84SAndroid Build Coastguard Worker 	struct sort_data sort;
409*cf5a6c84SAndroid Build Coastguard Worker 	struct tail_data tail;
410*cf5a6c84SAndroid Build Coastguard Worker 	struct tar_data tar;
411*cf5a6c84SAndroid Build Coastguard Worker 	struct tee_data tee;
412*cf5a6c84SAndroid Build Coastguard Worker 	struct touch_data touch;
413*cf5a6c84SAndroid Build Coastguard Worker 	struct uniq_data uniq;
414*cf5a6c84SAndroid Build Coastguard Worker 	struct wc_data wc;
415*cf5a6c84SAndroid Build Coastguard Worker 	struct xargs_data xargs;
416*cf5a6c84SAndroid Build Coastguard Worker } this;
417