IVD Data format.


Detailed Description

See also:
bea_TapeDrive Description of the internal data format


Classes

class  df_DataBlock
 Class to handle one data block of specified size. More...
class  df_BlockManager
 Class to handle a series of data blocks of specific size. More...
class  df_MgrWriter
 This class is used on top of df_BlockManager to perform write operations to the buffer queue inside the df_BlockManager. More...
class  df_MgrReader
 This class is used on top of df_BlockManager to perform read operations from the buffer queue inside the df_BlockManager. More...
class  blk_BufferWriter
 Base class for write buffering implementations. More...
class  blk_DiskBufferWriter
class  blk_StdIOWriter
class  blk_DiskFRIWriter
class  blk_NetWriter
 Class for transferring disk buffer over the network (CORBA). More...
class  blk_BufferReader
 Base class for read buffering implementations. More...
class  blk_NetReader
class  blk_DiskBufferReader
class  blk_StdIOReader
class  blk_DiskFRIReader
class  df_BlockProxyWriter
class  df_Writer
class  df_BlockScanner
class  df_FRI
class  df_Packer
class  df_Unpacker
class  df_BlockProxy
 new unpacker class structure More...
class  df_BlockReader
 Class take care about blocks got by the df_MgrReader. More...
class  df_FileBlockReader
class  df_RecReader
 RecReader class is a BlockReader that parse record by record and for each call Proc<record>() method. More...
class  df_FRIDistiller
class  df_SplitInfoUnpacker
struct  ivd_VarData_t
 Used to mark offset and size of variable length data in data records. More...
struct  df_ECMALblHdr_t
struct  df_ECMAFirstVolumeLabel_t
struct  df_ECMAOtherVolumeLabel_t
struct  df_ECMAVolumeLabel_t
struct  df_BlockHeader_t
struct  df_RecCmn_t
struct  df_RecVolHdr_t
struct  df_StandardAttr_t
struct  df_RecFile_t
 File record is used to store changes of a file to the tape. More...
