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