OSDN Git Service

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