Imported Upstream version 0.4b37
[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.23 2003/10/26 16:05:48 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             setinput __P((char *));
111 void             setup __P((void));
112 void             skipdirs __P((void));
113 void             skipfile __P((void));
114 void             skipmaps __P((void));
115 void             swabst __P((u_char *, u_char *));
116 void             treescan __P((char *, dump_ino_t, long (*)(char *, dump_ino_t, int)));
117 dump_ino_t       upperbnd __P((dump_ino_t));
118 long             verifyfile __P((char *, dump_ino_t, int));
119 void             xtrnull __P((char *, size_t));
120
121 /* From ../dump/dumprmt.c */
122 void            rmtclose __P((void));
123 int             rmthost __P((const char *));
124 int             rmtioctl __P((int, int));
125 int             rmtopen __P((const char *, const int));
126 int             rmtread __P((const char *, int));
127 OFF_T           rmtseek __P((OFF_T, int));
128
129 /* From e2fsprogs */
130 int fsetflags __P((const char *, unsigned long));
131 int fgetflags __P((const char *, unsigned long *));
132 int setflags __P((int, unsigned long));
133
134 #ifdef USE_QFA
135 int     Inode2Tapepos __P((dump_ino_t, long *, long long *, int));
136 int     GetTapePos __P((long long *));
137 int     GotoTapePos __P((long long));
138 void    ReReadFromTape __P((void));
139 void    ReReadInodeFromTape __P((dump_ino_t));
140 void    GetPathFile __P((char *, char *, char *));
141
142 #ifdef sunos
143 int             GetSCSIIDFromPath __P((char *, long *));
144 int             OpenSMTCmt(char *);
145 #endif
146 #endif
147 void    RequestVol __P((long));
148
149 #ifdef DUMP_MACOSX
150 int     extractfinderinfoufs __P((char *));
151 int     extractresourceufs __P((char *));
152 int     CreateAppleDoubleFileRes __P((char *, FndrFileInfo *, mode_t, int, struct timeval *, u_int32_t, u_int32_t));
153 #endif
154
155
156