157195Smuller /*- 257195Smuller * Copyright (c) 1992 Keith Muller. 357195Smuller * Copyright (c) 1992 The Regents of the University of California. 457195Smuller * All rights reserved. 557195Smuller * 657195Smuller * This code is derived from software contributed to Berkeley by 757195Smuller * Keith Muller of the University of California, San Diego. 857195Smuller * 957195Smuller * %sccs.include.redist.c% 1057195Smuller * 11*57538Smuller * @(#)extern.h 1.2 (Berkeley) 01/14/93 1257195Smuller */ 1357195Smuller 1457195Smuller /* 1557195Smuller * External references from each source file 1657195Smuller */ 1757195Smuller 1857195Smuller #include <sys/cdefs.h> 1957195Smuller 2057195Smuller /* 2157195Smuller * ar_io.c 2257195Smuller */ 2357195Smuller extern char *arcname; 2457195Smuller int ar_open __P((char *)); 2557195Smuller void ar_close __P((void)); 2657195Smuller int ar_set_wr __P((void)); 2757195Smuller int ar_app_ok __P((void)); 2857195Smuller int ar_read __P((register char *, register int)); 2957195Smuller int ar_write __P((register char *, register int)); 3057195Smuller int ar_rdsync __P((void)); 3157195Smuller int ar_fow __P((off_t, off_t *)); 3257195Smuller int ar_rev __P((off_t )); 3357195Smuller int ar_next __P((void)); 3457195Smuller 3557195Smuller /* 3657195Smuller * ar_subs.c 3757195Smuller */ 3857195Smuller extern u_long flcnt; 3957195Smuller void list __P((void)); 4057195Smuller void extract __P((void)); 4157195Smuller void append __P((void)); 4257195Smuller void archive __P((void)); 4357195Smuller void copy __P((void)); 4457195Smuller 4557195Smuller /* 4657195Smuller * buf_subs.c 4757195Smuller */ 4857195Smuller extern int blksz; 4957195Smuller extern int wrblksz; 5057195Smuller extern int maxflt; 5157195Smuller extern int rdblksz; 5257195Smuller extern off_t wrlimit; 5357195Smuller extern off_t rdcnt; 5457195Smuller extern off_t wrcnt; 5557195Smuller int wr_start __P((void)); 5657195Smuller int rd_start __P((void)); 5757195Smuller void cp_start __P((void)); 5857195Smuller int appnd_start __P((off_t)); 5957195Smuller int rd_sync __P((void)); 6057195Smuller void pback __P((char *, int)); 6157195Smuller int rd_skip __P((off_t)); 6257195Smuller void wr_fin __P((void)); 6357195Smuller int wr_rdbuf __P((register char *, register int)); 6457195Smuller int rd_wrbuf __P((register char *, register int)); 6557195Smuller int wr_skip __P((off_t)); 6657195Smuller int wr_rdfile __P((ARCHD *, int, off_t *)); 6757195Smuller int rd_wrfile __P((ARCHD *, int, off_t *)); 6857195Smuller void cp_file __P((ARCHD *, int, int)); 6957195Smuller int buf_fill __P((void)); 7057195Smuller int buf_flush __P((register int)); 7157195Smuller 7257195Smuller /* 7357195Smuller * cache.c 7457195Smuller */ 7557195Smuller int uidtb_start __P((void)); 7657195Smuller int gidtb_start __P((void)); 7757195Smuller int usrtb_start __P((void)); 7857195Smuller int grptb_start __P((void)); 7957195Smuller char * name_uid __P((uid_t, int)); 8057195Smuller char * name_gid __P((gid_t, int)); 8157195Smuller int uid_name __P((char *, uid_t *)); 8257195Smuller int gid_name __P((char *, gid_t *)); 8357195Smuller 8457195Smuller /* 8557195Smuller * cpio.c 8657195Smuller */ 8757195Smuller int cpio_strd __P((void)); 8857195Smuller int cpio_trail __P((register ARCHD *)); 8957195Smuller int cpio_endwr __P((void)); 9057195Smuller int cpio_id __P((char *, int)); 9157195Smuller int cpio_rd __P((register ARCHD *, register char *)); 9257195Smuller off_t cpio_endrd __P((void)); 9357195Smuller int cpio_stwr __P((void)); 9457195Smuller int cpio_wr __P((register ARCHD *)); 9557195Smuller int vcpio_id __P((char *, int)); 9657195Smuller int crc_id __P((char *, int)); 9757195Smuller int crc_strd __P((void)); 9857195Smuller int vcpio_rd __P((register ARCHD *, register char *)); 9957195Smuller off_t vcpio_endrd __P((void)); 10057195Smuller int crc_stwr __P((void)); 10157195Smuller int vcpio_wr __P((register ARCHD *)); 10257195Smuller int bcpio_id __P((char *, int)); 10357195Smuller int bcpio_rd __P((register ARCHD *, register char *)); 10457195Smuller off_t bcpio_endrd __P((void)); 10557195Smuller int bcpio_wr __P((register ARCHD *)); 10657195Smuller 10757195Smuller /* 10857195Smuller * file_subs.c 10957195Smuller */ 11057195Smuller int file_creat __P((register ARCHD *)); 11157195Smuller void file_close __P((register ARCHD *, int)); 11257195Smuller int lnk_creat __P((register ARCHD *)); 11357195Smuller int cross_lnk __P((register ARCHD *)); 11457195Smuller int chk_same __P((register ARCHD *)); 11557195Smuller int node_creat __P((register ARCHD *)); 11657195Smuller int unlnk_exist __P((register char *, register int)); 11757195Smuller int chk_path __P((register char *, uid_t, gid_t)); 11857195Smuller void set_ftime __P((char *fnm, time_t mtime, time_t atime, int frc)); 11957195Smuller int set_ids __P((char *, uid_t, gid_t)); 12057195Smuller void set_pmode __P((char *, mode_t)); 12157195Smuller int file_write __P((int, char *, register int, int *, int *, int, char *)); 12257195Smuller void file_flush __P((int, char *, int)); 12357195Smuller void rdfile_close __P((register ARCHD *, register int *)); 12457195Smuller int set_crc __P((register ARCHD *, register int)); 12557195Smuller 12657195Smuller /* 12757195Smuller * ftree.c 12857195Smuller */ 12957195Smuller int ftree_start __P((void)); 13057195Smuller int ftree_add __P((register char *)); 13157195Smuller void ftree_sel __P((register ARCHD *)); 13257195Smuller void ftree_chk __P((void)); 13357195Smuller int next_file __P((register ARCHD *)); 13457195Smuller 13557195Smuller /* 13657195Smuller * gen_subs.c 13757195Smuller */ 13857195Smuller void ls_list __P((register ARCHD *, time_t)); 13957195Smuller void ls_tty __P((register ARCHD *)); 14057195Smuller void zf_strncpy __P((register char *, register char *, int)); 14157195Smuller int l_strncpy __P((register char *, register char *, int)); 14257195Smuller u_long asc_ul __P((register char *, int, register int)); 14357195Smuller int ul_asc __P((u_long, register char *, register int, register int)); 14457195Smuller #ifndef NET2_STAT 14557195Smuller u_quad_t asc_uqd __P((register char *, int, register int)); 14657195Smuller int uqd_asc __P((u_quad_t, register char *, register int, register int)); 14757195Smuller #endif 14857195Smuller 14957195Smuller /* 15057195Smuller * options.c 15157195Smuller */ 15257195Smuller extern FSUB fsub[]; 15357195Smuller extern int ford[]; 15457195Smuller void options __P((register int, register char **)); 15557195Smuller OPLIST * opt_next __P((void)); 15657195Smuller int opt_add __P((register char *)); 15757195Smuller int bad_opt __P((void)); 15857195Smuller 15957195Smuller /* 16057195Smuller * pat_rep.c 16157195Smuller */ 16257195Smuller int rep_add __P((register char *)); 16357195Smuller int pat_add __P((char *)); 16457195Smuller void pat_chk __P((void)); 16557195Smuller int pat_sel __P((register ARCHD *)); 16657195Smuller int pat_match __P((register ARCHD *)); 16757195Smuller int mod_name __P((register ARCHD *)); 16857195Smuller int set_dest __P((register ARCHD *, char *, int)); 16957195Smuller 17057195Smuller /* 17157195Smuller * pax.c 17257195Smuller */ 17357195Smuller extern char copyright[]; 17457195Smuller extern int act; 17557195Smuller extern FSUB *frmt; 17657195Smuller extern int cflag; 17757195Smuller extern int dflag; 17857195Smuller extern int iflag; 17957195Smuller extern int kflag; 18057195Smuller extern int lflag; 18157195Smuller extern int nflag; 18257195Smuller extern int tflag; 18357195Smuller extern int uflag; 18457195Smuller extern int vflag; 185*57538Smuller extern int Dflag; 18657195Smuller extern int Hflag; 18757195Smuller extern int Lflag; 18857195Smuller extern int Xflag; 189*57538Smuller extern int Yflag; 19057195Smuller extern int Zflag; 19157195Smuller extern int vfpart; 19257195Smuller extern int patime; 19357195Smuller extern int pmtime; 19457195Smuller extern int pmode; 19557195Smuller extern int pids; 19657195Smuller extern int exit_val; 19757195Smuller extern int docrc; 19857195Smuller extern char *dirptr; 19957195Smuller extern char *ltmfrmt; 20057195Smuller int main __P((int, char **)); 20157195Smuller void usage __P((void)); 20257195Smuller void sig_cleanup __P((int)); 20357195Smuller 20457195Smuller /* 20557195Smuller * sel_subs.c 20657195Smuller */ 20757195Smuller int sel_chk __P((register ARCHD *)); 20857195Smuller int grp_add __P((register char *)); 20957195Smuller int usr_add __P((register char *)); 21057195Smuller int trng_add __P((register char *)); 21157195Smuller 21257195Smuller /* 21357195Smuller * tables.c 21457195Smuller */ 21557195Smuller int lnk_start __P((void)); 21657195Smuller int chk_lnk __P((register ARCHD *)); 21757195Smuller void purg_lnk __P((register ARCHD *)); 21857195Smuller void lnk_end __P((void)); 21957195Smuller int ftime_start __P((void)); 22057195Smuller int chk_ftime __P((register ARCHD *)); 22157195Smuller int name_start __P((void)); 22257195Smuller int add_name __P((register char *, int, char *)); 22357195Smuller void sub_name __P((register char *, int *)); 22457195Smuller int dev_start __P((void)); 22557195Smuller int add_dev __P((register ARCHD *)); 22657195Smuller int map_dev __P((register ARCHD *, u_long, u_long)); 22757195Smuller int atdir_start __P((void)); 22857195Smuller void atdir_end __P((void)); 22957195Smuller void add_atdir __P((char *, dev_t, ino_t, time_t, time_t)); 23057195Smuller int get_atdir __P((dev_t, ino_t, time_t *, time_t *)); 23157195Smuller int dir_start __P((void)); 23257195Smuller void add_dir __P((char *, int, struct stat *, int)); 23357195Smuller void proc_dir __P((void)); 23457195Smuller u_int st_hash __P((char *, int, int)); 23557195Smuller 23657195Smuller /* 23757195Smuller * tar.c 23857195Smuller */ 23957195Smuller int tar_endwr __P((void)); 24057195Smuller off_t tar_endrd __P((void)); 24157195Smuller int tar_trail __P((register char *, register int, register int *)); 24257195Smuller int tar_id __P((register char *, int)); 24357195Smuller int tar_opt __P((void)); 24457195Smuller int tar_rd __P((register ARCHD *, register char *)); 24557195Smuller int tar_wr __P((register ARCHD *)); 24657195Smuller int ustar_strd __P((void)); 24757195Smuller int ustar_stwr __P((void)); 24857195Smuller int ustar_id __P((char *, int)); 24957195Smuller int ustar_rd __P((register ARCHD *, register char *)); 25057195Smuller int ustar_wr __P((register ARCHD *)); 25157195Smuller 25257195Smuller /* 25357195Smuller * tty_subs.c 25457195Smuller */ 25557195Smuller int tty_init __P((void)); 25657195Smuller void tty_prnt __P((char *, ...)); 25757195Smuller int tty_read __P((char *, int)); 25857195Smuller void warn __P((int, char *, ...)); 25957195Smuller void syswarn __P((int, int, char *, ...)); 260