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