xref: /csrg-svn/bin/pax/extern.h (revision 66890)
157195Smuller /*-
257195Smuller  * Copyright (c) 1992 Keith Muller.
360676Sbostic  * Copyright (c) 1992, 1993
460676Sbostic  *	The Regents of the University of California.  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*66890Sbostic  *	@(#)extern.h	8.2 (Berkeley) 04/18/94
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));
2659046Smuller void ar_drain __P((void));
2757195Smuller int ar_set_wr __P((void));
2857195Smuller int ar_app_ok __P((void));
2957195Smuller int ar_read __P((register char *, register int));
3057195Smuller int ar_write __P((register char *, register int));
3157195Smuller int ar_rdsync __P((void));
3257195Smuller int ar_fow __P((off_t, off_t *));
3357195Smuller int ar_rev __P((off_t ));
3457195Smuller int ar_next __P((void));
3557195Smuller 
3657195Smuller /*
3757195Smuller  * ar_subs.c
3857195Smuller  */
3957195Smuller extern u_long flcnt;
4057195Smuller void list __P((void));
4157195Smuller void extract __P((void));
4257195Smuller void append __P((void));
4357195Smuller void archive __P((void));
4457195Smuller void copy __P((void));
4557195Smuller 
4657195Smuller /*
4757195Smuller  * buf_subs.c
4857195Smuller  */
4957195Smuller extern int blksz;
5057195Smuller extern int wrblksz;
5157195Smuller extern int maxflt;
5257195Smuller extern int rdblksz;
5357195Smuller extern off_t wrlimit;
5457195Smuller extern off_t rdcnt;
5557195Smuller extern off_t wrcnt;
5657195Smuller int wr_start __P((void));
5757195Smuller int rd_start __P((void));
5857195Smuller void cp_start __P((void));
5957195Smuller int appnd_start __P((off_t));
6057195Smuller int rd_sync __P((void));
6157195Smuller void pback __P((char *, int));
6257195Smuller int rd_skip __P((off_t));
6357195Smuller void wr_fin __P((void));
6457195Smuller int wr_rdbuf __P((register char *, register int));
6557195Smuller int rd_wrbuf __P((register char *, register int));
6657195Smuller int wr_skip __P((off_t));
6757195Smuller int wr_rdfile __P((ARCHD *, int, off_t *));
6857195Smuller int rd_wrfile __P((ARCHD *, int, off_t *));
6957195Smuller void cp_file __P((ARCHD *, int, int));
7057195Smuller int buf_fill __P((void));
7157195Smuller int buf_flush __P((register int));
7257195Smuller 
7357195Smuller /*
7457195Smuller  * cache.c
7557195Smuller  */
7657195Smuller int uidtb_start __P((void));
7757195Smuller int gidtb_start __P((void));
7857195Smuller int usrtb_start __P((void));
7957195Smuller int grptb_start __P((void));
8057195Smuller char * name_uid __P((uid_t, int));
8157195Smuller char * name_gid __P((gid_t, int));
8257195Smuller int uid_name __P((char *, uid_t *));
8357195Smuller int gid_name __P((char *, gid_t *));
8457195Smuller 
8557195Smuller /*
8657195Smuller  * cpio.c
8757195Smuller  */
8857195Smuller int cpio_strd __P((void));
8957195Smuller int cpio_trail __P((register ARCHD *));
9057195Smuller int cpio_endwr __P((void));
9157195Smuller int cpio_id __P((char *, int));
9257195Smuller int cpio_rd __P((register ARCHD *, register char *));
9357195Smuller off_t cpio_endrd __P((void));
9457195Smuller int cpio_stwr __P((void));
9557195Smuller int cpio_wr __P((register ARCHD *));
9657195Smuller int vcpio_id __P((char *, int));
9757195Smuller int crc_id __P((char *, int));
9857195Smuller int crc_strd __P((void));
9957195Smuller int vcpio_rd __P((register ARCHD *, register char *));
10057195Smuller off_t vcpio_endrd __P((void));
10157195Smuller int crc_stwr __P((void));
10257195Smuller int vcpio_wr __P((register ARCHD *));
10357195Smuller int bcpio_id __P((char *, int));
10457195Smuller int bcpio_rd __P((register ARCHD *, register char *));
10557195Smuller off_t bcpio_endrd __P((void));
10657195Smuller int bcpio_wr __P((register ARCHD *));
10757195Smuller 
10857195Smuller /*
10957195Smuller  * file_subs.c
11057195Smuller  */
11157195Smuller int file_creat __P((register ARCHD *));
11257195Smuller void file_close __P((register ARCHD *, int));
11357195Smuller int lnk_creat __P((register ARCHD *));
11457195Smuller int cross_lnk __P((register ARCHD *));
11557195Smuller int chk_same __P((register ARCHD *));
11657195Smuller int node_creat __P((register ARCHD *));
11757195Smuller int unlnk_exist __P((register char *, register int));
11857195Smuller int chk_path __P((register char *, uid_t, gid_t));
11957195Smuller void set_ftime __P((char *fnm, time_t mtime, time_t atime, int frc));
12057195Smuller int set_ids __P((char *, uid_t, gid_t));
12157195Smuller void set_pmode __P((char *, mode_t));
12257195Smuller int file_write __P((int, char *, register int, int *, int *, int, char *));
12357195Smuller void file_flush __P((int, char *, int));
12457195Smuller void rdfile_close __P((register ARCHD *, register int *));
12557195Smuller int set_crc __P((register ARCHD *, register int));
12657195Smuller 
12757195Smuller /*
12857195Smuller  * ftree.c
12957195Smuller  */
13057195Smuller int ftree_start __P((void));
13157195Smuller int ftree_add __P((register char *));
13257195Smuller void ftree_sel __P((register ARCHD *));
13357195Smuller void ftree_chk __P((void));
13457195Smuller int next_file __P((register ARCHD *));
13557195Smuller 
13657195Smuller /*
13757195Smuller  * gen_subs.c
13857195Smuller  */
13957195Smuller void ls_list __P((register ARCHD *, time_t));
14057195Smuller void ls_tty __P((register ARCHD *));
14157195Smuller void zf_strncpy __P((register char *, register char *, int));
14257195Smuller int l_strncpy __P((register char *, register char *, int));
14357195Smuller u_long asc_ul __P((register char *, int, register int));
14457195Smuller int ul_asc __P((u_long, register char *, register int, register int));
14557195Smuller #ifndef NET2_STAT
14657195Smuller u_quad_t asc_uqd __P((register char *, int, register int));
14757195Smuller int uqd_asc __P((u_quad_t, register char *, register int, register int));
14857195Smuller #endif
14957195Smuller 
15057195Smuller /*
15157195Smuller  * options.c
15257195Smuller  */
15357195Smuller extern FSUB fsub[];
15457195Smuller extern int ford[];
15557195Smuller void options __P((register int, register char **));
15657195Smuller OPLIST * opt_next __P((void));
15757195Smuller int opt_add __P((register char *));
15857195Smuller int bad_opt __P((void));
15957195Smuller 
16057195Smuller /*
16157195Smuller  * pat_rep.c
16257195Smuller  */
16357195Smuller int rep_add __P((register char *));
16457195Smuller int pat_add __P((char *));
16557195Smuller void pat_chk __P((void));
16657195Smuller int pat_sel __P((register ARCHD *));
16757195Smuller int pat_match __P((register ARCHD *));
16857195Smuller int mod_name __P((register ARCHD *));
16957195Smuller int set_dest __P((register ARCHD *, char *, int));
17057195Smuller 
17157195Smuller /*
17257195Smuller  * pax.c
17357195Smuller  */
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;
18557538Smuller extern int Dflag;
18657195Smuller extern int Hflag;
18757195Smuller extern int Lflag;
18857195Smuller extern int Xflag;
18957538Smuller 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;
200*66890Sbostic extern char *argv0;
20157195Smuller int main __P((int, char **));
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