Disk ARchive  2.5.0
Full featured and portable backup and archiving tool
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Public Member Functions | List of all members
libdar::tlv Class Reference

#include <tlv.hpp>

Inherits libdar::memory_file.

Public Member Functions

 tlv (generic_file &f)
 
void setup (generic_file &f)
 
void dump (generic_file &f) const
 
U_16 get_type () const
 
void set_type (U_16 val)
 
- Public Member Functions inherited from libdar::memory_file
 memory_file ()
 Constructors & Destructor.
 
void reset ()
 
infinint size () const
 
bool skippable (skippability direction, const infinint &amount)
 
bool skip (const infinint &pos)
 
bool skip_to_eof ()
 
bool skip_relative (S_I x)
 
infinint get_position () const
 
- Public Member Functions inherited from libdar::generic_file
 generic_file (gf_mode m)
 main constructor
 
 generic_file (const generic_file &ref)
 copy constructor
 
virtual ~generic_file () throw (Ebug)
 virtual destructor, this let inherited destructor to be called even from a generic_file pointer to an inherited class
 
void terminate () const
 destructor-like call, except that it is allowed to throw exceptions
 
const generic_fileoperator= (const generic_file &ref)
 assignment operator
 
gf_mode get_mode () const
 retreive the openning mode for this object
 
virtual void read_ahead (const infinint &amount)
 
void ignore_read_ahead (bool mode)
 
U_I read (char *a, U_I size)
 read data from the generic_file More...
 
void write (const char *a, U_I size)
 write data to the generic_file More...
 
void write (const std::string &arg)
 write a string to the generic_file More...
 
S_I read_back (char &a)
 skip back one char, read on char and skip back one char
 
S_I read_forward (char &a)
 read one char
 
virtual bool skippable (skippability direction, const infinint &amount)=0
 
virtual bool skip (const infinint &pos)=0
 
virtual bool skip_to_eof ()=0
 skip to the end of file
 
virtual bool skip_relative (S_I x)=0
 skip relatively to the current position
 
virtual infinint get_position () const =0
 get the current read/write position
 
virtual void copy_to (generic_file &ref)
 copy all data from current position to the object in argument
 
virtual void copy_to (generic_file &ref, const infinint &crc_size, crc *&value)
 copy all data from the current position to the object in argument and computes a CRC value of the transmitted data More...
 
U_32 copy_to (generic_file &ref, U_32 size)
 small copy (up to 4GB) with CRC calculation
 
infinint copy_to (generic_file &ref, infinint size)
 copy the given amount to the object in argument
 
bool diff (generic_file &f, const infinint &me_read_ahead, const infinint &you_read_ahead, const infinint &crc_size, crc *&value)
 compares the contents with the object in argument More...
 
bool diff (generic_file &f, const infinint &me_read_ahead, const infinint &you_read_ahead, const infinint &crc_size, crc *&value, infinint &err_offset)
 
void reset_crc (const infinint &width)
 reset CRC on read or writen data More...
 
bool crc_status () const
 to known whether CRC calculation is activated or not
 
crc * get_crc ()
 get CRC of the transfered date since last reset More...
 
void sync_write ()
 write any pending data
 
void flush_read ()
 be ready to read at current position, reseting all pending data for reading, cached and in compression engine for example
 
- Public Member Functions inherited from libdar::on_pool
void * operator new (size_t n_byte)
 
void * operator new (size_t n_byte, const std::nothrow_t &nothrow_value)
 
void * operator new[] (size_t n_byte)
 
void * operator new[] (size_t n_byte, const std::nothrow_t &nothrow_value)
 
void * operator new (size_t n_byte, memory_pool *p)
 
void * operator new[] (size_t n_byte, memory_pool *p)
 
void operator delete (void *ptr, memory_pool *p)
 this operator is called by the compiler if an exception is throw from the constructor of the allocated object
 
void operator delete[] (void *ptr, memory_pool *p)
 this operator is called by the compiler if an exception is throw from the constructor of the allocated objects
 
void operator delete (void *ptr)
 this is the usual delete operator, modified to handle allocated objects allocated on a memory pool or not
 
void operator delete[] (void *ptr)
 this is the usual delete[] operator, modified to handle allocated objects allocated on a memory pool or not
 

Additional Inherited Members

- Public Types inherited from libdar::generic_file
enum  skippability { skip_backward, skip_forward }
 
- Protected Member Functions inherited from libdar::memory_file
void inherited_read_ahead (const infinint &amount)
 
U_I inherited_read (char *a, U_I size)
 
void inherited_write (const char *a, U_I size)
 
void inherited_sync_write ()
 
void inherited_flush_read ()
 
void inherited_terminate ()
 
- Protected Member Functions inherited from libdar::generic_file
void set_mode (gf_mode x)
 
virtual void inherited_read_ahead (const infinint &amount)=0
 
virtual U_I inherited_read (char *a, U_I size)=0
 implementation of read() operation More...
 
virtual void inherited_write (const char *a, U_I size)=0
 implementation of the write() operation More...
 
virtual void inherited_sync_write ()=0
 write down any pending data More...
 
virtual void inherited_flush_read ()=0
 
virtual void inherited_terminate ()=0
 destructor-like call, except that it is allowed to throw exceptions More...
 
bool is_terminated () const
 
- Protected Member Functions inherited from libdar::on_pool
memory_pool * get_pool () const
 
template<class T >
void meta_new (T *&ptr, size_t num)
 
template<class T >
void meta_delete (T *ptr)
 

Detailed Description

Type Length Value Structure

this structure holds arbitrary type of data this is used in particular for the slice header

Note
a tlv is a memory_file, that way it holds the *V*alue and *L*ength of the data. Only the *T*ype field needs to be added to the memory_file datastructure

Definition at line 45 of file tlv.hpp.


The documentation for this class was generated from the following file: