OSDN Git Service

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