extern.h revision 1.4
1/* $NetBSD: extern.h,v 1.4 1995/03/21 09:07:16 cgd Exp $ */ 2 3/*- 4 * Copyright (c) 1992 Keith Muller. 5 * Copyright (c) 1992, 1993 6 * The Regents of the University of California. All rights reserved. 7 * 8 * This code is derived from software contributed to Berkeley by 9 * Keith Muller of the University of California, San Diego. 10 * 11 * Redistribution and use in source and binary forms, with or without 12 * modification, are permitted provided that the following conditions 13 * are met: 14 * 1. Redistributions of source code must retain the above copyright 15 * notice, this list of conditions and the following disclaimer. 16 * 2. Redistributions in binary form must reproduce the above copyright 17 * notice, this list of conditions and the following disclaimer in the 18 * documentation and/or other materials provided with the distribution. 19 * 3. All advertising materials mentioning features or use of this software 20 * must display the following acknowledgement: 21 * This product includes software developed by the University of 22 * California, Berkeley and its contributors. 23 * 4. Neither the name of the University nor the names of its contributors 24 * may be used to endorse or promote products derived from this software 25 * without specific prior written permission. 26 * 27 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 28 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 29 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 30 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 31 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 32 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 33 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 34 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 35 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 36 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 37 * SUCH DAMAGE. 38 * 39 * @(#)extern.h 8.2 (Berkeley) 4/18/94 40 */ 41 42/* 43 * External references from each source file 44 */ 45 46#include <sys/cdefs.h> 47 48/* 49 * ar_io.c 50 */ 51extern char *arcname; 52int ar_open __P((char *)); 53void ar_close __P((void)); 54void ar_drain __P((void)); 55int ar_set_wr __P((void)); 56int ar_app_ok __P((void)); 57int ar_read __P((register char *, register int)); 58int ar_write __P((register char *, register int)); 59int ar_rdsync __P((void)); 60int ar_fow __P((off_t, off_t *)); 61int ar_rev __P((off_t )); 62int ar_next __P((void)); 63 64/* 65 * ar_subs.c 66 */ 67extern u_long flcnt; 68void list __P((void)); 69void extract __P((void)); 70void append __P((void)); 71void archive __P((void)); 72void copy __P((void)); 73 74/* 75 * buf_subs.c 76 */ 77extern int blksz; 78extern int wrblksz; 79extern int maxflt; 80extern int rdblksz; 81extern off_t wrlimit; 82extern off_t rdcnt; 83extern off_t wrcnt; 84int wr_start __P((void)); 85int rd_start __P((void)); 86void cp_start __P((void)); 87int appnd_start __P((off_t)); 88int rd_sync __P((void)); 89void pback __P((char *, int)); 90int rd_skip __P((off_t)); 91void wr_fin __P((void)); 92int wr_rdbuf __P((register char *, register int)); 93int rd_wrbuf __P((register char *, register int)); 94int wr_skip __P((off_t)); 95int wr_rdfile __P((ARCHD *, int, off_t *)); 96int rd_wrfile __P((ARCHD *, int, off_t *)); 97void cp_file __P((ARCHD *, int, int)); 98int buf_fill __P((void)); 99int buf_flush __P((register int)); 100 101/* 102 * cache.c 103 */ 104int uidtb_start __P((void)); 105int gidtb_start __P((void)); 106int usrtb_start __P((void)); 107int grptb_start __P((void)); 108char * name_uid __P((uid_t, int)); 109char * name_gid __P((gid_t, int)); 110int uid_name __P((char *, uid_t *)); 111int gid_name __P((char *, gid_t *)); 112 113/* 114 * cpio.c 115 */ 116int cpio_strd __P((void)); 117int cpio_trail __P((register ARCHD *)); 118int cpio_endwr __P((void)); 119int cpio_id __P((char *, int)); 120int cpio_rd __P((register ARCHD *, register char *)); 121off_t cpio_endrd __P((void)); 122int cpio_stwr __P((void)); 123int cpio_wr __P((register ARCHD *)); 124int vcpio_id __P((char *, int)); 125int crc_id __P((char *, int)); 126int crc_strd __P((void)); 127int vcpio_rd __P((register ARCHD *, register char *)); 128off_t vcpio_endrd __P((void)); 129int crc_stwr __P((void)); 130int vcpio_wr __P((register ARCHD *)); 131int bcpio_id __P((char *, int)); 132int bcpio_rd __P((register ARCHD *, register char *)); 133off_t bcpio_endrd __P((void)); 134int bcpio_wr __P((register ARCHD *)); 135 136/* 137 * file_subs.c 138 */ 139int file_creat __P((register ARCHD *)); 140void file_close __P((register ARCHD *, int)); 141int lnk_creat __P((register ARCHD *)); 142int cross_lnk __P((register ARCHD *)); 143int chk_same __P((register ARCHD *)); 144int node_creat __P((register ARCHD *)); 145int unlnk_exist __P((register char *, register int)); 146int chk_path __P((register char *, uid_t, gid_t)); 147void set_ftime __P((char *fnm, time_t mtime, time_t atime, int frc)); 148int set_ids __P((char *, uid_t, gid_t)); 149void set_pmode __P((char *, mode_t)); 150int file_write __P((int, char *, register int, int *, int *, int, char *)); 151void file_flush __P((int, char *, int)); 152void rdfile_close __P((register ARCHD *, register int *)); 153int set_crc __P((register ARCHD *, register int)); 154 155/* 156 * ftree.c 157 */ 158int ftree_start __P((void)); 159int ftree_add __P((register char *)); 160void ftree_sel __P((register ARCHD *)); 161void ftree_chk __P((void)); 162int next_file __P((register ARCHD *)); 163 164/* 165 * gen_subs.c 166 */ 167void ls_list __P((register ARCHD *, time_t)); 168void ls_tty __P((register ARCHD *)); 169void zf_strncpy __P((register char *, register char *, int)); 170int l_strncpy __P((register char *, register char *, int)); 171u_long asc_ul __P((register char *, int, register int)); 172int ul_asc __P((u_long, register char *, register int, register int)); 173#ifndef NET2_STAT 174u_quad_t asc_uqd __P((register char *, int, register int)); 175int uqd_asc __P((u_quad_t, register char *, register int, register int)); 176#endif 177 178/* 179 * getoldopt.c 180 */ 181int getoldopt __P((int, char **, char *)); 182 183/* 184 * options.c 185 */ 186extern FSUB fsub[]; 187extern int ford[]; 188void options __P((register int, register char **)); 189OPLIST * opt_next __P((void)); 190int opt_add __P((register char *)); 191int bad_opt __P((void)); 192 193/* 194 * pat_rep.c 195 */ 196int rep_add __P((register char *)); 197int pat_add __P((char *)); 198void pat_chk __P((void)); 199int pat_sel __P((register ARCHD *)); 200int pat_match __P((register ARCHD *)); 201int mod_name __P((register ARCHD *)); 202int set_dest __P((register ARCHD *, char *, int)); 203 204/* 205 * pax.c 206 */ 207extern int act; 208extern FSUB *frmt; 209extern int cflag; 210extern int dflag; 211extern int iflag; 212extern int kflag; 213extern int lflag; 214extern int nflag; 215extern int tflag; 216extern int uflag; 217extern int vflag; 218extern int Dflag; 219extern int Hflag; 220extern int Lflag; 221extern int Xflag; 222extern int Yflag; 223extern int Zflag; 224extern int vfpart; 225extern int patime; 226extern int pmtime; 227extern int pmode; 228extern int pids; 229extern int exit_val; 230extern int docrc; 231extern char *dirptr; 232extern char *ltmfrmt; 233extern char *argv0; 234int main __P((int, char **)); 235void sig_cleanup __P((int)); 236 237/* 238 * sel_subs.c 239 */ 240int sel_chk __P((register ARCHD *)); 241int grp_add __P((register char *)); 242int usr_add __P((register char *)); 243int trng_add __P((register char *)); 244 245/* 246 * tables.c 247 */ 248int lnk_start __P((void)); 249int chk_lnk __P((register ARCHD *)); 250void purg_lnk __P((register ARCHD *)); 251void lnk_end __P((void)); 252int ftime_start __P((void)); 253int chk_ftime __P((register ARCHD *)); 254int name_start __P((void)); 255int add_name __P((register char *, int, char *)); 256void sub_name __P((register char *, int *)); 257int dev_start __P((void)); 258int add_dev __P((register ARCHD *)); 259int map_dev __P((register ARCHD *, u_long, u_long)); 260int atdir_start __P((void)); 261void atdir_end __P((void)); 262void add_atdir __P((char *, dev_t, ino_t, time_t, time_t)); 263int get_atdir __P((dev_t, ino_t, time_t *, time_t *)); 264int dir_start __P((void)); 265void add_dir __P((char *, int, struct stat *, int)); 266void proc_dir __P((void)); 267u_int st_hash __P((char *, int, int)); 268 269/* 270 * tar.c 271 */ 272int tar_endwr __P((void)); 273off_t tar_endrd __P((void)); 274int tar_trail __P((register char *, register int, register int *)); 275int tar_id __P((register char *, int)); 276int tar_opt __P((void)); 277int tar_rd __P((register ARCHD *, register char *)); 278int tar_wr __P((register ARCHD *)); 279int ustar_strd __P((void)); 280int ustar_stwr __P((void)); 281int ustar_id __P((char *, int)); 282int ustar_rd __P((register ARCHD *, register char *)); 283int ustar_wr __P((register ARCHD *)); 284 285/* 286 * tty_subs.c 287 */ 288int tty_init __P((void)); 289void tty_prnt __P((char *, ...)); 290int tty_read __P((char *, int)); 291void warn __P((int, char *, ...)); 292void syswarn __P((int, int, char *, ...)); 293