struct  df_RecFileEnd_t
struct  df_RecByteStreamStart_t
struct  df_RecByteStreamEnd_t
struct  df_RecEmbeddedData_t
struct  df_RecFRIStart_t
struct  df_RecFRIEnd_t
struct  df_RecFRISpInfo_t
struct  df_TCMMedium_t
 name Tape cartridge memory (e.g. More...
struct  df_TCMMediaVolume_t

Volume header flags

IVD_DF_DECL_d const UInt32_t df_volFlagClosed_c
IVD_DF_DECL_d const UInt32_t df_volFlagSysVolValid_c
IVD_DF_DECL_d const UInt32_t df_volFlagUnreliable_c
IVD_DF_DECL_d const UInt32_t df_volFlagUnusable_c
IVD_DF_DECL_d const UInt32_t df_volFlagSystem_c
IVD_DF_DECL_d const UInt32_t df_volFlagBackup_c

Allignment macros

Macros to align IVD Data Format records - all records are 8 byte aligned

#define df_ROUND_UP_m(x, n)   (((x)+(n)-1) & ~((n)-1))
#define df_ALIGN_m(x)   df_ROUND_UP_m(x, 8)

Block Flags

#define df_BF_CONTINUED   (1 << 0)
 This block is continuation block from previous volume (split).

Record Flags



#define df_RF_CONTINUED   (1 << 0)
 This record is continuation (=repeated) record from previous volume (split).
#define df_RF_WINDOWS   (1 << 1)
 This record is has some fields in Windows format (e.g. file times).
#define df_RF_SPLITTED   (1 << 2)
 This record is splitted, Used at reorganization when split file is copied.
#define df_RF_SENTINEL   (1 << 3)
 This record is continuation (=repeated) record from previous volume (split).

File status

#define df_FS_COMPLETE   0
#define df_FS_ABORTED   1
#define df_FS_ERROR   2

Stream types

Warning:
df_ST_ATTR This stream type is _never_ written to BSS. df_ST_ATTR is detected by having only FileHeader record.

Stream are always written to medium in the following order:

  • File (attributes)
  • Meta (EA, ACL...)
  • AltData (alternative data streams)
  • Data (actual file data) - should be always last (optional)!


#define df_ST_ATTR   (ivd_ATTR_d)
#define df_ST_META   (ivd_META_d)
#define df_ST_ALTDATA   (ivd_ALTDATA_d)
#define df_ST_DATA   (ivd_DATA_d)
#define stn_WIN_SECURITY   "WIN.SEC"
#define stn_WIN_EA   "WIN.EA"
#define stn_WIN_LINK   "WIN.LINK"
#define stn_WIN_OBJID   "WIN.OBJID"
#define stn_WIN_PROPERTY   "WIN.PROPERTY"
#define stn_WIN_REPARSE   "WIN.REPARSE"
#define stn_WIN_SPARSE   "WIN.SPARSE"

Stream status

#define df_SS_COMPLETE   0
#define df_SS_ABORTED   1
#define df_SS_ERROR   2

FRI Status

#define df_FRIS_COMPLETE   0
#define df_FRIS_ABORTED   1
#define df_FRIS_ERROR   2

Defines

#define df_VOLHDR_REC_SIZE   (64*1024)
 The size of the volume header block on the tape.
#define df_BLKCOOKIE_SIZE_d   (8)
 The size of the block cookie.
#define df_RECCOOKIE_SIZE_d   (4)
 The size of the record cookie.
#define df_RECVERSION_SIZE_d   (2)
 The size of the record minor and major version.
#define HSM_FILE_HEADER_SIZE   1024
 File Header Size.
#define df_MIN_EMBEDDED_SIZE   (1024 * 4)
 Minimum size of embedded data to use if a whole file can't fit in the current block.
#define CHAR4_TO_UINT32_m(_p)   (*(reinterpret_cast<const UInt32_t*>(_p)))

Typedefs

typedef UInt64_t ivd_Time_t
 64-bit value to hold time in data records on tape.

Enumerations

enum  bbt_BufType_t {
  bbt_DISK_BUF = 1, bbt_SHMEM_BUF = 2,
  bbt_REMOTE_BUF = 3, bbt_DISK_FRI = 4,
  bbt_DISK_FRI_RECOVERY = 5, bbt_TAPE_READ = 6
}
 Block Buffer Type. More...

Functions

template<typename _T>
const _T * df_GetSpecificRec (const df_RecCmn_t *a_recCmn_p)
template<typename _T>
_T * df_GetSpecificRec (df_RecCmn_t *a_recCmn_p)
IVD_DF_DECL_d bool df_IsValidPredecessor (UInt32_t a_blkType, UInt32_t a_pred, UInt32_t a_succ)
IVD_DF_DECL_d bool df_IsValidTerminator (UInt32_t a_blkType)
const char * ecma_VolID_c ("VOL")
 ECMA Volume ID (contents defined by ECMA).
const char ecma_LblStdVer_c (4)
 ECMA Version.
const char * df_verMaj_c ("01")
 Major Version.
const char * df_verMin_c ("02")
 Minor Version.
const char * df_blkCookie_c ("AaBdLmPt\0\0")
 Block magic cookie.
const char * df_recCookie_c ("IVD \0\0")
 Record magic cookie.
const UInt32_t df_volFlagClosed_c (1<< 0)
 Is volume closed? Used in MIC.
const UInt32_t df_volFlagSysVolValid_c (1<< 1)
 Is volume index field valid?
const UInt32_t df_volFlagUnreliable_c (1<< 2)
 Is volume unreliable, can't write to it? Used in MIC.
const UInt32_t df_volFlagUnusable_c (1<< 3)
 Is volume unusable, can't be read? Used in MIC.
const UInt32_t df_volFlagSystem_c (1<< 24)
 Flag that marks a system partition in volume flags field.
const UInt32_t df_volFlagBackup_c (1<< 25)
 Flag that marks a backup partition in volume flags field.
const char * str_FRI_c ("FRIn")
const char * str_Data_c ("DATA")
const char * str_FSRec_c ("FSre")
const char * str_Backup_c ("Bckp")
const UInt32_t blk_NoBlk_c (0)
const UInt32_t blk_AnyBlk_c (0xFFFFFFFF)
const UInt32_t blk_Data_c CHAR4_TO_UINT32_m (str_Data_c)
const UInt32_t blk_FRI_c CHAR4_TO_UINT32_m (str_FRI_c)
const UInt32_t blk_FSRec_c CHAR4_TO_UINT32_m (str_FSRec_c)
const UInt32_t blk_Backup_creinterpret_cast (str_Backup_c))
const char * str_RawData_c ("RAWD")
const char * str_VolHdr_c ("MVHd")
const char * str_FileHdr_c ("FILE")
const char * str_FileEnd_c ("FEnd")
const char * str_BSStart_c ("BSSt")
const char * str_BSEnd_c ("BSEn")
const char * str_FRIStart_c ("FRSt")
const char * str_FRIEnd_c ("FREn")
const char * str_FRISpInfo_c ("FRSI")
const char * str_EmbData_c ("EDta")
const char * str_ExpectFRIStart_c ("EFRS")
const UInt32_t rec_NoRec_c (0)
const UInt32_t rec_VolHdr_c CHAR4_TO_UINT32_m (str_VolHdr_c)
const UInt32_t rec_FileHdr_c CHAR4_TO_UINT32_m (str_FileHdr_c)
const UInt32_t rec_FileEnd_c CHAR4_TO_UINT32_m (str_FileEnd_c)
const UInt32_t rec_BSStart_c CHAR4_TO_UINT32_m (str_BSStart_c)
const UInt32_t rec_BSEnd_c CHAR4_TO_UINT32_m (str_BSEnd_c)
const UInt32_t rec_FRIStart_c CHAR4_TO_UINT32_m (str_FRIStart_c)
const UInt32_t rec_FRISpInfo_c CHAR4_TO_UINT32_m (str_FRISpInfo_c)
const UInt32_t rec_FRIEnd_c CHAR4_TO_UINT32_m (str_FRIEnd_c)
const UInt32_t rec_EmbData_c CHAR4_TO_UINT32_m (str_EmbData_c)
const UInt32_t rec_Data_c CHAR4_TO_UINT32_m (str_RawData_c)
const UInt32_t rec_ExpectFRIStart_c CHAR4_TO_UINT32_m (str_ExpectFRIStart_c)
ostream & operator<< (ostream &a_os, const df_RecCmn_t &a_recCmn)
const char * df_RecCmn_t::GetVarDataHost (const ivd_VarData_t &a_varDataH) const
 Returns pointer to the beginning of the variable attribute.
