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