adtf_file_library  0.13.2
indexedfile_types_v201_v301.h
Go to the documentation of this file.
1 
17 #ifndef INDEXEDFILE_V201_V301_TYPE_HEADER
18 #define INDEXEDFILE_V201_V301_TYPE_HEADER
19 
20 #include <ifhd/indexedfile_types.h>
21 
22 namespace ifhd
23 {
27 namespace v201_v301
28 {
29 
34 static inline uint32_t getFileId()
35 {
36  static uint32_t file_id = *((uint32_t*) "IFHD");
37  return file_id;
38 }
39 
41 static constexpr uint32_t version_id_beta = 0x0200;
44 static constexpr uint32_t version_id = 0x00000201;
47 static constexpr uint32_t version_id_with_history = 0x00000300;
50 static const uint32_t version_id_with_history_end_offset = 0x00000301;
51 
52 
57 {
66  tf_stream_index = 3
67 };
68 
73 {
74  fm_none = 0x00,
75  fm_description = 0x01,
76  fm_date_time = 0x02
77 };
78 
83 {
84  rf_none = 0x0,
85  rf_use_external_buffer = 0x1,
86  rf_backwards = 0x2
87 };
88 
89 #pragma pack(push)
90 #pragma pack(1)
91 
101 {
104  uint32_t file_id;
108  uint32_t version_id;
110  uint32_t flags;
112  uint32_t extension_count;
116  uint64_t data_offset;
118  uint64_t data_size;
120  uint64_t chunk_count;
122  uint64_t max_chunk_size;
124  uint64_t duration;
126  uint64_t file_time;
135  uint64_t time_offset;
137  uint8_t patch_number;
148  int8_t reserved[30];
152  int8_t description[1912];
153 }; // size is 2048 Bytes
154 
161 {
163  int8_t identifier[max_file_extension_identifier_length];
165  uint16_t stream_id;
167  uint8_t reserved1[2];
169  uint32_t user_id;
171  uint32_t type_id;
173  uint32_t version_id;
176  uint64_t data_pos;
178  uint64_t data_size;
180  uint8_t reserved[96];
181 }; // size is 512 Bytes
182 
189 {
191  uint64_t time_stamp;
197  uint32_t offset_to_last;
201  uint32_t size;
203  uint16_t stream_id;
205  uint16_t flags;
207  uint64_t stream_index;
208 }; // size is 32 Bytes
209 
213 struct ChunkRef
214 {
216  uint64_t time_stamp;
220  uint32_t size;
222  uint16_t stream_id;
225  uint16_t flags;
227  uint64_t chunk_offset;
229  uint64_t chunk_index;
231  uint64_t stream_index;
236 }; // size is 44 Bytes
237 
242 struct StreamRef
243 {
248 }; // size is 4 Bytes
249 
255 {
263  uint32_t info_data_size;
265  int8_t stream_name[max_streamname_length]; //use Ascii 7
266 }; // size is 256 Byte
267 
270 {
278  uint8_t reserved[20];
279 };
280 
281 #pragma pack(pop)
282 
283 
284 
285 
290 {
292  sf_default = 0x0,
294  sf_keydata = 0x1,
296  sf_before = 0x02
297 };
298 
303 {
305  ct_data = 0x00,
307  ct_keydata = 0x01,
309  ct_info = 0x02,
311  ct_marker = 0x04,
313  ct_type = 0x08,
315  ct_trigger = 0x10
316 };
317 
322 {
326  om_none = 0x00,
342 
347  om_no_overwrite = 0x20
348 };
349 
350 } // namespace v201_301
351 } // namespace ifhd
352 
353 #endif // _INDEXEDFILE_V201_v301_TYPE_HEADER_
ChunkType
Definition: indexedfile_types_v201_v301.h:303
@ ct_marker
marks the chunk as marker data
Definition: indexedfile_types_v201_v301.h:311
@ ct_keydata
marks the chunk as KEY data (results to an index table entry)
Definition: indexedfile_types_v201_v301.h:307
@ ct_info
marks the chunk as info data
Definition: indexedfile_types_v201_v301.h:309
@ ct_trigger
marks the chunk as trigger data
Definition: indexedfile_types_v201_v301.h:315
@ ct_data
marks the chunk as data
Definition: indexedfile_types_v201_v301.h:305
@ ct_type
marks the chunk as type data
Definition: indexedfile_types_v201_v301.h:313
FieldMask
Definition: indexedfile_types_v201_v301.h:73
OpenMode
Definition: indexedfile_types_v201_v301.h:322
@ om_query_info
Definition: indexedfile_types_v201_v301.h:331
@ om_none
Definition: indexedfile_types_v201_v301.h:326
@ om_file_change_mode
Definition: indexedfile_types_v201_v301.h:341
@ om_validate_chunk_header
Definition: indexedfile_types_v201_v301.h:337
@ om_no_overwrite
Definition: indexedfile_types_v201_v301.h:347
SeekFlags
Definition: indexedfile_types_v201_v301.h:290
@ sf_default
The default seek flag.
Definition: indexedfile_types_v201_v301.h:292
@ sf_before
Seek to the last chunk before the seek time.
Definition: indexedfile_types_v201_v301.h:296
@ sf_keydata
Just seek in index table.
Definition: indexedfile_types_v201_v301.h:294
TimeFormat
Definition: indexedfile_types_v201_v301.h:57
@ tf_chunk_index
Definition: indexedfile_types_v201_v301.h:60
@ tf_chunk_time
Definition: indexedfile_types_v201_v301.h:63
@ tf_stream_index
Definition: indexedfile_types_v201_v301.h:66
ReadFlags
Definition: indexedfile_types_v201_v301.h:83
namespace for IFHD File library
Definition: indexedfile_types.h:30
Additional index table information.
Definition: indexedfile_types_v201_v301.h:270
uint8_t reserved[20]
for later use
Definition: indexedfile_types_v201_v301.h:278
uint64_t stream_index_offset
Definition: indexedfile_types_v201_v301.h:273
uint32_t stream_table_index_offset
Definition: indexedfile_types_v201_v301.h:276
header for chunks Each Chunk header 16 Byte aligned within the file.
Definition: indexedfile_types_v201_v301.h:189
uint16_t flags
chunk type flags see ChunkType
Definition: indexedfile_types_v201_v301.h:205
uint64_t time_stamp
timestamp of the chunk in microseconds or nanoseconds resolution (depending on file version)
Definition: indexedfile_types_v201_v301.h:191
uint32_t offset_to_last
Definition: indexedfile_types_v201_v301.h:197
uint32_t ref_master_table_index
referring to the master index table
Definition: indexedfile_types_v201_v301.h:193
uint16_t stream_id
stream identifier the chunk belongs to
Definition: indexedfile_types_v201_v301.h:203
uint32_t size
Definition: indexedfile_types_v201_v301.h:201
uint64_t stream_index
number of the chunk within stream it belongs to
Definition: indexedfile_types_v201_v301.h:207
header for a chunk reference
Definition: indexedfile_types_v201_v301.h:214
uint64_t stream_index
number of chunk within the stream it belongs to
Definition: indexedfile_types_v201_v301.h:231
uint32_t ref_stream_table_index
Definition: indexedfile_types_v201_v301.h:235
uint64_t time_stamp
timestamp of the chunk in microseconds or nanoseconds resolution (depending on file version)
Definition: indexedfile_types_v201_v301.h:216
uint64_t chunk_offset
file offset position of the chunk it refers to (in byte)
Definition: indexedfile_types_v201_v301.h:227
uint16_t stream_id
stream identifier of the chunk it refers to
Definition: indexedfile_types_v201_v301.h:222
uint32_t size
Definition: indexedfile_types_v201_v301.h:220
uint64_t chunk_index
number of chunk
Definition: indexedfile_types_v201_v301.h:229
uint16_t flags
Definition: indexedfile_types_v201_v301.h:225
Header for a file extensions.
Definition: indexedfile_types_v201_v301.h:161
uint32_t version_id
optional version id
Definition: indexedfile_types_v201_v301.h:173
uint8_t reserved[96]
reserved. currently not in use
Definition: indexedfile_types_v201_v301.h:180
uint8_t reserved1[2]
reserved. currently not in use
Definition: indexedfile_types_v201_v301.h:167
int8_t identifier[max_file_extension_identifier_length]
Identifier.
Definition: indexedfile_types_v201_v301.h:163
uint64_t data_pos
Definition: indexedfile_types_v201_v301.h:176
uint32_t user_id
optional user id
Definition: indexedfile_types_v201_v301.h:169
uint64_t data_size
size of the extension-data in bytes
Definition: indexedfile_types_v201_v301.h:178
uint16_t stream_id
related Stream identifier. 0 for every stream 1> id >= Max streams)
Definition: indexedfile_types_v201_v301.h:165
uint32_t type_id
optional type id
Definition: indexedfile_types_v201_v301.h:171
The File header for dat-files.
Definition: indexedfile_types_v201_v301.h:101
int8_t reserved[30]
reserved bytes. currently not in use
Definition: indexedfile_types_v201_v301.h:148
uint64_t first_chunk_offset
Definition: indexedfile_types_v201_v301.h:140
uint64_t data_size
size of the data area block (in bytes)
Definition: indexedfile_types_v201_v301.h:118
uint64_t chunk_count
amount of chunks
Definition: indexedfile_types_v201_v301.h:120
uint8_t patch_number
patch number (not in use yet)
Definition: indexedfile_types_v201_v301.h:137
uint64_t max_chunk_size
greatest user data size of chunk
Definition: indexedfile_types_v201_v301.h:122
uint32_t version_id
Definition: indexedfile_types_v201_v301.h:108
uint64_t duration
timestamp of the last chunk
Definition: indexedfile_types_v201_v301.h:124
int8_t description[1912]
Definition: indexedfile_types_v201_v301.h:152
uint32_t file_id
Definition: indexedfile_types_v201_v301.h:104
uint64_t time_offset
Definition: indexedfile_types_v201_v301.h:135
uint64_t data_offset
file-offset to the begin of data block (absolute)
Definition: indexedfile_types_v201_v301.h:116
uint64_t ring_buffer_end_offset
Definition: indexedfile_types_v201_v301.h:146
uint32_t extension_count
amount of extension blocks
Definition: indexedfile_types_v201_v301.h:112
uint32_t flags
flags ... not in use yet
Definition: indexedfile_types_v201_v301.h:110
uint8_t header_byte_order
Definition: indexedfile_types_v201_v301.h:132
uint64_t continuous_offset
Definition: indexedfile_types_v201_v301.h:143
uint64_t extension_offset
file-offset to the begin of extension table block (absolute)
Definition: indexedfile_types_v201_v301.h:114
uint64_t file_time
creation time of file
Definition: indexedfile_types_v201_v301.h:126
Definition: indexedfile_types_v201_v301.h:255
uint64_t stream_first_time
First timestamp of stream.
Definition: indexedfile_types_v201_v301.h:259
int8_t stream_name[max_streamname_length]
Stream name.
Definition: indexedfile_types_v201_v301.h:265
uint64_t stream_index_count
Amount of stream indexes.
Definition: indexedfile_types_v201_v301.h:257
uint64_t stream_last_time
Last timestamp of stream.
Definition: indexedfile_types_v201_v301.h:261
uint32_t info_data_size
Info data size.
Definition: indexedfile_types_v201_v301.h:263
Definition: indexedfile_types_v201_v301.h:243
uint32_t ref_master_table_index
Definition: indexedfile_types_v201_v301.h:247

Copyright © CARIAD SE.
Generated on Mon Jun 10 2024 by doxygen 1.9.1
GIT Commit Hash: eb3af397a6b49ad6fcad9a60d8277d909b458b48