xref: /csrg-svn/bin/pax/extern.h (revision 57195)
1*57195Smuller /*-
2*57195Smuller  * Copyright (c) 1992 Keith Muller.
3*57195Smuller  * Copyright (c) 1992 The Regents of the University of California.
4*57195Smuller  * All rights reserved.
5*57195Smuller  *
6*57195Smuller  * This code is derived from software contributed to Berkeley by
7*57195Smuller  * Keith Muller of the University of California, San Diego.
8*57195Smuller  *
9*57195Smuller  * %sccs.include.redist.c%
10*57195Smuller  *
11*57195Smuller  *	@(#)extern.h	1.1 (Berkeley) 12/17/92
12*57195Smuller  */
13*57195Smuller 
14*57195Smuller /*
15*57195Smuller  * External references from each source file
16*57195Smuller  */
17*57195Smuller 
18*57195Smuller #include <sys/cdefs.h>
19*57195Smuller 
20*57195Smuller /*
21*57195Smuller  * ar_io.c
22*57195Smuller  */
23*57195Smuller extern char *arcname;
24*57195Smuller int ar_open __P((char *));
25*57195Smuller void ar_close __P((void));
26*57195Smuller int ar_set_wr __P((void));
27*57195Smuller int ar_app_ok __P((void));
28*57195Smuller int ar_read __P((register char *, register int));
29*57195Smuller int ar_write __P((register char *, register int));
30*57195Smuller int ar_rdsync __P((void));
31*57195Smuller int ar_fow __P((off_t, off_t *));
32*57195Smuller int ar_rev __P((off_t ));
33*57195Smuller int ar_next __P((void));
34*57195Smuller 
35*57195Smuller /*
36*57195Smuller  * ar_subs.c
37*57195Smuller  */
38*57195Smuller extern u_long flcnt;
39*57195Smuller void list __P((void));
40*57195Smuller void extract __P((void));
41*57195Smuller void append __P((void));
42*57195Smuller void archive __P((void));
43*57195Smuller void copy __P((void));
44*57195Smuller 
45*57195Smuller /*
46*57195Smuller  * buf_subs.c
47*57195Smuller  */
48*57195Smuller extern int blksz;
49*57195Smuller extern int wrblksz;
50*57195Smuller extern int maxflt;
51*57195Smuller extern int rdblksz;
52*57195Smuller extern off_t wrlimit;
53*57195Smuller extern off_t rdcnt;
54*57195Smuller extern off_t wrcnt;
55*57195Smuller int wr_start __P((void));
56*57195Smuller int rd_start __P((void));
57*57195Smuller void cp_start __P((void));
58*57195Smuller int appnd_start __P((off_t));
59*57195Smuller int rd_sync __P((void));
60*57195Smuller void pback __P((char *, int));
61*57195Smuller int rd_skip __P((off_t));
62*57195Smuller void wr_fin __P((void));
63*57195Smuller int wr_rdbuf __P((register char *, register int));
64*57195Smuller int rd_wrbuf __P((register char *, register int));
65*57195Smuller int wr_skip __P((off_t));
66*57195Smuller int wr_rdfile __P((ARCHD *, int, off_t *));
67*57195Smuller int rd_wrfile __P((ARCHD *, int, off_t *));
68*57195Smuller void cp_file __P((ARCHD *, int, int));
69*57195Smuller int buf_fill __P((void));
70*57195Smuller int buf_flush __P((register int));
71*57195Smuller 
72*57195Smuller /*
73*57195Smuller  * cache.c
74*57195Smuller  */
75*57195Smuller int uidtb_start __P((void));
76*57195Smuller int gidtb_start __P((void));
77*57195Smuller int usrtb_start __P((void));
78*57195Smuller int grptb_start __P((void));
79*57195Smuller char * name_uid __P((uid_t, int));
80*57195Smuller char * name_gid __P((gid_t, int));
81*57195Smuller int uid_name __P((char *, uid_t *));
82*57195Smuller int gid_name __P((char *, gid_t *));
83*57195Smuller 
84*57195Smuller /*
85*57195Smuller  * cpio.c
86*57195Smuller  */
87*57195Smuller int cpio_strd __P((void));
88*57195Smuller int cpio_trail __P((register ARCHD *));
89*57195Smuller int cpio_endwr __P((void));
90*57195Smuller int cpio_id __P((char *, int));
91*57195Smuller int cpio_rd __P((register ARCHD *, register char *));
92*57195Smuller off_t cpio_endrd __P((void));
93*57195Smuller int cpio_stwr __P((void));
94*57195Smuller int cpio_wr __P((register ARCHD *));
95*57195Smuller int vcpio_id __P((char *, int));
96*57195Smuller int crc_id __P((char *, int));
97*57195Smuller int crc_strd __P((void));
98*57195Smuller int vcpio_rd __P((register ARCHD *, register char *));
99*57195Smuller off_t vcpio_endrd __P((void));
100*57195Smuller int crc_stwr __P((void));
101*57195Smuller int vcpio_wr __P((register ARCHD *));
102*57195Smuller int bcpio_id __P((char *, int));
103*57195Smuller int bcpio_rd __P((register ARCHD *, register char *));
104*57195Smuller off_t bcpio_endrd __P((void));
105*57195Smuller int bcpio_wr __P((register ARCHD *));
106*57195Smuller 
107*57195Smuller /*
108*57195Smuller  * file_subs.c
109*57195Smuller  */
110*57195Smuller int file_creat __P((register ARCHD *));
111*57195Smuller void file_close __P((register ARCHD *, int));
112*57195Smuller int lnk_creat __P((register ARCHD *));
113*57195Smuller int cross_lnk __P((register ARCHD *));
114*57195Smuller int chk_same __P((register ARCHD *));
115*57195Smuller int node_creat __P((register ARCHD *));
116*57195Smuller int unlnk_exist __P((register char *, register int));
117*57195Smuller int chk_path __P((register char *, uid_t, gid_t));
118*57195Smuller void set_ftime __P((char *fnm, time_t mtime, time_t atime, int frc));
119*57195Smuller int set_ids __P((char *, uid_t, gid_t));
120*57195Smuller void set_pmode __P((char *, mode_t));
121*57195Smuller int file_write __P((int, char *, register int, int *, int *, int, char *));
122*57195Smuller void file_flush __P((int, char *, int));
123*57195Smuller void rdfile_close __P((register ARCHD *, register int *));
124*57195Smuller int set_crc __P((register ARCHD *, register int));
125*57195Smuller 
126*57195Smuller /*
127*57195Smuller  * ftree.c
128*57195Smuller  */
129*57195Smuller int ftree_start __P((void));
130*57195Smuller int ftree_add __P((register char *));
131*57195Smuller void ftree_sel __P((register ARCHD *));
132*57195Smuller void ftree_chk __P((void));
133*57195Smuller int next_file __P((register ARCHD *));
134*57195Smuller 
135*57195Smuller /*
136*57195Smuller  * gen_subs.c
137*57195Smuller  */
138*57195Smuller void ls_list __P((register ARCHD *, time_t));
139*57195Smuller void ls_tty __P((register ARCHD *));
140*57195Smuller void zf_strncpy __P((register char *, register char *, int));
141*57195Smuller int l_strncpy __P((register char *, register char *, int));
142*57195Smuller u_long asc_ul __P((register char *, int, register int));
143*57195Smuller int ul_asc __P((u_long, register char *, register int, register int));
144*57195Smuller #ifndef NET2_STAT
145*57195Smuller u_quad_t asc_uqd __P((register char *, int, register int));
146*57195Smuller int uqd_asc __P((u_quad_t, register char *, register int, register int));
147*57195Smuller #endif
148*57195Smuller 
149*57195Smuller /*
150*57195Smuller  * options.c
151*57195Smuller  */
152*57195Smuller extern FSUB fsub[];
153*57195Smuller extern int ford[];
154*57195Smuller void options __P((register int, register char **));
155*57195Smuller OPLIST * opt_next __P((void));
156*57195Smuller int opt_add __P((register char *));
157*57195Smuller int bad_opt __P((void));
158*57195Smuller 
159*57195Smuller /*
160*57195Smuller  * pat_rep.c
161*57195Smuller  */
162*57195Smuller int rep_add __P((register char *));
163*57195Smuller int pat_add __P((char *));
164*57195Smuller void pat_chk __P((void));
165*57195Smuller int pat_sel __P((register ARCHD *));
166*57195Smuller int pat_match __P((register ARCHD *));
167*57195Smuller int mod_name __P((register ARCHD *));
168*57195Smuller int set_dest __P((register ARCHD *, char *, int));
169*57195Smuller 
170*57195Smuller /*
171*57195Smuller  * pax.c
172*57195Smuller  */
173*57195Smuller extern char copyright[];
174*57195Smuller extern int act;
175*57195Smuller extern FSUB *frmt;
176*57195Smuller extern int cflag;
177*57195Smuller extern int dflag;
178*57195Smuller extern int iflag;
179*57195Smuller extern int kflag;
180*57195Smuller extern int lflag;
181*57195Smuller extern int nflag;
182*57195Smuller extern int tflag;
183*57195Smuller extern int uflag;
184*57195Smuller extern int vflag;
185*57195Smuller extern int Hflag;
186*57195Smuller extern int Lflag;
187*57195Smuller extern int Xflag;
188*57195Smuller extern int Zflag;
189*57195Smuller extern int vfpart;
190*57195Smuller extern int patime;
191*57195Smuller extern int pmtime;
192*57195Smuller extern int pmode;
193*57195Smuller extern int pids;
194*57195Smuller extern int exit_val;
195*57195Smuller extern int docrc;
196*57195Smuller extern char *dirptr;
197*57195Smuller extern char *ltmfrmt;
198*57195Smuller int main __P((int, char **));
199*57195Smuller void usage __P((void));
200*57195Smuller void sig_cleanup __P((int));
201*57195Smuller 
202*57195Smuller /*
203*57195Smuller  * sel_subs.c
204*57195Smuller  */
205*57195Smuller int sel_chk __P((register ARCHD *));
206*57195Smuller int grp_add __P((register char *));
207*57195Smuller int usr_add __P((register char *));
208*57195Smuller int trng_add __P((register char *));
209*57195Smuller 
210*57195Smuller /*
211*57195Smuller  * tables.c
212*57195Smuller  */
213*57195Smuller int lnk_start __P((void));
214*57195Smuller int chk_lnk __P((register ARCHD *));
215*57195Smuller void purg_lnk __P((register ARCHD *));
216*57195Smuller void lnk_end __P((void));
217*57195Smuller int ftime_start __P((void));
218*57195Smuller int chk_ftime __P((register ARCHD *));
219*57195Smuller int name_start __P((void));
220*57195Smuller int add_name __P((register char *, int, char *));
221*57195Smuller void sub_name __P((register char *, int *));
222*57195Smuller int dev_start __P((void));
223*57195Smuller int add_dev __P((register ARCHD *));
224*57195Smuller int map_dev __P((register ARCHD *, u_long, u_long));
225*57195Smuller int atdir_start __P((void));
226*57195Smuller void atdir_end __P((void));
227*57195Smuller void add_atdir __P((char *, dev_t, ino_t, time_t, time_t));
228*57195Smuller int get_atdir __P((dev_t, ino_t, time_t *, time_t *));
229*57195Smuller int dir_start __P((void));
230*57195Smuller void add_dir __P((char *, int, struct stat *, int));
231*57195Smuller void proc_dir __P((void));
232*57195Smuller u_int st_hash __P((char *, int, int));
233*57195Smuller 
234*57195Smuller /*
235*57195Smuller  * tar.c
236*57195Smuller  */
237*57195Smuller int tar_endwr __P((void));
238*57195Smuller off_t tar_endrd __P((void));
239*57195Smuller int tar_trail __P((register char *, register int, register int *));
240*57195Smuller int tar_id __P((register char *, int));
241*57195Smuller int tar_opt __P((void));
242*57195Smuller int tar_rd __P((register ARCHD *, register char *));
243*57195Smuller int tar_wr __P((register ARCHD *));
244*57195Smuller int ustar_strd __P((void));
245*57195Smuller int ustar_stwr __P((void));
246*57195Smuller int ustar_id __P((char *, int));
247*57195Smuller int ustar_rd __P((register ARCHD *, register char *));
248*57195Smuller int ustar_wr __P((register ARCHD *));
249*57195Smuller 
250*57195Smuller /*
251*57195Smuller  * tty_subs.c
252*57195Smuller  */
253*57195Smuller int tty_init __P((void));
254*57195Smuller void tty_prnt __P((char *, ...));
255*57195Smuller int tty_read __P((char *, int));
256*57195Smuller void warn __P((int, char *, ...));
257*57195Smuller void syswarn __P((int, int, char *, ...));
258