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