10f66f451Sopenharmony_ci// toys/android/log.c
20f66f451Sopenharmony_ci
30f66f451Sopenharmony_cistruct log_data {
40f66f451Sopenharmony_ci  char *t, *p;
50f66f451Sopenharmony_ci};
60f66f451Sopenharmony_ci
70f66f451Sopenharmony_ci// toys/example/demo_number.c
80f66f451Sopenharmony_ci
90f66f451Sopenharmony_cistruct demo_number_data {
100f66f451Sopenharmony_ci  long D;
110f66f451Sopenharmony_ci};
120f66f451Sopenharmony_ci
130f66f451Sopenharmony_ci// toys/example/hello.c
140f66f451Sopenharmony_ci
150f66f451Sopenharmony_cistruct hello_data {
160f66f451Sopenharmony_ci  int unused;
170f66f451Sopenharmony_ci};
180f66f451Sopenharmony_ci
190f66f451Sopenharmony_ci// toys/example/skeleton.c
200f66f451Sopenharmony_ci
210f66f451Sopenharmony_cistruct skeleton_data {
220f66f451Sopenharmony_ci  union {
230f66f451Sopenharmony_ci    struct {
240f66f451Sopenharmony_ci      char *b;
250f66f451Sopenharmony_ci      long c;
260f66f451Sopenharmony_ci      struct arg_list *d;
270f66f451Sopenharmony_ci      long e;
280f66f451Sopenharmony_ci      char *also, *blubber;
290f66f451Sopenharmony_ci    } s;
300f66f451Sopenharmony_ci    struct {
310f66f451Sopenharmony_ci      long b;
320f66f451Sopenharmony_ci    } a;
330f66f451Sopenharmony_ci  };
340f66f451Sopenharmony_ci
350f66f451Sopenharmony_ci  int more_globals;
360f66f451Sopenharmony_ci};
370f66f451Sopenharmony_ci
380f66f451Sopenharmony_ci// toys/lsb/dmesg.c
390f66f451Sopenharmony_ci
400f66f451Sopenharmony_cistruct dmesg_data {
410f66f451Sopenharmony_ci  long n, s;
420f66f451Sopenharmony_ci
430f66f451Sopenharmony_ci  int use_color;
440f66f451Sopenharmony_ci  time_t tea;
450f66f451Sopenharmony_ci};
460f66f451Sopenharmony_ci
470f66f451Sopenharmony_ci// toys/lsb/gzip.c
480f66f451Sopenharmony_ci
490f66f451Sopenharmony_cistruct gzip_data {
500f66f451Sopenharmony_ci  int level;
510f66f451Sopenharmony_ci};
520f66f451Sopenharmony_ci
530f66f451Sopenharmony_ci// toys/lsb/hostname.c
540f66f451Sopenharmony_ci
550f66f451Sopenharmony_cistruct hostname_data {
560f66f451Sopenharmony_ci  char *F;
570f66f451Sopenharmony_ci};
580f66f451Sopenharmony_ci
590f66f451Sopenharmony_ci// toys/lsb/killall.c
600f66f451Sopenharmony_ci
610f66f451Sopenharmony_cistruct killall_data {
620f66f451Sopenharmony_ci  char *s;
630f66f451Sopenharmony_ci
640f66f451Sopenharmony_ci  int signum;
650f66f451Sopenharmony_ci  pid_t cur_pid;
660f66f451Sopenharmony_ci  char **names;
670f66f451Sopenharmony_ci  short *err;
680f66f451Sopenharmony_ci  struct int_list { struct int_list *next; int val; } *pids;
690f66f451Sopenharmony_ci};
700f66f451Sopenharmony_ci
710f66f451Sopenharmony_ci// toys/lsb/md5sum.c
720f66f451Sopenharmony_ci
730f66f451Sopenharmony_cistruct md5sum_data {
740f66f451Sopenharmony_ci  int sawline;
750f66f451Sopenharmony_ci
760f66f451Sopenharmony_ci  // Crypto variables blanked after summing
770f66f451Sopenharmony_ci  unsigned state[5];
780f66f451Sopenharmony_ci  unsigned oldstate[5];
790f66f451Sopenharmony_ci  uint64_t count;
800f66f451Sopenharmony_ci  union {
810f66f451Sopenharmony_ci    char c[64];
820f66f451Sopenharmony_ci    unsigned i[16];
830f66f451Sopenharmony_ci  } buffer;
840f66f451Sopenharmony_ci};
850f66f451Sopenharmony_ci
860f66f451Sopenharmony_ci// toys/lsb/mknod.c
870f66f451Sopenharmony_ci
880f66f451Sopenharmony_cistruct mknod_data {
890f66f451Sopenharmony_ci  char *Z, *m;
900f66f451Sopenharmony_ci};
910f66f451Sopenharmony_ci
920f66f451Sopenharmony_ci// toys/lsb/mktemp.c
930f66f451Sopenharmony_ci
940f66f451Sopenharmony_cistruct mktemp_data {
950f66f451Sopenharmony_ci  char *p, *tmpdir;
960f66f451Sopenharmony_ci};
970f66f451Sopenharmony_ci
980f66f451Sopenharmony_ci// toys/lsb/mount.c
990f66f451Sopenharmony_ci
1000f66f451Sopenharmony_cistruct mount_data {
1010f66f451Sopenharmony_ci  struct arg_list *optlist;
1020f66f451Sopenharmony_ci  char *type;
1030f66f451Sopenharmony_ci  char *bigO;
1040f66f451Sopenharmony_ci
1050f66f451Sopenharmony_ci  unsigned long flags;
1060f66f451Sopenharmony_ci  char *opts;
1070f66f451Sopenharmony_ci  int okuser;
1080f66f451Sopenharmony_ci};
1090f66f451Sopenharmony_ci
1100f66f451Sopenharmony_ci// toys/lsb/passwd.c
1110f66f451Sopenharmony_ci
1120f66f451Sopenharmony_cistruct passwd_data {
1130f66f451Sopenharmony_ci  char *a;
1140f66f451Sopenharmony_ci};
1150f66f451Sopenharmony_ci
1160f66f451Sopenharmony_ci// toys/lsb/pidof.c
1170f66f451Sopenharmony_ci
1180f66f451Sopenharmony_cistruct pidof_data {
1190f66f451Sopenharmony_ci  char *o;
1200f66f451Sopenharmony_ci};
1210f66f451Sopenharmony_ci
1220f66f451Sopenharmony_ci// toys/lsb/seq.c
1230f66f451Sopenharmony_ci
1240f66f451Sopenharmony_cistruct seq_data {
1250f66f451Sopenharmony_ci  char *s, *f;
1260f66f451Sopenharmony_ci
1270f66f451Sopenharmony_ci  int precision;
1280f66f451Sopenharmony_ci};
1290f66f451Sopenharmony_ci
1300f66f451Sopenharmony_ci// toys/lsb/su.c
1310f66f451Sopenharmony_ci#ifdef OHOS_LITE
1320f66f451Sopenharmony_cistruct su_data {
1330f66f451Sopenharmony_ci  char *s;
1340f66f451Sopenharmony_ci  char *c;
1350f66f451Sopenharmony_ci};
1360f66f451Sopenharmony_ci#endif
1370f66f451Sopenharmony_ci
1380f66f451Sopenharmony_ci// toys/lsb/umount.c
1390f66f451Sopenharmony_ci
1400f66f451Sopenharmony_cistruct umount_data {
1410f66f451Sopenharmony_ci  struct arg_list *t;
1420f66f451Sopenharmony_ci
1430f66f451Sopenharmony_ci  char *types;
1440f66f451Sopenharmony_ci};
1450f66f451Sopenharmony_ci
1460f66f451Sopenharmony_ci// toys/net/ftpget.c
1470f66f451Sopenharmony_ci
1480f66f451Sopenharmony_cistruct ftpget_data {
1490f66f451Sopenharmony_ci  char *u, *p, *P;
1500f66f451Sopenharmony_ci
1510f66f451Sopenharmony_ci  int fd;
1520f66f451Sopenharmony_ci  int datafd;
1530f66f451Sopenharmony_ci  int filefd;
1540f66f451Sopenharmony_ci};
1550f66f451Sopenharmony_ci
1560f66f451Sopenharmony_ci// toys/net/ifconfig.c
1570f66f451Sopenharmony_ci
1580f66f451Sopenharmony_cistruct ifconfig_data {
1590f66f451Sopenharmony_ci  int sockfd;
1600f66f451Sopenharmony_ci};
1610f66f451Sopenharmony_ci
1620f66f451Sopenharmony_ci// toys/net/microcom.c
1630f66f451Sopenharmony_ci
1640f66f451Sopenharmony_cistruct microcom_data {
1650f66f451Sopenharmony_ci  char *s;
1660f66f451Sopenharmony_ci
1670f66f451Sopenharmony_ci  int fd;
1680f66f451Sopenharmony_ci  struct termios original_stdin_state, original_fd_state;
1690f66f451Sopenharmony_ci};
1700f66f451Sopenharmony_ci
1710f66f451Sopenharmony_ci// toys/net/netcat.c
1720f66f451Sopenharmony_ci
1730f66f451Sopenharmony_cistruct netcat_data {
1740f66f451Sopenharmony_ci  char *f, *s;
1750f66f451Sopenharmony_ci  long q, p, W, w;
1760f66f451Sopenharmony_ci};
1770f66f451Sopenharmony_ci
1780f66f451Sopenharmony_ci// toys/net/netstat.c
1790f66f451Sopenharmony_ci
1800f66f451Sopenharmony_cistruct netstat_data {
1810f66f451Sopenharmony_ci  struct num_cache *inodes;
1820f66f451Sopenharmony_ci  int wpad;
1830f66f451Sopenharmony_ci};;
1840f66f451Sopenharmony_ci
1850f66f451Sopenharmony_ci// toys/net/ping.c
1860f66f451Sopenharmony_ci
1870f66f451Sopenharmony_cistruct ping_data {
1880f66f451Sopenharmony_ci  char *I;
1890f66f451Sopenharmony_ci  long w, W, i, s, c, t, m;
1900f66f451Sopenharmony_ci
1910f66f451Sopenharmony_ci  struct sockaddr *sa;
1920f66f451Sopenharmony_ci  int sock;
1930f66f451Sopenharmony_ci  unsigned long sent, recv, fugit, min, max;
1940f66f451Sopenharmony_ci};
1950f66f451Sopenharmony_ci
1960f66f451Sopenharmony_ci// toys/net/sntp.c
1970f66f451Sopenharmony_ci
1980f66f451Sopenharmony_cistruct sntp_data {
1990f66f451Sopenharmony_ci  long r;
2000f66f451Sopenharmony_ci  char *p, *m, *M;
2010f66f451Sopenharmony_ci};
2020f66f451Sopenharmony_ci
2030f66f451Sopenharmony_ci// toys/net/tunctl.c
2040f66f451Sopenharmony_ci
2050f66f451Sopenharmony_cistruct tunctl_data {
2060f66f451Sopenharmony_ci  char *u;
2070f66f451Sopenharmony_ci};
2080f66f451Sopenharmony_ci
2090f66f451Sopenharmony_ci// toys/other/acpi.c
2100f66f451Sopenharmony_ci
2110f66f451Sopenharmony_cistruct acpi_data {
2120f66f451Sopenharmony_ci  int ac, bat, therm, cool;
2130f66f451Sopenharmony_ci  char *cpath;
2140f66f451Sopenharmony_ci};
2150f66f451Sopenharmony_ci
2160f66f451Sopenharmony_ci// toys/other/base64.c
2170f66f451Sopenharmony_ci
2180f66f451Sopenharmony_cistruct base64_data {
2190f66f451Sopenharmony_ci  long w;
2200f66f451Sopenharmony_ci  unsigned total;
2210f66f451Sopenharmony_ci  unsigned n;  // number of bits used in encoding. 5 for base32, 6 for base64
2220f66f451Sopenharmony_ci  unsigned align;  // number of bits to align to
2230f66f451Sopenharmony_ci};
2240f66f451Sopenharmony_ci
2250f66f451Sopenharmony_ci// toys/other/blkid.c
2260f66f451Sopenharmony_ci
2270f66f451Sopenharmony_cistruct blkid_data {
2280f66f451Sopenharmony_ci  struct arg_list *s;
2290f66f451Sopenharmony_ci};
2300f66f451Sopenharmony_ci
2310f66f451Sopenharmony_ci// toys/other/blockdev.c
2320f66f451Sopenharmony_ci
2330f66f451Sopenharmony_cistruct blockdev_data {
2340f66f451Sopenharmony_ci  long setbsz, setra;
2350f66f451Sopenharmony_ci};
2360f66f451Sopenharmony_ci
2370f66f451Sopenharmony_ci// toys/other/chrt.c
2380f66f451Sopenharmony_ci
2390f66f451Sopenharmony_cistruct chrt_data {
2400f66f451Sopenharmony_ci  long p;
2410f66f451Sopenharmony_ci};
2420f66f451Sopenharmony_ci
2430f66f451Sopenharmony_ci// toys/other/dos2unix.c
2440f66f451Sopenharmony_ci
2450f66f451Sopenharmony_cistruct dos2unix_data {
2460f66f451Sopenharmony_ci  char *tempfile;
2470f66f451Sopenharmony_ci};
2480f66f451Sopenharmony_ci
2490f66f451Sopenharmony_ci// toys/other/fallocate.c
2500f66f451Sopenharmony_ci
2510f66f451Sopenharmony_cistruct fallocate_data {
2520f66f451Sopenharmony_ci  long o, l;
2530f66f451Sopenharmony_ci};
2540f66f451Sopenharmony_ci
2550f66f451Sopenharmony_ci// toys/other/fmt.c
2560f66f451Sopenharmony_ci
2570f66f451Sopenharmony_cistruct fmt_data {
2580f66f451Sopenharmony_ci  int width;
2590f66f451Sopenharmony_ci
2600f66f451Sopenharmony_ci  int level, pos;
2610f66f451Sopenharmony_ci};
2620f66f451Sopenharmony_ci
2630f66f451Sopenharmony_ci// toys/other/free.c
2640f66f451Sopenharmony_ci
2650f66f451Sopenharmony_cistruct free_data {
2660f66f451Sopenharmony_ci  unsigned bits;
2670f66f451Sopenharmony_ci  unsigned long long units;
2680f66f451Sopenharmony_ci  char *buf;
2690f66f451Sopenharmony_ci};
2700f66f451Sopenharmony_ci
2710f66f451Sopenharmony_ci// toys/other/hexedit.c
2720f66f451Sopenharmony_ci
2730f66f451Sopenharmony_cistruct hexedit_data {
2740f66f451Sopenharmony_ci  char *data;
2750f66f451Sopenharmony_ci  long long len, base;
2760f66f451Sopenharmony_ci  int numlen, undo, undolen;
2770f66f451Sopenharmony_ci  unsigned height;
2780f66f451Sopenharmony_ci};
2790f66f451Sopenharmony_ci
2800f66f451Sopenharmony_ci// toys/other/hwclock.c
2810f66f451Sopenharmony_ci
2820f66f451Sopenharmony_cistruct hwclock_data {
2830f66f451Sopenharmony_ci  char *f;
2840f66f451Sopenharmony_ci
2850f66f451Sopenharmony_ci  int utc;
2860f66f451Sopenharmony_ci};
2870f66f451Sopenharmony_ci
2880f66f451Sopenharmony_ci// toys/other/ionice.c
2890f66f451Sopenharmony_ci
2900f66f451Sopenharmony_cistruct ionice_data {
2910f66f451Sopenharmony_ci  long p, n, c;
2920f66f451Sopenharmony_ci};
2930f66f451Sopenharmony_ci
2940f66f451Sopenharmony_ci// toys/other/login.c
2950f66f451Sopenharmony_ci
2960f66f451Sopenharmony_cistruct login_data {
2970f66f451Sopenharmony_ci  char *h, *f;
2980f66f451Sopenharmony_ci
2990f66f451Sopenharmony_ci  int login_timeout, login_fail_timeout;
3000f66f451Sopenharmony_ci};
3010f66f451Sopenharmony_ci
3020f66f451Sopenharmony_ci// toys/other/losetup.c
3030f66f451Sopenharmony_ci
3040f66f451Sopenharmony_cistruct losetup_data {
3050f66f451Sopenharmony_ci  char *j;
3060f66f451Sopenharmony_ci  long o, S;
3070f66f451Sopenharmony_ci
3080f66f451Sopenharmony_ci  int openflags;
3090f66f451Sopenharmony_ci  dev_t jdev;
3100f66f451Sopenharmony_ci  ino_t jino;
3110f66f451Sopenharmony_ci  char *dir;
3120f66f451Sopenharmony_ci};
3130f66f451Sopenharmony_ci
3140f66f451Sopenharmony_ci// toys/other/lspci.c
3150f66f451Sopenharmony_ci
3160f66f451Sopenharmony_cistruct lspci_data {
3170f66f451Sopenharmony_ci  char *i;
3180f66f451Sopenharmony_ci  long n;
3190f66f451Sopenharmony_ci
3200f66f451Sopenharmony_ci  FILE *db;
3210f66f451Sopenharmony_ci};
3220f66f451Sopenharmony_ci
3230f66f451Sopenharmony_ci// toys/other/makedevs.c
3240f66f451Sopenharmony_ci
3250f66f451Sopenharmony_cistruct makedevs_data {
3260f66f451Sopenharmony_ci  char *d;
3270f66f451Sopenharmony_ci};
3280f66f451Sopenharmony_ci
3290f66f451Sopenharmony_ci// toys/other/mix.c
3300f66f451Sopenharmony_ci
3310f66f451Sopenharmony_cistruct mix_data {
3320f66f451Sopenharmony_ci   long r, l;
3330f66f451Sopenharmony_ci   char *d, *c;
3340f66f451Sopenharmony_ci};
3350f66f451Sopenharmony_ci
3360f66f451Sopenharmony_ci// toys/other/mkpasswd.c
3370f66f451Sopenharmony_ci
3380f66f451Sopenharmony_cistruct mkpasswd_data {
3390f66f451Sopenharmony_ci  long P;
3400f66f451Sopenharmony_ci  char *m, *S;
3410f66f451Sopenharmony_ci};
3420f66f451Sopenharmony_ci
3430f66f451Sopenharmony_ci// toys/other/mkswap.c
3440f66f451Sopenharmony_ci
3450f66f451Sopenharmony_cistruct mkswap_data {
3460f66f451Sopenharmony_ci  char *L;
3470f66f451Sopenharmony_ci};
3480f66f451Sopenharmony_ci
3490f66f451Sopenharmony_ci// toys/other/modinfo.c
3500f66f451Sopenharmony_ci
3510f66f451Sopenharmony_cistruct modinfo_data {
3520f66f451Sopenharmony_ci  char *F, *k, *b;
3530f66f451Sopenharmony_ci
3540f66f451Sopenharmony_ci  long mod;
3550f66f451Sopenharmony_ci  int count;
3560f66f451Sopenharmony_ci};
3570f66f451Sopenharmony_ci
3580f66f451Sopenharmony_ci// toys/other/nsenter.c
3590f66f451Sopenharmony_ci
3600f66f451Sopenharmony_cistruct nsenter_data {
3610f66f451Sopenharmony_ci  char *Uupnmi[6];
3620f66f451Sopenharmony_ci  long t;
3630f66f451Sopenharmony_ci};
3640f66f451Sopenharmony_ci
3650f66f451Sopenharmony_ci// toys/other/oneit.c
3660f66f451Sopenharmony_ci
3670f66f451Sopenharmony_cistruct oneit_data {
3680f66f451Sopenharmony_ci  char *c;
3690f66f451Sopenharmony_ci};
3700f66f451Sopenharmony_ci
3710f66f451Sopenharmony_ci// toys/other/pwgen.c
3720f66f451Sopenharmony_ci
3730f66f451Sopenharmony_cistruct pwgen_data {
3740f66f451Sopenharmony_ci  char *r;
3750f66f451Sopenharmony_ci};
3760f66f451Sopenharmony_ci
3770f66f451Sopenharmony_ci// toys/other/reboot.c
3780f66f451Sopenharmony_ci
3790f66f451Sopenharmony_cistruct reboot_data {
3800f66f451Sopenharmony_ci  char *d;
3810f66f451Sopenharmony_ci};
3820f66f451Sopenharmony_ci
3830f66f451Sopenharmony_ci// toys/other/setfattr.c
3840f66f451Sopenharmony_ci
3850f66f451Sopenharmony_cistruct setfattr_data {
3860f66f451Sopenharmony_ci  char *x, *v, *n;
3870f66f451Sopenharmony_ci};
3880f66f451Sopenharmony_ci
3890f66f451Sopenharmony_ci// toys/other/sha3sum.c
3900f66f451Sopenharmony_ci
3910f66f451Sopenharmony_cistruct sha3sum_data {
3920f66f451Sopenharmony_ci  long a;
3930f66f451Sopenharmony_ci  unsigned long long rc[24];
3940f66f451Sopenharmony_ci};
3950f66f451Sopenharmony_ci
3960f66f451Sopenharmony_ci// toys/other/shred.c
3970f66f451Sopenharmony_ci
3980f66f451Sopenharmony_cistruct shred_data {
3990f66f451Sopenharmony_ci  long o, n, s;
4000f66f451Sopenharmony_ci};
4010f66f451Sopenharmony_ci
4020f66f451Sopenharmony_ci// toys/other/stat.c
4030f66f451Sopenharmony_ci
4040f66f451Sopenharmony_cistruct stat_data {
4050f66f451Sopenharmony_ci  char *c;
4060f66f451Sopenharmony_ci
4070f66f451Sopenharmony_ci  union {
4080f66f451Sopenharmony_ci    struct stat st;
4090f66f451Sopenharmony_ci    struct statfs sf;
4100f66f451Sopenharmony_ci  } stat;
4110f66f451Sopenharmony_ci  char *file, *pattern;
4120f66f451Sopenharmony_ci  int patlen;
4130f66f451Sopenharmony_ci};
4140f66f451Sopenharmony_ci
4150f66f451Sopenharmony_ci// toys/other/swapon.c
4160f66f451Sopenharmony_ci
4170f66f451Sopenharmony_cistruct swapon_data {
4180f66f451Sopenharmony_ci  long p;
4190f66f451Sopenharmony_ci};
4200f66f451Sopenharmony_ci
4210f66f451Sopenharmony_ci// toys/other/switch_root.c
4220f66f451Sopenharmony_ci
4230f66f451Sopenharmony_cistruct switch_root_data {
4240f66f451Sopenharmony_ci  char *c;
4250f66f451Sopenharmony_ci
4260f66f451Sopenharmony_ci  dev_t rootdev;
4270f66f451Sopenharmony_ci};
4280f66f451Sopenharmony_ci
4290f66f451Sopenharmony_ci// toys/other/tac.c
4300f66f451Sopenharmony_ci
4310f66f451Sopenharmony_cistruct tac_data {
4320f66f451Sopenharmony_ci  struct double_list *dl;
4330f66f451Sopenharmony_ci};
4340f66f451Sopenharmony_ci
4350f66f451Sopenharmony_ci// toys/other/timeout.c
4360f66f451Sopenharmony_ci
4370f66f451Sopenharmony_cistruct timeout_data {
4380f66f451Sopenharmony_ci  char *s, *k;
4390f66f451Sopenharmony_ci
4400f66f451Sopenharmony_ci  int nextsig;
4410f66f451Sopenharmony_ci  pid_t pid;
4420f66f451Sopenharmony_ci  struct timeval ktv;
4430f66f451Sopenharmony_ci  struct itimerval itv;
4440f66f451Sopenharmony_ci};
4450f66f451Sopenharmony_ci
4460f66f451Sopenharmony_ci// toys/other/truncate.c
4470f66f451Sopenharmony_ci
4480f66f451Sopenharmony_cistruct truncate_data {
4490f66f451Sopenharmony_ci  char *s;
4500f66f451Sopenharmony_ci
4510f66f451Sopenharmony_ci  long size;
4520f66f451Sopenharmony_ci  int type;
4530f66f451Sopenharmony_ci};
4540f66f451Sopenharmony_ci
4550f66f451Sopenharmony_ci// toys/other/watch.c
4560f66f451Sopenharmony_ci
4570f66f451Sopenharmony_cistruct watch_data {
4580f66f451Sopenharmony_ci  int n;
4590f66f451Sopenharmony_ci
4600f66f451Sopenharmony_ci  pid_t pid, oldpid;
4610f66f451Sopenharmony_ci};
4620f66f451Sopenharmony_ci
4630f66f451Sopenharmony_ci// toys/other/xxd.c
4640f66f451Sopenharmony_ci
4650f66f451Sopenharmony_cistruct xxd_data {
4660f66f451Sopenharmony_ci  long s, g, o, l, c;
4670f66f451Sopenharmony_ci};
4680f66f451Sopenharmony_ci
4690f66f451Sopenharmony_ci// toys/pending/arp.c
4700f66f451Sopenharmony_ci
4710f66f451Sopenharmony_cistruct arp_data {
4720f66f451Sopenharmony_ci    char *hw_type;
4730f66f451Sopenharmony_ci    char *af_type_A;
4740f66f451Sopenharmony_ci    char *af_type_p;
4750f66f451Sopenharmony_ci    char *interface;
4760f66f451Sopenharmony_ci
4770f66f451Sopenharmony_ci    int sockfd;
4780f66f451Sopenharmony_ci    char *device;
4790f66f451Sopenharmony_ci};
4800f66f451Sopenharmony_ci
4810f66f451Sopenharmony_ci// toys/pending/awk.c
4820f66f451Sopenharmony_cistruct awk_data {
4830f66f451Sopenharmony_ci  struct arg_list *f;
4840f66f451Sopenharmony_ci  struct arg_list *v;
4850f66f451Sopenharmony_ci  char *F;
4860f66f451Sopenharmony_ci
4870f66f451Sopenharmony_ci  struct scanner_state {
4880f66f451Sopenharmony_ci      char *p;
4890f66f451Sopenharmony_ci      char *progstring;
4900f66f451Sopenharmony_ci      struct arg_list *prog_args;
4910f66f451Sopenharmony_ci      char *filename;
4920f66f451Sopenharmony_ci      char *line;
4930f66f451Sopenharmony_ci      size_t line_size;
4940f66f451Sopenharmony_ci      ssize_t line_len;
4950f66f451Sopenharmony_ci      int line_num;
4960f66f451Sopenharmony_ci      int ch;
4970f66f451Sopenharmony_ci      FILE *fp;
4980f66f451Sopenharmony_ci      // state includes latest token seen
4990f66f451Sopenharmony_ci      int tok;
5000f66f451Sopenharmony_ci      int tokbuiltin;
5010f66f451Sopenharmony_ci      int toktype;
5020f66f451Sopenharmony_ci      char *tokstr;
5030f66f451Sopenharmony_ci      size_t maxtok;
5040f66f451Sopenharmony_ci      size_t toklen;
5050f66f451Sopenharmony_ci      double numval;
5060f66f451Sopenharmony_ci      int error;  // Set if lexical error.
5070f66f451Sopenharmony_ci  } *scs;
5080f66f451Sopenharmony_ci  char *tokstr;
5090f66f451Sopenharmony_ci  int prevtok;
5100f66f451Sopenharmony_ci
5110f66f451Sopenharmony_ci  struct compiler_globals {
5120f66f451Sopenharmony_ci    int in_print_stmt;
5130f66f451Sopenharmony_ci    int paren_level;
5140f66f451Sopenharmony_ci    int in_function_body;
5150f66f451Sopenharmony_ci    int funcnum;
5160f66f451Sopenharmony_ci    int nparms;
5170f66f451Sopenharmony_ci    int compile_error_count;
5180f66f451Sopenharmony_ci    int first_begin;
5190f66f451Sopenharmony_ci    int last_begin;
5200f66f451Sopenharmony_ci    int first_end;
5210f66f451Sopenharmony_ci    int last_end;
5220f66f451Sopenharmony_ci    int first_recrule;
5230f66f451Sopenharmony_ci    int last_recrule;
5240f66f451Sopenharmony_ci    int break_dest;
5250f66f451Sopenharmony_ci    int continue_dest;
5260f66f451Sopenharmony_ci    int stack_offset_to_fix;  // fixup stack if return in for(e in a)
5270f66f451Sopenharmony_ci    int range_pattern_num;
5280f66f451Sopenharmony_ci    int rule_type;  // tkbegin, tkend, or 0
5290f66f451Sopenharmony_ci  } cgl;
5300f66f451Sopenharmony_ci
5310f66f451Sopenharmony_ci  // zvalue: the main awk value type
5320f66f451Sopenharmony_ci  // Can be number or string or both, or else map (array) or regex
5330f66f451Sopenharmony_ci  struct zvalue {
5340f66f451Sopenharmony_ci    unsigned flags;
5350f66f451Sopenharmony_ci    double num;
5360f66f451Sopenharmony_ci    union { // anonymous union not in C99; not going to fix it now.
5370f66f451Sopenharmony_ci      struct zstring *vst;
5380f66f451Sopenharmony_ci      struct zmap *map;
5390f66f451Sopenharmony_ci      regex_t *rx;
5400f66f451Sopenharmony_ci    };
5410f66f451Sopenharmony_ci  } nozvalue;   // to shut up compiler warning TODO FIXME
5420f66f451Sopenharmony_ci
5430f66f451Sopenharmony_ci  struct runtime_globals {
5440f66f451Sopenharmony_ci    struct zvalue cur_arg;
5450f66f451Sopenharmony_ci    //char *filename;     // UNUSED
5460f66f451Sopenharmony_ci    FILE *fp;           // current data file
5470f66f451Sopenharmony_ci    int narg;           // cmdline arg index
5480f66f451Sopenharmony_ci    int nfiles;         // num of cmdline data file args processed
5490f66f451Sopenharmony_ci    int eof;            // all cmdline files (incl. stdin) read
5500f66f451Sopenharmony_ci    char *recptr;
5510f66f451Sopenharmony_ci    char *recbuf;
5520f66f451Sopenharmony_ci    size_t recbufsize;
5530f66f451Sopenharmony_ci    char *recbuf_multx;
5540f66f451Sopenharmony_ci    size_t recbufsize_multx;
5550f66f451Sopenharmony_ci    struct zstring *zspr;      // Global to receive sprintf() string value
5560f66f451Sopenharmony_ci  } rgl;
5570f66f451Sopenharmony_ci
5580f66f451Sopenharmony_ci  // Expanding sequential list
5590f66f451Sopenharmony_ci  struct zlist {
5600f66f451Sopenharmony_ci    char *base, *limit, *avail;
5610f66f451Sopenharmony_ci    size_t size;
5620f66f451Sopenharmony_ci  } globals_table,  // global symbol table
5630f66f451Sopenharmony_ci    locals_table,     // local symbol table
5640f66f451Sopenharmony_ci    func_def_table;  // function symbol table
5650f66f451Sopenharmony_ci  // runtime lists
5660f66f451Sopenharmony_ci  struct zlist literals, fields, zcode, stack;
5670f66f451Sopenharmony_ci
5680f66f451Sopenharmony_ci  char *progname;
5690f66f451Sopenharmony_ci
5700f66f451Sopenharmony_ci  int spec_var_limit;
5710f66f451Sopenharmony_ci  int zcode_last;
5720f66f451Sopenharmony_ci  struct zvalue *stackp;  // top of stack ptr
5730f66f451Sopenharmony_ci
5740f66f451Sopenharmony_ci  char *pbuf;   // Used for number formatting in num_to_zstring()
5750f66f451Sopenharmony_ci#define RS_MAX  64
5760f66f451Sopenharmony_ci  char rs_last[RS_MAX];
5770f66f451Sopenharmony_ci  regex_t rx_rs_default, rx_rs_last;
5780f66f451Sopenharmony_ci  regex_t rx_default, rx_last, rx_printf_fmt;
5790f66f451Sopenharmony_ci#define FS_MAX  64
5800f66f451Sopenharmony_ci  char fs_last[FS_MAX];
5810f66f451Sopenharmony_ci  char one_char_fs[4];
5820f66f451Sopenharmony_ci  int nf_internal;  // should match NF
5830f66f451Sopenharmony_ci  char range_sw[64];   // FIXME TODO quick and dirty set of range switches
5840f66f451Sopenharmony_ci  int file_cnt, std_file_cnt;
5850f66f451Sopenharmony_ci
5860f66f451Sopenharmony_ci  struct zfile {
5870f66f451Sopenharmony_ci    struct zfile *next;
5880f66f451Sopenharmony_ci    char *fn;
5890f66f451Sopenharmony_ci    FILE *fp;
5900f66f451Sopenharmony_ci    char mode;  // w, a, or r
5910f66f451Sopenharmony_ci    char file_or_pipe;  // f or p
5920f66f451Sopenharmony_ci    char is_std_file;
5930f66f451Sopenharmony_ci    char *recbuf;
5940f66f451Sopenharmony_ci    size_t recbufsize;
5950f66f451Sopenharmony_ci    char *recbuf_multi;
5960f66f451Sopenharmony_ci    size_t recbufsize_multi;
5970f66f451Sopenharmony_ci    char *recbuf_multx;
5980f66f451Sopenharmony_ci    size_t recbufsize_multx;
5990f66f451Sopenharmony_ci    int recoffs, endoffs;
6000f66f451Sopenharmony_ci  } *zfiles, *cfile, *zstdout;
6010f66f451Sopenharmony_ci};
6020f66f451Sopenharmony_ci
6030f66f451Sopenharmony_ci// toys/pending/arping.c
6040f66f451Sopenharmony_ci
6050f66f451Sopenharmony_cistruct arping_data {
6060f66f451Sopenharmony_ci    long count;
6070f66f451Sopenharmony_ci    unsigned long time_out;
6080f66f451Sopenharmony_ci    char *iface;
6090f66f451Sopenharmony_ci    char *src_ip;
6100f66f451Sopenharmony_ci
6110f66f451Sopenharmony_ci    int sockfd;
6120f66f451Sopenharmony_ci    unsigned long start, end;
6130f66f451Sopenharmony_ci    unsigned sent_at, sent_nr, rcvd_nr, brd_sent, rcvd_req, brd_rcv,
6140f66f451Sopenharmony_ci             unicast_flag;
6150f66f451Sopenharmony_ci};
6160f66f451Sopenharmony_ci
6170f66f451Sopenharmony_ci// toys/pending/bc.c
6180f66f451Sopenharmony_ci
6190f66f451Sopenharmony_cistruct bc_data {
6200f66f451Sopenharmony_ci  // This actually needs to be a BcVm*, but the toybox build
6210f66f451Sopenharmony_ci  // system complains if I make it so. Instead, we'll just cast.
6220f66f451Sopenharmony_ci  char *vm;
6230f66f451Sopenharmony_ci
6240f66f451Sopenharmony_ci  size_t nchars;
6250f66f451Sopenharmony_ci  char *file, sig, max_ibase;
6260f66f451Sopenharmony_ci  uint16_t line_len;
6270f66f451Sopenharmony_ci};
6280f66f451Sopenharmony_ci
6290f66f451Sopenharmony_ci// toys/pending/bootchartd.c
6300f66f451Sopenharmony_ci
6310f66f451Sopenharmony_cistruct bootchartd_data {
6320f66f451Sopenharmony_ci  char timestamp[32];
6330f66f451Sopenharmony_ci  long msec;
6340f66f451Sopenharmony_ci  int proc_accounting;
6350f66f451Sopenharmony_ci
6360f66f451Sopenharmony_ci  pid_t pid;
6370f66f451Sopenharmony_ci};
6380f66f451Sopenharmony_ci
6390f66f451Sopenharmony_ci// toys/pending/brctl.c
6400f66f451Sopenharmony_ci
6410f66f451Sopenharmony_cistruct brctl_data {
6420f66f451Sopenharmony_ci    int sockfd;
6430f66f451Sopenharmony_ci};
6440f66f451Sopenharmony_ci
6450f66f451Sopenharmony_ci// toys/pending/chsh.c
6460f66f451Sopenharmony_ci
6470f66f451Sopenharmony_cistruct chsh_data {
6480f66f451Sopenharmony_ci  char *s;
6490f66f451Sopenharmony_ci};
6500f66f451Sopenharmony_ci
6510f66f451Sopenharmony_ci// toys/pending/crond.c
6520f66f451Sopenharmony_ci
6530f66f451Sopenharmony_cistruct crond_data {
6540f66f451Sopenharmony_ci  char *crontabs_dir;
6550f66f451Sopenharmony_ci  char *logfile;
6560f66f451Sopenharmony_ci  int loglevel_d;
6570f66f451Sopenharmony_ci  int loglevel;
6580f66f451Sopenharmony_ci
6590f66f451Sopenharmony_ci  time_t crontabs_dir_mtime;
6600f66f451Sopenharmony_ci  uint8_t flagd;
6610f66f451Sopenharmony_ci};
6620f66f451Sopenharmony_ci
6630f66f451Sopenharmony_ci// toys/pending/crontab.c
6640f66f451Sopenharmony_ci
6650f66f451Sopenharmony_cistruct crontab_data {
6660f66f451Sopenharmony_ci  char *user;
6670f66f451Sopenharmony_ci  char *cdir;
6680f66f451Sopenharmony_ci};
6690f66f451Sopenharmony_ci
6700f66f451Sopenharmony_ci// toys/pending/dd.c
6710f66f451Sopenharmony_ci
6720f66f451Sopenharmony_cistruct dd_data {
6730f66f451Sopenharmony_ci  int show_xfer, show_records;
6740f66f451Sopenharmony_ci  unsigned long long bytes, c_count, in_full, in_part, out_full, out_part;
6750f66f451Sopenharmony_ci  struct timeval start;
6760f66f451Sopenharmony_ci  struct {
6770f66f451Sopenharmony_ci    char *name;
6780f66f451Sopenharmony_ci    int fd;
6790f66f451Sopenharmony_ci    unsigned char *buff, *bp;
6800f66f451Sopenharmony_ci    long sz, count;
6810f66f451Sopenharmony_ci    unsigned long long offset;
6820f66f451Sopenharmony_ci  } in, out;
6830f66f451Sopenharmony_ci  unsigned conv, iflag, oflag;
6840f66f451Sopenharmony_ci};
6850f66f451Sopenharmony_ci
6860f66f451Sopenharmony_ci// toys/pending/dhcp.c
6870f66f451Sopenharmony_ci
6880f66f451Sopenharmony_cistruct dhcp_data {
6890f66f451Sopenharmony_ci    char *iface;
6900f66f451Sopenharmony_ci    char *pidfile;
6910f66f451Sopenharmony_ci    char *script;
6920f66f451Sopenharmony_ci    long retries;
6930f66f451Sopenharmony_ci    long timeout;
6940f66f451Sopenharmony_ci    long tryagain;
6950f66f451Sopenharmony_ci    struct arg_list *req_opt;
6960f66f451Sopenharmony_ci    char *req_ip;
6970f66f451Sopenharmony_ci    struct arg_list *pkt_opt;
6980f66f451Sopenharmony_ci    char *fdn_name;
6990f66f451Sopenharmony_ci    char *hostname;
7000f66f451Sopenharmony_ci    char *vendor_cls;
7010f66f451Sopenharmony_ci};
7020f66f451Sopenharmony_ci
7030f66f451Sopenharmony_ci// toys/pending/dhcp6.c
7040f66f451Sopenharmony_ci
7050f66f451Sopenharmony_cistruct dhcp6_data {
7060f66f451Sopenharmony_ci  char *interface_name, *pidfile, *script;
7070f66f451Sopenharmony_ci  long retry, timeout, errortimeout;
7080f66f451Sopenharmony_ci  char *req_ip;
7090f66f451Sopenharmony_ci  int length, state, request_length, sock, sock1, status, retval, retries;
7100f66f451Sopenharmony_ci  struct timeval tv;
7110f66f451Sopenharmony_ci  uint8_t transction_id[3];
7120f66f451Sopenharmony_ci  struct sockaddr_in6 input_socket6;
7130f66f451Sopenharmony_ci};
7140f66f451Sopenharmony_ci
7150f66f451Sopenharmony_ci// toys/pending/dhcpd.c
7160f66f451Sopenharmony_ci
7170f66f451Sopenharmony_cistruct dhcpd_data {
7180f66f451Sopenharmony_ci    char *iface;
7190f66f451Sopenharmony_ci    long port;
7200f66f451Sopenharmony_ci};
7210f66f451Sopenharmony_ci
7220f66f451Sopenharmony_ci// toys/pending/diff.c
7230f66f451Sopenharmony_ci
7240f66f451Sopenharmony_cistruct diff_data {
7250f66f451Sopenharmony_ci  long ct;
7260f66f451Sopenharmony_ci  char *start;
7270f66f451Sopenharmony_ci  struct arg_list *L_list;
7280f66f451Sopenharmony_ci
7290f66f451Sopenharmony_ci  int dir_num, size, is_binary, status, change, len[2];
7300f66f451Sopenharmony_ci  int *offset[2];
7310f66f451Sopenharmony_ci  struct stat st[2];
7320f66f451Sopenharmony_ci};
7330f66f451Sopenharmony_ci
7340f66f451Sopenharmony_ci// toys/pending/dumpleases.c
7350f66f451Sopenharmony_ci
7360f66f451Sopenharmony_cistruct dumpleases_data {
7370f66f451Sopenharmony_ci    char *file;
7380f66f451Sopenharmony_ci};
7390f66f451Sopenharmony_ci
7400f66f451Sopenharmony_ci// toys/pending/expr.c
7410f66f451Sopenharmony_ci
7420f66f451Sopenharmony_cistruct expr_data {
7430f66f451Sopenharmony_ci  char **tok; // current token, not on the stack since recursive calls mutate it
7440f66f451Sopenharmony_ci
7450f66f451Sopenharmony_ci  char *refree;
7460f66f451Sopenharmony_ci};
7470f66f451Sopenharmony_ci
7480f66f451Sopenharmony_ci// toys/pending/fdisk.c
7490f66f451Sopenharmony_ci
7500f66f451Sopenharmony_cistruct fdisk_data {
7510f66f451Sopenharmony_ci  long sect_sz;
7520f66f451Sopenharmony_ci  long sectors;
7530f66f451Sopenharmony_ci  long heads;
7540f66f451Sopenharmony_ci  long cylinders;
7550f66f451Sopenharmony_ci};
7560f66f451Sopenharmony_ci
7570f66f451Sopenharmony_ci// toys/pending/fold.c
7580f66f451Sopenharmony_ci
7590f66f451Sopenharmony_cistruct fold_data {
7600f66f451Sopenharmony_ci  int width;
7610f66f451Sopenharmony_ci};
7620f66f451Sopenharmony_ci
7630f66f451Sopenharmony_ci// toys/pending/fsck.c
7640f66f451Sopenharmony_ci
7650f66f451Sopenharmony_cistruct fsck_data {
7660f66f451Sopenharmony_ci  int fd_num;
7670f66f451Sopenharmony_ci  char *t_list;
7680f66f451Sopenharmony_ci
7690f66f451Sopenharmony_ci  struct double_list *devices;
7700f66f451Sopenharmony_ci  char *arr_flag;
7710f66f451Sopenharmony_ci  char **arr_type;
7720f66f451Sopenharmony_ci  int negate;
7730f66f451Sopenharmony_ci  int sum_status;
7740f66f451Sopenharmony_ci  int nr_run;
7750f66f451Sopenharmony_ci  int sig_num;
7760f66f451Sopenharmony_ci  long max_nr_run;
7770f66f451Sopenharmony_ci};
7780f66f451Sopenharmony_ci
7790f66f451Sopenharmony_ci// toys/pending/getfattr.c
7800f66f451Sopenharmony_ci
7810f66f451Sopenharmony_cistruct getfattr_data {
7820f66f451Sopenharmony_ci  char *n;
7830f66f451Sopenharmony_ci};
7840f66f451Sopenharmony_ci
7850f66f451Sopenharmony_ci// toys/pending/getopt.c
7860f66f451Sopenharmony_ci
7870f66f451Sopenharmony_cistruct getopt_data {
7880f66f451Sopenharmony_ci  struct arg_list *l;
7890f66f451Sopenharmony_ci  char *o, *n;
7900f66f451Sopenharmony_ci};
7910f66f451Sopenharmony_ci
7920f66f451Sopenharmony_ci// toys/pending/getty.c
7930f66f451Sopenharmony_ci
7940f66f451Sopenharmony_cistruct getty_data {
7950f66f451Sopenharmony_ci  char *issue_str;
7960f66f451Sopenharmony_ci  char *login_str;
7970f66f451Sopenharmony_ci  char *init_str;
7980f66f451Sopenharmony_ci  char *host_str;
7990f66f451Sopenharmony_ci  long timeout;
8000f66f451Sopenharmony_ci
8010f66f451Sopenharmony_ci  char *tty_name;
8020f66f451Sopenharmony_ci  int  speeds[20];
8030f66f451Sopenharmony_ci  int  sc;
8040f66f451Sopenharmony_ci  struct termios termios;
8050f66f451Sopenharmony_ci  char buff[128];
8060f66f451Sopenharmony_ci};
8070f66f451Sopenharmony_ci
8080f66f451Sopenharmony_ci// toys/pending/groupadd.c
8090f66f451Sopenharmony_ci
8100f66f451Sopenharmony_cistruct groupadd_data {
8110f66f451Sopenharmony_ci  long gid;
8120f66f451Sopenharmony_ci};
8130f66f451Sopenharmony_ci
8140f66f451Sopenharmony_ci// toys/pending/hexdump.c
8150f66f451Sopenharmony_ci
8160f66f451Sopenharmony_cistruct hexdump_data {
8170f66f451Sopenharmony_ci    long s, n;
8180f66f451Sopenharmony_ci
8190f66f451Sopenharmony_ci    long long len, pos, ppos;
8200f66f451Sopenharmony_ci    const char *fmt;
8210f66f451Sopenharmony_ci    unsigned int fn, bc;  // file number and byte count
8220f66f451Sopenharmony_ci    char linebuf[16];  // line buffer - serves double duty for sqeezing repeat
8230f66f451Sopenharmony_ci                       // lines and for accumulating full lines accross file
8240f66f451Sopenharmony_ci                       // boundaries if necessesary.
8250f66f451Sopenharmony_ci};
8260f66f451Sopenharmony_ci
8270f66f451Sopenharmony_ci// toys/pending/host.c
8280f66f451Sopenharmony_ci
8290f66f451Sopenharmony_cistruct host_data {
8300f66f451Sopenharmony_ci  char *type_str;
8310f66f451Sopenharmony_ci};
8320f66f451Sopenharmony_ci
8330f66f451Sopenharmony_ci// toys/pending/ip.c
8340f66f451Sopenharmony_ci
8350f66f451Sopenharmony_cistruct ip_data {
8360f66f451Sopenharmony_ci  char stats, singleline, flush, *filter_dev, gbuf[8192];
8370f66f451Sopenharmony_ci  int sockfd, connected, from_ok, route_cmd;
8380f66f451Sopenharmony_ci  int8_t addressfamily, is_addr;
8390f66f451Sopenharmony_ci};
8400f66f451Sopenharmony_ci
8410f66f451Sopenharmony_ci// toys/pending/ipcrm.c
8420f66f451Sopenharmony_ci
8430f66f451Sopenharmony_cistruct ipcrm_data {
8440f66f451Sopenharmony_ci  struct arg_list *qkey;
8450f66f451Sopenharmony_ci  struct arg_list *qid;
8460f66f451Sopenharmony_ci  struct arg_list *skey;
8470f66f451Sopenharmony_ci  struct arg_list *sid;
8480f66f451Sopenharmony_ci  struct arg_list *mkey;
8490f66f451Sopenharmony_ci  struct arg_list *mid;
8500f66f451Sopenharmony_ci};
8510f66f451Sopenharmony_ci
8520f66f451Sopenharmony_ci// toys/pending/ipcs.c
8530f66f451Sopenharmony_ci
8540f66f451Sopenharmony_cistruct ipcs_data {
8550f66f451Sopenharmony_ci  int id;
8560f66f451Sopenharmony_ci};
8570f66f451Sopenharmony_ci
8580f66f451Sopenharmony_ci// toys/pending/klogd.c
8590f66f451Sopenharmony_ci
8600f66f451Sopenharmony_cistruct klogd_data {
8610f66f451Sopenharmony_ci  long level;
8620f66f451Sopenharmony_ci
8630f66f451Sopenharmony_ci  int fd;
8640f66f451Sopenharmony_ci};
8650f66f451Sopenharmony_ci
8660f66f451Sopenharmony_ci// toys/pending/last.c
8670f66f451Sopenharmony_ci
8680f66f451Sopenharmony_cistruct last_data {
8690f66f451Sopenharmony_ci  char *file;
8700f66f451Sopenharmony_ci
8710f66f451Sopenharmony_ci  struct arg_list *list;
8720f66f451Sopenharmony_ci};
8730f66f451Sopenharmony_ci
8740f66f451Sopenharmony_ci// toys/pending/lsof.c
8750f66f451Sopenharmony_ci
8760f66f451Sopenharmony_cistruct lsof_data {
8770f66f451Sopenharmony_ci  struct arg_list *p;
8780f66f451Sopenharmony_ci
8790f66f451Sopenharmony_ci  struct stat *sought_files;
8800f66f451Sopenharmony_ci  struct double_list *all_sockets, *files;
8810f66f451Sopenharmony_ci  int last_shown_pid, shown_header;
8820f66f451Sopenharmony_ci};
8830f66f451Sopenharmony_ci
8840f66f451Sopenharmony_ci// toys/pending/man.c
8850f66f451Sopenharmony_ci
8860f66f451Sopenharmony_cistruct man_data {
8870f66f451Sopenharmony_ci  char *M, *k;
8880f66f451Sopenharmony_ci
8890f66f451Sopenharmony_ci  char any, cell, ex, *f, k_done, *line, *m, **sct, **scts, **sufs;
8900f66f451Sopenharmony_ci  regex_t reg;
8910f66f451Sopenharmony_ci};
8920f66f451Sopenharmony_ci
8930f66f451Sopenharmony_ci// toys/pending/mke2fs.c
8940f66f451Sopenharmony_ci
8950f66f451Sopenharmony_cistruct mke2fs_data {
8960f66f451Sopenharmony_ci  // Command line arguments.
8970f66f451Sopenharmony_ci  long blocksize;
8980f66f451Sopenharmony_ci  long bytes_per_inode;
8990f66f451Sopenharmony_ci  long inodes;           // Total inodes in filesystem.
9000f66f451Sopenharmony_ci  long reserved_percent; // Integer precent of space to reserve for root.
9010f66f451Sopenharmony_ci  char *gendir;          // Where to read dirtree from.
9020f66f451Sopenharmony_ci
9030f66f451Sopenharmony_ci  // Internal data.
9040f66f451Sopenharmony_ci  struct dirtree *dt;    // Tree of files to copy into the new filesystem.
9050f66f451Sopenharmony_ci  unsigned treeblocks;   // Blocks used by dt
9060f66f451Sopenharmony_ci  unsigned treeinodes;   // Inodes used by dt
9070f66f451Sopenharmony_ci
9080f66f451Sopenharmony_ci  unsigned blocks;       // Total blocks in the filesystem.
9090f66f451Sopenharmony_ci  unsigned freeblocks;   // Free blocks in the filesystem.
9100f66f451Sopenharmony_ci  unsigned inodespg;     // Inodes per group
9110f66f451Sopenharmony_ci  unsigned groups;       // Total number of block groups.
9120f66f451Sopenharmony_ci  unsigned blockbits;    // Bits per block.  (Also blocks per group.)
9130f66f451Sopenharmony_ci
9140f66f451Sopenharmony_ci  // For gene2fs
9150f66f451Sopenharmony_ci  unsigned nextblock;    // Next data block to allocate
9160f66f451Sopenharmony_ci  unsigned nextgroup;    // Next group we'll be allocating from
9170f66f451Sopenharmony_ci  int fsfd;              // File descriptor of filesystem (to output to).
9180f66f451Sopenharmony_ci};
9190f66f451Sopenharmony_ci
9200f66f451Sopenharmony_ci// toys/pending/modprobe.c
9210f66f451Sopenharmony_ci
9220f66f451Sopenharmony_cistruct modprobe_data {
9230f66f451Sopenharmony_ci  struct arg_list *dirs;
9240f66f451Sopenharmony_ci
9250f66f451Sopenharmony_ci  struct arg_list *probes;
9260f66f451Sopenharmony_ci  struct arg_list *dbase[256];
9270f66f451Sopenharmony_ci  char *cmdopts;
9280f66f451Sopenharmony_ci  int nudeps;
9290f66f451Sopenharmony_ci  uint8_t symreq;
9300f66f451Sopenharmony_ci};
9310f66f451Sopenharmony_ci
9320f66f451Sopenharmony_ci// toys/pending/more.c
9330f66f451Sopenharmony_ci
9340f66f451Sopenharmony_cistruct more_data {
9350f66f451Sopenharmony_ci  struct termios inf;
9360f66f451Sopenharmony_ci  int cin_fd;
9370f66f451Sopenharmony_ci};
9380f66f451Sopenharmony_ci
9390f66f451Sopenharmony_ci// toys/pending/openvt.c
9400f66f451Sopenharmony_ci
9410f66f451Sopenharmony_cistruct openvt_data {
9420f66f451Sopenharmony_ci  long c;
9430f66f451Sopenharmony_ci};
9440f66f451Sopenharmony_ci
9450f66f451Sopenharmony_ci// toys/pending/route.c
9460f66f451Sopenharmony_ci
9470f66f451Sopenharmony_cistruct route_data {
9480f66f451Sopenharmony_ci  char *family;
9490f66f451Sopenharmony_ci};
9500f66f451Sopenharmony_ci
9510f66f451Sopenharmony_ci// toys/pending/sh.c
9520f66f451Sopenharmony_ci
9530f66f451Sopenharmony_cistruct sh_data {
9540f66f451Sopenharmony_ci  char *command;
9550f66f451Sopenharmony_ci
9560f66f451Sopenharmony_ci  long lineno;
9570f66f451Sopenharmony_ci
9580f66f451Sopenharmony_ci  struct double_list functions;
9590f66f451Sopenharmony_ci  unsigned options;
9600f66f451Sopenharmony_ci
9610f66f451Sopenharmony_ci  // Running jobs.
9620f66f451Sopenharmony_ci  struct sh_job {
9630f66f451Sopenharmony_ci    struct sh_job *next, *prev;
9640f66f451Sopenharmony_ci    unsigned jobno;
9650f66f451Sopenharmony_ci
9660f66f451Sopenharmony_ci    // Every pipeline has at least one set of arguments or it's Not A Thing
9670f66f451Sopenharmony_ci    struct sh_arg {
9680f66f451Sopenharmony_ci      char **v;
9690f66f451Sopenharmony_ci      int c;
9700f66f451Sopenharmony_ci    } pipeline;
9710f66f451Sopenharmony_ci
9720f66f451Sopenharmony_ci    // null terminated array of running processes in pipeline
9730f66f451Sopenharmony_ci    struct sh_process {
9740f66f451Sopenharmony_ci      struct string_list *delete; // expanded strings
9750f66f451Sopenharmony_ci      int pid, exit;   // status? Stopped? Exited?
9760f66f451Sopenharmony_ci      struct sh_arg arg;
9770f66f451Sopenharmony_ci    } *procs, *proc;
9780f66f451Sopenharmony_ci  } *jobs, *job;
9790f66f451Sopenharmony_ci  unsigned jobcnt;
9800f66f451Sopenharmony_ci};
9810f66f451Sopenharmony_ci
9820f66f451Sopenharmony_ci// toys/pending/strace.c
9830f66f451Sopenharmony_ci
9840f66f451Sopenharmony_cistruct strace_data {
9850f66f451Sopenharmony_ci  long s, p;
9860f66f451Sopenharmony_ci
9870f66f451Sopenharmony_ci  char ioctl[32], *fmt;
9880f66f451Sopenharmony_ci  long regs[256/sizeof(long)], syscall;
9890f66f451Sopenharmony_ci  pid_t pid;
9900f66f451Sopenharmony_ci  int arg;
9910f66f451Sopenharmony_ci};
9920f66f451Sopenharmony_ci
9930f66f451Sopenharmony_ci// toys/pending/stty.c
9940f66f451Sopenharmony_ci
9950f66f451Sopenharmony_cistruct stty_data {
9960f66f451Sopenharmony_ci  char *device;
9970f66f451Sopenharmony_ci
9980f66f451Sopenharmony_ci  int fd, col;
9990f66f451Sopenharmony_ci  unsigned output_cols;
10000f66f451Sopenharmony_ci};
10010f66f451Sopenharmony_ci
10020f66f451Sopenharmony_ci// toys/pending/sulogin.c
10030f66f451Sopenharmony_ci
10040f66f451Sopenharmony_cistruct sulogin_data {
10050f66f451Sopenharmony_ci  long timeout;
10060f66f451Sopenharmony_ci  struct termios crntio;
10070f66f451Sopenharmony_ci};
10080f66f451Sopenharmony_ci
10090f66f451Sopenharmony_ci// toys/pending/syslogd.c
10100f66f451Sopenharmony_ci
10110f66f451Sopenharmony_cistruct syslogd_data {
10120f66f451Sopenharmony_ci  char *socket;
10130f66f451Sopenharmony_ci  char *config_file;
10140f66f451Sopenharmony_ci  char *unix_socket;
10150f66f451Sopenharmony_ci  char *logfile;
10160f66f451Sopenharmony_ci  long interval;
10170f66f451Sopenharmony_ci  long rot_size;
10180f66f451Sopenharmony_ci  long rot_count;
10190f66f451Sopenharmony_ci  char *remote_log;
10200f66f451Sopenharmony_ci  long log_prio;
10210f66f451Sopenharmony_ci
10220f66f451Sopenharmony_ci  struct unsocks *lsocks;  // list of listen sockets
10230f66f451Sopenharmony_ci  struct logfile *lfiles;  // list of write logfiles
10240f66f451Sopenharmony_ci  int sigfd[2];
10250f66f451Sopenharmony_ci};
10260f66f451Sopenharmony_ci
10270f66f451Sopenharmony_ci// toys/pending/tcpsvd.c
10280f66f451Sopenharmony_ci
10290f66f451Sopenharmony_cistruct tcpsvd_data {
10300f66f451Sopenharmony_ci  char *name;
10310f66f451Sopenharmony_ci  char *user;
10320f66f451Sopenharmony_ci  long bn;
10330f66f451Sopenharmony_ci  char *nmsg;
10340f66f451Sopenharmony_ci  long cn;
10350f66f451Sopenharmony_ci
10360f66f451Sopenharmony_ci  int maxc;
10370f66f451Sopenharmony_ci  int count_all;
10380f66f451Sopenharmony_ci  int udp;
10390f66f451Sopenharmony_ci};
10400f66f451Sopenharmony_ci
10410f66f451Sopenharmony_ci// toys/pending/telnet.c
10420f66f451Sopenharmony_ci
10430f66f451Sopenharmony_cistruct telnet_data {
10440f66f451Sopenharmony_ci  int port;
10450f66f451Sopenharmony_ci  int sfd;
10460f66f451Sopenharmony_ci  char buff[128];
10470f66f451Sopenharmony_ci  int pbuff;
10480f66f451Sopenharmony_ci  char iac[256];
10490f66f451Sopenharmony_ci  int piac;
10500f66f451Sopenharmony_ci  char *ttype;
10510f66f451Sopenharmony_ci  struct termios def_term;
10520f66f451Sopenharmony_ci  struct termios raw_term;
10530f66f451Sopenharmony_ci  uint8_t term_ok;
10540f66f451Sopenharmony_ci  uint8_t term_mode;
10550f66f451Sopenharmony_ci  uint8_t flags;
10560f66f451Sopenharmony_ci  unsigned win_width;
10570f66f451Sopenharmony_ci  unsigned win_height;
10580f66f451Sopenharmony_ci};
10590f66f451Sopenharmony_ci
10600f66f451Sopenharmony_ci// toys/pending/telnetd.c
10610f66f451Sopenharmony_ci
10620f66f451Sopenharmony_cistruct telnetd_data {
10630f66f451Sopenharmony_ci    char *login_path;
10640f66f451Sopenharmony_ci    char *issue_path;
10650f66f451Sopenharmony_ci    int port;
10660f66f451Sopenharmony_ci    char *host_addr;
10670f66f451Sopenharmony_ci    long w_sec;
10680f66f451Sopenharmony_ci
10690f66f451Sopenharmony_ci    int gmax_fd;
10700f66f451Sopenharmony_ci    pid_t fork_pid;
10710f66f451Sopenharmony_ci};
10720f66f451Sopenharmony_ci
10730f66f451Sopenharmony_ci// toys/pending/tftp.c
10740f66f451Sopenharmony_ci
10750f66f451Sopenharmony_cistruct tftp_data {
10760f66f451Sopenharmony_ci  char *local_file;
10770f66f451Sopenharmony_ci  char *remote_file;
10780f66f451Sopenharmony_ci  long block_size;
10790f66f451Sopenharmony_ci
10800f66f451Sopenharmony_ci  struct sockaddr_storage inaddr;
10810f66f451Sopenharmony_ci  int af;
10820f66f451Sopenharmony_ci};
10830f66f451Sopenharmony_ci
10840f66f451Sopenharmony_ci// toys/pending/tftpd.c
10850f66f451Sopenharmony_ci
10860f66f451Sopenharmony_cistruct tftpd_data {
10870f66f451Sopenharmony_ci  char *user;
10880f66f451Sopenharmony_ci
10890f66f451Sopenharmony_ci  long sfd;
10900f66f451Sopenharmony_ci  struct passwd *pw;
10910f66f451Sopenharmony_ci};
10920f66f451Sopenharmony_ci
10930f66f451Sopenharmony_ci// toys/pending/tr.c
10940f66f451Sopenharmony_ci
10950f66f451Sopenharmony_cistruct tr_data {
10960f66f451Sopenharmony_ci  short map[256]; //map of chars
10970f66f451Sopenharmony_ci  int len1, len2;
10980f66f451Sopenharmony_ci};
10990f66f451Sopenharmony_ci
11000f66f451Sopenharmony_ci// toys/pending/traceroute.c
11010f66f451Sopenharmony_ci
11020f66f451Sopenharmony_cistruct traceroute_data {
11030f66f451Sopenharmony_ci  long max_ttl;
11040f66f451Sopenharmony_ci  long port;
11050f66f451Sopenharmony_ci  long ttl_probes;
11060f66f451Sopenharmony_ci  char *src_ip;
11070f66f451Sopenharmony_ci  long tos;
11080f66f451Sopenharmony_ci  long wait_time;
11090f66f451Sopenharmony_ci  struct arg_list *loose_source;
11100f66f451Sopenharmony_ci  long pause_time;
11110f66f451Sopenharmony_ci  long first_ttl;
11120f66f451Sopenharmony_ci  char *iface;
11130f66f451Sopenharmony_ci
11140f66f451Sopenharmony_ci  uint32_t gw_list[9];
11150f66f451Sopenharmony_ci  int recv_sock;
11160f66f451Sopenharmony_ci  int snd_sock;
11170f66f451Sopenharmony_ci  unsigned msg_len;
11180f66f451Sopenharmony_ci  char *packet;
11190f66f451Sopenharmony_ci  uint32_t ident;
11200f66f451Sopenharmony_ci  int istraceroute6;
11210f66f451Sopenharmony_ci};
11220f66f451Sopenharmony_ci
11230f66f451Sopenharmony_ci// toys/pending/useradd.c
11240f66f451Sopenharmony_ci
11250f66f451Sopenharmony_cistruct useradd_data {
11260f66f451Sopenharmony_ci  char *dir;
11270f66f451Sopenharmony_ci  char *gecos;
11280f66f451Sopenharmony_ci  char *shell;
11290f66f451Sopenharmony_ci  char *u_grp;
11300f66f451Sopenharmony_ci  long uid;
11310f66f451Sopenharmony_ci
11320f66f451Sopenharmony_ci  long gid;
11330f66f451Sopenharmony_ci};
11340f66f451Sopenharmony_ci
11350f66f451Sopenharmony_ci// toys/pending/vi.c
11360f66f451Sopenharmony_ci
11370f66f451Sopenharmony_cistruct vi_data {
11380f66f451Sopenharmony_ci    int cur_col;
11390f66f451Sopenharmony_ci    int cur_row;
11400f66f451Sopenharmony_ci    int scr_row;
11410f66f451Sopenharmony_ci    int drawn_row;
11420f66f451Sopenharmony_ci    int drawn_col;
11430f66f451Sopenharmony_ci    unsigned screen_height;
11440f66f451Sopenharmony_ci    unsigned screen_width;
11450f66f451Sopenharmony_ci    int vi_mode;
11460f66f451Sopenharmony_ci    int count0;
11470f66f451Sopenharmony_ci    int count1;
11480f66f451Sopenharmony_ci    int vi_mov_flag;
11490f66f451Sopenharmony_ci    int modified;
11500f66f451Sopenharmony_ci    char vi_reg;
11510f66f451Sopenharmony_ci    char *last_search;
11520f66f451Sopenharmony_ci    int tabstop;
11530f66f451Sopenharmony_ci    int list;
11540f66f451Sopenharmony_ci};
11550f66f451Sopenharmony_ci
11560f66f451Sopenharmony_ci// toys/pending/wget.c
11570f66f451Sopenharmony_ci
11580f66f451Sopenharmony_cistruct wget_data {
11590f66f451Sopenharmony_ci  char *filename;
11600f66f451Sopenharmony_ci  long redirects;
11610f66f451Sopenharmony_ci
11620f66f451Sopenharmony_ci  int sock;
11630f66f451Sopenharmony_ci  char *url;
11640f66f451Sopenharmony_ci#if CFG_WGET_LIBTLS
11650f66f451Sopenharmony_ci  struct tls *tls;
11660f66f451Sopenharmony_ci#elif CFG_WGET_OPENSSL
11670f66f451Sopenharmony_ci  struct ssl_ctx_st *ctx;
11680f66f451Sopenharmony_ci  struct ssl_st *ssl;
11690f66f451Sopenharmony_ci#endif
11700f66f451Sopenharmony_ci};
11710f66f451Sopenharmony_ci
11720f66f451Sopenharmony_ci// toys/posix/basename.c
11730f66f451Sopenharmony_ci
11740f66f451Sopenharmony_cistruct basename_data {
11750f66f451Sopenharmony_ci  char *s;
11760f66f451Sopenharmony_ci};
11770f66f451Sopenharmony_ci
11780f66f451Sopenharmony_ci// toys/posix/chgrp.c
11790f66f451Sopenharmony_ci
11800f66f451Sopenharmony_cistruct chgrp_data {
11810f66f451Sopenharmony_ci  uid_t owner;
11820f66f451Sopenharmony_ci  gid_t group;
11830f66f451Sopenharmony_ci  char *owner_name, *group_name;
11840f66f451Sopenharmony_ci  int symfollow;
11850f66f451Sopenharmony_ci};
11860f66f451Sopenharmony_ci
11870f66f451Sopenharmony_ci// toys/posix/chmod.c
11880f66f451Sopenharmony_ci
11890f66f451Sopenharmony_cistruct chmod_data {
11900f66f451Sopenharmony_ci  char *mode;
11910f66f451Sopenharmony_ci};
11920f66f451Sopenharmony_ci
11930f66f451Sopenharmony_ci// toys/posix/cksum.c
11940f66f451Sopenharmony_ci
11950f66f451Sopenharmony_cistruct cksum_data {
11960f66f451Sopenharmony_ci  unsigned crc_table[256];
11970f66f451Sopenharmony_ci};
11980f66f451Sopenharmony_ci
11990f66f451Sopenharmony_ci// toys/posix/cmp.c
12000f66f451Sopenharmony_ci
12010f66f451Sopenharmony_cistruct cmp_data {
12020f66f451Sopenharmony_ci  int fd;
12030f66f451Sopenharmony_ci  char *name;
12040f66f451Sopenharmony_ci};
12050f66f451Sopenharmony_ci
12060f66f451Sopenharmony_ci// toys/posix/cp.c
12070f66f451Sopenharmony_ci
12080f66f451Sopenharmony_cistruct cp_data {
12090f66f451Sopenharmony_ci  union {
12100f66f451Sopenharmony_ci    // install's options
12110f66f451Sopenharmony_ci    struct {
12120f66f451Sopenharmony_ci      char *g, *o, *m;
12130f66f451Sopenharmony_ci    } i;
12140f66f451Sopenharmony_ci    // cp's options
12150f66f451Sopenharmony_ci    struct {
12160f66f451Sopenharmony_ci      char *preserve;
12170f66f451Sopenharmony_ci    } c;
12180f66f451Sopenharmony_ci  };
12190f66f451Sopenharmony_ci
12200f66f451Sopenharmony_ci  char *destname;
12210f66f451Sopenharmony_ci  struct stat top;
12220f66f451Sopenharmony_ci  int (*callback)(struct dirtree *try);
12230f66f451Sopenharmony_ci  uid_t uid;
12240f66f451Sopenharmony_ci  gid_t gid;
12250f66f451Sopenharmony_ci  int pflags;
12260f66f451Sopenharmony_ci};
12270f66f451Sopenharmony_ci
12280f66f451Sopenharmony_ci// toys/posix/cpio.c
12290f66f451Sopenharmony_ci
12300f66f451Sopenharmony_cistruct cpio_data {
12310f66f451Sopenharmony_ci  char *F, *p, *H;
12320f66f451Sopenharmony_ci};
12330f66f451Sopenharmony_ci
12340f66f451Sopenharmony_ci// toys/posix/cut.c
12350f66f451Sopenharmony_ci
12360f66f451Sopenharmony_cistruct cut_data {
12370f66f451Sopenharmony_ci  char *d, *O;
12380f66f451Sopenharmony_ci  struct arg_list *select[5]; // we treat them the same, so loop through
12390f66f451Sopenharmony_ci
12400f66f451Sopenharmony_ci  int pairs;
12410f66f451Sopenharmony_ci  regex_t reg;
12420f66f451Sopenharmony_ci};
12430f66f451Sopenharmony_ci
12440f66f451Sopenharmony_ci// toys/posix/date.c
12450f66f451Sopenharmony_ci
12460f66f451Sopenharmony_cistruct date_data {
12470f66f451Sopenharmony_ci  char *r, *D, *d;
12480f66f451Sopenharmony_ci
12490f66f451Sopenharmony_ci  unsigned nano;
12500f66f451Sopenharmony_ci};
12510f66f451Sopenharmony_ci
12520f66f451Sopenharmony_ci// toys/posix/df.c
12530f66f451Sopenharmony_ci
12540f66f451Sopenharmony_cistruct df_data {
12550f66f451Sopenharmony_ci  struct arg_list *t;
12560f66f451Sopenharmony_ci
12570f66f451Sopenharmony_ci  long units;
12580f66f451Sopenharmony_ci  int column_widths[5];
12590f66f451Sopenharmony_ci  int header_shown;
12600f66f451Sopenharmony_ci};
12610f66f451Sopenharmony_ci
12620f66f451Sopenharmony_ci// toys/posix/du.c
12630f66f451Sopenharmony_ci
12640f66f451Sopenharmony_cistruct du_data {
12650f66f451Sopenharmony_ci  long d;
12660f66f451Sopenharmony_ci
12670f66f451Sopenharmony_ci  unsigned long depth, total;
12680f66f451Sopenharmony_ci  dev_t st_dev;
12690f66f451Sopenharmony_ci  void *inodes;
12700f66f451Sopenharmony_ci};
12710f66f451Sopenharmony_ci
12720f66f451Sopenharmony_ci// toys/posix/env.c
12730f66f451Sopenharmony_ci
12740f66f451Sopenharmony_cistruct env_data {
12750f66f451Sopenharmony_ci  struct arg_list *u;
12760f66f451Sopenharmony_ci};;
12770f66f451Sopenharmony_ci
12780f66f451Sopenharmony_ci// toys/posix/expand.c
12790f66f451Sopenharmony_ci
12800f66f451Sopenharmony_cistruct expand_data {
12810f66f451Sopenharmony_ci  struct arg_list *t;
12820f66f451Sopenharmony_ci
12830f66f451Sopenharmony_ci  unsigned tabcount, *tab;
12840f66f451Sopenharmony_ci};
12850f66f451Sopenharmony_ci
12860f66f451Sopenharmony_ci// toys/posix/file.c
12870f66f451Sopenharmony_ci
12880f66f451Sopenharmony_cistruct file_data {
12890f66f451Sopenharmony_ci  int max_name_len;
12900f66f451Sopenharmony_ci
12910f66f451Sopenharmony_ci  off_t len;
12920f66f451Sopenharmony_ci};
12930f66f451Sopenharmony_ci
12940f66f451Sopenharmony_ci// toys/posix/find.c
12950f66f451Sopenharmony_ci
12960f66f451Sopenharmony_cistruct find_data {
12970f66f451Sopenharmony_ci  char **filter;
12980f66f451Sopenharmony_ci  struct double_list *argdata;
12990f66f451Sopenharmony_ci  int topdir, xdev, depth;
13000f66f451Sopenharmony_ci  time_t now;
13010f66f451Sopenharmony_ci  long max_bytes;
13020f66f451Sopenharmony_ci  char *start;
13030f66f451Sopenharmony_ci};
13040f66f451Sopenharmony_ci
13050f66f451Sopenharmony_ci// toys/posix/grep.c
13060f66f451Sopenharmony_ci
13070f66f451Sopenharmony_cistruct grep_data {
13080f66f451Sopenharmony_ci  long m, A, B, C;
13090f66f451Sopenharmony_ci  struct arg_list *f, *e, *M, *S, *exclude_dir;
13100f66f451Sopenharmony_ci  char *color;
13110f66f451Sopenharmony_ci
13120f66f451Sopenharmony_ci  char *purple, *cyan, *red, *green, *grey;
13130f66f451Sopenharmony_ci  struct double_list *reg;
13140f66f451Sopenharmony_ci  char indelim, outdelim;
13150f66f451Sopenharmony_ci  int found, tried;
13160f66f451Sopenharmony_ci};
13170f66f451Sopenharmony_ci
13180f66f451Sopenharmony_ci// toys/posix/head.c
13190f66f451Sopenharmony_ci
13200f66f451Sopenharmony_cistruct head_data {
13210f66f451Sopenharmony_ci  long c, n;
13220f66f451Sopenharmony_ci
13230f66f451Sopenharmony_ci  int file_no;
13240f66f451Sopenharmony_ci};
13250f66f451Sopenharmony_ci
13260f66f451Sopenharmony_ci// toys/posix/iconv.c
13270f66f451Sopenharmony_ci
13280f66f451Sopenharmony_cistruct iconv_data {
13290f66f451Sopenharmony_ci  char *f, *t;
13300f66f451Sopenharmony_ci
13310f66f451Sopenharmony_ci  void *ic;
13320f66f451Sopenharmony_ci};
13330f66f451Sopenharmony_ci
13340f66f451Sopenharmony_ci// toys/posix/id.c
13350f66f451Sopenharmony_ci
13360f66f451Sopenharmony_cistruct id_data {
13370f66f451Sopenharmony_ci  int is_groups;
13380f66f451Sopenharmony_ci};
13390f66f451Sopenharmony_ci
13400f66f451Sopenharmony_ci// toys/posix/kill.c
13410f66f451Sopenharmony_ci
13420f66f451Sopenharmony_cistruct kill_data {
13430f66f451Sopenharmony_ci  char *s;
13440f66f451Sopenharmony_ci  struct arg_list *o;
13450f66f451Sopenharmony_ci};
13460f66f451Sopenharmony_ci
13470f66f451Sopenharmony_ci// toys/posix/ln.c
13480f66f451Sopenharmony_ci
13490f66f451Sopenharmony_cistruct ln_data {
13500f66f451Sopenharmony_ci  char *t;
13510f66f451Sopenharmony_ci};
13520f66f451Sopenharmony_ci
13530f66f451Sopenharmony_ci// toys/posix/logger.c
13540f66f451Sopenharmony_ci
13550f66f451Sopenharmony_cistruct logger_data {
13560f66f451Sopenharmony_ci  char *p, *t;
13570f66f451Sopenharmony_ci};
13580f66f451Sopenharmony_ci
13590f66f451Sopenharmony_ci// toys/posix/ls.c
13600f66f451Sopenharmony_ci
13610f66f451Sopenharmony_cistruct ls_data {
13620f66f451Sopenharmony_ci  long l;
13630f66f451Sopenharmony_ci  char *color;
13640f66f451Sopenharmony_ci
13650f66f451Sopenharmony_ci  struct dirtree *files, *singledir;
13660f66f451Sopenharmony_ci  unsigned screen_width;
13670f66f451Sopenharmony_ci  int nl_title;
13680f66f451Sopenharmony_ci  char *escmore;
13690f66f451Sopenharmony_ci};
13700f66f451Sopenharmony_ci
13710f66f451Sopenharmony_ci// toys/posix/mkdir.c
13720f66f451Sopenharmony_ci
13730f66f451Sopenharmony_cistruct mkdir_data {
13740f66f451Sopenharmony_ci  char *m, *Z;
13750f66f451Sopenharmony_ci};
13760f66f451Sopenharmony_ci
13770f66f451Sopenharmony_ci// toys/posix/mkfifo.c
13780f66f451Sopenharmony_ci
13790f66f451Sopenharmony_cistruct mkfifo_data {
13800f66f451Sopenharmony_ci  char *m;
13810f66f451Sopenharmony_ci  char *Z;
13820f66f451Sopenharmony_ci
13830f66f451Sopenharmony_ci  mode_t mode;
13840f66f451Sopenharmony_ci};
13850f66f451Sopenharmony_ci
13860f66f451Sopenharmony_ci// toys/posix/nice.c
13870f66f451Sopenharmony_ci
13880f66f451Sopenharmony_cistruct nice_data {
13890f66f451Sopenharmony_ci  long n;
13900f66f451Sopenharmony_ci};
13910f66f451Sopenharmony_ci
13920f66f451Sopenharmony_ci// toys/posix/nl.c
13930f66f451Sopenharmony_ci
13940f66f451Sopenharmony_cistruct nl_data {
13950f66f451Sopenharmony_ci  char *s, *n, *b;
13960f66f451Sopenharmony_ci  long w, l, v;
13970f66f451Sopenharmony_ci
13980f66f451Sopenharmony_ci  // Count of consecutive blank lines for -l has to persist between files
13990f66f451Sopenharmony_ci  long lcount;
14000f66f451Sopenharmony_ci  long slen;
14010f66f451Sopenharmony_ci};
14020f66f451Sopenharmony_ci
14030f66f451Sopenharmony_ci// toys/posix/od.c
14040f66f451Sopenharmony_ci
14050f66f451Sopenharmony_cistruct od_data {
14060f66f451Sopenharmony_ci  struct arg_list *t;
14070f66f451Sopenharmony_ci  char *A;
14080f66f451Sopenharmony_ci  long N, w, j;
14090f66f451Sopenharmony_ci
14100f66f451Sopenharmony_ci  int address_idx;
14110f66f451Sopenharmony_ci  unsigned types, leftover, star;
14120f66f451Sopenharmony_ci  char *buf; // Points to buffers[0] or buffers[1].
14130f66f451Sopenharmony_ci  char *bufs[2]; // Used to detect duplicate lines.
14140f66f451Sopenharmony_ci  off_t pos;
14150f66f451Sopenharmony_ci};
14160f66f451Sopenharmony_ci
14170f66f451Sopenharmony_ci// toys/posix/paste.c
14180f66f451Sopenharmony_ci
14190f66f451Sopenharmony_cistruct paste_data {
14200f66f451Sopenharmony_ci  char *d;
14210f66f451Sopenharmony_ci
14220f66f451Sopenharmony_ci  int files;
14230f66f451Sopenharmony_ci};
14240f66f451Sopenharmony_ci
14250f66f451Sopenharmony_ci// toys/posix/patch.c
14260f66f451Sopenharmony_ci
14270f66f451Sopenharmony_cistruct patch_data {
14280f66f451Sopenharmony_ci  char *i, *d;
14290f66f451Sopenharmony_ci  long p, g;
14300f66f451Sopenharmony_ci
14310f66f451Sopenharmony_ci  struct double_list *current_hunk;
14320f66f451Sopenharmony_ci  long oldline, oldlen, newline, newlen;
14330f66f451Sopenharmony_ci  long linenum;
14340f66f451Sopenharmony_ci  int context, state, filein, fileout, filepatch, hunknum;
14350f66f451Sopenharmony_ci  char *tempname;
14360f66f451Sopenharmony_ci};
14370f66f451Sopenharmony_ci
14380f66f451Sopenharmony_ci// toys/posix/ps.c
14390f66f451Sopenharmony_ci
14400f66f451Sopenharmony_cistruct ps_data {
14410f66f451Sopenharmony_ci  union {
14420f66f451Sopenharmony_ci    struct {
14430f66f451Sopenharmony_ci      struct arg_list *G, *g, *U, *u, *t, *s, *p, *O, *o, *P, *k;
14440f66f451Sopenharmony_ci    } ps;
14450f66f451Sopenharmony_ci    struct {
14460f66f451Sopenharmony_ci      long n, m, d, s;
14470f66f451Sopenharmony_ci      struct arg_list *u, *p, *o, *k, *O;
14480f66f451Sopenharmony_ci    } top;
14490f66f451Sopenharmony_ci    struct {
14500f66f451Sopenharmony_ci      char *L;
14510f66f451Sopenharmony_ci      struct arg_list *G, *g, *P, *s, *t, *U, *u;
14520f66f451Sopenharmony_ci      char *d;
14530f66f451Sopenharmony_ci
14540f66f451Sopenharmony_ci      void *regexes, *snapshot;
14550f66f451Sopenharmony_ci      int signal;
14560f66f451Sopenharmony_ci      pid_t self, match;
14570f66f451Sopenharmony_ci    } pgrep;
14580f66f451Sopenharmony_ci  };
14590f66f451Sopenharmony_ci
14600f66f451Sopenharmony_ci  struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU;
14610f66f451Sopenharmony_ci  struct dirtree *threadparent;
14620f66f451Sopenharmony_ci  unsigned width, height;
14630f66f451Sopenharmony_ci  dev_t tty;
14640f66f451Sopenharmony_ci  void *fields, *kfields;
14650f66f451Sopenharmony_ci  long long ticks, bits, time;
14660f66f451Sopenharmony_ci  int kcount, forcek, sortpos;
14670f66f451Sopenharmony_ci  int (*match_process)(long long *slot);
14680f66f451Sopenharmony_ci  void (*show_process)(void *tb);
14690f66f451Sopenharmony_ci};
14700f66f451Sopenharmony_ci
14710f66f451Sopenharmony_ci// toys/posix/renice.c
14720f66f451Sopenharmony_ci
14730f66f451Sopenharmony_cistruct renice_data {
14740f66f451Sopenharmony_ci  long n;
14750f66f451Sopenharmony_ci};
14760f66f451Sopenharmony_ci
14770f66f451Sopenharmony_ci// toys/posix/sed.c
14780f66f451Sopenharmony_ci
14790f66f451Sopenharmony_cistruct sed_data {
14800f66f451Sopenharmony_ci  char *i;
14810f66f451Sopenharmony_ci  struct arg_list *f, *e;
14820f66f451Sopenharmony_ci
14830f66f451Sopenharmony_ci  // processed pattern list
14840f66f451Sopenharmony_ci  struct double_list *pattern;
14850f66f451Sopenharmony_ci
14860f66f451Sopenharmony_ci  char *nextline, *remember;
14870f66f451Sopenharmony_ci  void *restart, *lastregex;
14880f66f451Sopenharmony_ci  long nextlen, rememberlen, count;
14890f66f451Sopenharmony_ci  int fdout, noeol;
14900f66f451Sopenharmony_ci  unsigned xx;
14910f66f451Sopenharmony_ci  char delim;
14920f66f451Sopenharmony_ci};
14930f66f451Sopenharmony_ci
14940f66f451Sopenharmony_ci// toys/posix/sort.c
14950f66f451Sopenharmony_ci
14960f66f451Sopenharmony_cistruct sort_data {
14970f66f451Sopenharmony_ci  char *t;
14980f66f451Sopenharmony_ci  struct arg_list *k;
14990f66f451Sopenharmony_ci  char *o, *T, S;
15000f66f451Sopenharmony_ci
15010f66f451Sopenharmony_ci  void *key_list;
15020f66f451Sopenharmony_ci  int linecount;
15030f66f451Sopenharmony_ci  char **lines, *name;
15040f66f451Sopenharmony_ci};
15050f66f451Sopenharmony_ci
15060f66f451Sopenharmony_ci// toys/posix/split.c
15070f66f451Sopenharmony_ci
15080f66f451Sopenharmony_cistruct split_data {
15090f66f451Sopenharmony_ci  long n, l, b, a;
15100f66f451Sopenharmony_ci
15110f66f451Sopenharmony_ci  char *outfile;
15120f66f451Sopenharmony_ci};
15130f66f451Sopenharmony_ci
15140f66f451Sopenharmony_ci// toys/posix/strings.c
15150f66f451Sopenharmony_ci
15160f66f451Sopenharmony_cistruct strings_data {
15170f66f451Sopenharmony_ci  long n;
15180f66f451Sopenharmony_ci  char *t;
15190f66f451Sopenharmony_ci};
15200f66f451Sopenharmony_ci
15210f66f451Sopenharmony_ci// toys/posix/tail.c
15220f66f451Sopenharmony_ci
15230f66f451Sopenharmony_cistruct tail_data {
15240f66f451Sopenharmony_ci  long n, c;
15250f66f451Sopenharmony_ci
15260f66f451Sopenharmony_ci  int file_no, last_fd;
15270f66f451Sopenharmony_ci  struct xnotify *not;
15280f66f451Sopenharmony_ci};
15290f66f451Sopenharmony_ci
15300f66f451Sopenharmony_ci// toys/posix/tar.c
15310f66f451Sopenharmony_ci
15320f66f451Sopenharmony_cistruct tar_data {
15330f66f451Sopenharmony_ci  char *f, *C;
15340f66f451Sopenharmony_ci  struct arg_list *T, *X;
15350f66f451Sopenharmony_ci  char *to_command, *owner, *group, *mtime, *mode;
15360f66f451Sopenharmony_ci  struct arg_list *exclude;
15370f66f451Sopenharmony_ci
15380f66f451Sopenharmony_ci  struct double_list *incl, *excl, *seen;
15390f66f451Sopenharmony_ci  struct string_list *dirs;
15400f66f451Sopenharmony_ci  char *cwd;
15410f66f451Sopenharmony_ci  int fd, ouid, ggid, hlc, warn, adev, aino, sparselen;
15420f66f451Sopenharmony_ci  long long *sparse;
15430f66f451Sopenharmony_ci  time_t mtt;
15440f66f451Sopenharmony_ci
15450f66f451Sopenharmony_ci  // hardlinks seen so far (hlc many)
15460f66f451Sopenharmony_ci  struct {
15470f66f451Sopenharmony_ci    char *arg;
15480f66f451Sopenharmony_ci    ino_t ino;
15490f66f451Sopenharmony_ci    dev_t dev;
15500f66f451Sopenharmony_ci  } *hlx;
15510f66f451Sopenharmony_ci
15520f66f451Sopenharmony_ci  // Parsed information about a tar header.
15530f66f451Sopenharmony_ci  struct tar_header {
15540f66f451Sopenharmony_ci    char *name, *link_target, *uname, *gname;
15550f66f451Sopenharmony_ci    long long size, ssize;
15560f66f451Sopenharmony_ci    uid_t uid;
15570f66f451Sopenharmony_ci    gid_t gid;
15580f66f451Sopenharmony_ci    mode_t mode;
15590f66f451Sopenharmony_ci    time_t mtime;
15600f66f451Sopenharmony_ci    dev_t device;
15610f66f451Sopenharmony_ci  } hdr;
15620f66f451Sopenharmony_ci};
15630f66f451Sopenharmony_ci
15640f66f451Sopenharmony_ci// toys/posix/tee.c
15650f66f451Sopenharmony_ci
15660f66f451Sopenharmony_cistruct tee_data {
15670f66f451Sopenharmony_ci  void *outputs;
15680f66f451Sopenharmony_ci  int out;
15690f66f451Sopenharmony_ci};
15700f66f451Sopenharmony_ci
15710f66f451Sopenharmony_ci// toys/posix/touch.c
15720f66f451Sopenharmony_ci
15730f66f451Sopenharmony_cistruct touch_data {
15740f66f451Sopenharmony_ci  char *t, *r, *d;
15750f66f451Sopenharmony_ci};
15760f66f451Sopenharmony_ci
15770f66f451Sopenharmony_ci// toys/posix/ulimit.c
15780f66f451Sopenharmony_ci
15790f66f451Sopenharmony_cistruct ulimit_data {
15800f66f451Sopenharmony_ci  long P;
15810f66f451Sopenharmony_ci};
15820f66f451Sopenharmony_ci
15830f66f451Sopenharmony_ci// toys/posix/uniq.c
15840f66f451Sopenharmony_ci
15850f66f451Sopenharmony_cistruct uniq_data {
15860f66f451Sopenharmony_ci  long w, s, f;
15870f66f451Sopenharmony_ci
15880f66f451Sopenharmony_ci  long repeats;
15890f66f451Sopenharmony_ci};
15900f66f451Sopenharmony_ci
15910f66f451Sopenharmony_ci// toys/posix/uudecode.c
15920f66f451Sopenharmony_ci
15930f66f451Sopenharmony_cistruct uudecode_data {
15940f66f451Sopenharmony_ci  char *o;
15950f66f451Sopenharmony_ci};
15960f66f451Sopenharmony_ci
15970f66f451Sopenharmony_ci// toys/posix/wc.c
15980f66f451Sopenharmony_ci
15990f66f451Sopenharmony_cistruct wc_data {
16000f66f451Sopenharmony_ci  unsigned long totals[4];
16010f66f451Sopenharmony_ci};
16020f66f451Sopenharmony_ci
16030f66f451Sopenharmony_ci// toys/posix/xargs.c
16040f66f451Sopenharmony_ci
16050f66f451Sopenharmony_cistruct xargs_data {
16060f66f451Sopenharmony_ci  long s, n, P;
16070f66f451Sopenharmony_ci  char *E;
16080f66f451Sopenharmony_ci
16090f66f451Sopenharmony_ci  long entries, bytes;
16100f66f451Sopenharmony_ci  char delim;
16110f66f451Sopenharmony_ci  FILE *tty;
16120f66f451Sopenharmony_ci};
16130f66f451Sopenharmony_ci
16140f66f451Sopenharmony_ciextern union global_union {
16150f66f451Sopenharmony_ci	struct log_data log;
16160f66f451Sopenharmony_ci	struct demo_number_data demo_number;
16170f66f451Sopenharmony_ci	struct hello_data hello;
16180f66f451Sopenharmony_ci	struct skeleton_data skeleton;
16190f66f451Sopenharmony_ci	struct dmesg_data dmesg;
16200f66f451Sopenharmony_ci	struct gzip_data gzip;
16210f66f451Sopenharmony_ci	struct hostname_data hostname;
16220f66f451Sopenharmony_ci	struct killall_data killall;
16230f66f451Sopenharmony_ci	struct md5sum_data md5sum;
16240f66f451Sopenharmony_ci	struct mknod_data mknod;
16250f66f451Sopenharmony_ci	struct mktemp_data mktemp;
16260f66f451Sopenharmony_ci	struct mount_data mount;
16270f66f451Sopenharmony_ci	struct passwd_data passwd;
16280f66f451Sopenharmony_ci	struct pidof_data pidof;
16290f66f451Sopenharmony_ci	struct seq_data seq;
16300f66f451Sopenharmony_ci#ifdef OHOS_LITE
16310f66f451Sopenharmony_ci	struct su_data su;
16320f66f451Sopenharmony_ci#endif
16330f66f451Sopenharmony_ci	struct umount_data umount;
16340f66f451Sopenharmony_ci	struct ftpget_data ftpget;
16350f66f451Sopenharmony_ci	struct ifconfig_data ifconfig;
16360f66f451Sopenharmony_ci	struct microcom_data microcom;
16370f66f451Sopenharmony_ci	struct netcat_data netcat;
16380f66f451Sopenharmony_ci	struct netstat_data netstat;
16390f66f451Sopenharmony_ci	struct ping_data ping;
16400f66f451Sopenharmony_ci	struct sntp_data sntp;
16410f66f451Sopenharmony_ci	struct tunctl_data tunctl;
16420f66f451Sopenharmony_ci	struct acpi_data acpi;
16430f66f451Sopenharmony_ci	struct base64_data base64;
16440f66f451Sopenharmony_ci	struct blkid_data blkid;
16450f66f451Sopenharmony_ci	struct blockdev_data blockdev;
16460f66f451Sopenharmony_ci	struct chrt_data chrt;
16470f66f451Sopenharmony_ci	struct dos2unix_data dos2unix;
16480f66f451Sopenharmony_ci	struct fallocate_data fallocate;
16490f66f451Sopenharmony_ci	struct fmt_data fmt;
16500f66f451Sopenharmony_ci	struct free_data free;
16510f66f451Sopenharmony_ci	struct hexedit_data hexedit;
16520f66f451Sopenharmony_ci	struct hwclock_data hwclock;
16530f66f451Sopenharmony_ci	struct ionice_data ionice;
16540f66f451Sopenharmony_ci	struct login_data login;
16550f66f451Sopenharmony_ci	struct losetup_data losetup;
16560f66f451Sopenharmony_ci	struct lspci_data lspci;
16570f66f451Sopenharmony_ci	struct makedevs_data makedevs;
16580f66f451Sopenharmony_ci	struct mix_data mix;
16590f66f451Sopenharmony_ci	struct mkpasswd_data mkpasswd;
16600f66f451Sopenharmony_ci	struct mkswap_data mkswap;
16610f66f451Sopenharmony_ci	struct modinfo_data modinfo;
16620f66f451Sopenharmony_ci	struct nsenter_data nsenter;
16630f66f451Sopenharmony_ci	struct oneit_data oneit;
16640f66f451Sopenharmony_ci	struct pwgen_data pwgen;
16650f66f451Sopenharmony_ci	struct reboot_data reboot;
16660f66f451Sopenharmony_ci	struct setfattr_data setfattr;
16670f66f451Sopenharmony_ci	struct sha3sum_data sha3sum;
16680f66f451Sopenharmony_ci	struct shred_data shred;
16690f66f451Sopenharmony_ci	struct stat_data stat;
16700f66f451Sopenharmony_ci	struct swapon_data swapon;
16710f66f451Sopenharmony_ci	struct switch_root_data switch_root;
16720f66f451Sopenharmony_ci	struct tac_data tac;
16730f66f451Sopenharmony_ci	struct timeout_data timeout;
16740f66f451Sopenharmony_ci	struct truncate_data truncate;
16750f66f451Sopenharmony_ci	struct watch_data watch;
16760f66f451Sopenharmony_ci	struct xxd_data xxd;
16770f66f451Sopenharmony_ci	struct arp_data arp;
16780f66f451Sopenharmony_ci	struct arping_data arping;
16790f66f451Sopenharmony_ci	struct bc_data bc;
16800f66f451Sopenharmony_ci	struct bootchartd_data bootchartd;
16810f66f451Sopenharmony_ci	struct brctl_data brctl;
16820f66f451Sopenharmony_ci	struct chsh_data chsh;
16830f66f451Sopenharmony_ci	struct crond_data crond;
16840f66f451Sopenharmony_ci	struct crontab_data crontab;
16850f66f451Sopenharmony_ci	struct dd_data dd;
16860f66f451Sopenharmony_ci	struct dhcp_data dhcp;
16870f66f451Sopenharmony_ci	struct dhcp6_data dhcp6;
16880f66f451Sopenharmony_ci	struct dhcpd_data dhcpd;
16890f66f451Sopenharmony_ci	struct diff_data diff;
16900f66f451Sopenharmony_ci	struct dumpleases_data dumpleases;
16910f66f451Sopenharmony_ci	struct expr_data expr;
16920f66f451Sopenharmony_ci	struct fdisk_data fdisk;
16930f66f451Sopenharmony_ci	struct fold_data fold;
16940f66f451Sopenharmony_ci	struct fsck_data fsck;
16950f66f451Sopenharmony_ci	struct getfattr_data getfattr;
16960f66f451Sopenharmony_ci	struct getopt_data getopt;
16970f66f451Sopenharmony_ci	struct getty_data getty;
16980f66f451Sopenharmony_ci	struct groupadd_data groupadd;
16990f66f451Sopenharmony_ci	struct hexdump_data hexdump;
17000f66f451Sopenharmony_ci	struct host_data host;
17010f66f451Sopenharmony_ci	struct ip_data ip;
17020f66f451Sopenharmony_ci	struct ipcrm_data ipcrm;
17030f66f451Sopenharmony_ci	struct ipcs_data ipcs;
17040f66f451Sopenharmony_ci	struct klogd_data klogd;
17050f66f451Sopenharmony_ci	struct last_data last;
17060f66f451Sopenharmony_ci	struct lsof_data lsof;
17070f66f451Sopenharmony_ci	struct man_data man;
17080f66f451Sopenharmony_ci	struct mke2fs_data mke2fs;
17090f66f451Sopenharmony_ci	struct modprobe_data modprobe;
17100f66f451Sopenharmony_ci	struct more_data more;
17110f66f451Sopenharmony_ci	struct openvt_data openvt;
17120f66f451Sopenharmony_ci	struct route_data route;
17130f66f451Sopenharmony_ci	struct sh_data sh;
17140f66f451Sopenharmony_ci	struct strace_data strace;
17150f66f451Sopenharmony_ci	struct stty_data stty;
17160f66f451Sopenharmony_ci	struct sulogin_data sulogin;
17170f66f451Sopenharmony_ci	struct syslogd_data syslogd;
17180f66f451Sopenharmony_ci	struct tcpsvd_data tcpsvd;
17190f66f451Sopenharmony_ci	struct telnet_data telnet;
17200f66f451Sopenharmony_ci	struct telnetd_data telnetd;
17210f66f451Sopenharmony_ci	struct tftp_data tftp;
17220f66f451Sopenharmony_ci	struct tftpd_data tftpd;
17230f66f451Sopenharmony_ci	struct tr_data tr;
17240f66f451Sopenharmony_ci	struct traceroute_data traceroute;
17250f66f451Sopenharmony_ci	struct useradd_data useradd;
17260f66f451Sopenharmony_ci	struct vi_data vi;
17270f66f451Sopenharmony_ci        struct awk_data awk;
17280f66f451Sopenharmony_ci	struct wget_data wget;
17290f66f451Sopenharmony_ci	struct basename_data basename;
17300f66f451Sopenharmony_ci	struct chgrp_data chgrp;
17310f66f451Sopenharmony_ci	struct chmod_data chmod;
17320f66f451Sopenharmony_ci	struct cksum_data cksum;
17330f66f451Sopenharmony_ci	struct cmp_data cmp;
17340f66f451Sopenharmony_ci	struct cp_data cp;
17350f66f451Sopenharmony_ci	struct cpio_data cpio;
17360f66f451Sopenharmony_ci	struct cut_data cut;
17370f66f451Sopenharmony_ci	struct date_data date;
17380f66f451Sopenharmony_ci	struct df_data df;
17390f66f451Sopenharmony_ci	struct du_data du;
17400f66f451Sopenharmony_ci	struct env_data env;
17410f66f451Sopenharmony_ci	struct expand_data expand;
17420f66f451Sopenharmony_ci	struct file_data file;
17430f66f451Sopenharmony_ci	struct find_data find;
17440f66f451Sopenharmony_ci	struct grep_data grep;
17450f66f451Sopenharmony_ci	struct head_data head;
17460f66f451Sopenharmony_ci	struct iconv_data iconv;
17470f66f451Sopenharmony_ci	struct id_data id;
17480f66f451Sopenharmony_ci	struct kill_data kill;
17490f66f451Sopenharmony_ci	struct ln_data ln;
17500f66f451Sopenharmony_ci	struct logger_data logger;
17510f66f451Sopenharmony_ci	struct ls_data ls;
17520f66f451Sopenharmony_ci	struct mkdir_data mkdir;
17530f66f451Sopenharmony_ci	struct mkfifo_data mkfifo;
17540f66f451Sopenharmony_ci	struct nice_data nice;
17550f66f451Sopenharmony_ci	struct nl_data nl;
17560f66f451Sopenharmony_ci	struct od_data od;
17570f66f451Sopenharmony_ci	struct paste_data paste;
17580f66f451Sopenharmony_ci	struct patch_data patch;
17590f66f451Sopenharmony_ci	struct ps_data ps;
17600f66f451Sopenharmony_ci	struct renice_data renice;
17610f66f451Sopenharmony_ci	struct sed_data sed;
17620f66f451Sopenharmony_ci	struct sort_data sort;
17630f66f451Sopenharmony_ci	struct split_data split;
17640f66f451Sopenharmony_ci	struct strings_data strings;
17650f66f451Sopenharmony_ci	struct tail_data tail;
17660f66f451Sopenharmony_ci	struct tar_data tar;
17670f66f451Sopenharmony_ci	struct tee_data tee;
17680f66f451Sopenharmony_ci	struct touch_data touch;
17690f66f451Sopenharmony_ci	struct ulimit_data ulimit;
17700f66f451Sopenharmony_ci	struct uniq_data uniq;
17710f66f451Sopenharmony_ci	struct uudecode_data uudecode;
17720f66f451Sopenharmony_ci	struct wc_data wc;
17730f66f451Sopenharmony_ci	struct xargs_data xargs;
17740f66f451Sopenharmony_ci} this;
1775