]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/filetypes.h
Tweak accurate_finish
[bacula/bacula] / bacula / src / filetypes.h
1 /*
2    Bacula® - The Network Backup Solution
3
4    Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
5
6    The main author of Bacula is Kern Sibbald, with contributions from
7    many others, a complete list can be found in the file AUTHORS.
8    This program is Free Software; you can redistribute it and/or
9    modify it under the terms of version three of the GNU Affero General Public
10    License as published by the Free Software Foundation and included
11    in the file LICENSE.
12
13    This program is distributed in the hope that it will be useful, but
14    WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16    General Public License for more details.
17
18    You should have received a copy of the GNU Affero General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21    02110-1301, USA.
22
23    Bacula® is a registered trademark of Kern Sibbald.
24    The licensor of Bacula is the Free Software Foundation Europe
25    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
26    Switzerland, email:ftf@fsfeurope.org.
27 */
28 /**
29  * Stream definitions.  Split from baconfig.h Nov 2010
30  *
31  *  Kern Sibbald, MM
32  *
33  */
34
35 #ifndef __BFILETYPES_H
36 #define __BFILETYPES_H 1
37
38
39 /**
40  *  File type (Bacula defined).
41  *  NOTE!!! These are saved in the Attributes record on the tape, so
42  *          do not change them. If need be, add to them.
43  *
44  *  This is stored as 32 bits on the Volume, but only FT_MASK (16) bits are
45  *    used for the file type. The upper bits are used to indicate
46  *    additional optional fields in the attribute record.
47  */
48 #define FT_MASK       0xFFFF          /* Bits used by FT (type) */
49 #define FT_LNKSAVED   1               /* hard link to file already saved */
50 #define FT_REGE       2               /* Regular file but empty */
51 #define FT_REG        3               /* Regular file */
52 #define FT_LNK        4               /* Soft Link */
53 #define FT_DIREND     5               /* Directory at end (saved) */
54 #define FT_SPEC       6               /* Special file -- chr, blk, fifo, sock */
55 #define FT_NOACCESS   7               /* Not able to access */
56 #define FT_NOFOLLOW   8               /* Could not follow link */
57 #define FT_NOSTAT     9               /* Could not stat file */
58 #define FT_NOCHG     10               /* Incremental option, file not changed */
59 #define FT_DIRNOCHG  11               /* Incremental option, directory not changed */
60 #define FT_ISARCH    12               /* Trying to save archive file */
61 #define FT_NORECURSE 13               /* No recursion into directory */
62 #define FT_NOFSCHG   14               /* Different file system, prohibited */
63 #define FT_NOOPEN    15               /* Could not open directory */
64 #define FT_RAW       16               /* Raw block device */
65 #define FT_FIFO      17               /* Raw fifo device */
66 /** 
67  * The DIRBEGIN packet is sent to the FD file processing routine so
68  * that it can filter packets, but otherwise, it is not used
69  * or saved */
70 #define FT_DIRBEGIN  18               /* Directory at beginning (not saved) */
71 #define FT_INVALIDFS 19               /* File system not allowed for */
72 #define FT_INVALIDDT 20               /* Drive type not allowed for */
73 #define FT_REPARSE   21               /* Win NTFS reparse point */
74 #define FT_PLUGIN    22               /* Plugin generated filename */
75 #define FT_DELETED   23               /* Deleted file entry */
76 #define FT_BASE      24               /* Duplicate base file entry */
77 #define FT_RESTORE_FIRST 25           /* Restore this "object" first */
78 #define FT_JUNCTION  26               /* Win32 Junction point */
79
80 /* Definitions for upper part of type word (see above). */
81 #define AR_DATA_STREAM (1<<16)        /* Data stream id present */
82
83 #endif /* __BFILETYPES_H */