const char * df_RecCmn_t::GetVarDataNet (const ivd_VarData_t &a_varDataN) const
 Returns pointer to the beginning of the variable attribute.

Variables

class IVD_DF_DECL_d df_BlockManager
class IVD_DF_DECL_d blk_Buffer
const char * ecma_VolID_c
const char ecma_LblStdVer_c
const string ecma_ImplID_c
 ECMA implementation ID.
IVD_DF_DECL_d const char * df_verMaj_c
IVD_DF_DECL_d const char * df_verMin_c
IVD_DF_DECL_d const char * df_blkCookie_c
IVD_DF_DECL_d const char * df_recCookie_c
IVD_DF_DECL_d const UInt32_t blk_NoBlk_c
IVD_DF_DECL_d const UInt32_t blk_AnyBlk_c
IVD_DF_DECL_d const UInt32_t blk_Data_c
IVD_DF_DECL_d const UInt32_t blk_FRI_c
IVD_DF_DECL_d const UInt32_t blk_FSRec_c
IVD_DF_DECL_d const UInt32_t blk_Backup_c
IVD_DF_DECL_d const UInt32_t rec_NoRec_c
IVD_DF_DECL_d const UInt32_t rec_VolHdr_c
IVD_DF_DECL_d const UInt32_t rec_FileHdr_c
IVD_DF_DECL_d const UInt32_t rec_FileEnd_c
IVD_DF_DECL_d const UInt32_t rec_BSStart_c
IVD_DF_DECL_d const UInt32_t rec_BSEnd_c
IVD_DF_DECL_d const UInt32_t rec_FRIStart_c
IVD_DF_DECL_d const UInt32_t rec_FRIEnd_c
IVD_DF_DECL_d const UInt32_t rec_FRISpInfo_c
IVD_DF_DECL_d const UInt32_t rec_EmbData_c
IVD_DF_DECL_d const UInt32_t rec_Data_c
IVD_DF_DECL_d const UInt32_t rec_ExpectFRIStart_c
IVD_DF_DECL_d const UInt32_t df_DISKBUF_BLOCKS_c
IVD_DF_DECL_d const UInt32_t df_DISKFRI_BLOCKS_c
IVD_DF_DECL_d const UInt32_t df_TAPEBUF_c
IVD_DF_DECL_d const UInt32_t df_MEMBUF_BLOCKS_c
IVD_DF_DECL_d const UInt32_t df_REMOTEBUF_BLOCKS_c
IVD_DF_DECL_d const UInt32_t df_StreamOverheadSize_c
const string ecma_ImplID_c
 ECMA implementation ID.
