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