2 Bacula® - The Network Backup Solution
4 Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
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
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.
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
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.
29 * Stream definitions. Split from baconfig.h Nov 2010
36 #define __BSTREAMS_H 1
40 * Stream definitions. Once defined these must NEVER
41 * change as they go on the storage media.
42 * Note, the following streams are passed from the SD to the DIR
43 * so that they may be put into the catalog (actually only the
44 * stat packet part of the attr record is put in the catalog.
46 * STREAM_UNIX_ATTRIBUTES
47 * STREAM_UNIX_ATTRIBUTES_EX
50 * STREAM_SHA256_DIGEST
51 * STREAM_SHA512_DIGEST
53 #define STREAM_NONE 0 /* Reserved Non-Stream */
54 #define STREAM_UNIX_ATTRIBUTES 1 /* Generic Unix attributes */
55 #define STREAM_FILE_DATA 2 /* Standard uncompressed data */
56 #define STREAM_MD5_SIGNATURE 3 /* deprecated */
57 #define STREAM_MD5_DIGEST 3 /* MD5 digest for the file */
58 #define STREAM_GZIP_DATA 4 /* GZip compressed file data */
59 #define STREAM_UNIX_ATTRIBUTES_EX 5 /* Extended Unix attr for Win32 EX - Deprecated */
60 #define STREAM_SPARSE_DATA 6 /* Sparse data stream */
61 #define STREAM_SPARSE_GZIP_DATA 7 /* Sparse gzipped data stream */
62 #define STREAM_PROGRAM_NAMES 8 /* program names for program data */
63 #define STREAM_PROGRAM_DATA 9 /* Data needing program */
64 #define STREAM_SHA1_SIGNATURE 10 /* deprecated */
65 #define STREAM_SHA1_DIGEST 10 /* SHA1 digest for the file */
66 #define STREAM_WIN32_DATA 11 /* Win32 BackupRead data */
67 #define STREAM_WIN32_GZIP_DATA 12 /* Gzipped Win32 BackupRead data */
68 #define STREAM_MACOS_FORK_DATA 13 /* Mac resource fork */
69 #define STREAM_HFSPLUS_ATTRIBUTES 14 /* Mac OS extra attributes */
70 #define STREAM_UNIX_ACCESS_ACL 15 /* Standard ACL attributes on UNIX - Deprecated */
71 #define STREAM_UNIX_DEFAULT_ACL 16 /* Default ACL attributes on UNIX - Deprecated */
72 #define STREAM_SHA256_DIGEST 17 /* SHA-256 digest for the file */
73 #define STREAM_SHA512_DIGEST 18 /* SHA-512 digest for the file */
74 #define STREAM_SIGNED_DIGEST 19 /* Signed File Digest, ASN.1, DER Encoded */
75 #define STREAM_ENCRYPTED_FILE_DATA 20 /* Encrypted, uncompressed data */
76 #define STREAM_ENCRYPTED_WIN32_DATA 21 /* Encrypted, uncompressed Win32 BackupRead data */
77 #define STREAM_ENCRYPTED_SESSION_DATA 22 /* Encrypted Session Data, ASN.1, DER Encoded */
78 #define STREAM_ENCRYPTED_FILE_GZIP_DATA 23 /* Encrypted, compressed data */
79 #define STREAM_ENCRYPTED_WIN32_GZIP_DATA 24 /* Encrypted, compressed Win32 BackupRead data */
80 #define STREAM_ENCRYPTED_MACOS_FORK_DATA 25 /* Encrypted, uncompressed Mac resource fork */
81 #define STREAM_PLUGIN_NAME 26 /* Plugin "file" string */
82 #define STREAM_PLUGIN_DATA 27 /* Plugin specific data */
83 #define STREAM_RESTORE_OBJECT 28 /* Plugin restore object */
86 * Additional Stream definitions. Once defined these must NEVER
87 * change as they go on the storage media.
89 * The Stream numbers from 1000-1999 are reserved for ACL and extended attribute streams.
90 * Each different platform has its own stream id(s), if a platform supports multiple stream types
91 * it should supply different handlers for each type it supports and this should be called
92 * from the stream dispatch function. Currently in this reserved space we allocate the
93 * different acl streams from 1000 on and the different extended attributes streams from
94 * 1999 down. So the two naming spaces grows towards each other.
96 #define STREAM_ACL_AIX_TEXT 1000 /* AIX specific string representation from acl_get */
97 #define STREAM_ACL_DARWIN_ACCESS_ACL 1001 /* Darwin (OSX) specific acl_t string representation
98 * from acl_to_text (POSIX acl)
100 #define STREAM_ACL_FREEBSD_DEFAULT_ACL 1002 /* FreeBSD specific acl_t string representation
101 * from acl_to_text (POSIX acl) for default acls.
103 #define STREAM_ACL_FREEBSD_ACCESS_ACL 1003 /* FreeBSD specific acl_t string representation
104 * from acl_to_text (POSIX acl) for access acls.
106 #define STREAM_ACL_HPUX_ACL_ENTRY 1004 /* HPUX specific acl_entry string representation
107 * from acltostr (POSIX acl)
109 #define STREAM_ACL_IRIX_DEFAULT_ACL 1005 /* IRIX specific acl_t string representation
110 * from acl_to_text (POSIX acl) for default acls.
112 #define STREAM_ACL_IRIX_ACCESS_ACL 1006 /* IRIX specific acl_t string representation
113 * from acl_to_text (POSIX acl) for access acls.
115 #define STREAM_ACL_LINUX_DEFAULT_ACL 1007 /* Linux specific acl_t string representation
116 * from acl_to_text (POSIX acl) for default acls.
118 #define STREAM_ACL_LINUX_ACCESS_ACL 1008 /* Linux specific acl_t string representation
119 * from acl_to_text (POSIX acl) for access acls.
121 #define STREAM_ACL_TRU64_DEFAULT_ACL 1009 /* Tru64 specific acl_t string representation
122 * from acl_to_text (POSIX acl) for default acls.
124 #define STREAM_ACL_TRU64_DEFAULT_DIR_ACL 1010 /* Tru64 specific acl_t string representation
125 * from acl_to_text (POSIX acl) for default acls.
127 #define STREAM_ACL_TRU64_ACCESS_ACL 1011 /* Tru64 specific acl_t string representation
128 * from acl_to_text (POSIX acl) for access acls.
130 #define STREAM_ACL_SOLARIS_ACLENT 1012 /* Solaris specific aclent_t string representation
131 * from acltotext or acl_totext (POSIX acl)
133 #define STREAM_ACL_SOLARIS_ACE 1013 /* Solaris specific ace_t string representation from
134 * from acl_totext (NFSv4 or ZFS acl)
136 #define STREAM_ACL_AFS_TEXT 1014 /* AFS specific string representation from pioctl */
138 #define STREAM_ACL_AIX_AIXC 1015 /* AIX specific string representation from
139 * aclx_printStr (POSIX acl)
141 #define STREAM_ACL_AIX_NFS4 1016 /* AIX specific string representation from
142 * aclx_printStr (NFSv4 acl)
144 #define STREAM_XATTR_IRIX 1990 /* IRIX specific extended attributes */
145 #define STREAM_XATTR_TRU64 1991 /* TRU64 specific extended attributes */
146 #define STREAM_XATTR_AIX 1992 /* AIX specific extended attributes */
147 #define STREAM_XATTR_OPENBSD 1993 /* OpenBSD specific extended attributes */
148 #define STREAM_XATTR_SOLARIS_SYS 1994 /* Solaris specific extensible attributes or
149 * otherwise named extended system attributes.
151 #define STREAM_XATTR_SOLARIS 1995 /* Solaris specific extented attributes */
152 #define STREAM_XATTR_DARWIN 1996 /* Darwin (OSX) specific extended attributes */
153 #define STREAM_XATTR_FREEBSD 1997 /* FreeBSD specific extended attributes */
154 #define STREAM_XATTR_LINUX 1998 /* Linux specific extended attributes */
155 #define STREAM_XATTR_NETBSD 1999 /* NetBSD specific extended attributes */
157 #endif /* __BSTREAMS_H */