const UInt32_t df_DISKBUF_BLOCKS_c = 4
const UInt32_t df_DISKFRI_BLOCKS_c = 4
const UInt32_t df_TAPEBUF_c = 8
const UInt32_t df_MEMBUF_BLOCKS_c = 32
const UInt32_t df_REMOTEBUF_BLOCKS_c = 8
const UInt32_t df_StreamOverheadSize_c = 512


Define Documentation

#define CHAR4_TO_UINT32_m ( _p   )     (*(reinterpret_cast<const UInt32_t*>(_p)))

Definition at line 51 of file df_const.cpp.

#define df_ALIGN_m (  )     df_ROUND_UP_m(x, 8)

#define df_BF_CONTINUED   (1 << 0)

This block is continuation block from previous volume (split).

Definition at line 173 of file df_types.h.

Referenced by df_FRI::df_FRI(), df_BlockScanner::SetBlock(), and df_BlockProxy::VerifiedBlock().

#define df_BLKCOOKIE_SIZE_d   (8)

The size of the block cookie.

Warning:
DO NOT CHANGE THIS VALUE!

Definition at line 51 of file df_types.h.

Referenced by df_TCMMedium_t::CheckCookie(), df_BlockScanner::IsBlockCookie(), IsBlockCookie(), and ParseMICMediumNote().

#define df_FRIS_ABORTED   1

#define df_FRIS_COMPLETE   0

Definition at line 526 of file df_types.h.

Referenced by bea_MigrationThread::Migrate(), and df_FRIDistiller::~df_FRIDistiller().

#define df_FRIS_ERROR   2

Definition at line 528 of file df_types.h.

#define df_FS_ABORTED   1

Definition at line 355 of file df_types.h.

Referenced by df_Packer::~df_Packer().

#define df_FS_COMPLETE   0

#define df_FS_ERROR   2

Definition at line 356 of file df_types.h.

Referenced by df_FRIDistiller::CompleteStream(), and df_FRI::MediumVolumeEnd().

#define df_MIN_EMBEDDED_SIZE   (1024 * 4)

Minimum size of embedded data to use if a whole file can't fit in the current block.

Definition at line 481 of file df_types.h.

Referenced by df_Packer::MakeSpaceForData().

#define df_RECCOOKIE_SIZE_d   (4)

The size of the record cookie.

Warning:
DO NOT CHANGE THIS VALUE!

Definition at line 57 of file df_types.h.

Referenced by IsRecordCookie().

#define df_RECVERSION_SIZE_d   (2)

The size of the record minor and major version.

Warning:
DO NOT CHANGE THIS VALUE!

Definition at line 63 of file df_types.h.

Referenced by df_RecReader::VerifyRecHeader().

#define df_RF_CONTINUED   (1 << 0)

#define df_RF_SENTINEL   (1 << 3)

This record is continuation (=repeated) record from previous volume (split).

Definition at line 211 of file df_types.h.

Referenced by df_RecReader::VerifyRecHeader().

#define df_RF_SPLITTED   (1 << 2)

#define df_RF_WINDOWS   (1 << 1)

This record is has some fields in Windows format (e.g. file times).

Definition at line 207 of file df_types.h.

Referenced by DumpFile(), ParseFile(), and df_Packer::WriteRecFile().

#define df_ROUND_UP_m ( x,
 )     (((x)+(n)-1) & ~((n)-1))

Definition at line 31 of file df_types.h.

#define df_SS_ABORTED   1

#define df_SS_COMPLETE   0

#define df_SS_ERROR   2

Definition at line 445 of file df_types.h.

Referenced by i_HSM_i::PackFile(), and PackFile().

#define df_ST_ALTDATA   (ivd_ALTDATA_d)

#define df_ST_ATTR   (ivd_ATTR_d)

Definition at line 384 of file df_types.h.

#define df_ST_DATA   (ivd_DATA_d)

#define df_ST_META   (ivd_META_d)

#define df_VOLHDR_REC_SIZE   (64*1024)

#define HSM_FILE_HEADER_SIZE   1024

#define stn_WIN_EA   "WIN.EA"

Definition at line 394 of file df_types.h.

#define stn_WIN_LINK   "WIN.LINK"

Definition at line 395 of file df_types.h.

#define stn_WIN_OBJID   "WIN.OBJID"

Definition at line 396 of file df_types.h.

#define stn_WIN_PROPERTY   "WIN.PROPERTY"

Definition at line 397 of file df_types.h.

#define stn_WIN_REPARSE   "WIN.REPARSE"

Definition at line 398 of file df_types.h.

#define stn_WIN_SECURITY   "WIN.SEC"

Definition at line 393 of file df_types.h.

