FLCBYTBF-API
FLUC C++ Stream Buffer Interface Version: 5.2.0-37009
FLMDEF.h
Go to the documentation of this file.
1
12#ifndef INC_FLMDEF_H
13#define INC_FLMDEF_H
15#include <stddef.h>
16#ifdef __cplusplus
17 extern "C" {
18#endif
19
21
22/**********************************************************************/
23
33#define FLMOUT_FORMAT_NON 0
34#define FLMOUT_FORMAT_LST 1
35#define FLMOUT_FORMAT_XML 2
37
47#define FLC_READ_FILE 1
48#define FLC_READ_FORMAT 2
49#define FLC_WRITE_FILE 3
50#define FLC_WRITE_FORMAT 4
51#define FLC_CONV_READ 5
52#define FLC_CONV_WRITE 6
53#define FLC_CONV_FROM_TO 7
54#define FLC_INPUT_FILE 8
55#define FLC_OUTPUT_FILE 9
56#define FLC_INFO 10
57#define FLC_STATE 11
58#define FLC_LOG 12
60
68#define FLCHSH_ALGO_NON 0U
69#define FLCHSH_ALGO_MD5 1U
70#define FLCHSH_ALGO_RMD128 2U
71#define FLCHSH_ALGO_RMD160 3U
72#define FLCHSH_ALGO_SHA1 10U
73#define FLCHSH_ALGO_SHA160 10U
74#define FLCHSH_ALGO_SHA224 20U
75#define FLCHSH_ALGO_SHA256 21U
76#define FLCHSH_ALGO_SHA384 22U
77#define FLCHSH_ALGO_SHA512 23U
78#define FLCHSH_ALGO_SHA3_224 30U
79#define FLCHSH_ALGO_SHA3_256 31U
80#define FLCHSH_ALGO_SHA3_384 32U
81#define FLCHSH_ALGO_SHA3_512 33U
82#define FLCHSH_ALGO_CRC08 100U
83#define FLCHSH_ALGO_CRC16 101U
84#define FLCHSH_ALGO_CRC24 102U
85#define FLCHSH_ALGO_CRC32 103U
86#define FLCHSH_ALGO_CRC32C 104U
87#define FLCHSH_ALGO_CRC40 105U
88#define FLCHSH_ALGO_CRC64 106U
90
99#define FLCMAC_ALGO_NON 0U
100#define FLCMAC_ALGO_HMAC 1U
102
109#define FLC_INBOUND_COUNT 1
110#define FLC_OUTBOUND_COUNT 2
111#define FLC_FIO_COUNT 1
112#define FLC_FMT_COUNT 2
113#define FLC_BYTE_COUNT 1
114#define FLC_UNIT_COUNT 2
116
130#define FLMMAT_TYP_NON 0x00U
131#define FLMMAT_TYP_DATBLK 0x80U
132#define FLMMAT_TYP_STDREC 0x81U
133#define FLMMAT_TYP_STDASAREC 0x82U
134#define FLMMAT_TYP_STDMCCREC 0x83U
135#define FLMMAT_TYP_RELREC 0x84U
136#define FLMMAT_TYP_RELTXTREC 0x85U
137#define FLMMAT_TYP_RELASAREC 0x86U
138#define FLMMAT_TYP_RELMCCREC 0x87U
139#define FLMMAT_TYP_TXTREC 0x88U
140#define FLMMAT_TYP_TXTDLM 0x89U
141#define FLMMAT_TYP_TXTRST 0x90U
142#define FLMMAT_TYP_XMLELM 0x91U
143#define FLMMAT_TYP_TABELM 0xF0U
145
195
201#define FLMELM_NOSKIP (-1)
202
207#define FLMELM_TYPBLK_STANDARD 0
208
213#define FLMELM_TYPREC_STANDARD 0
214
219#define FLMELM_TYPTXT_RECORD 0
224#define FLMELM_TYPTXT_REST 1
225
241#define FLMELM_TYPXML_DATA 0
254#define FLMELM_TYPXML_STARTELM 1
263#define FLMELM_TYPXML_ENDSTRTELM 2
274#define FLMELM_TYPXML_ENDELM 3
287#define FLMELM_TYPXML_ATTNAME 4
298#define FLMELM_TYPXML_ATTRVAL 5
317#define FLMELM_TYPXML_XML 6
318
333#define FLMELM_TYPXML_SKIPENT 7
349#define FLMELM_TYPXML_SKIPPARMENT 8
379#define FLMELM_TYPXML_STARTDTD 9
388#define FLMELM_TYPXML_ENDDTD 10
408#define FLMELM_TYPXML_ELMDECL 11
436#define FLMELM_TYPXML_ATTLDECL 12
465#define FLMELM_TYPXML_INTENTDECL 13
498#define FLMELM_TYPXML_SYSENTDECL 14
532#define FLMELM_TYPXML_PUBENTDECL 15
557#define FLMELM_TYPXML_NOTDECLS 16
582#define FLMELM_TYPXML_NOTDECLP 17
608#define FLMELM_TYPXML_NOTDECLPS 18
626#define FLMELM_TYPXML_PROCINST 19
644#define FLMELM_TYPXML_STARTCD 20
656#define FLMELM_TYPXML_ENDCD 21
666#define FLMELM_TYPXML_COMMENT 22
675#define FLMELM_TYPXML_DEFAULT 23
676
685#define FLMELM_TYPXML_STARTNS 24
686
694#define FLMELM_TYPXML_ENDNS 25
695
697#define FLMELM_XMLMAX_TYPCNT 26 // to define type and pot tables big enough (must be one more than last element typ)
698#define FLMELM_FLAG_LITCACHE 0x40000000U // marks element that literal cache are used (pcDat points into literal cache)
699#define setFLMELM_LITCACHE(f) ((f)|FLMELM_FLAG_LITCACHE)
700#define isFLMELM_LITCACHE(f) ((f)&FLMELM_FLAG_LITCACHE)
702
711#define FLMELM_FLAG_NULLID 0x01000000U
712
722#define FLMELM_FLAG_EMPTID 0x02000000U
723
735#define FLMELM_TYPTAB_NONE 0x00000000U
736
745#define FLMELM_TYPTAB_BINARY 0x00000001U
746
755#define FLMELM_TYPTAB_STRING 0x00000002U
756
766#define FLMELM_TYPTAB_INTEGER 0x00000003U
767
776#define FLMELM_TYPTAB_FLOAT 0x00000004U
777
786#define FLMELM_TYPTAB_INT64 0x00000005U
787
789#define FLMELM_TYPTAB_RESERVED6 0x00000006U
790#define FLMELM_TYPTAB_RESERVED7 0x00000007U
791#define FLMELM_TYPTAB_RESERVED8 0x00000008U
792#define FLMELM_TYPTAB_RESERVED9 0x00000009U // DATE
794
814#define FLMELM_TYPTAB_HEADER 0x0000000AU
816#define FLMELM_TABMAX_TYPCNT 0x0000000BU // to define type and pot tables big enough (must be one more than last element typ)
818
819/**********************************************************************/
844typedef struct {
871 char buffer[];
887} FlmElmRec0;
888
906static inline size_t FLMELMREC0_LENGTH(const FlmElmRec0* psElement)
907{
908 return ((size_t)32 + (size_t)psElement->atrLen + (size_t)psElement->datLen);
909}
910
921static inline const char* FLMELMREC0_ATTRPTR(const FlmElmRec0* psElement)
922{
923 return(psElement->buffer);
924}
925
936static inline const char* FLMELMREC0_DATAPTR(const FlmElmRec0* psElement)
937{
938 return(psElement->buffer + psElement->atrLen);
939}
940
942/**********************************************************************/
943
945
946#ifdef __cplusplus
947 }
948#endif
950#endif /* INC_FLMDEF_H */
951
FLAM 5 serialized element structure (version 0)
Definition FLMDEF.h:844
int datLen
Element data length (at offset 32 + atrLen)
Definition FLMDEF.h:863
int reserved2
Reserved for future use (should be 0)
Definition FLMDEF.h:869
int elmTyp
Element type.
Definition FLMDEF.h:859
int matTyp
Matrix type (type of data format)
Definition FLMDEF.h:853
char buffer[]
Unsigned data buffer (variable length)
Definition FLMDEF.h:871
int reserved0
Reserved for future use (should be 0)
Definition FLMDEF.h:865
int atrLen
Attribute data length (at offset 32)
Definition FLMDEF.h:861
int reserved1
Reserved for future use (should be 0)
Definition FLMDEF.h:867
int version
Element structure version (must be 0)
Definition FLMDEF.h:846