extern.h revision 1557
197403Sobrien/*- 297403Sobrien * Copyright (c) 1992 Keith Muller. 3169691Skan * Copyright (c) 1992, 1993 4169691Skan * The Regents of the University of California. All rights reserved. 597403Sobrien * 697403Sobrien * This code is derived from software contributed to Berkeley by 797403Sobrien * Keith Muller of the University of California, San Diego. 897403Sobrien * 997403Sobrien * Redistribution and use in source and binary forms, with or without 1097403Sobrien * modification, are permitted provided that the following conditions 1197403Sobrien * are met: 1297403Sobrien * 1. Redistributions of source code must retain the above copyright 1397403Sobrien * notice, this list of conditions and the following disclaimer. 1497403Sobrien * 2. Redistributions in binary form must reproduce the above copyright 1597403Sobrien * notice, this list of conditions and the following disclaimer in the 1697403Sobrien * documentation and/or other materials provided with the distribution. 1797403Sobrien * 3. All advertising materials mentioning features or use of this software 1897403Sobrien * must display the following acknowledgement: 19169691Skan * This product includes software developed by the University of 2097403Sobrien * California, Berkeley and its contributors. 2197403Sobrien * 4. Neither the name of the University nor the names of its contributors 2297403Sobrien * may be used to endorse or promote products derived from this software 2397403Sobrien * without specific prior written permission. 2497403Sobrien * 2597403Sobrien * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2697403Sobrien * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2797403Sobrien * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2897403Sobrien * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2997403Sobrien * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 3097403Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3197403Sobrien * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3297403Sobrien * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3397403Sobrien * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3497403Sobrien * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3597403Sobrien * SUCH DAMAGE. 3697403Sobrien * 3797403Sobrien * @(#)extern.h 8.2 (Berkeley) 4/18/94 3897403Sobrien */ 3997403Sobrien 4097403Sobrien/* 4197403Sobrien * External references from each source file 4297403Sobrien */ 4397403Sobrien 4497403Sobrien#include <sys/cdefs.h> 4597403Sobrien 4697403Sobrien/* 4797403Sobrien * ar_io.c 4897403Sobrien */ 4997403Sobrienextern char *arcname; 5097403Sobrienint ar_open __P((char *)); 5197403Sobrienvoid ar_close __P((void)); 5297403Sobrienvoid ar_drain __P((void)); 5397403Sobrienint ar_set_wr __P((void)); 5497403Sobrienint ar_app_ok __P((void)); 5597403Sobrienint ar_read __P((register char *, register int)); 5697403Sobrienint ar_write __P((register char *, register int)); 5797403Sobrienint ar_rdsync __P((void)); 5897403Sobrienint ar_fow __P((off_t, off_t *)); 5997403Sobrienint ar_rev __P((off_t )); 6097403Sobrienint ar_next __P((void)); 6197403Sobrien 62132720Skan/* 63132720Skan * ar_subs.c 6497403Sobrien */ 6597403Sobrienextern u_long flcnt; 6697403Sobrienvoid list __P((void)); 6797403Sobrienvoid extract __P((void)); 6897403Sobrienvoid append __P((void)); 6997403Sobrienvoid archive __P((void)); 7097403Sobrienvoid copy __P((void)); 7197403Sobrien 72169691Skan/* 73169691Skan * buf_subs.c 7497403Sobrien */ 7597403Sobrienextern int blksz; 7697403Sobrienextern int wrblksz; 7797403Sobrienextern int maxflt; 78132720Skanextern int rdblksz; 7997403Sobrienextern off_t wrlimit; 80169691Skanextern off_t rdcnt; 81169691Skanextern off_t wrcnt; 8297403Sobrienint wr_start __P((void)); 83169691Skanint rd_start __P((void)); 84169691Skanvoid cp_start __P((void)); 85169691Skanint appnd_start __P((off_t)); 86169691Skanint rd_sync __P((void)); 87169691Skanvoid pback __P((char *, int)); 88169691Skanint rd_skip __P((off_t)); 89169691Skanvoid wr_fin __P((void)); 90169691Skanint wr_rdbuf __P((register char *, register int)); 91169691Skanint rd_wrbuf __P((register char *, register int)); 92169691Skanint wr_skip __P((off_t)); 93169691Skanint wr_rdfile __P((ARCHD *, int, off_t *)); 94169691Skanint rd_wrfile __P((ARCHD *, int, off_t *)); 95169691Skanvoid cp_file __P((ARCHD *, int, int)); 96169691Skanint buf_fill __P((void)); 97169691Skanint buf_flush __P((register int)); 98169691Skan 99169691Skan/* 100169691Skan * cache.c 101169691Skan */ 102169691Skanint uidtb_start __P((void)); 103169691Skanint gidtb_start __P((void)); 104169691Skanint usrtb_start __P((void)); 105169691Skanint grptb_start __P((void)); 106169691Skanchar * name_uid __P((uid_t, int)); 107169691Skanchar * name_gid __P((gid_t, int)); 108169691Skanint uid_name __P((char *, uid_t *)); 109169691Skanint gid_name __P((char *, gid_t *)); 110169691Skan 111169691Skan/* 112169691Skan * cpio.c 113169691Skan */ 114169691Skanint cpio_strd __P((void)); 115169691Skanint cpio_trail __P((register ARCHD *)); 116169691Skanint cpio_endwr __P((void)); 117169691Skanint cpio_id __P((char *, int)); 118169691Skanint cpio_rd __P((register ARCHD *, register char *)); 119169691Skanoff_t cpio_endrd __P((void)); 120169691Skanint cpio_stwr __P((void)); 121169691Skanint cpio_wr __P((register ARCHD *)); 122169691Skanint vcpio_id __P((char *, int)); 123169691Skanint crc_id __P((char *, int)); 124169691Skanint crc_strd __P((void)); 125169691Skanint vcpio_rd __P((register ARCHD *, register char *)); 126169691Skanoff_t vcpio_endrd __P((void)); 127169691Skanint crc_stwr __P((void)); 128169691Skanint vcpio_wr __P((register ARCHD *)); 129169691Skanint bcpio_id __P((char *, int)); 130169691Skanint bcpio_rd __P((register ARCHD *, register char *)); 131169691Skanoff_t bcpio_endrd __P((void)); 132169691Skanint bcpio_wr __P((register ARCHD *)); 13397403Sobrien 13497403Sobrien/* 13597403Sobrien * file_subs.c 13697403Sobrien */ 13797403Sobrienint file_creat __P((register ARCHD *)); 13897403Sobrienvoid file_close __P((register ARCHD *, int)); 13997403Sobrienint lnk_creat __P((register ARCHD *)); 14097403Sobrienint cross_lnk __P((register ARCHD *)); 141132720Skanint chk_same __P((register ARCHD *)); 14297403Sobrienint node_creat __P((register ARCHD *)); 143132720Skanint unlnk_exist __P((register char *, register int)); 14497403Sobrienint chk_path __P((register char *, uid_t, gid_t)); 145132720Skanvoid set_ftime __P((char *fnm, time_t mtime, time_t atime, int frc)); 146132720Skanint set_ids __P((char *, uid_t, gid_t)); 147132720Skanvoid set_pmode __P((char *, mode_t)); 148132720Skanint file_write __P((int, char *, register int, int *, int *, int, char *)); 14997403Sobrienvoid file_flush __P((int, char *, int)); 15097403Sobrienvoid rdfile_close __P((register ARCHD *, register int *)); 151132720Skanint set_crc __P((register ARCHD *, register int)); 152132720Skan 153132720Skan/* 154132720Skan * ftree.c 155132720Skan */ 156132720Skanint ftree_start __P((void)); 157132720Skanint ftree_add __P((register char *)); 158132720Skanvoid ftree_sel __P((register ARCHD *)); 15997403Sobrienvoid ftree_chk __P((void)); 160169691Skanint next_file __P((register ARCHD *)); 161169691Skan 162169691Skan/* 163169691Skan * gen_subs.c 164169691Skan */ 165169691Skanvoid ls_list __P((register ARCHD *, time_t)); 166169691Skanvoid ls_tty __P((register ARCHD *)); 167169691Skanvoid zf_strncpy __P((register char *, register char *, int)); 16897403Sobrienint l_strncpy __P((register char *, register char *, int)); 16997403Sobrienu_long asc_ul __P((register char *, int, register int)); 17097403Sobrienint ul_asc __P((u_long, register char *, register int, register int)); 17197403Sobrien#ifndef NET2_STAT 17297403Sobrienu_quad_t asc_uqd __P((register char *, int, register int)); 17397403Sobrienint uqd_asc __P((u_quad_t, register char *, register int, register int)); 17497403Sobrien#endif 17597403Sobrien 17697403Sobrien/* 17797403Sobrien * options.c 17897403Sobrien */ 17997403Sobrienextern FSUB fsub[]; 18097403Sobrienextern int ford[]; 18197403Sobrienvoid options __P((register int, register char **)); 18297403SobrienOPLIST * opt_next __P((void)); 18397403Sobrienint opt_add __P((register char *)); 18497403Sobrienint bad_opt __P((void)); 185132720Skan 18697403Sobrien/* 187132720Skan * pat_rep.c 188132720Skan */ 189132720Skanint rep_add __P((register char *)); 19097403Sobrienint pat_add __P((char *)); 19197403Sobrienvoid pat_chk __P((void)); 19297403Sobrienint pat_sel __P((register ARCHD *)); 19397403Sobrienint pat_match __P((register ARCHD *)); 19497403Sobrienint mod_name __P((register ARCHD *)); 19597403Sobrienint set_dest __P((register ARCHD *, char *, int)); 19697403Sobrien 19797403Sobrien/* 19897403Sobrien * pax.c 19997403Sobrien */ 20097403Sobrienextern int act; 20197403Sobrienextern FSUB *frmt; 20297403Sobrienextern int cflag; 20397403Sobrienextern int dflag; 204132720Skanextern int iflag; 20597403Sobrienextern int kflag; 20697403Sobrienextern int lflag; 207132720Skanextern int nflag; 20897403Sobrienextern int tflag; 209132720Skanextern int uflag; 210132720Skanextern int vflag; 211132720Skanextern int Dflag; 21297403Sobrienextern int Hflag; 21397403Sobrienextern int Lflag; 21497403Sobrienextern int Xflag; 21597403Sobrienextern int Yflag; 21697403Sobrienextern int Zflag; 21797403Sobrienextern int vfpart; 21897403Sobrienextern int patime; 21997403Sobrienextern int pmtime; 22097403Sobrienextern int pmode; 22197403Sobrienextern int pids; 22297403Sobrienextern int exit_val; 22397403Sobrienextern int docrc; 22497403Sobrienextern char *dirptr; 22597403Sobrienextern char *ltmfrmt; 22697403Sobrienextern char *argv0; 22797403Sobrienint main __P((int, char **)); 22897403Sobrienvoid sig_cleanup __P((int)); 229132720Skan 230132720Skan/* 231132720Skan * sel_subs.c 23297403Sobrien */ 23397403Sobrienint sel_chk __P((register ARCHD *)); 23497403Sobrienint grp_add __P((register char *)); 23597403Sobrienint usr_add __P((register char *)); 23697403Sobrienint trng_add __P((register char *)); 23797403Sobrien 23897403Sobrien/* 23997403Sobrien * tables.c 24097403Sobrien */ 24197403Sobrienint lnk_start __P((void)); 24297403Sobrienint chk_lnk __P((register ARCHD *)); 24397403Sobrienvoid purg_lnk __P((register ARCHD *)); 24497403Sobrienvoid lnk_end __P((void)); 24597403Sobrienint ftime_start __P((void)); 24697403Sobrienint chk_ftime __P((register ARCHD *)); 24797403Sobrienint name_start __P((void)); 24897403Sobrienint add_name __P((register char *, int, char *)); 249132720Skanvoid sub_name __P((register char *, int *)); 250132720Skanint dev_start __P((void)); 251132720Skanint add_dev __P((register ARCHD *)); 25297403Sobrienint map_dev __P((register ARCHD *, u_long, u_long)); 25397403Sobrienint atdir_start __P((void)); 254169691Skanvoid atdir_end __P((void)); 25597403Sobrienvoid add_atdir __P((char *, dev_t, ino_t, time_t, time_t)); 25697403Sobrienint get_atdir __P((dev_t, ino_t, time_t *, time_t *)); 25797403Sobrienint dir_start __P((void)); 25897403Sobrienvoid add_dir __P((char *, int, struct stat *, int)); 25997403Sobrienvoid proc_dir __P((void)); 260169691Skanu_int st_hash __P((char *, int, int)); 261169691Skan 26297403Sobrien/* 263169691Skan * tar.c 264169691Skan */ 265169691Skanint tar_endwr __P((void)); 266169691Skanoff_t tar_endrd __P((void)); 267169691Skanint tar_trail __P((register char *, register int, register int *)); 268169691Skanint tar_id __P((register char *, int)); 269169691Skanint tar_opt __P((void)); 270169691Skanint tar_rd __P((register ARCHD *, register char *)); 271169691Skanint tar_wr __P((register ARCHD *)); 27297403Sobrienint ustar_strd __P((void)); 273169691Skanint ustar_stwr __P((void)); 274169691Skanint ustar_id __P((char *, int)); 27597403Sobrienint ustar_rd __P((register ARCHD *, register char *)); 276169691Skanint ustar_wr __P((register ARCHD *)); 277169691Skan 278169691Skan/* 279169691Skan * tty_subs.c 280169691Skan */ 281169691Skanint tty_init __P((void)); 282169691Skanvoid tty_prnt __P((char *, ...)); 283169691Skanint tty_read __P((char *, int)); 284169691Skanvoid warn __P((int, char *, ...)); 285169691Skanvoid syswarn __P((int, int, char *, ...)); 286169691Skan