@@ -88,6 +88,7 @@ typedef u8_t guid_t[16];
8888#define TYPE_UNARY 101
8989#define TYPE_BINARY 102
9090#define TYPE_VARY 103
91+ #define TYPE_EXT 124
9192#define TYPE_TOKEN 125
9293
9394// Special Types
@@ -138,28 +139,29 @@ typedef obj_p list_t;
138139extern u8_t version (nil_t ); // get version as u8_t (major - 5 bits, minor - 3 bits)
139140
140141// Constructors
141- extern obj_p null (i8_t type ); // create null atom of type
142- extern obj_p nullv (i8_t type , i64_t len ); // create null list of type and length
143- extern obj_p atom (i8_t type ); // create atom of type
144- extern obj_p vn_list (i64_t len , ...); // create list from values
145- extern obj_p vector (i8_t type , i64_t len ); // create vector of type
146- extern obj_p vn_symbol (i64_t len , ...); // create vector symbols from strings
147- extern obj_p b8 (b8_t val ); // bool atom
148- extern obj_p u8 (u8_t val ); // byte atom
149- extern obj_p c8 (c8_t c ); // char
150- extern obj_p i16 (i16_t val ); // i16 atom
151- extern obj_p i32 (i32_t val ); // i32 atom
152- extern obj_p i64 (i64_t val ); // i64 atom
153- extern obj_p f64 (f64_t val ); // f64 atom
154- extern obj_p symbol (lit_p ptr , i64_t len ); // symbol
155- extern obj_p symboli64 (i64_t id ); // symbol from i64
156- extern obj_p adate (i32_t val ); // date
157- extern obj_p atime (i32_t val ); // time
158- extern obj_p timestamp (i64_t val ); // timestamp
159- extern obj_p guid (const guid_t buf ); // GUID
160- extern obj_p vn_c8 (lit_p fmt , ...); // string from format
161- extern obj_p enumerate (obj_p sym , obj_p vec ); // enum
162- extern obj_p anymap (obj_p sym , obj_p vec ); // anymap
142+ extern obj_p null (i8_t type ); // create null atom of type
143+ extern obj_p nullv (i8_t type , i64_t len ); // create null list of type and length
144+ extern obj_p atom (i8_t type ); // create atom of type
145+ extern obj_p vn_list (i64_t len , ...); // create list from values
146+ extern obj_p vector (i8_t type , i64_t len ); // create vector of type
147+ extern obj_p vn_symbol (i64_t len , ...); // create vector symbols from strings
148+ extern obj_p b8 (b8_t val ); // bool atom
149+ extern obj_p u8 (u8_t val ); // byte atom
150+ extern obj_p c8 (c8_t c ); // char
151+ extern obj_p i16 (i16_t val ); // i16 atom
152+ extern obj_p i32 (i32_t val ); // i32 atom
153+ extern obj_p i64 (i64_t val ); // i64 atom
154+ extern obj_p f64 (f64_t val ); // f64 atom
155+ extern obj_p symbol (lit_p ptr , i64_t len ); // symbol
156+ extern obj_p symboli64 (i64_t id ); // symbol from i64
157+ extern obj_p adate (i32_t val ); // date
158+ extern obj_p atime (i32_t val ); // time
159+ extern obj_p timestamp (i64_t val ); // timestamp
160+ extern obj_p guid (const guid_t buf ); // GUID
161+ extern obj_p vn_c8 (lit_p fmt , ...); // string from format
162+ extern obj_p enumerate (obj_p sym , obj_p vec ); // enum
163+ extern obj_p anymap (obj_p sym , obj_p vec ); // anymap
164+ extern obj_p external (raw_p ptr , nil_t (* drop )(raw_p )); // external
163165
164166#define B8 (len ) (vector(TYPE_B8, len)) // bool vector
165167#define U8 (len ) (vector(TYPE_U8, len)) // byte vector
0 commit comments