OSDN Git Service

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