]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/streams.h
Add %D option to edit_job_code, simplify callbacks on director side
[bacula/bacula] / bacula / src / streams.h
index 73d91f7051dc55d82c9eeeabd84a231c4de30172..1fc8c829cb66297545a78fc69bea880cf8f4be3c 100644 (file)
 #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
 #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
 #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 */
 #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 */