#define stn_WIN_SPARSE   "WIN.SPARSE"

Definition at line 399 of file df_types.h.


Typedef Documentation

64-bit value to hold time in data records on tape.

Definition at line 133 of file df_types.h.


Enumeration Type Documentation

Block Buffer Type.

Enumerator:
bbt_DISK_BUF 
bbt_SHMEM_BUF 
bbt_REMOTE_BUF 
bbt_DISK_FRI 
bbt_DISK_FRI_RECOVERY 
bbt_TAPE_READ 

Definition at line 120 of file df.h.

00120              {
00121     bbt_DISK_BUF            = 1,
00122     bbt_SHMEM_BUF           = 2,
00123     bbt_REMOTE_BUF          = 3,
00124     bbt_DISK_FRI            = 4,
00125     bbt_DISK_FRI_RECOVERY   = 5,
00126     bbt_TAPE_READ           = 6
00127 } bbt_BufType_t;


Function Documentation

const UInt32_t blk_AnyBlk_c ( 0xFFFFFFFF   ) 

const UInt32_t blk_NoBlk_c (  ) 

const UInt32_t rec_ExpectFRIStart_c CHAR4_TO_UINT32_m ( str_ExpectFRIStart_c   ) 

const UInt32_t rec_Data_c CHAR4_TO_UINT32_m ( str_RawData_c   ) 

const UInt32_t rec_EmbData_c CHAR4_TO_UINT32_m ( str_EmbData_c   ) 

const UInt32_t rec_FRIEnd_c CHAR4_TO_UINT32_m ( str_FRIEnd_c   ) 

const UInt32_t rec_FRISpInfo_c CHAR4_TO_UINT32_m ( str_FRISpInfo_c   ) 

const UInt32_t rec_FRIStart_c CHAR4_TO_UINT32_m ( str_FRIStart_c   ) 

const UInt32_t rec_BSEnd_c CHAR4_TO_UINT32_m ( str_BSEnd_c   ) 

const UInt32_t rec_BSStart_c CHAR4_TO_UINT32_m ( str_BSStart_c   ) 

const UInt32_t rec_FileEnd_c CHAR4_TO_UINT32_m ( str_FileEnd_c   ) 

const UInt32_t rec_FileHdr_c CHAR4_TO_UINT32_m ( str_FileHdr_c   ) 

const UInt32_t rec_VolHdr_c CHAR4_TO_UINT32_m ( str_VolHdr_c   ) 

const UInt32_t blk_FSRec_c CHAR4_TO_UINT32_m ( str_FSRec_c   ) 

const UInt32_t blk_FRI_c CHAR4_TO_UINT32_m ( str_FRI_c   ) 

const UInt32_t blk_Data_c CHAR4_TO_UINT32_m ( str_Data_c   ) 

const char* df_blkCookie_c ( "AaBdLmPt\0\0"   ) 

Block magic cookie.

template<typename _T>
_T* df_GetSpecificRec ( df_RecCmn_t a_recCmn_p  )  [inline]

Definition at line 1748 of file df.h.

01748                                                {
01749     return reinterpret_cast<_T*>(
01750                 (UInt8_t*)a_recCmn_p + sizeof(df_RecCmn_t));
01751 }

template<typename _T>
const _T* df_GetSpecificRec ( const df_RecCmn_t a_recCmn_p  )  [inline]

Definition at line 1742 of file df.h.

01742                                                            {
01743     return reinterpret_cast<const _T*>(
01744                 (const UInt8_t*)a_recCmn_p + sizeof(df_RecCmn_t));
01745 }

bool df_IsValidPredecessor ( UInt32_t  a_blkType,
UInt32_t  a_pred,
UInt32_t  a_succ 
)

Definition at line 162 of file df_const.cpp.

References blk_FRI_c, rec_BSEnd_c, rec_BSStart_c, rec_Data_c, rec_EmbData_c, rec_ExpectFRIStart_c, rec_FileEnd_c, rec_FileHdr_c, rec_FRIEnd_c, rec_FRISpInfo_c, rec_FRIStart_c, rec_NoRec_c, and rec_VolHdr_c.

Referenced by df_BlockScanner::GetNextRecord(), df_RecReader::VerifiedRecCmn(), and df_Packer::WriteRecCmn().

