Imported Debian patch 0.4b40-1
[debian/dump] / restore / extern.h
1 /*
2  *      Ported to Linux's Second Extended File System as part of the
3  *      dump and restore backup suit
4  *      Remy Card <card@Linux.EU.Org>, 1994-1997
5  *      Stelian Pop <stelian@popies.net>, 1999-2000
6  *      Stelian Pop <stelian@popies.net> - AlcĂ´ve <www.alcove.com>, 2000-2002
7  *
8  *      $Id: extern.h,v 1.25 2005/05/02 15:10:46 stelian Exp $
9  */
10
11 /*-
12  * Copyright (c) 1992, 1993
13  *      The Regents of the University of California.  All rights reserved.
14  *
15  * Redistribution and use in source and binary forms, with or without
16  * modification, are permitted provided that the following conditions
17  * are met:
18  * 1. Redistributions of source code must retain the above copyright
19  *    notice, this list of conditions and the following disclaimer.
20  * 2. Redistributions in binary form must reproduce the above copyright
21  *    notice, this list of conditions and the following disclaimer in the
22  *    documentation and/or other materials provided with the distribution.
23  * 3. 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
40 #include <config.h>
41 #include <compatlfs.h>
42 #ifndef __P
43 #include <sys/cdefs.h>
44 #endif
45 #ifdef DUMP_MACOSX
46 #include "darwin.h"
47 #endif
48
49 struct entry    *addentry __P((char *, dump_ino_t, int));
50 long             addfile __P((char *, dump_ino_t, int));
51 int              addwhiteout __P((char *));
52 void             badentry __P((struct entry *, const char *));
53 void             canon __P((char *, char *, int));
54 void             checkrestore __P((void));
55 void             closemt __P((void));
56 void             cleanup __P((void));
57 void             comparefile __P((char *));
58 void             compareleaves __P((void));
59 void             createfiles __P((void));
60 void             createleaves __P((char *));
61 void             createlinks __P((void));
62 long             deletefile __P((char *, dump_ino_t, int));
63 void             deleteino __P((dump_ino_t));
64 void             delwhiteout __P((struct entry *));
65 dump_ino_t       dirlookup __P((const char *));
66 void             dumpsymtable __P((char *, long));
67 void             extractdirs __P((int));
68 int              extractfile __P((struct entry *, int));
69 void             findunreflinks __P((void));
70 char            *flagvalues __P((struct entry *));
71 void             freeentry __P((struct entry *));
72 void             freename __P((char *));
73 int              genliteraldir __P((char *, dump_ino_t));
74 char            *gentempname __P((struct entry *));
75 void             getfile __P((void (*)(char *, size_t), void (*)(char *, size_t)));
76 void             getvol __P((long));
77 void             initsymtable __P((char *));
78 int              inodetype __P((dump_ino_t));
79 int              linkit __P((char *, char *, int));
80 struct entry    *lookupino __P((dump_ino_t));
81 struct entry    *lookupname __P((char *));
82 long             listfile __P((char *, dump_ino_t, int));
83 dump_ino_t       lowerbnd __P((dump_ino_t));
84 void             mktempname __P((struct entry *));
85 void             moveentry __P((struct entry *, char *));
86 void             msg __P((const char *, ...));
87 char            *myname __P((struct entry *));
88 void             newnode __P((struct entry *));
89 void             newtapebuf __P((long));
90 long             nodeupdates __P((char *, dump_ino_t, int));
91 void             onintr __P((int));
92 void             panic __P((const char *, ...));
93 void             pathcheck __P((char *));
94 struct direct   *pathsearch __P((const char *));
95 void             printdumpinfo __P((void));
96 void             printvolinfo __P((void));
97 void             removeleaf __P((struct entry *));
98 void             removenode __P((struct entry *));
99 void             removeoldleaves __P((void));
100 void             removeoldnodes __P((void));
101 void             renameit __P((char *, char *));
102 int              reply __P((const char *));
103 void             resizemaps __P((dump_ino_t, dump_ino_t));
104 RST_DIR         *rst_opendir __P((const char *));
105 struct direct   *rst_readdir __P((RST_DIR *));
106 void             rst_closedir __P((RST_DIR *dirp));
107 void             runcmdshell __P((void));
108 char            *savename __P((char *));
109 void             setdirmodes __P((int));
110 void             comparedirmodes __P((void));
111 void             setinput __P((char *));
112 void             setup __P((void));
113 void             skipdirs __P((void));
114 void             skipfile __P((void));
115 void             skipmaps __P((void));
116 void             swabst __P((u_char *, u_char *));
117 void             treescan __P((char *, dump_ino_t, long (*)(char *, dump_ino_t, int)));
118 dump_ino_t       upperbnd __P((dump_ino_t));
119 long             verifyfile __P((char *, dump_ino_t, int));
120 void             xtrnull __P((char *, size_t));
121
122 /* From ../dump/dumprmt.c */
123 void            rmtclose __P((void));
124 int             rmthost __P((const char *));
125 int             rmtioctl __P((int, int));
126 int             rmtopen __P((const char *, const int));
127 int             rmtread __P((const char *, int));
128 OFF_T           rmtseek __P((OFF_T, int));
129
130 /* From e2fsprogs */
131 int fsetflags __P((const char *, unsigned long));
132 int fgetflags __P((const char *, unsigned long *));
133 int setflags __P((int, unsigned long));
134
135 int lsetflags __P((const char *, unsigned long));
136 int lgetflags __P((const char *, unsigned long *));
137
138 #ifdef USE_QFA
139 int     Inode2Tapepos __P((dump_ino_t, long *, long long *, int));
140 int     GetTapePos __P((long long *));
141 int     GotoTapePos __P((long long));
142 void    ReReadFromTape __P((void));
143 void    ReReadInodeFromTape __P((dump_ino_t));
144 void    GetPathFile __P((char *, char *, char *));
145
146 #ifdef sunos
147 int             GetSCSIIDFromPath __P((char *, long *));
148 int             OpenSMTCmt(char *);
149 #endif
150 #endif
151 void    RequestVol __P((long));
152
153 #ifdef DUMP_MACOSX
154 int     extractfinderinfoufs __P((char *));
155 int     extractresourceufs __P((char *));
156 int     CreateAppleDoubleFileRes __P((char *, FndrFileInfo *, mode_t, int, struct timeval *, u_int32_t, u_int32_t));
157 #endif
158
159 void    skipxattr __P((void));
160 int     readxattr __P((char *));
161 int     xattr_compare __P((char *, char *));
162 int     xattr_extract __P((char *, char *));