X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fstreams.h;h=1fc8c829cb66297545a78fc69bea880cf8f4be3c;hb=071454b9392b9c2d64004ef8d97e411b0281099f;hp=73d91f7051dc55d82c9eeeabd84a231c4de30172;hpb=7e2d7d4c997af3effe3a8bb47a56aa6e6e45b427;p=bacula%2Fbacula diff --git a/bacula/src/streams.h b/bacula/src/streams.h index 73d91f7051..1fc8c829cb 100644 --- a/bacula/src/streams.h +++ b/bacula/src/streams.h @@ -35,9 +35,25 @@ #ifndef __BSTREAMS_H #define __BSTREAMS_H 1 +/* Stream bits -- these bits are new as of 24Nov10 */ +#define STREAM_BIT_64 (1<<30) /* 64 bit stream (not yet implemented) */ +#define STREAM_BIT_BITS (1<<29) /* Following bits may be set */ +#define STREAM_BIT_PLUGIN (1<<28) /* Item written by a plugin */ +#define STREAM_BIT_DELTA (1<<27) /* Stream contains delta data */ +#define STREAM_BIT_OFFSETS (1<<26) /* Stream has data offset */ +#define STREAM_BIT_PORTABLE_DATA (1<<25) /* Data is portable */ + +/* TYPE represents our current (old) stream types -- e.g. values 0 - 2047 */ +#define STREAMBASE_TYPE 0 /* base for types */ +#define STREAMBITS_TYPE 11 /* type bit size */ +#define STREAMMASK_TYPE (~((~0)<< STREAMBITS_TYPE) << STREAMBASE_TYPE) +/* + * Note additional base, bits, and masks can be defined for new + * ranges or subranges of stream attributes. + */ /** - * Stream definitions. Once defined these must NEVER + * Old, but currently used Stream definitions. Once defined these must NEVER * change as they go on the storage media. * Note, the following streams are passed from the SD to the DIR * so that they may be put into the catalog (actually only the @@ -81,6 +97,15 @@ #define STREAM_PLUGIN_NAME 26 /* Plugin "file" string */ #define STREAM_PLUGIN_DATA 27 /* Plugin specific data */ #define STREAM_RESTORE_OBJECT 28 /* Plugin restore object */ +/* Non GZip compressed streams. Those streams can handle arbitrary compression algorithm data + * as an additional header is stored at the beginning of the stream. + * see stream_compressed_header definition for more details. + */ +#define STREAM_COMPRESSED_DATA 29 /* Compressed file data */ +#define STREAM_SPARSE_COMPRESSED_DATA 30 /* Sparse compressed data stream */ +#define STREAM_WIN32_COMPRESSED_DATA 31 /* Compressed Win32 BackupRead data */ +#define STREAM_ENCRYPTED_FILE_COMPRESSED_DATA 32 /* Encrypted, compressed data */ +#define STREAM_ENCRYPTED_WIN32_COMPRESSED_DATA 33 /* Encrypted, compressed Win32 BackupRead data */ /** * Additional Stream definitions. Once defined these must NEVER @@ -141,6 +166,9 @@ #define STREAM_ACL_AIX_NFS4 1016 /* AIX specific string representation from * aclx_printStr (NFSv4 acl) */ +#define STREAM_ACL_FREEBSD_NFS4_ACL 1017 /* FreeBSD specific acl_t string representation + * from acl_to_text (NFSv4 or ZFS acl) + */ #define STREAM_XATTR_IRIX 1990 /* IRIX specific extended attributes */ #define STREAM_XATTR_TRU64 1991 /* TRU64 specific extended attributes */ #define STREAM_XATTR_AIX 1992 /* AIX specific extended attributes */ @@ -154,4 +182,6 @@ #define STREAM_XATTR_LINUX 1998 /* Linux specific extended attributes */ #define STREAM_XATTR_NETBSD 1999 /* NetBSD specific extended attributes */ +/* WARNING!!! do not define more than 2047 of these old types */ + #endif /* __BSTREAMS_H */