17 #ifndef INDEXEDFILE_V110_CLASS_HEADER
18 #define INDEXEDFILE_V110_CLASS_HEADER
44 static constexpr uint32_t version_id = 0x00000110;
311 uint32_t version_id=0);
struct ifhd::v100::IndexedFileV100::TagDateTime DateTime
Definition: indexedfile_v110.h:52
int _buffer_size
current data buffer size in bytes
Definition: indexedfile_v110.h:214
IndexBlockItem * _index_blocks
indexed table reference
Definition: indexedfile_v110.h:216
void getExtension(int index, FileExtension **extension_info, void **data) const
void allocExtensionPage(utils5ext::FileSize size, void **data)
void setDateTime(const a_util::datetime::DateTime *date_time)
std::string getDescription() const
void * internalMalloc(int size)
SeekFlags
SeekFlags.
Definition: indexedfile_v110.h:189
@ sf_keydata
seek flag for indexed data only
Definition: indexedfile_v110.h:191
@ sf_default
default seek flag for all kind of data
Definition: indexedfile_v110.h:190
void appendIndex(uint64_t pos, timestamp_t time_stamp)
void allocCache(int size)
void appendExtension(const std::string &identifier, const void *data, int data_size, uint32_t type_id=0, uint32_t version_id=0)
struct ifhd::v110::IndexedFileV110::TagFileHeader FileHeader
static int index_table_cluster_size
default index table allocation at once size in bytes
Definition: indexedfile_v110.h:205
void getDateTime(a_util::datetime::DateTime *date_time) const
FilePos _file_pos
current file pos
Definition: indexedfile_v110.h:211
void allocIndexBlock(int count=-1)
struct ifhd::v110::IndexedFileV110::TagIndexBlockItem IndexBlockItem
std::list< FileExtensionStruct * > FileExtensionList
file extension reference type
Definition: indexedfile_v110.h:228
struct ifhd::v110::IndexedFileV110::TagChunkHeader ChunkHeader
OpenMode
OpenMode.
Definition: indexedfile_v110.h:196
@ om_none
default open mode
Definition: indexedfile_v110.h:197
@ om_query_info
open mode to get file header only
Definition: indexedfile_v110.h:198
void * _cache
current cache buffer
Definition: indexedfile_v110.h:231
struct ifhd::v110::IndexedFileV110::TagFileExtension FileExtension
bool _write_mode
writing or reading mode
Definition: indexedfile_v110.h:234
void setDescription(const std::string &description)
void internalFree(void *memory)
static int default_block_size
default block size in bytes
Definition: indexedfile_v110.h:203
IndexBlockItem * _active_index_block
current index block
Definition: indexedfile_v110.h:217
int _cache_size
current cache size
Definition: indexedfile_v110.h:232
@ tf_chunk_index
time format used for lookup index
Definition: indexedfile_v110.h:60
@ tf_chunk_time
time format used for lookup time
Definition: indexedfile_v110.h:65
void getHeader(FileHeader **file_header) const
int getExtensionCount() const
static int default_cache_size
default cache size in bytes
Definition: indexedfile_v110.h:204
int _sector_size
current sector size in bytes
Definition: indexedfile_v110.h:207
bool findExtension(const std::string &identifier, FileExtension **extension_info, void **data) const
FileExtensionList _extensions
file extension references
Definition: indexedfile_v110.h:229
int getSectorSize(const a_util::filesystem::Path &filename) const
utils5ext::File * _file
the file pointer
Definition: indexedfile_v110.h:209
uint8_t * _buffer
current data buffer reference
Definition: indexedfile_v110.h:213
void appendExtension(const void *data, const FileExtension *extension_info)
struct ifhd::v110::IndexedFileV110::TagChunkRef ChunkRef
FileHeader * _file_header
file header
Definition: indexedfile_v110.h:219
void allocBuffer(int size)
namespace for IFHD File library
Definition: indexedfile_types.h:30
utils5ext::FilePos FilePos
file pos type
Definition: indexedfile_types.h:54
FilePos FileSize
Type for the file size.
Definition: file.h:41
Definition: indexedfile_v100.h:72
File extension structure.
Definition: indexedfile_v110.h:223
FileExtension file_extension
64Byte
Definition: indexedfile_v110.h:224
void * extension_page
see in pFileExtension->dataSize
Definition: indexedfile_v110.h:225
Definition: indexedfile_v110.h:157
uint64_t chunk_index
number of chunk
Definition: indexedfile_v110.h:167
uint64_t time_stamp
timestamp of the chunk it refers to
Definition: indexedfile_v110.h:159
uint32_t flags
key data / flags of the chunk it refers to
Definition: indexedfile_v110.h:163
uint32_t size
size of the chunk it refers to
Definition: indexedfile_v110.h:161
uint64_t chunk_offset
file offset position of the chunk it refers to (in byte)
Definition: indexedfile_v110.h:165
Definition: indexedfile_v110.h:120
int8_t identifier[32]
identifier
Definition: indexedfile_v110.h:122
uint32_t version_id
optional version id
Definition: indexedfile_v110.h:126
FilePos data_pos
file offset of the extension data (absolute)
Definition: indexedfile_v110.h:128
uint32_t type_id
related Stream. 0 for every stream 1> id >= Max streams)
Definition: indexedfile_v110.h:124
uint8_t reserved[8]
reserved bytes. currently not in use
Definition: indexedfile_v110.h:132
utils5ext::FileSize data_size
size of the extension-data in bytes
Definition: indexedfile_v110.h:130
Definition: indexedfile_v110.h:180
struct TagIndexBlockItem * next
the next index block reference
Definition: indexedfile_v110.h:184
int data_size
data size in bytes
Definition: indexedfile_v110.h:182
int item_count
the item count
Definition: indexedfile_v110.h:183
ChunkRef * data
chunk reference the index block belongs to
Definition: indexedfile_v110.h:181