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   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/ping.c
695
696 struct ping_data {
697   long wait_exit;
698   long wait_resp;
699   char *iface;
700   long size;
701   long count;
702   long ttl;
703
704   int sock;
705 };
706
707 // toys/pending/route.c
708
709 struct route_data {
710   char *family;
711 };
712
713 // toys/pending/sh.c
714
715 struct sh_data {
716   char *command;
717 };
718
719 // toys/pending/sulogin.c
720
721 struct sulogin_data {
722   long timeout;
723   struct termios crntio;
724 };
725
726 // toys/pending/syslogd.c
727
728 struct syslogd_data {
729   char *socket;
730   char *config_file;
731   char *unix_socket;
732   char *logfile;
733   long interval;
734   long rot_size;
735   long rot_count;
736   char *remote_log;
737   long log_prio;
738
739   struct unsocks *lsocks;  // list of listen sockets
740   struct logfile *lfiles;  // list of write logfiles
741   int sigfd[2];
742 };
743
744 // toys/pending/tar.c
745
746 struct tar_data {
747   char *fname;
748   char *dir;
749   struct arg_list *inc_file;
750   struct arg_list *exc_file;
751   char *tocmd;
752   struct arg_list *exc;
753
754   struct arg_list *inc, *pass;
755   void *inodes, *handle;
756 };
757
758 // toys/pending/tcpsvd.c
759
760 struct tcpsvd_data {
761   char *name;
762   char *user;
763   long bn;
764   char *nmsg;
765   long cn;
766
767   int maxc;
768   int count_all;
769   int udp;
770 };
771
772 // toys/pending/telnet.c
773
774 struct telnet_data {
775   int port;
776   int sfd;
777   char buff[128];
778   int pbuff;
779   char iac[256];
780   int piac;
781   char *ttype;
782   struct termios def_term;
783   struct termios raw_term;
784   uint8_t term_ok;
785   uint8_t term_mode;
786   uint8_t flags;
787   unsigned win_width;
788   unsigned win_height;
789 };
790
791 // toys/pending/telnetd.c
792
793 struct telnetd_data {
794     char *login_path;
795     char *issue_path;
796     int port;
797     char *host_addr;
798     long w_sec;
799
800     int gmax_fd;
801     pid_t fork_pid;
802 };
803
804 // toys/pending/tftp.c
805
806 struct tftp_data {
807   char *local_file;
808   char *remote_file;
809   long block_size;
810
811   struct sockaddr_storage inaddr;
812   int af;
813 };
814
815 // toys/pending/tftpd.c
816
817 struct tftpd_data {
818   char *user;
819
820   long sfd;
821   struct passwd *pw;
822 };
823
824 // toys/pending/top.c
825
826 struct top_data {
827   long iterations;
828   long delay;
829
830   long cmp_field;
831   long reverse;
832   long rows;
833   long smp;
834   long threads;
835   long m_flag;
836   long num_new_procs;
837   long scroll_offset;
838   struct termios inf;
839 };
840
841 // toys/pending/tr.c
842
843 struct tr_data {
844   short map[256]; //map of chars
845   int len1, len2;
846 };
847
848 // toys/pending/traceroute.c
849
850 struct traceroute_data {
851   long max_ttl;
852   long port;
853   long ttl_probes;
854   char *src_ip;
855   long tos;
856   long wait_time;
857   struct arg_list *loose_source;
858   long pause_time;
859   long first_ttl;
860   char *iface;
861
862   uint32_t gw_list[9];
863   int recv_sock;
864   int snd_sock;
865   unsigned msg_len;
866   char *packet;
867   uint32_t ident;
868   int istraceroute6;
869 };
870
871 // toys/pending/useradd.c
872
873 struct useradd_data {
874   char *dir;
875   char *gecos;
876   char *shell;
877   char *u_grp;
878   long uid;
879
880   long gid;
881 };
882
883 // toys/pending/vi.c
884
885 struct vi_data {
886   struct linestack *ls;
887   char *statline;
888 };
889
890 // toys/pending/watch.c
891
892 struct watch_data {
893   int interval;
894 };
895
896 // toys/posix/chgrp.c
897
898 struct chgrp_data {
899   uid_t owner;
900   gid_t group;
901   char *owner_name, *group_name;
902   int symfollow;
903 };
904
905 // toys/posix/chmod.c
906
907 struct chmod_data {
908   char *mode;
909 };
910
911 // toys/posix/cksum.c
912
913 struct cksum_data {
914   unsigned crc_table[256];
915 };
916
917 // toys/posix/cmp.c
918
919 struct cmp_data {
920   int fd;
921   char *name;
922 };
923
924 // toys/posix/cp.c
925
926 struct cp_data {
927   union {
928     struct {
929       // install's options
930       char *group;
931       char *user;
932       char *mode;
933     } i;
934     struct {
935       char *preserve;
936     } c;
937   };
938
939   char *destname;
940   struct stat top;
941   int (*callback)(struct dirtree *try);
942   uid_t uid;
943   gid_t gid;
944   int pflags;
945 };
946
947 // toys/posix/cpio.c
948
949 struct cpio_data {
950   char *archive;
951   char *pass;
952   char *fmt;
953 };
954
955 // toys/posix/cut.c
956
957 struct cut_data {
958   char *delim;
959   char *flist;
960   char *clist;
961   char *blist;
962
963   void *slist_head;
964   unsigned nelem;
965   void (*do_cut)(int fd);
966 };
967
968 // toys/posix/date.c
969
970 struct date_data {
971   char *file;
972   char *setfmt;
973   char *showdate;
974
975   char *tz;
976   unsigned nano;
977 };
978
979 // toys/posix/df.c
980
981 struct df_data {
982   struct arg_list *fstype;
983
984   long units;
985   int column_widths[5];
986   int header_shown;
987 };
988
989 // toys/posix/du.c
990
991 struct du_data {
992   long maxdepth;
993
994   long depth, total;
995   dev_t st_dev;
996   void *inodes;
997 };
998
999 // toys/posix/expand.c
1000
1001 struct expand_data {
1002   struct arg_list *tabs;
1003
1004   unsigned tabcount, *tab;
1005 };
1006
1007 // toys/posix/find.c
1008
1009 struct find_data {
1010   char **filter;
1011   struct double_list *argdata;
1012   int topdir, xdev, depth;
1013   time_t now;
1014 };
1015
1016 // toys/posix/grep.c
1017
1018 struct grep_data {
1019   long m;
1020   struct arg_list *f;
1021   struct arg_list *e;
1022 };
1023
1024 // toys/posix/head.c
1025
1026 struct head_data {
1027   long lines;
1028   int file_no;
1029 };
1030
1031 // toys/posix/id.c
1032
1033 struct id_data {
1034   int is_groups;
1035 };
1036
1037 // toys/posix/kill.c
1038
1039 struct kill_data {
1040   char *signame;
1041   struct arg_list *olist;
1042 };
1043
1044 // toys/posix/ls.c
1045
1046 struct ls_data {
1047   char *color;
1048
1049   struct dirtree *files, *singledir;
1050
1051   unsigned screen_width;
1052   int nl_title;
1053   char uid_buf[12], gid_buf[12];
1054 };
1055
1056 // toys/posix/mkdir.c
1057
1058 struct mkdir_data {
1059   char *arg_mode;
1060   char *arg_context;
1061 };
1062
1063 // toys/posix/mkfifo.c
1064
1065 struct mkfifo_data {
1066   char *m_string;
1067   char *Z;
1068
1069   mode_t mode;
1070 };
1071
1072 // toys/posix/nice.c
1073
1074 struct nice_data {
1075   long priority;
1076 };
1077
1078 // toys/posix/nl.c
1079
1080 struct nl_data {
1081   long w;
1082   char *s;
1083   char *n;
1084   char *b;
1085   long l;
1086   long v;
1087
1088   // Count of consecutive blank lines for -l has to persist between files
1089   long lcount;
1090 };
1091
1092 // toys/posix/od.c
1093
1094 struct od_data {
1095   struct arg_list *output_base;
1096   char *address_base;
1097   long max_count;
1098   long jump_bytes;
1099
1100   int address_idx;
1101   unsigned types, leftover, star;
1102   char *buf;
1103   uint64_t bufs[4]; // force 64-bit alignment
1104   off_t pos;
1105 };
1106
1107 // toys/posix/paste.c
1108
1109 struct paste_data {
1110   char *delim;
1111 };
1112
1113 // toys/posix/patch.c
1114
1115 struct patch_data {
1116   char *infile;
1117   long prefix;
1118
1119   struct double_list *current_hunk;
1120   long oldline, oldlen, newline, newlen;
1121   long linenum;
1122   int context, state, filein, fileout, filepatch, hunknum;
1123   char *tempname;
1124 };
1125
1126 // toys/posix/ps.c
1127
1128 struct ps_data {
1129   union {
1130     struct {
1131       struct arg_list *G;
1132       struct arg_list *g;
1133       struct arg_list *U;
1134       struct arg_list *u;
1135       struct arg_list *t;
1136       struct arg_list *s;
1137       struct arg_list *p;
1138       struct arg_list *o;
1139       struct arg_list *P;
1140       struct arg_list *k;
1141     } ps;
1142     struct {
1143       long n;
1144       long d;
1145     } ttop;
1146     struct {
1147       long n;
1148       long d;
1149       struct arg_list *u;
1150       struct arg_list *p;
1151     } iotop;
1152     struct{
1153       char *L;
1154       struct arg_list *G;
1155       struct arg_list *g;
1156       struct arg_list *P;
1157       struct arg_list *s;
1158       struct arg_list *t;
1159       struct arg_list *U;
1160       struct arg_list *u;
1161       char *d;
1162
1163       void *regexes;
1164       int signal;
1165     } pgrep;
1166   };
1167
1168   struct sysinfo si;
1169   struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU;
1170   unsigned width, height;
1171   dev_t tty;
1172   void *fields, *kfields;
1173   long long ticks, bits, ioread, iowrite, aioread, aiowrite;
1174   size_t header_len;
1175   int kcount, forcek, sortpos;
1176   int (*match_process)(long long *slot);
1177   void (*show_process)(void *tb);
1178 };
1179
1180 // toys/posix/renice.c
1181
1182 struct renice_data {
1183   long nArgu;
1184 };
1185
1186 // toys/posix/sed.c
1187
1188 struct sed_data {
1189   struct arg_list *f;
1190   struct arg_list *e;
1191
1192   // processed pattern list
1193   struct double_list *pattern;
1194
1195   char *nextline, *remember;
1196   void *restart, *lastregex;
1197   long nextlen, rememberlen, count;
1198   int fdout, noeol;
1199   unsigned xx;
1200 };
1201
1202 // toys/posix/sort.c
1203
1204 struct sort_data {
1205   char *key_separator;
1206   struct arg_list *raw_keys;
1207   char *outfile;
1208   char *ignore1, ignore2;   // GNU compatability NOPs for -S and -T.
1209
1210   void *key_list;
1211   int linecount;
1212   char **lines;
1213 };
1214
1215 // toys/posix/split.c
1216
1217 struct split_data {
1218   long lines;
1219   long bytes;
1220   long suflen;
1221
1222   char *outfile;
1223 };
1224
1225 // toys/posix/strings.c
1226
1227 struct strings_data {
1228   long num;
1229 };
1230
1231 // toys/posix/tail.c
1232
1233 struct tail_data {
1234   long lines;
1235   long bytes;
1236
1237   int file_no, ffd, *files;
1238 };
1239
1240 // toys/posix/tee.c
1241
1242 struct tee_data {
1243   void *outputs;
1244 };
1245
1246 // toys/posix/touch.c
1247
1248 struct touch_data {
1249   char *time;
1250   char *file;
1251   char *date;
1252 };
1253
1254 // toys/posix/uniq.c
1255
1256 struct uniq_data {
1257   long maxchars;
1258   long nchars;
1259   long nfields;
1260   long repeats;
1261 };
1262
1263 // toys/posix/uudecode.c
1264
1265 struct uudecode_data {
1266   char *o;
1267 };
1268
1269 // toys/posix/wc.c
1270
1271 struct wc_data {
1272   unsigned long totals[3];
1273 };
1274
1275 // toys/posix/xargs.c
1276
1277 struct xargs_data {
1278   long max_bytes;
1279   long max_entries;
1280   long L;
1281   char *eofstr;
1282   char *I;
1283
1284   long entries, bytes;
1285   char delim;
1286 };
1287
1288 extern union global_union {
1289         struct getprop_data getprop;
1290         struct hello_data hello;
1291         struct skeleton_data skeleton;
1292         struct dmesg_data dmesg;
1293         struct killall_data killall;
1294         struct md5sum_data md5sum;
1295         struct mknod_data mknod;
1296         struct mktemp_data mktemp;
1297         struct mount_data mount;
1298         struct passwd_data passwd;
1299         struct pidof_data pidof;
1300         struct seq_data seq;
1301         struct su_data su;
1302         struct umount_data umount;
1303         struct acpi_data acpi;
1304         struct base64_data base64;
1305         struct blockdev_data blockdev;
1306         struct dos2unix_data dos2unix;
1307         struct fallocate_data fallocate;
1308         struct free_data free;
1309         struct hexedit_data hexedit;
1310         struct hwclock_data hwclock;
1311         struct ifconfig_data ifconfig;
1312         struct ionice_data ionice;
1313         struct login_data login;
1314         struct losetup_data losetup;
1315         struct lspci_data lspci;
1316         struct makedevs_data makedevs;
1317         struct mix_data mix;
1318         struct mkpasswd_data mkpasswd;
1319         struct modinfo_data modinfo;
1320         struct netcat_data netcat;
1321         struct nsenter_data nsenter;
1322         struct oneit_data oneit;
1323         struct shred_data shred;
1324         struct stat_data stat;
1325         struct swapon_data swapon;
1326         struct switch_root_data switch_root;
1327         struct timeout_data timeout;
1328         struct truncate_data truncate;
1329         struct xxd_data xxd;
1330         struct arp_data arp;
1331         struct arping_data arping;
1332         struct bootchartd_data bootchartd;
1333         struct brctl_data brctl;
1334         struct compress_data compress;
1335         struct crond_data crond;
1336         struct crontab_data crontab;
1337         struct dd_data dd;
1338         struct dhcp_data dhcp;
1339         struct dhcp6_data dhcp6;
1340         struct dhcpd_data dhcpd;
1341         struct diff_data diff;
1342         struct dumpleases_data dumpleases;
1343         struct expr_data expr;
1344         struct fdisk_data fdisk;
1345         struct fold_data fold;
1346         struct fsck_data fsck;
1347         struct ftpget_data ftpget;
1348         struct getty_data getty;
1349         struct groupadd_data groupadd;
1350         struct host_data host;
1351         struct iconv_data iconv;
1352         struct ip_data ip;
1353         struct ipcrm_data ipcrm;
1354         struct ipcs_data ipcs;
1355         struct klogd_data klogd;
1356         struct last_data last;
1357         struct logger_data logger;
1358         struct lsof_data lsof;
1359         struct mke2fs_data mke2fs;
1360         struct modprobe_data modprobe;
1361         struct more_data more;
1362         struct netstat_data netstat;
1363         struct openvt_data openvt;
1364         struct ping_data ping;
1365         struct route_data route;
1366         struct sh_data sh;
1367         struct sulogin_data sulogin;
1368         struct syslogd_data syslogd;
1369         struct tar_data tar;
1370         struct tcpsvd_data tcpsvd;
1371         struct telnet_data telnet;
1372         struct telnetd_data telnetd;
1373         struct tftp_data tftp;
1374         struct tftpd_data tftpd;
1375         struct top_data top;
1376         struct tr_data tr;
1377         struct traceroute_data traceroute;
1378         struct useradd_data useradd;
1379         struct vi_data vi;
1380         struct watch_data watch;
1381         struct chgrp_data chgrp;
1382         struct chmod_data chmod;
1383         struct cksum_data cksum;
1384         struct cmp_data cmp;
1385         struct cp_data cp;
1386         struct cpio_data cpio;
1387         struct cut_data cut;
1388         struct date_data date;
1389         struct df_data df;
1390         struct du_data du;
1391         struct expand_data expand;
1392         struct find_data find;
1393         struct grep_data grep;
1394         struct head_data head;
1395         struct id_data id;
1396         struct kill_data kill;
1397         struct ls_data ls;
1398         struct mkdir_data mkdir;
1399         struct mkfifo_data mkfifo;
1400         struct nice_data nice;
1401         struct nl_data nl;
1402         struct od_data od;
1403         struct paste_data paste;
1404         struct patch_data patch;
1405         struct ps_data ps;
1406         struct renice_data renice;
1407         struct sed_data sed;
1408         struct sort_data sort;
1409         struct split_data split;
1410         struct strings_data strings;
1411         struct tail_data tail;
1412         struct tee_data tee;
1413         struct touch_data touch;
1414         struct uniq_data uniq;
1415         struct uudecode_data uudecode;
1416         struct wc_data wc;
1417         struct xargs_data xargs;
1418 } this;