00163                                                              {
00164 
00165     if (a_succ == rec_VolHdr_c) {
00166         if (a_pred == rec_NoRec_c) {
00167             return true;
00168         }
00169     }
00170     else if (a_succ == rec_FileHdr_c) {
00171         if (a_pred == rec_NoRec_c ||
00172             a_pred == rec_FileEnd_c) {
00173             return true;
00174         }
00175         if (a_blkType == blk_FRI_c) {
00176             if (a_pred == rec_FRIStart_c ||
00177                 a_pred == rec_FRISpInfo_c) {
00178                 return true;
00179             }
00180         }
00181     }
00182     else if (a_succ == rec_FileEnd_c) {
00183         if (a_pred == rec_FileHdr_c ||
00184             a_pred == rec_BSEnd_c) {
00185             return true;
00186         }
00187 
00188         if (a_blkType == blk_FRI_c) {
00189             if (a_pred == rec_FRISpInfo_c) {
00190                 return true;
00191             }
00192         }
00193     }
00194     else if (a_succ == rec_BSStart_c) {
00195         if (a_pred == rec_FileHdr_c ||
00196             a_pred == rec_BSEnd_c) {
00197             return true;
00198         }
00199     }
00200     else if (a_succ == rec_BSEnd_c) {
00201         if (a_pred == rec_Data_c ||
00202             a_pred == rec_EmbData_c ||
00203             a_pred == rec_BSStart_c) {
00204             return true;
00205         }
00206     }
00207     else if (a_succ == rec_EmbData_c) {
00208         if (a_pred == rec_BSStart_c ||
00209             a_pred == rec_Data_c ||
00210             a_pred == rec_EmbData_c) {
00211             return true;
00212         }
00213     }
00214     else if (a_succ == rec_Data_c) {
00215         if (a_pred == rec_BSStart_c ||
00216             a_pred == rec_Data_c ||
00217             a_pred == rec_EmbData_c) {
00218             return true;
00219         }
00220     }
00221 
00222     // additional records supported by FRI blocks
00223     if (a_blkType == blk_FRI_c) {
00224         if (a_succ == rec_FRIStart_c) {
00225             if (a_pred == rec_NoRec_c ||
00226                 a_pred == rec_ExpectFRIStart_c ||
00227                 a_pred == rec_FRIEnd_c) {
00228                 return true;
00229             }
00230         }
00231         else if (a_succ == rec_FRIEnd_c) {
00232             if (a_pred == rec_FileEnd_c ||
00233                 a_pred == rec_FRIStart_c ||     // empty FRI
00234                 a_pred == rec_FRISpInfo_c ||    // when file continues
00235                 a_pred == rec_FileHdr_c) {      // when file continues
00236                 return true;
00237             }
00238         }
00239         else if (a_succ == rec_FRISpInfo_c) {
00240             if (a_pred == rec_FileHdr_c ||
00241                 a_pred == rec_BSStart_c ||
00242                 a_pred == rec_EmbData_c ||
00243                 a_pred == rec_BSEnd_c) { // Split non-data stream
00244                 return true;
00245             }
00246         }
00247     }
00248 
00249     return false;
00250 }

Here is the caller graph for this function:

bool df_IsValidTerminator ( UInt32_t  a_blkType  ) 

Definition at line 252 of file df_const.cpp.

References rec_FileEnd_c, rec_FileHdr_c, rec_FRIEnd_c, and rec_VolHdr_c.

Referenced by df_Packer::~df_Packer().

00252                                               {
00253     if (   a_blkType == rec_VolHdr_c
00254         || a_blkType == rec_FileHdr_c
00255         || a_blkType == rec_FileEnd_c
00256         || a_blkType == rec_FRIEnd_c) {
00257 
00258         return true;
00259     }
00260     else {
00261         return false;
00262     }
00263 }

Here is the caller graph for this function:

const char* df_recCookie_c ( "IVD \0\0"   ) 

Record magic cookie.

const char* df_verMaj_c ( "01"   ) 

Major Version.

const char* df_verMin_c ( "02"   ) 

Minor Version.

const UInt32_t df_volFlagBackup_c ( 1<<  25  ) 

Flag that marks a backup partition in volume flags field.

const UInt32_t df_volFlagClosed_c ( 1<<  0  ) 

Is volume closed? Used in MIC.

Added in Data Format version 01.01.

const UInt32_t df_volFlagSystem_c ( 1<<  24  ) 

Flag that marks a system partition in volume flags field.

const UInt32_t df_volFlagSysVolValid_c ( 1<<  1  ) 

Is volume index field valid?

Added in Data Format version 01.01.

const UInt32_t df_volFlagUnreliable_c ( 1<<  2  ) 

Is volume unreliable, can't write to it? Used in MIC.

Added in Data Format version 01.01.

