1// toys/android/getprop.c 2 3struct 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 11struct hello_data { 12 int unused; 13}; 14 15// toys/example/skeleton.c 16 17struct 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 37struct dmesg_data { 38 long level; 39 long size; 40}; 41 42// toys/lsb/killall.c 43 44struct 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 55struct 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 67struct mknod_data { 68 char *arg_context; 69 char *m; 70}; 71 72// toys/lsb/mktemp.c 73 74struct mktemp_data { 75 char *tmpdir; 76}; 77 78// toys/lsb/mount.c 79 80struct 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 92struct passwd_data { 93 char *algo; 94}; 95 96// toys/lsb/pidof.c 97 98struct pidof_data { 99 char *omit; 100}; 101 102// toys/lsb/seq.c 103 104struct seq_data { 105 char *sep; 106 char *fmt; 107}; 108 109// toys/lsb/su.c 110 111struct su_data { 112 char *s; 113 char *c; 114}; 115 116// toys/lsb/umount.c 117 118struct umount_data { 119 struct arg_list *t; 120 121 char *types; 122}; 123 124// toys/other/acpi.c 125 126struct acpi_data { 127 int ac, bat, therm, cool; 128 char *cpath; 129}; 130 131// toys/other/base64.c 132 133struct base64_data { 134 long columns; 135}; 136 137// toys/other/blockdev.c 138 139struct blockdev_data { 140 long bsz; 141}; 142 143// toys/other/dos2unix.c 144 145struct dos2unix_data { 146 char *tempfile; 147}; 148 149// toys/other/fallocate.c 150 151struct fallocate_data { 152 long size; 153}; 154 155// toys/other/free.c 156 157struct free_data { 158 unsigned bits; 159 unsigned long long units; 160 char *buf; 161}; 162 163// toys/other/hexedit.c 164 165struct 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 174struct hwclock_data { 175 char *fname; 176 177 int utc; 178}; 179 180// toys/other/ifconfig.c 181 182struct ifconfig_data { 183 int sockfd; 184}; 185 186// toys/other/ionice.c 187 188struct ionice_data { 189 long pid; 190 long level; 191 long class; 192}; 193 194// toys/other/login.c 195 196struct login_data { 197 char *hostname; 198 char *username; 199 200 int login_timeout, login_fail_timeout; 201}; 202 203// toys/other/losetup.c 204 205struct 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 217struct lspci_data { 218 char *ids; 219 long numeric; 220 221 FILE *db; 222}; 223 224// toys/other/makedevs.c 225 226struct makedevs_data { 227 char *fname; 228}; 229 230// toys/other/mix.c 231 232struct mix_data { 233 long right; 234 long level; 235 char *dev; 236 char *chan; 237}; 238 239// toys/other/mkpasswd.c 240 241struct mkpasswd_data { 242 long pfd; 243 char *method; 244 char *salt; 245}; 246 247// toys/other/mkswap.c 248 249struct mkswap_data { 250 char *L; 251}; 252 253// toys/other/modinfo.c 254 255struct modinfo_data { 256 char *field; 257 char *knam; 258 char *base; 259 260 long mod; 261}; 262 263// toys/other/netcat.c 264 265struct 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 275struct nsenter_data { 276 char *nsnames[6]; 277 long targetpid; 278}; 279 280// toys/other/oneit.c 281 282struct oneit_data { 283 char *console; 284}; 285 286// toys/other/shred.c 287 288struct shred_data { 289 long offset; 290 long iterations; 291 long size; 292 293 int ufd; 294}; 295 296// toys/other/stat.c 297 298struct 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 311struct swapon_data { 312 long priority; 313}; 314 315// toys/other/switch_root.c 316 317struct switch_root_data { 318 char *console; 319 320 dev_t rootdev; 321}; 322 323// toys/other/timeout.c 324 325struct 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 337struct truncate_data { 338 char *s; 339 340 long size; 341 int type; 342}; 343 344// toys/other/xxd.c 345 346struct xxd_data { 347 long g; 348 long l; 349 long c; 350}; 351 352// toys/pending/arp.c 353 354struct 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 366struct 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 380struct 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 391struct brctl_data { 392 int sockfd; 393}; 394 395// toys/pending/compress.c 396 397struct 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 418struct 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 430struct crontab_data { 431 char *user; 432 char *cdir; 433}; 434 435// toys/pending/dd.c 436 437struct dd_data { 438 int sig; 439}; 440 441// toys/pending/dhcp.c 442 443struct 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 460struct 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 472struct dhcpd_data { 473 char *iface; 474 long port; 475};; 476 477// toys/pending/diff.c 478 479struct 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 490struct dumpleases_data { 491 char *file; 492}; 493 494// toys/pending/expr.c 495 496struct expr_data { 497 int argidx; 498}; 499 500// toys/pending/fdisk.c 501 502struct fdisk_data { 503 long sect_sz; 504 long sectors; 505 long heads; 506 long cylinders; 507}; 508 509// toys/pending/file.c 510 511struct file_data { 512 int max_name_len; 513}; 514 515// toys/pending/fold.c 516 517struct fold_data { 518 int width; 519}; 520 521// toys/pending/fsck.c 522 523struct 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 539struct 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 552struct 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 568struct groupadd_data { 569 long gid; 570}; 571 572// toys/pending/host.c 573 574struct host_data { 575 char *type_str; 576}; 577 578// toys/pending/iconv.c 579 580struct iconv_data { 581 char *from; 582 char *to; 583 584 void *ic; 585}; 586 587// toys/pending/ip.c 588 589struct 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 597struct 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 608struct ipcs_data { 609 int id; 610}; 611 612// toys/pending/klogd.c 613 614struct klogd_data { 615 long level; 616 617 int fd; 618}; 619 620// toys/pending/last.c 621 622struct last_data { 623 char *file; 624 625 struct arg_list *list; 626}; 627 628// toys/pending/logger.c 629 630struct logger_data { 631 char *priority_arg; 632 char *ident; 633}; 634 635// toys/pending/lsof.c 636 637struct lsof_data { 638 char *pids; 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 649struct 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 678struct 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 689struct more_data { 690 struct termios inf; 691 int cin_fd; 692}; 693 694// toys/pending/netstat.c 695 696struct netstat_data { 697 char current_name[21]; 698 int some_process_unidentified; 699};; 700 701// toys/pending/openvt.c 702 703struct openvt_data { 704 unsigned long vt_num; 705}; 706 707// toys/pending/ping.c 708 709struct 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 722struct route_data { 723 char *family; 724}; 725 726// toys/pending/sh.c 727 728struct sh_data { 729 char *command; 730}; 731 732// toys/pending/sulogin.c 733 734struct sulogin_data { 735 long timeout; 736 struct termios crntio; 737}; 738 739// toys/pending/syslogd.c 740 741struct 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 759struct 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 773struct 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 787struct 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 806struct 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 819struct 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 830struct tftpd_data { 831 char *user; 832 833 long sfd; 834 struct passwd *pw; 835}; 836 837// toys/pending/tr.c 838 839struct tr_data { 840 short map[256]; //map of chars 841 int len1, len2; 842}; 843 844// toys/pending/traceroute.c 845 846struct 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 869struct 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 881struct vi_data { 882 struct linestack *ls; 883 char *statline; 884}; 885 886// toys/pending/watch.c 887 888struct watch_data { 889 int interval; 890}; 891 892// toys/posix/chgrp.c 893 894struct chgrp_data { 895 uid_t owner; 896 gid_t group; 897 char *owner_name, *group_name; 898 int symfollow; 899}; 900 901// toys/posix/chmod.c 902 903struct chmod_data { 904 char *mode; 905}; 906 907// toys/posix/cksum.c 908 909struct cksum_data { 910 unsigned crc_table[256]; 911}; 912 913// toys/posix/cmp.c 914 915struct cmp_data { 916 int fd; 917 char *name; 918}; 919 920// toys/posix/cp.c 921 922struct cp_data { 923 union { 924 struct { 925 // install's options 926 char *group; 927 char *user; 928 char *mode; 929 } i; 930 struct { 931 char *preserve; 932 } c; 933 }; 934 935 char *destname; 936 struct stat top; 937 int (*callback)(struct dirtree *try); 938 uid_t uid; 939 gid_t gid; 940 int pflags; 941}; 942 943// toys/posix/cpio.c 944 945struct cpio_data { 946 char *archive; 947 char *pass; 948 char *fmt; 949}; 950 951// toys/posix/cut.c 952 953struct cut_data { 954 char *delim; 955 char *flist; 956 char *clist; 957 char *blist; 958 959 void *slist_head; 960 unsigned nelem; 961 void (*do_cut)(int fd); 962}; 963 964// toys/posix/date.c 965 966struct date_data { 967 char *file; 968 char *setfmt; 969 char *showdate; 970 971 char *tz; 972 unsigned nano; 973}; 974 975// toys/posix/df.c 976 977struct df_data { 978 struct arg_list *fstype; 979 980 long units; 981 int column_widths[5]; 982 int header_shown; 983}; 984 985// toys/posix/du.c 986 987struct du_data { 988 long maxdepth; 989 990 long depth, total; 991 dev_t st_dev; 992 void *inodes; 993}; 994 995// toys/posix/env.c 996 997struct env_data { 998 struct arg_list *u; 999};; 1000 1001// toys/posix/expand.c 1002 1003struct expand_data { 1004 struct arg_list *tabs; 1005 1006 unsigned tabcount, *tab; 1007}; 1008 1009// toys/posix/find.c 1010 1011struct find_data { 1012 char **filter; 1013 struct double_list *argdata; 1014 int topdir, xdev, depth; 1015 time_t now; 1016}; 1017 1018// toys/posix/grep.c 1019 1020struct grep_data { 1021 long m; 1022 struct arg_list *f; 1023 struct arg_list *e; 1024 long a; 1025 long b; 1026 long c; 1027 1028 char indelim, outdelim; 1029}; 1030 1031// toys/posix/head.c 1032 1033struct head_data { 1034 long lines; 1035 int file_no; 1036}; 1037 1038// toys/posix/id.c 1039 1040struct id_data { 1041 int is_groups; 1042}; 1043 1044// toys/posix/kill.c 1045 1046struct kill_data { 1047 char *signame; 1048 struct arg_list *olist; 1049}; 1050 1051// toys/posix/ls.c 1052 1053struct ls_data { 1054 char *color; 1055 1056 struct dirtree *files, *singledir; 1057 1058 unsigned screen_width; 1059 int nl_title; 1060 char uid_buf[12], gid_buf[12]; 1061}; 1062 1063// toys/posix/mkdir.c 1064 1065struct mkdir_data { 1066 char *arg_mode; 1067 char *arg_context; 1068}; 1069 1070// toys/posix/mkfifo.c 1071 1072struct mkfifo_data { 1073 char *m_string; 1074 char *Z; 1075 1076 mode_t mode; 1077}; 1078 1079// toys/posix/nice.c 1080 1081struct nice_data { 1082 long priority; 1083}; 1084 1085// toys/posix/nl.c 1086 1087struct nl_data { 1088 long w; 1089 char *s; 1090 char *n; 1091 char *b; 1092 long l; 1093 long v; 1094 1095 // Count of consecutive blank lines for -l has to persist between files 1096 long lcount; 1097}; 1098 1099// toys/posix/od.c 1100 1101struct od_data { 1102 struct arg_list *output_base; 1103 char *address_base; 1104 long max_count; 1105 long jump_bytes; 1106 1107 int address_idx; 1108 unsigned types, leftover, star; 1109 char *buf; 1110 uint64_t bufs[4]; // force 64-bit alignment 1111 off_t pos; 1112}; 1113 1114// toys/posix/paste.c 1115 1116struct paste_data { 1117 char *delim; 1118}; 1119 1120// toys/posix/patch.c 1121 1122struct patch_data { 1123 char *infile; 1124 long prefix; 1125 1126 struct double_list *current_hunk; 1127 long oldline, oldlen, newline, newlen; 1128 long linenum; 1129 int context, state, filein, fileout, filepatch, hunknum; 1130 char *tempname; 1131}; 1132 1133// toys/posix/ps.c 1134 1135struct ps_data { 1136 union { 1137 struct { 1138 struct arg_list *G; 1139 struct arg_list *g; 1140 struct arg_list *U; 1141 struct arg_list *u; 1142 struct arg_list *t; 1143 struct arg_list *s; 1144 struct arg_list *p; 1145 struct arg_list *O; 1146 struct arg_list *o; 1147 struct arg_list *P; 1148 struct arg_list *k; 1149 } ps; 1150 struct { 1151 long n; 1152 long d; 1153 long s; 1154 struct arg_list *u; 1155 struct arg_list *p; 1156 struct arg_list *o; 1157 struct arg_list *k; 1158 } top; 1159 struct{ 1160 char *L; 1161 struct arg_list *G; 1162 struct arg_list *g; 1163 struct arg_list *P; 1164 struct arg_list *s; 1165 struct arg_list *t; 1166 struct arg_list *U; 1167 struct arg_list *u; 1168 char *d; 1169 1170 void *regexes, *snapshot; 1171 int signal; 1172 pid_t self, match; 1173 } pgrep; 1174 }; 1175 1176 struct sysinfo si; 1177 struct ptr_len gg, GG, pp, PP, ss, tt, uu, UU; 1178 unsigned width, height; 1179 dev_t tty; 1180 void *fields, *kfields; 1181 long long ticks, bits, time; 1182 int kcount, forcek, sortpos; 1183 int (*match_process)(long long *slot); 1184 void (*show_process)(void *tb); 1185}; 1186 1187// toys/posix/renice.c 1188 1189struct renice_data { 1190 long nArgu; 1191}; 1192 1193// toys/posix/sed.c 1194 1195struct sed_data { 1196 struct arg_list *f; 1197 struct arg_list *e; 1198 1199 // processed pattern list 1200 struct double_list *pattern; 1201 1202 char *nextline, *remember; 1203 void *restart, *lastregex; 1204 long nextlen, rememberlen, count; 1205 int fdout, noeol; 1206 unsigned xx; 1207}; 1208 1209// toys/posix/sort.c 1210 1211struct sort_data { 1212 char *key_separator; 1213 struct arg_list *raw_keys; 1214 char *outfile; 1215 char *ignore1, ignore2; // GNU compatability NOPs for -S and -T. 1216 1217 void *key_list; 1218 int linecount; 1219 char **lines; 1220}; 1221 1222// toys/posix/split.c 1223 1224struct split_data { 1225 long lines; 1226 long bytes; 1227 long suflen; 1228 1229 char *outfile; 1230}; 1231 1232// toys/posix/strings.c 1233 1234struct strings_data { 1235 long num; 1236}; 1237 1238// toys/posix/tail.c 1239 1240struct tail_data { 1241 long lines; 1242 long bytes; 1243 1244 int file_no, ffd, *files; 1245}; 1246 1247// toys/posix/tee.c 1248 1249struct tee_data { 1250 void *outputs; 1251}; 1252 1253// toys/posix/touch.c 1254 1255struct touch_data { 1256 char *time; 1257 char *file; 1258 char *date; 1259}; 1260 1261// toys/posix/ulimit.c 1262 1263struct ulimit_data { 1264 long pid; 1265}; 1266 1267// toys/posix/uniq.c 1268 1269struct uniq_data { 1270 long maxchars; 1271 long nchars; 1272 long nfields; 1273 long repeats; 1274}; 1275 1276// toys/posix/uudecode.c 1277 1278struct uudecode_data { 1279 char *o; 1280}; 1281 1282// toys/posix/wc.c 1283 1284struct wc_data { 1285 unsigned long totals[3]; 1286}; 1287 1288// toys/posix/xargs.c 1289 1290struct xargs_data { 1291 long max_bytes; 1292 long max_entries; 1293 long L; 1294 char *eofstr; 1295 char *I; 1296 1297 long entries, bytes; 1298 char delim; 1299}; 1300 1301extern union global_union { 1302 struct getprop_data getprop; 1303 struct hello_data hello; 1304 struct skeleton_data skeleton; 1305 struct dmesg_data dmesg; 1306 struct killall_data killall; 1307 struct md5sum_data md5sum; 1308 struct mknod_data mknod; 1309 struct mktemp_data mktemp; 1310 struct mount_data mount; 1311 struct passwd_data passwd; 1312 struct pidof_data pidof; 1313 struct seq_data seq; 1314 struct su_data su; 1315 struct umount_data umount; 1316 struct acpi_data acpi; 1317 struct base64_data base64; 1318 struct blockdev_data blockdev; 1319 struct dos2unix_data dos2unix; 1320 struct fallocate_data fallocate; 1321 struct free_data free; 1322 struct hexedit_data hexedit; 1323 struct hwclock_data hwclock; 1324 struct ifconfig_data ifconfig; 1325 struct ionice_data ionice; 1326 struct login_data login; 1327 struct losetup_data losetup; 1328 struct lspci_data lspci; 1329 struct makedevs_data makedevs; 1330 struct mix_data mix; 1331 struct mkpasswd_data mkpasswd; 1332 struct mkswap_data mkswap; 1333 struct modinfo_data modinfo; 1334 struct netcat_data netcat; 1335 struct nsenter_data nsenter; 1336 struct oneit_data oneit; 1337 struct shred_data shred; 1338 struct stat_data stat; 1339 struct swapon_data swapon; 1340 struct switch_root_data switch_root; 1341 struct timeout_data timeout; 1342 struct truncate_data truncate; 1343 struct xxd_data xxd; 1344 struct arp_data arp; 1345 struct arping_data arping; 1346 struct bootchartd_data bootchartd; 1347 struct brctl_data brctl; 1348 struct compress_data compress; 1349 struct crond_data crond; 1350 struct crontab_data crontab; 1351 struct dd_data dd; 1352 struct dhcp_data dhcp; 1353 struct dhcp6_data dhcp6; 1354 struct dhcpd_data dhcpd; 1355 struct diff_data diff; 1356 struct dumpleases_data dumpleases; 1357 struct expr_data expr; 1358 struct fdisk_data fdisk; 1359 struct file_data file; 1360 struct fold_data fold; 1361 struct fsck_data fsck; 1362 struct ftpget_data ftpget; 1363 struct getty_data getty; 1364 struct groupadd_data groupadd; 1365 struct host_data host; 1366 struct iconv_data iconv; 1367 struct ip_data ip; 1368 struct ipcrm_data ipcrm; 1369 struct ipcs_data ipcs; 1370 struct klogd_data klogd; 1371 struct last_data last; 1372 struct logger_data logger; 1373 struct lsof_data lsof; 1374 struct mke2fs_data mke2fs; 1375 struct modprobe_data modprobe; 1376 struct more_data more; 1377 struct netstat_data netstat; 1378 struct openvt_data openvt; 1379 struct ping_data ping; 1380 struct route_data route; 1381 struct sh_data sh; 1382 struct sulogin_data sulogin; 1383 struct syslogd_data syslogd; 1384 struct tar_data tar; 1385 struct tcpsvd_data tcpsvd; 1386 struct telnet_data telnet; 1387 struct telnetd_data telnetd; 1388 struct tftp_data tftp; 1389 struct tftpd_data tftpd; 1390 struct tr_data tr; 1391 struct traceroute_data traceroute; 1392 struct useradd_data useradd; 1393 struct vi_data vi; 1394 struct watch_data watch; 1395 struct chgrp_data chgrp; 1396 struct chmod_data chmod; 1397 struct cksum_data cksum; 1398 struct cmp_data cmp; 1399 struct cp_data cp; 1400 struct cpio_data cpio; 1401 struct cut_data cut; 1402 struct date_data date; 1403 struct df_data df; 1404 struct du_data du; 1405 struct env_data env; 1406 struct expand_data expand; 1407 struct find_data find; 1408 struct grep_data grep; 1409 struct head_data head; 1410 struct id_data id; 1411 struct kill_data kill; 1412 struct ls_data ls; 1413 struct mkdir_data mkdir; 1414 struct mkfifo_data mkfifo; 1415 struct nice_data nice; 1416 struct nl_data nl; 1417 struct od_data od; 1418 struct paste_data paste; 1419 struct patch_data patch; 1420 struct ps_data ps; 1421 struct renice_data renice; 1422 struct sed_data sed; 1423 struct sort_data sort; 1424 struct split_data split; 1425 struct strings_data strings; 1426 struct tail_data tail; 1427 struct tee_data tee; 1428 struct touch_data touch; 1429 struct ulimit_data ulimit; 1430 struct uniq_data uniq; 1431 struct uudecode_data uudecode; 1432 struct wc_data wc; 1433 struct xargs_data xargs; 1434} this; 1435