OSDN Git Service

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