const UInt32_t df_volFlagUnusable_c ( 1<<  3  ) 

Is volume unusable, can't be read? Used in MIC.

Added in Data Format version 01.01.

const char ecma_LblStdVer_c (  ) 

ECMA Version.

const char* ecma_VolID_c ( "VOL"   ) 

ECMA Volume ID (contents defined by ECMA).

const char * df_RecCmn_t::GetVarDataHost ( const ivd_VarData_t a_varDataH  )  const [inherited]

Returns pointer to the beginning of the variable attribute.

Parameters:
a_varDataN variable data info in host format.

Definition at line 269 of file df_const.cpp.

References cmn_EmptyCStr(), and ivd_VarData_t::offset.

00269                                                                              {
00270     if (a_varDataH.offset == 0) {
00271         return cmn_EmptyCStr();
00272     }
00273     else {
00274         return (reinterpret_cast<const char*>(this) + a_varDataH.offset);
00275     }
00276 }

Here is the call graph for this function:

const char * df_RecCmn_t::GetVarDataNet ( const ivd_VarData_t a_varDataN  )  const [inherited]

Returns pointer to the beginning of the variable attribute.

Parameters:
a_varDataN variable data info in network format.

Definition at line 283 of file df_const.cpp.

References cmn_EmptyCStr(), ntoh(), and ivd_VarData_t::offset.

Referenced by DumpBSStart(), DumpEmbData(), DumpFile(), ParseBSEnd(), ParseBSStart(), ParseEmbData(), ParseFile(), df_RecReader::PrepareDataStreamUnpacker(), hsm_IVDFSRecoverer::ProcRecBSEnd(), hsm_IVDFSRecoverer::ProcRecBSStart(), df_SplitInfoUnpacker::ProcRecBSStart(), hsm_Recall::ProcRecEmbData(), hsm_IVDFSRecoverer::ProcRecEmbData(), df_SplitInfoUnpacker::ProcRecEmbData(), hsm_IVDFSRecoverer::ProcRecFileHdr(), df_SplitInfoUnpacker::ProcRecFileHdr(), df_FRIDistiller::ProcRecFileHdr(), df_Filter::ProcRecFileHdr(), df_Unpacker::ReadRecBSStart(), and df_Unpacker::ReadRecFile().

00283                                                                             {
00284     if (a_varDataN.offset == 0) {
00285         return cmn_EmptyCStr();
00286     }
00287     else {
00288         return (reinterpret_cast<const char*>(this) + ntoh(a_varDataN.offset));
00289     }
00290 }

Here is the call graph for this function:

Here is the caller graph for this function:

ostream& operator<< ( ostream &  a_os,
const df_RecCmn_t a_recCmn 
)

Definition at line 295 of file df_const.cpp.

References cmn_Num2Str(), df_RecCmn_t::flags, df_RecCmn_t::magicCookie, ntoh(), df_RecCmn_t::seqNum, df_RecCmn_t::size, df_RecCmn_t::type, df_RecCmn_t::verMajor, and df_RecCmn_t::verMinor.

00295                                                                  {
00296     a_os <<"  <Record: " <<
00297         string(reinterpret_cast<const char*>(&a_recCmn.type),
00298                sizeof(a_recCmn.type)) << ">" <<
00299         " C=" <<
00300         string(reinterpret_cast<const char*>(a_recCmn.magicCookie),
00301                sizeof(a_recCmn.magicCookie)) <<
00302         " Ver=" <<
00303         string(reinterpret_cast<const char*>(&a_recCmn.verMajor),
00304                sizeof(a_recCmn.verMajor)) << "." <<
00305         string(reinterpret_cast<const char*>(&a_recCmn.verMinor),
00306                sizeof(a_recCmn.verMinor)) <<
00307         " Flags=" <<
00308         cmn_Num2Str(ntoh(a_recCmn.flags), true) <<
00309         " SeqNum=" << ntoh(a_recCmn.seqNum) <<
00310         " Size=" << ntoh(a_recCmn.size) << endl;
00311     return a_os;
00312 }

Here is the call graph for this function:

const UInt32_t rec_NoRec_c (  ) 

const UInt32_t blk_Backup_c* reinterpret_cast ( str_Backup_c   ) 

Referenced by data_Attribute::FindAttrID(), GetPathList(), Mamrmedinfo(), and Mamrvolinfo().

Here is the caller graph for this function:

const char* str_Backup_c ( "Bckp"   ) 

const char* str_BSEnd_c ( "BSEn"   ) 

