FLCBYTBF-API
FLUC C++ Stream Buffer Interface
|
FLAM 5 serialized element structure (version 0) More...
#include <FLMDEF.h>
Data Fields | |
int | version |
Element structure version (must be 0) | |
int | matTyp |
Matrix type (type of data format) | |
int | elmTyp |
Element type. | |
int | atrLen |
Attribute data length (at offset 32) | |
int | datLen |
Element data length (at offset 32 + atrLen) | |
int | hshLen |
Hash data length (at offset 32 + atrLen + datLen) | |
int | reserved1 |
int | reserved2 |
char | buffer [4] |
Unsigned data buffer (variable length) | |
FLAM 5 serialized element structure (version 0)
This structure defines a FLAM 5 element in a serialized form. It may be used to cast a buffer that contains data written by format.element()
. A serialized element basically consists of a set of 32 bit integers followed by element attributes, data and a data hash (is applicable).
Users MUST check that the version field matches the version of the used struct definition. In future versions, further structures with different fields may be added which will be assigned a new version. The first 32 bits can always be used to identify the correct structure.
Each FLAM 5 matrix can consist of different element types. The interpretation of the different element types depends on the matrix type.
int FlmElmRec0::version |
Element structure version (must be 0)
int FlmElmRec0::matTyp |
Matrix type (type of data format)
The matrix type indicates the type of data and defines the set of valid element types that each FLAM 5 matrix can consist of. The list of available matrix types can be found here.
int FlmElmRec0::elmTyp |
Element type.
The interpretation of the different element types depends on the matrix type. The available element types can be found here.
int FlmElmRec0::atrLen |
Attribute data length (at offset 32)
int FlmElmRec0::datLen |
Element data length (at offset 32 + atrLen)
int FlmElmRec0::reserved1 |
Reserved for future use (should be 0)
int FlmElmRec0::reserved2 |
Reserved for future use (should be 0)
char FlmElmRec0::buffer[4] |
Unsigned data buffer (variable length)
Contains atrLen
bytes of attribute data, followed by datLen
bytes of element data, followed by hshLen
bytes of hash data.
The presence of attribute and hash data when reading depends on the parameter given to format.element(). When writing, attributes and hash data is only passed to FLAM if this is requested in the format.element() clause.
Hash values are only relevant with the FLAM element interface in order to find data elements in compressed and encrypted data. The FLUC element interface (used for data formats like PGP, GZIP, ...) does not support hash values.