OSDN Git Service

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