@@ -11,6 +11,8 @@ extern "C" {
1111#include <stdint.h>
1212#endif
1313
14+ #include "../../config/config.h"
15+
1416/*
1517 * This should match generated type declaratios in
1618 * `flatbuffers_common_reader.h` (might have different name prefix).
@@ -44,40 +46,80 @@ extern "C" {
4446#define flatbuffers_thash_t_defined
4547#define flatbuffers_fid_t_defined
4648
47- /* uoffset_t is also used for vector and string headers. */
48- #define FLATBUFFERS_UOFFSET_MAX UINT32_MAX
49- #define FLATBUFFERS_SOFFSET_MAX INT32_MAX
50- #define FLATBUFFERS_SOFFSET_MIN INT32_MIN
51- #define FLATBUFFERS_VOFFSET_MAX UINT16_MAX
52- #define FLATBUFFERS_UTYPE_MAX UINT8_MAX
53- /* Well - the max of the underlying type. */
54- #define FLATBUFFERS_BOOL_MAX UINT8_MAX
55- #define FLATBUFFERS_THASH_MAX UINT32_MAX
56-
5749#define FLATBUFFERS_ID_MAX (FLATBUFFERS_VOFFSET_MAX / sizeof(flatbuffers_voffset_t) - 3)
5850/* Vectors of empty structs can yield div by zero, so we must guard against this. */
5951#define FLATBUFFERS_COUNT_MAX (elem_size ) (FLATBUFFERS_UOFFSET_MAX/((elem_size) == 0 ? 1 : (elem_size)))
6052
61- #define FLATBUFFERS_UOFFSET_WIDTH 32
62- #define FLATBUFFERS_COUNT_WIDTH 32
63- #define FLATBUFFERS_SOFFSET_WIDTH 32
64- #define FLATBUFFERS_VOFFSET_WIDTH 16
65- #define FLATBUFFERS_UTYPE_WIDTH 8
66- #define FLATBUFFERS_BOOL_WIDTH 8
67- #define FLATBUFFERS_THASH_WIDTH 32
6853
6954#define FLATBUFFERS_TRUE 1
7055#define FLATBUFFERS_FALSE 0
7156
7257#define FLATBUFFERS_PROTOCOL_IS_LE 1
7358#define FLATBUFFERS_PROTOCOL_IS_BE 0
7459
60+ /* uoffset_t is also used for vector and string headers. */
61+ #if FLATCC_OFFSET_SIZE == 4
7562typedef uint32_t flatbuffers_uoffset_t ;
7663typedef int32_t flatbuffers_soffset_t ;
64+ typedef uint32_t flatbuffers_thash_t ;
65+ #define FLATBUFFERS_UOFFSET_MAX UINT32_MAX
66+ #define FLATBUFFERS_SOFFSET_MAX INT32_MAX
67+ #define FLATBUFFERS_SOFFSET_MIN INT32_MIN
68+ #define FLATBUFFERS_THASH_MAX UINT32_MAX
69+ #define FLATBUFFERS_UOFFSET_WIDTH 32
70+ #define FLATBUFFERS_SOFFSET_WIDTH 32
71+ #define FLATBUFFERS_THASH_WIDTH 32
72+ #elif FLATCC_OFFSET_SIZE == 8
73+ typedef uint64_t flatbuffers_uoffset_t ;
74+ typedef int64_t flatbuffers_soffset_t ;
75+ typedef uint64_t flatbuffers_thash_t ;
76+ #define FLATBUFFERS_UOFFSET_MAX UINT64_MAX
77+ #define FLATBUFFERS_SOFFSET_MAX INT64_MAX
78+ #define FLATBUFFERS_SOFFSET_MIN INT64_MIN
79+ #define FLATBUFFERS_THASH_MAX UINT64_MAX
80+ #define FLATBUFFERS_UOFFSET_WIDTH 64
81+ #define FLATBUFFERS_SOFFSET_WIDTH 64
82+ #define FLATBUFFERS_THASH_WIDTH 64
83+ #elif FLATCC_OFFSET_SIZE == 2
84+ typedef uint16_t flatbuffers_uoffset_t ;
85+ typedef int16_t flatbuffers_soffset_t ;
86+ typedef uint16_t flatbuffers_thash_t ;
87+ #define FLATBUFFERS_UOFFSET_MAX UINT16_MAX
88+ #define FLATBUFFERS_SOFFSET_MAX INT16_MAX
89+ #define FLATBUFFERS_SOFFSET_MIN INT16_MIN
90+ #define FLATBUFFERS_THASH_MAX UINT16_MAX
91+ #define FLATBUFFERS_UOFFSET_WIDTH 16
92+ #define FLATBUFFERS_SOFFSET_WIDTH 16
93+ #define FLATBUFFERS_THASH_WIDTH 16
94+ #else
95+ #error FLATCC_OFFSET_SIZE must be defined.
96+ #endif
97+
98+ #if FLATCC_VOFFSET_SIZE == 2
7799typedef uint16_t flatbuffers_voffset_t ;
100+ #define FLATBUFFERS_VOFFSET_MAX UINT16_MAX
101+ #define FLATBUFFERS_VOFFSET_WIDTH 16
102+ #elif FLATCC_VOFFSET_SIZE == 8
103+ typedef uint64_t flatbuffers_voffset_t ;
104+ #define FLATBUFFERS_VOFFSET_MAX UINT64_MAX
105+ #define FLATBUFFERS_VOFFSET_WIDTH 64
106+ #elif FLATCC_VOFFSET_SIZE == 4
107+ typedef uint32_t flatbuffers_voffset_t ;
108+ #define FLATBUFFERS_VOFFSET_MAX UINT32_MAX
109+ #define FLATBUFFERS_VOFFSET_WIDTH 32
110+ #else
111+ #error FLATCC_VOFFSET_SIZE must be defined.
112+ #endif
113+
114+ #define FLATBUFFERS_UTYPE_MAX UINT8_MAX
115+ #define FLATBUFFERS_UTYPE_WIDTH 8
78116typedef uint8_t flatbuffers_utype_t ;
117+
118+ /* Well - the max of the underlying type. */
119+ #define FLATBUFFERS_BOOL_MAX UINT8_MAX
120+ #define FLATBUFFERS_BOOL_WIDTH 8
79121typedef uint8_t flatbuffers_bool_t ;
80- typedef uint32_t flatbuffers_thash_t ;
122+
81123/* Public facing type operations. */
82124typedef flatbuffers_utype_t flatbuffers_union_type_t ;
83125
0 commit comments