const char* str_BSStart_c ( "BSSt"   ) 

const char* str_Data_c ( "DATA"   ) 

const char* str_EmbData_c ( "EDta"   ) 

const char* str_ExpectFRIStart_c ( "EFRS"   ) 

const char* str_FileEnd_c ( "FEnd"   ) 

const char* str_FileHdr_c ( "FILE"   ) 

const char* str_FRI_c ( "FRIn"   ) 

const char* str_FRIEnd_c ( "FREn"   ) 

const char* str_FRISpInfo_c ( "FRSI"   ) 

const char* str_FRIStart_c ( "FRSt"   ) 

const char* str_FSRec_c ( "FSre"   ) 

const char* str_RawData_c ( "RAWD"   ) 

const char* str_VolHdr_c ( "MVHd"   ) 


Variable Documentation

IVD_DF_DECL_d const UInt32_t blk_AnyBlk_c

IVD_DF_DECL_d const UInt32_t blk_Backup_c

Referenced by Backup(), main(), and Restore().

class IVD_DF_DECL_d blk_Buffer

Definition at line 117 of file df.h.

IVD_DF_DECL_d const UInt32_t blk_Data_c

IVD_DF_DECL_d const UInt32_t blk_FRI_c

IVD_DF_DECL_d const UInt32_t blk_FSRec_c

IVD_DF_DECL_d const UInt32_t blk_NoBlk_c

IVD_DF_DECL_d const char* df_blkCookie_c

class IVD_DF_DECL_d df_BlockManager

IVD_DF_DECL_d const UInt32_t df_DISKBUF_BLOCKS_c

IVD_DF_DECL_d const UInt32_t df_DISKFRI_BLOCKS_c

IVD_DF_DECL_d const UInt32_t df_MEMBUF_BLOCKS_c

IVD_DF_DECL_d const char* df_recCookie_c

IVD_DF_DECL_d const UInt32_t df_REMOTEBUF_BLOCKS_c

IVD_DF_DECL_d const UInt32_t df_StreamOverheadSize_c

IVD_DF_DECL_d const UInt32_t df_TAPEBUF_c

IVD_DF_DECL_d const char* df_verMaj_c

IVD_DF_DECL_d const char* df_verMin_c

IVD_DF_DECL_d const UInt32_t df_volFlagBackup_c

IVD_DF_DECL_d const UInt32_t df_volFlagClosed_c

IVD_DF_DECL_d const UInt32_t df_volFlagSystem_c

IVD_DF_DECL_d const UInt32_t df_volFlagSysVolValid_c

IVD_DF_DECL_d const UInt32_t df_volFlagUnreliable_c

IVD_DF_DECL_d const UInt32_t df_volFlagUnusable_c

const string ecma_ImplID_c

Initial value:

    string(df_recCookie_c) + string(df_verMaj_c) + string(".") + string(df_verMin_c)
ECMA implementation ID.

Warning:
The size of the string may not exceed 13 bytes (defined by ECMA)

Definition at line 74 of file df_const.cpp.

Referenced by df_BlockScanner::GetVolumeID(), and df_Packer::WriteECMAVolHeader().

const string ecma_ImplID_c

ECMA implementation ID.

Warning:
The size of the string may not exceed 13 bytes (defined by ECMA)

Definition at line 74 of file df_const.cpp.

Referenced by df_BlockScanner::GetVolumeID(), and df_Packer::WriteECMAVolHeader().

const char ecma_LblStdVer_c

const char* ecma_VolID_c

IVD_DF_DECL_d const UInt32_t rec_BSEnd_c

IVD_DF_DECL_d const UInt32_t rec_BSStart_c

IVD_DF_DECL_d const UInt32_t rec_Data_c

IVD_DF_DECL_d const UInt32_t rec_EmbData_c

IVD_DF_DECL_d const UInt32_t rec_ExpectFRIStart_c

IVD_DF_DECL_d const UInt32_t rec_FileEnd_c

IVD_DF_DECL_d const UInt32_t rec_FileHdr_c

IVD_DF_DECL_d const UInt32_t rec_FRIEnd_c

IVD_DF_DECL_d const UInt32_t rec_FRISpInfo_c

IVD_DF_DECL_d const UInt32_t rec_FRIStart_c

IVD_DF_DECL_d const UInt32_t rec_NoRec_c

IVD_DF_DECL_d const UInt32_t rec_VolHdr_c


Generated on Mon Feb 27 18:55:26 2012 for OPENARCHIVE by  doxygen 1.5.6