33 #include <decNumber/decQuad.h>
34 #include <decNumber/decNumber.h>
37 #define GLOBAL ION_API_EXPORT
49 #define NULL ((void *)0)
58 #define MAX_INT32 0x7FFFFFFF
59 #define MIN_INT32 -0x7FFFFFFF-1
63 #define MAX_INT64 0x7FFFFFFFFFFFFFFFLL
64 #define MIN_INT64 -0x7FFFFFFFFFFFFFFFLL-1
65 #define HIGH_BIT_INT64 (((uint64_t)(1)) << 63)
70 #define ION_TYPE_INT(x) ((intptr_t) (x))
75 #define tid_none ((ION_TYPE)(tid_none_INT))
80 #define tid_EOF ((ION_TYPE)(tid_EOF_INT))
85 #define tid_NULL ((ION_TYPE) tid_NULL_INT)
86 #define tid_BOOL ((ION_TYPE) tid_BOOL_INT)
87 #define tid_INT ((ION_TYPE) tid_INT_INT)
88 #define tid_FLOAT ((ION_TYPE) tid_FLOAT_INT)
89 #define tid_DECIMAL ((ION_TYPE) tid_DECIMAL_INT)
90 #define tid_TIMESTAMP ((ION_TYPE) tid_TIMESTAMP_INT)
91 #define tid_SYMBOL ((ION_TYPE) tid_SYMBOL_INT)
92 #define tid_STRING ((ION_TYPE) tid_STRING_INT)
93 #define tid_CLOB ((ION_TYPE) tid_CLOB_INT)
94 #define tid_BLOB ((ION_TYPE) tid_BLOB_INT)
95 #define tid_LIST ((ION_TYPE) tid_LIST_INT)
96 #define tid_SEXP ((ION_TYPE) tid_SEXP_INT)
97 #define tid_STRUCT ((ION_TYPE) tid_STRUCT_INT)
98 #define tid_DATAGRAM ((ION_TYPE) tid_DATAGRAM_INT)
100 #define tid_none_INT -0x200
101 #define tid_EOF_INT -0x100
102 #define tid_NULL_INT 0x000
103 #define tid_BOOL_INT 0x100
104 #define tid_INT_INT 0x200
105 #define tid_FLOAT_INT 0x400
106 #define tid_DECIMAL_INT 0x500
107 #define tid_TIMESTAMP_INT 0x600
108 #define tid_SYMBOL_INT 0x700
109 #define tid_STRING_INT 0x800
110 #define tid_CLOB_INT 0x900
111 #define tid_BLOB_INT 0xA00
112 #define tid_LIST_INT 0xB00
113 #define tid_SEXP_INT 0xC00
114 #define tid_STRUCT_INT 0xD00
115 #define tid_DATAGRAM_INT 0xF00
118 typedef int32_t SIZE;
119 typedef uint8_t BYTE;
121 #define MAX_SIZE INT32_MAX
126 typedef struct _ion_symbol_table ION_SYMBOL_TABLE;
127 typedef struct _ion_catalog ION_CATALOG;
137 typedef struct _ion_symbol_table_import_descriptor ION_SYMBOL_TABLE_IMPORT_DESCRIPTOR;
138 typedef struct _ion_symbol_table_import ION_SYMBOL_TABLE_IMPORT;
140 typedef struct _ion_reader ION_READER;
141 typedef struct _ion_writer ION_WRITER;
147 #ifndef ION_STREAM_DECL
148 #define ION_STREAM_DECL
153 typedef struct _ion_stream ION_STREAM;
163 ION_STREAM_HANDLER handler;
172 typedef ION_SYMBOL_TABLE_IMPORT *iIMPORT;
173 typedef ION_SYMBOL_TABLE *iSYMTAB;
174 typedef ION_CATALOG *iCATALOG;
175 typedef ION_STREAM *iSTREAM;
179 typedef void *hOWNER;
180 typedef ION_READER *hREADER;
181 typedef ION_WRITER *hWRITER;
182 typedef ION_SYMBOL_TABLE *hSYMTAB;
183 typedef ION_CATALOG *hCATALOG;
struct ion_type * ION_TYPE
Definition: ion_types.h:69
Definition: ion_collection.h:72
Definition: ion_decimal.h:89
Definition: ion_int.h:100
Definition: ion_string.h:40
Definition: ion_symbol_table.h:34
Definition: ion_timestamp.h:47
Definition: ion_types.h:159