extern.h revision 1.3
11.1Sjtc/*- 21.1Sjtc * Copyright (c) 1992 Keith Muller. 31.1Sjtc * Copyright (c) 1992, 1993 41.1Sjtc * The Regents of the University of California. All rights reserved. 51.1Sjtc * 61.1Sjtc * This code is derived from software contributed to Berkeley by 71.1Sjtc * Keith Muller of the University of California, San Diego. 81.1Sjtc * 91.1Sjtc * Redistribution and use in source and binary forms, with or without 101.1Sjtc * modification, are permitted provided that the following conditions 111.1Sjtc * are met: 121.1Sjtc * 1. Redistributions of source code must retain the above copyright 131.1Sjtc * notice, this list of conditions and the following disclaimer. 141.1Sjtc * 2. Redistributions in binary form must reproduce the above copyright 151.1Sjtc * notice, this list of conditions and the following disclaimer in the 161.1Sjtc * documentation and/or other materials provided with the distribution. 171.1Sjtc * 3. All advertising materials mentioning features or use of this software 181.1Sjtc * must display the following acknowledgement: 191.1Sjtc * This product includes software developed by the University of 201.1Sjtc * California, Berkeley and its contributors. 211.1Sjtc * 4. Neither the name of the University nor the names of its contributors 221.1Sjtc * may be used to endorse or promote products derived from this software 231.1Sjtc * without specific prior written permission. 241.1Sjtc * 251.1Sjtc * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 261.1Sjtc * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 271.1Sjtc * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 281.1Sjtc * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 291.1Sjtc * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 301.1Sjtc * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 311.1Sjtc * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 321.1Sjtc * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 331.1Sjtc * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 341.1Sjtc * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 351.1Sjtc * SUCH DAMAGE. 361.1Sjtc * 371.2Sjtc * from: @(#)extern.h 8.2 (Berkeley) 4/18/94 381.3Scgd * $Id: extern.h,v 1.3 1994/12/04 07:11:52 cgd Exp $ 391.1Sjtc */ 401.1Sjtc 411.1Sjtc/* 421.1Sjtc * External references from each source file 431.1Sjtc */ 441.1Sjtc 451.1Sjtc#include <sys/cdefs.h> 461.1Sjtc 471.1Sjtc/* 481.1Sjtc * ar_io.c 491.1Sjtc */ 501.1Sjtcextern char *arcname; 511.1Sjtcint ar_open __P((char *)); 521.1Sjtcvoid ar_close __P((void)); 531.1Sjtcvoid ar_drain __P((void)); 541.1Sjtcint ar_set_wr __P((void)); 551.1Sjtcint ar_app_ok __P((void)); 561.1Sjtcint ar_read __P((register char *, register int)); 571.1Sjtcint ar_write __P((register char *, register int)); 581.1Sjtcint ar_rdsync __P((void)); 591.1Sjtcint ar_fow __P((off_t, off_t *)); 601.1Sjtcint ar_rev __P((off_t )); 611.1Sjtcint ar_next __P((void)); 621.1Sjtc 631.1Sjtc/* 641.1Sjtc * ar_subs.c 651.1Sjtc */ 661.1Sjtcextern u_long flcnt; 671.1Sjtcvoid list __P((void)); 681.1Sjtcvoid extract __P((void)); 691.1Sjtcvoid append __P((void)); 701.1Sjtcvoid archive __P((void)); 711.1Sjtcvoid copy __P((void)); 721.1Sjtc 731.1Sjtc/* 741.1Sjtc * buf_subs.c 751.1Sjtc */ 761.1Sjtcextern int blksz; 771.1Sjtcextern int wrblksz; 781.1Sjtcextern int maxflt; 791.1Sjtcextern int rdblksz; 801.1Sjtcextern off_t wrlimit; 811.1Sjtcextern off_t rdcnt; 821.1Sjtcextern off_t wrcnt; 831.1Sjtcint wr_start __P((void)); 841.1Sjtcint rd_start __P((void)); 851.1Sjtcvoid cp_start __P((void)); 861.1Sjtcint appnd_start __P((off_t)); 871.1Sjtcint rd_sync __P((void)); 881.1Sjtcvoid pback __P((char *, int)); 891.1Sjtcint rd_skip __P((off_t)); 901.1Sjtcvoid wr_fin __P((void)); 911.1Sjtcint wr_rdbuf __P((register char *, register int)); 921.1Sjtcint rd_wrbuf __P((register char *, register int)); 931.1Sjtcint wr_skip __P((off_t)); 941.1Sjtcint wr_rdfile __P((ARCHD *, int, off_t *)); 951.1Sjtcint rd_wrfile __P((ARCHD *, int, off_t *)); 961.1Sjtcvoid cp_file __P((ARCHD *, int, int)); 971.1Sjtcint buf_fill __P((void)); 981.1Sjtcint buf_flush __P((register int)); 991.1Sjtc 1001.1Sjtc/* 1011.1Sjtc * cache.c 1021.1Sjtc */ 1031.1Sjtcint uidtb_start __P((void)); 1041.1Sjtcint gidtb_start __P((void)); 1051.1Sjtcint usrtb_start __P((void)); 1061.1Sjtcint grptb_start __P((void)); 1071.1Sjtcchar * name_uid __P((uid_t, int)); 1081.1Sjtcchar * name_gid __P((gid_t, int)); 1091.1Sjtcint uid_name __P((char *, uid_t *)); 1101.1Sjtcint gid_name __P((char *, gid_t *)); 1111.1Sjtc 1121.1Sjtc/* 1131.1Sjtc * cpio.c 1141.1Sjtc */ 1151.1Sjtcint cpio_strd __P((void)); 1161.1Sjtcint cpio_trail __P((register ARCHD *)); 1171.1Sjtcint cpio_endwr __P((void)); 1181.1Sjtcint cpio_id __P((char *, int)); 1191.1Sjtcint cpio_rd __P((register ARCHD *, register char *)); 1201.1Sjtcoff_t cpio_endrd __P((void)); 1211.1Sjtcint cpio_stwr __P((void)); 1221.1Sjtcint cpio_wr __P((register ARCHD *)); 1231.1Sjtcint vcpio_id __P((char *, int)); 1241.1Sjtcint crc_id __P((char *, int)); 1251.1Sjtcint crc_strd __P((void)); 1261.1Sjtcint vcpio_rd __P((register ARCHD *, register char *)); 1271.1Sjtcoff_t vcpio_endrd __P((void)); 1281.1Sjtcint crc_stwr __P((void)); 1291.1Sjtcint vcpio_wr __P((register ARCHD *)); 1301.1Sjtcint bcpio_id __P((char *, int)); 1311.1Sjtcint bcpio_rd __P((register ARCHD *, register char *)); 1321.1Sjtcoff_t bcpio_endrd __P((void)); 1331.1Sjtcint bcpio_wr __P((register ARCHD *)); 1341.1Sjtc 1351.1Sjtc/* 1361.1Sjtc * file_subs.c 1371.1Sjtc */ 1381.1Sjtcint file_creat __P((register ARCHD *)); 1391.1Sjtcvoid file_close __P((register ARCHD *, int)); 1401.1Sjtcint lnk_creat __P((register ARCHD *)); 1411.1Sjtcint cross_lnk __P((register ARCHD *)); 1421.1Sjtcint chk_same __P((register ARCHD *)); 1431.1Sjtcint node_creat __P((register ARCHD *)); 1441.1Sjtcint unlnk_exist __P((register char *, register int)); 1451.1Sjtcint chk_path __P((register char *, uid_t, gid_t)); 1461.1Sjtcvoid set_ftime __P((char *fnm, time_t mtime, time_t atime, int frc)); 1471.1Sjtcint set_ids __P((char *, uid_t, gid_t)); 1481.1Sjtcvoid set_pmode __P((char *, mode_t)); 1491.1Sjtcint file_write __P((int, char *, register int, int *, int *, int, char *)); 1501.1Sjtcvoid file_flush __P((int, char *, int)); 1511.1Sjtcvoid rdfile_close __P((register ARCHD *, register int *)); 1521.1Sjtcint set_crc __P((register ARCHD *, register int)); 1531.1Sjtc 1541.1Sjtc/* 1551.1Sjtc * ftree.c 1561.1Sjtc */ 1571.1Sjtcint ftree_start __P((void)); 1581.1Sjtcint ftree_add __P((register char *)); 1591.1Sjtcvoid ftree_sel __P((register ARCHD *)); 1601.1Sjtcvoid ftree_chk __P((void)); 1611.1Sjtcint next_file __P((register ARCHD *)); 1621.1Sjtc 1631.1Sjtc/* 1641.1Sjtc * gen_subs.c 1651.1Sjtc */ 1661.1Sjtcvoid ls_list __P((register ARCHD *, time_t)); 1671.1Sjtcvoid ls_tty __P((register ARCHD *)); 1681.1Sjtcvoid zf_strncpy __P((register char *, register char *, int)); 1691.1Sjtcint l_strncpy __P((register char *, register char *, int)); 1701.1Sjtcu_long asc_ul __P((register char *, int, register int)); 1711.1Sjtcint ul_asc __P((u_long, register char *, register int, register int)); 1721.1Sjtc#ifndef NET2_STAT 1731.1Sjtcu_quad_t asc_uqd __P((register char *, int, register int)); 1741.1Sjtcint uqd_asc __P((u_quad_t, register char *, register int, register int)); 1751.1Sjtc#endif 1761.3Scgd 1771.3Scgd/* 1781.3Scgd * getoldopt.c 1791.3Scgd */ 1801.3Scgdint getoldopt __P((int, char **, char *)); 1811.1Sjtc 1821.1Sjtc/* 1831.1Sjtc * options.c 1841.1Sjtc */ 1851.1Sjtcextern FSUB fsub[]; 1861.1Sjtcextern int ford[]; 1871.1Sjtcvoid options __P((register int, register char **)); 1881.1SjtcOPLIST * opt_next __P((void)); 1891.1Sjtcint opt_add __P((register char *)); 1901.1Sjtcint bad_opt __P((void)); 1911.1Sjtc 1921.1Sjtc/* 1931.1Sjtc * pat_rep.c 1941.1Sjtc */ 1951.1Sjtcint rep_add __P((register char *)); 1961.1Sjtcint pat_add __P((char *)); 1971.1Sjtcvoid pat_chk __P((void)); 1981.1Sjtcint pat_sel __P((register ARCHD *)); 1991.1Sjtcint pat_match __P((register ARCHD *)); 2001.1Sjtcint mod_name __P((register ARCHD *)); 2011.1Sjtcint set_dest __P((register ARCHD *, char *, int)); 2021.1Sjtc 2031.1Sjtc/* 2041.1Sjtc * pax.c 2051.1Sjtc */ 2061.1Sjtcextern int act; 2071.1Sjtcextern FSUB *frmt; 2081.1Sjtcextern int cflag; 2091.1Sjtcextern int dflag; 2101.1Sjtcextern int iflag; 2111.1Sjtcextern int kflag; 2121.1Sjtcextern int lflag; 2131.1Sjtcextern int nflag; 2141.1Sjtcextern int tflag; 2151.1Sjtcextern int uflag; 2161.1Sjtcextern int vflag; 2171.1Sjtcextern int Dflag; 2181.1Sjtcextern int Hflag; 2191.1Sjtcextern int Lflag; 2201.1Sjtcextern int Xflag; 2211.1Sjtcextern int Yflag; 2221.1Sjtcextern int Zflag; 2231.1Sjtcextern int vfpart; 2241.1Sjtcextern int patime; 2251.1Sjtcextern int pmtime; 2261.1Sjtcextern int pmode; 2271.1Sjtcextern int pids; 2281.1Sjtcextern int exit_val; 2291.1Sjtcextern int docrc; 2301.1Sjtcextern char *dirptr; 2311.1Sjtcextern char *ltmfrmt; 2321.1Sjtcextern char *argv0; 2331.1Sjtcint main __P((int, char **)); 2341.1Sjtcvoid sig_cleanup __P((int)); 2351.1Sjtc 2361.1Sjtc/* 2371.1Sjtc * sel_subs.c 2381.1Sjtc */ 2391.1Sjtcint sel_chk __P((register ARCHD *)); 2401.1Sjtcint grp_add __P((register char *)); 2411.1Sjtcint usr_add __P((register char *)); 2421.1Sjtcint trng_add __P((register char *)); 2431.1Sjtc 2441.1Sjtc/* 2451.1Sjtc * tables.c 2461.1Sjtc */ 2471.1Sjtcint lnk_start __P((void)); 2481.1Sjtcint chk_lnk __P((register ARCHD *)); 2491.1Sjtcvoid purg_lnk __P((register ARCHD *)); 2501.1Sjtcvoid lnk_end __P((void)); 2511.1Sjtcint ftime_start __P((void)); 2521.1Sjtcint chk_ftime __P((register ARCHD *)); 2531.1Sjtcint name_start __P((void)); 2541.1Sjtcint add_name __P((register char *, int, char *)); 2551.1Sjtcvoid sub_name __P((register char *, int *)); 2561.1Sjtcint dev_start __P((void)); 2571.1Sjtcint add_dev __P((register ARCHD *)); 2581.1Sjtcint map_dev __P((register ARCHD *, u_long, u_long)); 2591.1Sjtcint atdir_start __P((void)); 2601.1Sjtcvoid atdir_end __P((void)); 2611.1Sjtcvoid add_atdir __P((char *, dev_t, ino_t, time_t, time_t)); 2621.1Sjtcint get_atdir __P((dev_t, ino_t, time_t *, time_t *)); 2631.1Sjtcint dir_start __P((void)); 2641.1Sjtcvoid add_dir __P((char *, int, struct stat *, int)); 2651.1Sjtcvoid proc_dir __P((void)); 2661.1Sjtcu_int st_hash __P((char *, int, int)); 2671.1Sjtc 2681.1Sjtc/* 2691.1Sjtc * tar.c 2701.1Sjtc */ 2711.1Sjtcint tar_endwr __P((void)); 2721.1Sjtcoff_t tar_endrd __P((void)); 2731.1Sjtcint tar_trail __P((register char *, register int, register int *)); 2741.1Sjtcint tar_id __P((register char *, int)); 2751.1Sjtcint tar_opt __P((void)); 2761.1Sjtcint tar_rd __P((register ARCHD *, register char *)); 2771.1Sjtcint tar_wr __P((register ARCHD *)); 2781.1Sjtcint ustar_strd __P((void)); 2791.1Sjtcint ustar_stwr __P((void)); 2801.1Sjtcint ustar_id __P((char *, int)); 2811.1Sjtcint ustar_rd __P((register ARCHD *, register char *)); 2821.1Sjtcint ustar_wr __P((register ARCHD *)); 2831.1Sjtc 2841.1Sjtc/* 2851.1Sjtc * tty_subs.c 2861.1Sjtc */ 2871.1Sjtcint tty_init __P((void)); 2881.1Sjtcvoid tty_prnt __P((char *, ...)); 2891.1Sjtcint tty_read __P((char *, int)); 2901.1Sjtcvoid warn __P((int, char *, ...)); 2911.1Sjtcvoid syswarn __P((int, int, char *, ...)); 292