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