Expand description
Provides basic bindings for Ion C
These bindings are created with bindgen and are considerably low-level.
§Examples
Using ion-c-sys directly can be a pretty verbose affair, and requires checking the
error code for most calls. This crate provides the result
module to make it easier to integrate with std::result::Result with respect
to the iERR that Ion C functions generally return. Specifically, any low-level
IonC function that returns iERR should be called with the ionc! macro
to facilitate Result<(), IonCError> conversion.
This library provides smart pointers over the low-level reader/writer pointers, and should
generally be used, especially with Result handling code. These types provide some facade
over Ion C, but only for the most generally used APIs. See:
§Ion Reader
Here is an end-to-end example of reading some Ion data.
let mut reader = IonCReaderHandle::try_from("{a:2}")?;
// step to the struct
assert_eq!(ION_TYPE_STRUCT, reader.next()?);
// step into the struct
reader.step_in()?;
// step to the field
assert_eq!(ION_TYPE_INT, reader.next()?);
// retrieve the field name
assert_eq!("a", reader.get_field_name()?.as_str());
// read the integer value
assert_eq!(2, reader.read_i64()?);
// step to the end of the struct
assert_eq!(ION_TYPE_EOF, reader.next()?);
// step out of the struct
reader.step_out()?;
// step to the end of the stream
assert_eq!(ION_TYPE_EOF, reader.next()?);
§Ion Writer
Here is an end-to-end example of writing some Ion data.
// output buffer
let mut buf: Vec<u8> = vec![0; 128];
let len = {
let mut writer = IonCWriterHandle::new_buf_mode(buf.as_mut(), WriterMode::Binary)?;
// start a list
writer.start_container(ION_TYPE_LIST)?;
// write some integers
for n in 0..4 {
writer.write_i64(n * 2)?;
}
// end the list
writer.finish_container()?;
// start a struct
writer.start_container(ION_TYPE_STRUCT)?;
{
// write a string
writer.field("name").annotations(&["version"]).write_string("💩")?;
}
// end the struct
writer.finish_container()?;
// finish writing
writer.finish()?
};
// make sure the bytes match what we expect
let expected: &[u8] = &[
0xE0, 0x01, 0x00, 0xEA, // IVM
0xB7, // LIST size 7
0x20, // INT 0
0x21, 0x02, // INT 2
0x21, 0x04, // INT 4
0x21, 0x06, // INT 6
0xD9, // STRUCT size 8
0x84, // field "name" (sid 4)
0xE7, 0x81, 0x85, // annotation "version" (sid 5)
0x84, 0xF0, 0x9F, 0x92, 0xA9, // STRING 💩
];
assert_eq!(expected.len(), len);
assert_eq!(expected, &buf[0..len]);
Re-exports§
pub use self::ion_error_code as iERR;pub use self::_ION_SYMBOL_TABLE_TYPE as ION_SYMBOL_TABLE_TYPE;
Modules§
- decimal
- Provides higher-level APIs for
ION_DECIMAL - int
- Provides higher-level APIs for
ION_INT - reader
- Provides higher-level APIs for Ion C’s
hREADER. - result
- Provides convenient integration with
ErrorandResultfor Ion C. - string
- Provides higher-level APIs for borrowing
strslices safely from Ion C. - timestamp
- Provides integration between
ION_TIMESTAMPandchrono::DateTime. - writer
- Provides higher-level APIs for Ion C’s
hWRITER.
Macros§
- ionc
- Macro to transform Ion C error code expressions into
Result<(), IonCError>. Higher-level facades over Ion C functions could map this toResult<T, IonCError>or the like.
Structs§
- _G_
fpos64_ t - _G_
fpos_ t - _IO_
FILE - _IO_
codecvt - _IO_
marker - _IO_
wide_ data - __
atomic_ wide_ counter__ bindgen_ ty_ 1 - __
fsid_ t - __
locale_ data - __
locale_ struct - __
mbstate_ t - __
once_ flag - __
pthread_ cond_ s - __
pthread_ internal_ list - __
pthread_ internal_ slist - __
pthread_ mutex_ s - __
pthread_ rwlock_ arch_ t - __
sigset_ t - __
va_ list_ tag - _fpreg
- _fpstate
- _fpx_
sw_ bytes - _fpxreg
- _ion_
catalog - _ion_
collection - The collections used by the parser are linked lists which are managed by the collection header. the memory used for the nodes is allocated on the parent, which is passed in when the user initializes the collection
- _ion_
collection_ node - The node allocation scheme depends on this layout ! currently that there are only 2 members so it uses the size of the ptr as the base to allocate
- _ion_
decimal - _ion_
int - _ion_
page - _ion_
reader - _ion_
reader_ context_ change_ notifier - _ion_
reader_ options - Reader configuration data, could be supplied by user during reader creation time. All fields in the structure are defaulted to 0, except for the following:
- _ion_
stream - _ion_
stream_ paged - _ion_
stream_ user_ paged - _ion_
string - _ion_
symbol - _ion_
symbol_ import_ location - _ion_
symbol_ table - _ion_
symbol_ table_ import - _ion_
symbol_ table_ import_ descriptor - _ion_
timestamp - Structure to store time information. time_t only has up to second precision, and time zone support is OS dependent. _ion_timestamp uses decimal to store fraction of a second
- _ion_
user_ stream - _ion_
writer - _ion_
writer_ options - _libc_
fpstate - _libc_
fpxreg - _libc_
xmmreg - _xmmreg
- _xsave_
hdr - _xstate
- _ymmh_
state - decContext
- decNumber
- ion_
type - itimerspec
- mcontext_
t - sigaction
- sigcontext
- sigevent
- sigevent__
bindgen_ ty_ 1__ bindgen_ ty_ 1 - siginfo_
t - siginfo_
t__ bindgen_ ty_ 1__ bindgen_ ty_ 1 - siginfo_
t__ bindgen_ ty_ 1__ bindgen_ ty_ 2 - siginfo_
t__ bindgen_ ty_ 1__ bindgen_ ty_ 3 - siginfo_
t__ bindgen_ ty_ 1__ bindgen_ ty_ 4 - siginfo_
t__ bindgen_ ty_ 1__ bindgen_ ty_ 5 - siginfo_
t__ bindgen_ ty_ 1__ bindgen_ ty_ 6 - siginfo_
t__ bindgen_ ty_ 1__ bindgen_ ty_ 7 - siginfo_
t__ bindgen_ ty_ 1__ bindgen_ ty_ 5__ bindgen_ ty_ 1__ bindgen_ ty_ 1 - sigstack
- stack_t
- timespec
- tm
- ucontext_
t
Constants§
- BUFSIZ
- BUS_
ADRALN - BUS_
ADRERR - BUS_
MCEERR_ AO - BUS_
MCEERR_ AR - BUS_
OBJERR - CLD_
CONTINUED - CLD_
DUMPED - CLD_
EXITED - CLD_
KILLED - CLD_
STOPPED - CLD_
TRAPPED - CLOCK_
BOOTTIME - CLOCK_
BOOTTIME_ ALARM - CLOCK_
MONOTONIC - CLOCK_
MONOTONIC_ COARSE - CLOCK_
MONOTONIC_ RAW - CLOCK_
PROCESS_ CPUTIME_ ID - CLOCK_
REALTIME - CLOCK_
REALTIME_ ALARM - CLOCK_
REALTIME_ COARSE - CLOCK_
TAI - CLOCK_
THREAD_ CPUTIME_ ID - DECAUTHOR
- DECCAUTHOR
- DECCFULLNAME
- DECCNAME
- DECDPUN
- DECEXTFLAG
- DECFLOAT_
Inf - DECFLOAT_
MinSp - DECFLOAT_
NaN - DECFLOAT_
Sign - DECFLOAT_
qNaN - DECFLOAT_
sNaN - DECFULLNAME
- DECINF
- DECNAME
- DECNAN
- DECNEG
- DECPMINUS
- DECPMINUSALT
- DECPPLUS
- DECPPLUSALT
- DECPPLUSAL
T2 - DECPUNSIGNED
- DECQUADAUTHOR
- DECQUADNAME
- DECQUADTITLE
- DECQUAD_
Bias - DECQUAD_
Bytes - DECQUAD_
Declets - DECQUAD_
EconL - DECQUAD_
Ehigh - DECQUAD_
Emax - DECQUAD_
EmaxD - DECQUAD_
Emin - DECQUAD_
Pmax - DECQUAD_
String - DECSNAN
- DECSPECIAL
- DECSUBSET
- DEC_
Clamped - DEC_
Class String_ NI - DEC_
Class String_ NN - DEC_
Class String_ NS - DEC_
Class String_ NZ - DEC_
Class String_ PI - DEC_
Class String_ PN - DEC_
Class String_ PS - DEC_
Class String_ PZ - DEC_
Class String_ QN - DEC_
Class String_ SN - DEC_
Class String_ UN - DEC_
Condition_ CS - DEC_
Condition_ DI - DEC_
Condition_ DU - DEC_
Condition_ DZ - DEC_
Condition_ IC - DEC_
Condition_ IE - DEC_
Condition_ IO - DEC_
Condition_ IS - DEC_
Condition_ Length - DEC_
Condition_ MU - DEC_
Condition_ OV - DEC_
Condition_ PA - DEC_
Condition_ RO - DEC_
Condition_ SU - DEC_
Condition_ UN - DEC_
Condition_ ZE - DEC_
Conversion_ syntax - DEC_
Division_ by_ zero - DEC_
Division_ impossible - DEC_
Division_ undefined - DEC_
Errors - DEC_
IEEE_ 754_ Division_ by_ zero - DEC_
IEEE_ 754_ Inexact - DEC_
IEEE_ 754_ Invalid_ operation - DEC_
IEEE_ 754_ Overflow - DEC_
IEEE_ 754_ Underflow - DEC_
IEEE_ 854_ Division_ by_ zero - DEC_
IEEE_ 854_ Inexact - DEC_
IEEE_ 854_ Invalid_ operation - DEC_
IEEE_ 854_ Overflow - DEC_
IEEE_ 854_ Underflow - DEC_
INIT_ BASE - DEC_
INIT_ DECDOUBLE - DEC_
INIT_ DECIMA L32 - DEC_
INIT_ DECIMA L64 - DEC_
INIT_ DECIMA L128 - DEC_
INIT_ DECQUAD - DEC_
INIT_ DECSINGLE - DEC_
Inexact - DEC_
Information - DEC_
Insufficient_ storage - DEC_
Invalid_ context - DEC_
Invalid_ operation - DEC_
MAX_ DIGITS - DEC_
MAX_ EMAX - DEC_
MAX_ EMIN - DEC_
MAX_ MATH - DEC_
MIN_ DIGITS - DEC_
MIN_ EMAX - DEC_
MIN_ EMIN - DEC_
NaNs - DEC_
Overflow - DEC_
Rounded - DEC_
Subnormal - DEC_
Underflow - DEFAULT_
STRING_ LENGTH - EOF
- FALSE
- FILENAME_
MAX - FOPEN_
MAX - FPE_
CONDTRAP - FPE_
FLTDIV - FPE_
FLTINV - FPE_
FLTOVF - FPE_
FLTRES - FPE_
FLTSUB - FPE_
FLTUND - FPE_
FLTUNK - FPE_
INTDIV - FPE_
INTOVF - FP_
XSTATE_ MAGI C1 - FP_
XSTATE_ MAGI C2 - II_
BINARY_ BASE - II_
BINARY_ RADIX_ CHARS - II_
BITS_ PER_ BINARY_ DIGIT - II_
BITS_ PER_ BYTE - II_
BITS_ PER_ DEC_ DIGIT - II_
BITS_ PER_ HEX_ DIGIT - II_
BYTE_ BASE - II_
BYTE_ MASK - II_
BYTE_ NEG_ OVERFLOW_ LIMIT - II_
BYTE_ SIGN_ BIT - II_
DEC_ DIGITS_ PER_ II_ DIGIT - II_
DEC_ DIGIT_ PER_ BITS - II_
HEX_ BASE - II_
HEX_ RADIX_ CHARS - II_
II_ DIGITS_ PER_ DEC_ DIGIT - II_
MINUS - II_PLUS
- II_
STRING_ BASE - ILL_
BADIADDR - ILL_
BADSTK - ILL_
COPROC - ILL_
ILLADR - ILL_
ILLOPC - ILL_
ILLOPN - ILL_
ILLTRP - ILL_
PRVOPC - ILL_
PRVREG - INT8_
MAX - INT8_
MIN - INT16_
MAX - INT16_
MIN - INT32_
MAX - INT32_
MIN - INTPTR_
MAX - INTPTR_
MIN - INT_
FAST8_ MAX - INT_
FAST8_ MIN - INT_
FAST16_ MAX - INT_
FAST16_ MIN - INT_
FAST32_ MAX - INT_
FAST32_ MIN - INT_
LEAS T8_ MAX - INT_
LEAS T8_ MIN - INT_
LEAS T16_ MAX - INT_
LEAS T16_ MIN - INT_
LEAS T32_ MAX - INT_
LEAS T32_ MIN - ION_
DECIMAL_ TYPE_ ION_ DECIMAL_ TYPE_ NUMBER - The _ion_decimal holds an unowned decNumber.
- ION_
DECIMAL_ TYPE_ ION_ DECIMAL_ TYPE_ NUMBER_ OWNED - The _ion_decimal holds a decNumber whose memory is managed by an owner.
- ION_
DECIMAL_ TYPE_ ION_ DECIMAL_ TYPE_ QUAD - The _ion_decimal holds a decQuad.
- ION_
DECIMAL_ TYPE_ ION_ DECIMAL_ TYPE_ UNKNOWN - ION_
ERROR_ MESSAGE_ MAX_ LENGTH - ION_
MAX_ TIMESTAMP_ STRING - ION_
SYS_ SID_ IMPORTS - ION_
SYS_ SID_ ION - ION_
SYS_ SID_ IVM - ION_
SYS_ SID_ MAX_ ID - ION_
SYS_ SID_ NAME - ION_
SYS_ SID_ SHARED_ SYMBOL_ TABLE - ION_
SYS_ SID_ SYMBOLS - ION_
SYS_ SID_ SYMBOL_ TABLE - ION_
SYS_ SID_ VERSION - ION_
SYS_ STRLEN_ IMPORTS - ION_
SYS_ STRLEN_ ION - ION_
SYS_ STRLEN_ IVM - ION_
SYS_ STRLEN_ MAX_ ID - ION_
SYS_ STRLEN_ NAME - ION_
SYS_ STRLEN_ SHARED_ SYMBOL_ TABLE - ION_
SYS_ STRLEN_ SYMBOLS - ION_
SYS_ STRLEN_ SYMBOL_ TABLE - ION_
SYS_ STRLEN_ VERSION - ION_
SYS_ SYMBOL_ IMPORTS - ION_
SYS_ SYMBOL_ ION - ION_
SYS_ SYMBOL_ ION_ SYMBOL_ TABLE - ION_
SYS_ SYMBOL_ IVM - ION_
SYS_ SYMBOL_ MAX_ ID - ION_
SYS_ SYMBOL_ MAX_ ID_ UNDEFINED - ION_
SYS_ SYMBOL_ NAME - ION_
SYS_ SYMBOL_ SHARED_ SYMBOL_ TABLE - ION_
SYS_ SYMBOL_ SYMBOLS - ION_
SYS_ SYMBOL_ VERSION - ION_
TIMESTAMP_ STRING_ LENGTH - ION_
TS_ DAY - ION_
TS_ FRAC - ION_
TS_ MIN - ION_
TS_ MONTH - ION_
TS_ SEC - ION_
TS_ YEAR - ION_
TT_ BIT_ DAY - ION_
TT_ BIT_ FRAC - ION_
TT_ BIT_ MIN - ION_
TT_ BIT_ MONTH - ION_
TT_ BIT_ SEC - ION_
TT_ BIT_ YEAR - ION_
TYPE_ BLOB - ION_
TYPE_ BOOL - ION_
TYPE_ CLOB - ION_
TYPE_ DATAGRAM - ION_
TYPE_ DECIMAL - ION_
TYPE_ EOF - ION_
TYPE_ FLOAT - ION_
TYPE_ INT - ION_
TYPE_ LIST - ION_
TYPE_ NONE - ION_
TYPE_ NULL - ION_
TYPE_ SEXP - ION_
TYPE_ STRING - ION_
TYPE_ STRUCT - ION_
TYPE_ SYMBOL - ION_
TYPE_ TIMESTAMP - ION_
VERSION_ MARKER_ LENGTH - L_
ctermid - L_
tmpnam - MAX_
INT32 - MAX_
INT64 - MAX_
SIZE - MINSIGSTKSZ
- MIN_
INT32 - MIN_
INT64 - NGREG
- NSIG
- POLL_
ERR - POLL_
HUP - POLL_IN
- POLL_
MSG - POLL_
OUT - POLL_
PRI - PTRDIFF_
MAX - PTRDIFF_
MIN - P_
tmpdir - SA_
INTERRUPT - SA_
NOCLDSTOP - SA_
NOCLDWAIT - SA_
NODEFER - SA_
NOMASK - SA_
ONESHOT - SA_
ONSTACK - SA_
RESETHAND - SA_
RESTART - SA_
SIGINFO - SA_
STACK - SEEK_
CUR - SEEK_
END - SEEK_
SET - SEGV_
ACCADI - SEGV_
ACCERR - SEGV_
ADIDERR - SEGV_
ADIPERR - SEGV_
BNDERR - SEGV_
MAPERR - SEGV_
MTEAERR - SEGV_
MTESERR - SEGV_
PKUERR - SIGABRT
- SIGALRM
- SIGBUS
- SIGCHLD
- SIGCLD
- SIGCONT
- SIGEV_
NONE - SIGEV_
SIGNAL - SIGEV_
THREAD - SIGEV_
THREAD_ ID - SIGFPE
- SIGHUP
- SIGILL
- SIGINT
- SIGIO
- SIGIOT
- SIGKILL
- SIGPIPE
- SIGPOLL
- SIGPROF
- SIGPWR
- SIGQUIT
- SIGSEGV
- SIGSTKFLT
- SIGSTKSZ
- SIGSTOP
- SIGSYS
- SIGTERM
- SIGTRAP
- SIGTSTP
- SIGTTIN
- SIGTTOU
- SIGURG
- SIGUSR1
- SIGUSR2
- SIGVTALRM
- SIGWINCH
- SIGXCPU
- SIGXFSZ
- SIG_
ATOMIC_ MAX - SIG_
ATOMIC_ MIN - SIG_
BLOCK - SIG_
SETMASK - SIG_
UNBLOCK - SIZE_
MAX - SI_
ASYNCIO - SI_
ASYNCNL - SI_
DETHREAD - SI_
KERNEL - SI_
MESGQ - SI_
QUEUE - SI_
SIGIO - SI_
TIMER - SI_
TKILL - SI_USER
- SS_
DISABLE - SS_
ONSTACK - TIMER_
ABSTIME - TIME_
UTC - TMP_MAX
- TRUE
- UINT8_
MAX - UINT16_
MAX - UINT32_
MAX - UINTPTR_
MAX - UINT_
FAST8_ MAX - UINT_
FAST16_ MAX - UINT_
FAST32_ MAX - UINT_
LEAS T8_ MAX - UINT_
LEAS T16_ MAX - UINT_
LEAS T32_ MAX - UNKNOWN_
SID - WINT_
MAX - WINT_
MIN - _ATFILE_
SOURCE - _BITS_
ENDIANNESS_ H - _BITS_
ENDIAN_ H - _BITS_
PTHREADTYPES_ ARCH_ H - _BITS_
PTHREADTYPES_ COMMON_ H - _BITS_
SIGACTION_ H - _BITS_
SIGCONTEXT_ H - _BITS_
SIGEVENT_ CONSTS_ H - _BITS_
SIGINFO_ ARCH_ H - _BITS_
SIGINFO_ CONSTS_ H - _BITS_
SIGNUM_ ARCH_ H - _BITS_
SIGNUM_ GENERIC_ H - _BITS_
SIGSTACK_ H - _BITS_
SIGTHREAD_ H - _BITS_
SS_ FLAGS_ H - _BITS_
STDINT_ INTN_ H - _BITS_
STDINT_ UINTN_ H - _BITS_
STDIO_ LIM_ H - _BITS_
TIME64_ H - _BITS_
TIME_ H - _BITS_
TYPESIZES_ H - _BITS_
TYPES_ H - _BITS_
TYPES_ LOCALE_ T_ H - _BITS_
TYPES___ LOCALE_ T_ H - _BITS_
WCHAR_ H - _DEFAULT_
SOURCE - _FEATURES_
H - _IOFBF
- _IOLBF
- _IONBF
- _ION_
SYMBOL_ TABLE_ TYPE_ ist_ EMPTY - _ION_
SYMBOL_ TABLE_ TYPE_ ist_ LOCAL - _ION_
SYMBOL_ TABLE_ TYPE_ ist_ SHARED - _ION_
SYMBOL_ TABLE_ TYPE_ ist_ SYSTEM - _IO_
EOF_ SEEN - _IO_
ERR_ SEEN - _IO_
USER_ LOCK - _NSIG
- _POSIX_
C_ SOURCE - _POSIX_
SOURCE - _STDC_
PREDEF_ H - _STDINT_
H - _STDIO_
H - _STRINGS_
H - _STRING_
H - _STRUCT_
TIMESPEC - _SYS_
CDEFS_ H - _SYS_
UCONTEXT_ H - _THREAD_
MUTEX_ INTERNAL_ H - _THREAD_
SHARED_ TYPES_ H - _TIME_H
- __
BIG_ ENDIAN - __
BYTE_ ORDER - __
FD_ SETSIZE - __
FILE_ defined - __
FLOAT_ WORD_ ORDER - __
GLIBC_ MINOR__ - __
GLIBC_ USE_ DEPRECATED_ GETS - __
GLIBC_ USE_ DEPRECATED_ SCANF - __
GLIBC_ USE_ IEC_ 60559_ BFP_ EXT - __
GLIBC_ USE_ IEC_ 60559_ BFP_ EXT_ C2X - __
GLIBC_ USE_ IEC_ 60559_ EXT - __
GLIBC_ USE_ IEC_ 60559_ FUNCS_ EXT - __
GLIBC_ USE_ IEC_ 60559_ FUNCS_ EXT_ C2X - __
GLIBC_ USE_ IEC_ 60559_ TYPES_ EXT - __
GLIBC_ USE_ ISOC2X - __
GLIBC_ USE_ LIB_ EXT2 - __
GLIBC__ - __
GNUC_ VA_ LIST - __
GNU_ LIBRARY__ - __
HAVE_ DISTINCT_ FLOA T16 - __
HAVE_ DISTINCT_ FLOA T32 - __
HAVE_ DISTINCT_ FLOA T64 - __
HAVE_ DISTINCT_ FLOA T32X - __
HAVE_ DISTINCT_ FLOA T64X - __
HAVE_ DISTINCT_ FLOA T128 - __
HAVE_ DISTINCT_ FLOA T128X - __
HAVE_ FLOA T16 - __
HAVE_ FLOA T32 - __
HAVE_ FLOA T64 - __
HAVE_ FLOA T32X - __
HAVE_ FLOA T64X - __
HAVE_ FLOA T64X_ LONG_ DOUBLE - __
HAVE_ FLOA T128 - __
HAVE_ FLOA T128X - __
HAVE_ FLOATN_ NOT_ TYPEDEF - __
HAVE_ GENERIC_ SELECTION - __
INO_ T_ MATCHES_ INO64_ T - __
KERNEL_ OLD_ TIMEVAL_ MATCHES_ TIMEVA L64 - __
LDOUBLE_ REDIRECTS_ TO_ FLOA T128_ ABI - __
LITTLE_ ENDIAN - __NGREG
- __
OFF_ T_ MATCHES_ OFF64_ T - __
PDP_ ENDIAN - __
PTHREAD_ MUTEX_ HAVE_ PREV - __
RLIM_ T_ MATCHES_ RLIM64_ T - __
SIGEV_ MAX_ SIZE - __
SIGRTMAX - __
SIGRTMIN - __
SIZEOF_ PTHREAD_ ATTR_ T - __
SIZEOF_ PTHREAD_ BARRIERATTR_ T - __
SIZEOF_ PTHREAD_ BARRIER_ T - __
SIZEOF_ PTHREAD_ CONDATTR_ T - __
SIZEOF_ PTHREAD_ COND_ T - __
SIZEOF_ PTHREAD_ MUTEXATTR_ T - __
SIZEOF_ PTHREAD_ MUTEX_ T - __
SIZEOF_ PTHREAD_ RWLOCKATTR_ T - __
SIZEOF_ PTHREAD_ RWLOCK_ T - __
SI_ ASYNCIO_ AFTER_ SIGIO - __
SI_ ERRNO_ THEN_ CODE - __
SI_ HAVE_ SIGSYS - __
SI_ MAX_ SIZE - __
STATFS_ MATCHES_ STATF S64 - __
STDC_ IEC_ 559_ COMPLEX__ - __
STDC_ IEC_ 559__ - __
STDC_ IEC_ 60559_ BFP__ - __
STDC_ IEC_ 60559_ COMPLEX__ - __
STDC_ ISO_ 10646__ - __
SYSCALL_ WORDSIZE - __
TIMESIZE - __
USE_ ATFILE - __
USE_ FORTIFY_ LEVEL - __
USE_ ISOC11 - __
USE_ ISOC95 - __
USE_ ISOC99 - __
USE_ MISC - __
USE_ POSIX - __
USE_ POSI X2 - __
USE_ POSI X199309 - __
USE_ POSI X199506 - __
USE_ POSIX_ IMPLICITLY - __
USE_ XOPE N2K - __
USE_ XOPE N2K8 - __
WORDSIZE - __
WORDSIZE_ TIME64_ COMPA T32 - ____
FILE_ defined - _____
fpos64_ t_ defined - _____
fpos_ t_ defined - ____
mbstate_ t_ defined - __
clock_ t_ defined - __
clockid_ t_ defined - __
glibc_ c99_ flexarr_ available - __
have_ pthread_ attr_ t - __
itimerspec_ defined - __
sig_ atomic_ t_ defined - __
sigevent_ t_ defined - __
siginfo_ t_ defined - __
sigset_ t_ defined - __
sigstack_ defined - __
stack_ t_ defined - __
struct_ FILE_ defined - __
struct_ tm_ defined - __
time_ t_ defined - __
timer_ t_ defined - decClass_
DEC_ CLASS_ NEG_ INF - decClass_
DEC_ CLASS_ NEG_ NORMAL - decClass_
DEC_ CLASS_ NEG_ SUBNORMAL - decClass_
DEC_ CLASS_ NEG_ ZERO - decClass_
DEC_ CLASS_ POS_ INF - decClass_
DEC_ CLASS_ POS_ NORMAL - decClass_
DEC_ CLASS_ POS_ SUBNORMAL - decClass_
DEC_ CLASS_ POS_ ZERO - decClass_
DEC_ CLASS_ QNAN - decClass_
DEC_ CLASS_ SNAN - ion_
error_ code_ IERR_ BAD_ BASE64_ BLOB - ion_
error_ code_ IERR_ BAD_ HANDLE - ion_
error_ code_ IERR_ BUFFER_ TOO_ SMALL - ion_
error_ code_ IERR_ CANT_ FIND_ FILE - ion_
error_ code_ IERR_ DUPLICATE_ SYMBOL - ion_
error_ code_ IERR_ DUPLICATE_ SYMBOL_ ID - ion_
error_ code_ IERR_ ENTRY_ NOT_ FOUND - ion_
error_ code_ IERR_ EOF - ion_
error_ code_ IERR_ HAS_ LOCAL_ SYMBOLS - ion_
error_ code_ IERR_ IMPORT_ NOT_ FOUND - ion_
error_ code_ IERR_ INTERNAL_ ERROR - ion_
error_ code_ IERR_ INVALID_ ARG - ion_
error_ code_ IERR_ INVALID_ BINARY - ion_
error_ code_ IERR_ INVALID_ ESCAPE_ SEQUENCE - ion_
error_ code_ IERR_ INVALID_ FIELDNAME - ion_
error_ code_ IERR_ INVALID_ ION_ VERSION - ion_
error_ code_ IERR_ INVALID_ LEADING_ ZEROS - ion_
error_ code_ IERR_ INVALID_ LOB_ TERMINATOR - ion_
error_ code_ IERR_ INVALID_ STATE - ion_
error_ code_ IERR_ INVALID_ SYMBOL - ion_
error_ code_ IERR_ INVALID_ SYMBOL_ LIST - ion_
error_ code_ IERR_ INVALID_ SYMBOL_ TABLE - ion_
error_ code_ IERR_ INVALID_ SYNTAX - ion_
error_ code_ IERR_ INVALID_ TIMESTAMP - ion_
error_ code_ IERR_ INVALID_ TOKEN - ion_
error_ code_ IERR_ INVALID_ TOKEN_ CHAR - ion_
error_ code_ IERR_ INVALID_ UNICODE_ SEQUENCE - ion_
error_ code_ IERR_ INVALID_ UTF8 - ion_
error_ code_ IERR_ INVALID_ UTF8_ CHAR - ion_
error_ code_ IERR_ IS_ IMMUTABLE - ion_
error_ code_ IERR_ KEY_ ADDED - ion_
error_ code_ IERR_ KEY_ ALREADY_ EXISTS - ion_
error_ code_ IERR_ KEY_ NOT_ FOUND - ion_
error_ code_ IERR_ LOOKAHEAD_ OVERFLOW - ion_
error_ code_ IERR_ MARK_ NOT_ SET - ion_
error_ code_ IERR_ MAX_ ERROR_ CODE - ion_
error_ code_ IERR_ NEW_ LINE_ IN_ STRING - ion_
error_ code_ IERR_ NOT_ A_ SYMBOL_ TABLE - ion_
error_ code_ IERR_ NOT_ IMPL - ion_
error_ code_ IERR_ NO_ MEMORY - ion_
error_ code_ IERR_ NO_ SUCH_ ELEMENT - ion_
error_ code_ IERR_ NULL_ VALUE - ion_
error_ code_ IERR_ NUMERIC_ OVERFLOW - ion_
error_ code_ IERR_ OK - ion_
error_ code_ IERR_ PARSER_ INTERNAL - ion_
error_ code_ IERR_ READ_ ERROR - ion_
error_ code_ IERR_ SEEK_ ERROR - ion_
error_ code_ IERR_ STACK_ UNDERFLOW - ion_
error_ code_ IERR_ STREAM_ FAILED - ion_
error_ code_ IERR_ TOKEN_ TOO_ LONG - ion_
error_ code_ IERR_ TOO_ MANY_ ANNOTATIONS - ion_
error_ code_ IERR_ UNEXPECTED_ EOF - ion_
error_ code_ IERR_ UNREAD_ LIMIT_ EXCEEDED - ion_
error_ code_ IERR_ UNRECOGNIZED_ FLOAT - ion_
error_ code_ IERR_ WRITE_ ERROR - rounding_
DEC_ ROUND_ 05UP - rounding_
DEC_ ROUND_ CEILING - rounding_
DEC_ ROUND_ DOWN - rounding_
DEC_ ROUND_ FLOOR - rounding_
DEC_ ROUND_ HALF_ DOWN - rounding_
DEC_ ROUND_ HALF_ EVEN - rounding_
DEC_ ROUND_ HALF_ UP - rounding_
DEC_ ROUND_ MAX - rounding_
DEC_ ROUND_ UP - tid_
BLOB_ INT - tid_
BOOL_ INT - tid_
CLOB_ INT - tid_
DATAGRAM_ INT - tid_
DECIMAL_ INT - tid_
EOF_ INT - tid_
FLOAT_ INT - tid_
INT_ INT - tid_
LIST_ INT - tid_
NULL_ INT - tid_
SEXP_ INT - tid_
STRING_ INT - tid_
STRUCT_ INT - tid_
SYMBOL_ INT - tid_
TIMESTAMP_ INT - tid_
none_ INT
Statics§
- ION_
SYMBOL_ ⚠IMPORTS_ BYTES - ION_
SYMBOL_ ⚠IMPORTS_ STRING - ION_
SYMBOL_ ⚠ION_ BYTES - ION_
SYMBOL_ ⚠ION_ STRING - ION_
SYMBOL_ ⚠MAX_ ID_ BYTES - ION_
SYMBOL_ ⚠MAX_ ID_ STRING - ION_
SYMBOL_ ⚠NAME_ BYTES - ION_
SYMBOL_ ⚠NAME_ STRING - ION_
SYMBOL_ ⚠SHARED_ SYMBOL_ TABLE_ BYTES - ION_
SYMBOL_ ⚠SHARED_ SYMBOL_ TABLE_ STRING - ION_
SYMBOL_ ⚠SYMBOLS_ BYTES - ION_
SYMBOL_ ⚠SYMBOLS_ STRING - ION_
SYMBOL_ ⚠SYMBOL_ TABLE_ BYTES - ION_
SYMBOL_ ⚠SYMBOL_ TABLE_ STRING - ION_
SYMBOL_ ⚠VERSION_ BYTES - ION_
SYMBOL_ ⚠VERSION_ STRING - ION_
SYMBOL_ ⚠VTM_ BYTES - ION_
SYMBOL_ ⚠VTM_ STRING - SYSTEM_
SYMBOLS ⚠ - The set of system symbols as defined by Ion 1.0.
- __
daylight ⚠ - __
timezone ⚠ - __
tzname ⚠ - daylight⚠
- g_
Int_ ⚠Null - g_
Int_ ⚠Zero - g_
digit_ ⚠base_ number - g_
digit_ ⚠base_ quad - g_
int_ ⚠zero_ bytes - g_
ion_ ⚠debug_ tracing - DEPRECATED - use the accessor functions below.
- g_
ion_ ⚠int_ globals_ initialized - stderr⚠
- stdin⚠
- stdout⚠
- timezone⚠
- tzname⚠
Functions§
- __
getdelim ⚠ - __
libc_ ⚠current_ sigrtmax - __
libc_ ⚠current_ sigrtmin - __
memcmpeq ⚠ - __
overflow ⚠ - __
stpcpy ⚠ - __
stpncpy ⚠ - __
strtok_ ⚠r - __
sysv_ ⚠signal - __uflow⚠
- _ion_
decimal_ ⚠from_ string_ helper - _ion_
decimal_ ⚠number_ alloc - _ion_
decimal_ ⚠to_ string_ number_ helper - _ion_
decimal_ ⚠to_ string_ quad_ helper - _ion_
int_ ⚠abs_ bytes_ length_ helper - _ion_
int_ ⚠abs_ bytes_ signed_ length_ helper - _ion_
int_ ⚠add_ digit - _ion_
int_ ⚠buffer_ temp_ copy - _ion_
int_ ⚠bytes_ length_ helper - _ion_
int_ ⚠divide_ by_ digit - _ion_
int_ ⚠dump_ quad - _ion_
int_ ⚠extend_ digits - _ion_
int_ ⚠free_ temp - _ion_
int_ ⚠from_ binary_ chars_ helper - _ion_
int_ ⚠from_ bytes_ helper - _ion_
int_ ⚠from_ chars_ helper - _ion_
int_ ⚠from_ decimal_ number - _ion_
int_ ⚠from_ hex_ chars_ helper - _ion_
int_ ⚠from_ radix_ chars_ helper - _ion_
int_ ⚠get_ char_ len_ helper - _ion_
int_ ⚠highest_ bit_ set_ helper - _ion_
int_ ⚠init - _ion_
int_ ⚠init_ globals - _ion_
int_ ⚠is_ high_ bytes_ high_ bit_ set_ helper - _ion_
int_ ⚠is_ null_ helper - _ion_
int_ ⚠is_ zero - _ion_
int_ ⚠is_ zero_ bytes - _ion_
int_ ⚠multiply_ and_ add - _ion_
int_ ⚠realloc_ helper - _ion_
int_ ⚠sub_ digit - _ion_
int_ ⚠to_ bytes_ helper - _ion_
int_ ⚠to_ decimal_ number - _ion_
int_ ⚠to_ int64_ helper - _ion_
int_ ⚠to_ string_ helper - _ion_
int_ ⚠validate_ arg - _ion_
int_ ⚠validate_ arg_ with_ ptr - _ion_
int_ ⚠validate_ non_ null_ arg_ with_ ptr - _ion_
int_ ⚠zero - asctime⚠
- asctime_
r ⚠ - bcmp⚠
- bcopy⚠
- bzero⚠
- clearerr⚠
- clearerr_
unlocked ⚠ - clock⚠
- clock_
getcpuclockid ⚠ - clock_
getres ⚠ - clock_
gettime ⚠ - clock_
nanosleep ⚠ - clock_
settime ⚠ - ctermid⚠
- ctime⚠
- ctime_r⚠
- decContext
Clear ⚠Status - decContext
Default ⚠ - decContext
GetRounding ⚠ - decContext
GetStatus ⚠ - decContext
Restore ⚠Status - decContext
Save ⚠Status - decContext
SetRounding ⚠ - decContext
SetStatus ⚠ - decContext
SetStatus ⚠From String - decContext
SetStatus ⚠From String Quiet - decContext
SetStatus ⚠Quiet - decContext
Status ⚠ToString - decContext
Test ⚠Endian - decContext
Test ⚠Saved Status - decContext
Test ⚠Status - decContext
Zero ⚠Status - decNumber
Abs ⚠ - decNumber
Add ⚠ - decNumber
And ⚠ - decNumber
Class ⚠ - decNumber
Class ⚠ToString - decNumber
Compare ⚠ - decNumber
Compare ⚠Signal - decNumber
Compare ⚠Total - decNumber
Compare ⚠Total Mag - decNumber
Copy ⚠ - decNumber
Copy ⚠Abs - decNumber
Copy ⚠Negate - decNumber
Copy ⚠Sign - decNumber
Divide ⚠ - decNumber
Divide ⚠Integer - decNumber
Exp ⚠ - decNumberFMA⚠
- decNumber
From ⚠Int32 - decNumber
From ⚠String - decNumber
FromU ⚠Int32 - decNumber
GetBCD ⚠ - decNumber
Invert ⚠ - decNumber
IsNormal ⚠ - decNumber
IsSubnormal ⚠ - decNumber
Ln ⚠ - decNumber
Log10 ⚠ - decNumber
LogB ⚠ - decNumber
Max ⚠ - decNumber
MaxMag ⚠ - decNumber
Min ⚠ - decNumber
MinMag ⚠ - decNumber
Minus ⚠ - decNumber
Multiply ⚠ - decNumber
Next ⚠Minus - decNumber
Next ⚠Plus - decNumber
Next ⚠Toward - decNumber
Normalize ⚠ - decNumber
Or ⚠ - decNumber
Plus ⚠ - decNumber
Power ⚠ - decNumber
Quantize ⚠ - decNumber
Reduce ⚠ - decNumber
Remainder ⚠ - decNumber
Remainder ⚠Near - decNumber
Rescale ⚠ - decNumber
Rotate ⚠ - decNumber
Same ⚠Quantum - decNumber
ScaleB ⚠ - decNumber
SetBCD ⚠ - decNumber
Shift ⚠ - decNumber
Square ⚠Root - decNumber
Subtract ⚠ - decNumber
ToEng ⚠String - decNumber
ToInt32 ⚠ - decNumber
ToIntegral ⚠Exact - decNumber
ToIntegral ⚠Value - decNumber
ToString ⚠ - decNumber
ToUInt32 ⚠ - decNumber
Trim ⚠ - decNumber
Version ⚠ - decNumber
Xor ⚠ - decNumber
Zero ⚠ - decQuad
Abs ⚠ - decQuad
Add ⚠ - decQuad
And ⚠ - decQuad
Canonical ⚠ - decQuad
Class ⚠ - decQuad
Class ⚠String - decQuad
Compare ⚠ - decQuad
Compare ⚠Signal - decQuad
Compare ⚠Total - decQuad
Compare ⚠Total Mag - decQuad
Copy ⚠ - decQuad
Copy ⚠Abs - decQuad
Copy ⚠Negate - decQuad
Copy ⚠Sign - decQuad
Digits ⚠ - decQuad
Divide ⚠ - decQuad
Divide ⚠Integer - decQuadFMA⚠
- decQuad
FromBCD ⚠ - decQuad
From ⚠Int32 - decQuad
From ⚠Packed - decQuad
From ⚠Packed Checked - decQuad
From ⚠String - decQuad
FromU ⚠Int32 - decQuad
GetCoefficient ⚠ - decQuad
GetExponent ⚠ - decQuad
Invert ⚠ - decQuad
IsCanonical ⚠ - decQuad
IsFinite ⚠ - decQuad
IsInfinite ⚠ - decQuad
IsInteger ⚠ - decQuad
IsLogical ⚠ - decQuad
IsNaN ⚠ - decQuad
IsNegative ⚠ - decQuad
IsNormal ⚠ - decQuad
IsPositive ⚠ - decQuad
IsSignaling ⚠ - decQuad
IsSignalling ⚠ - decQuad
IsSigned ⚠ - decQuad
IsSubnormal ⚠ - decQuad
IsZero ⚠ - decQuad
LogB ⚠ - decQuad
Max ⚠ - decQuad
MaxMag ⚠ - decQuad
Min ⚠ - decQuad
MinMag ⚠ - decQuad
Minus ⚠ - decQuad
Multiply ⚠ - decQuad
Next ⚠Minus - decQuad
Next ⚠Plus - decQuad
Next ⚠Toward - decQuad
Or ⚠ - decQuad
Plus ⚠ - decQuad
Quantize ⚠ - decQuad
Radix ⚠ - decQuad
Reduce ⚠ - decQuad
Remainder ⚠ - decQuad
Remainder ⚠Near - decQuad
Rotate ⚠ - decQuad
Same ⚠Quantum - decQuad
ScaleB ⚠ - decQuad
SetCoefficient ⚠ - decQuad
SetExponent ⚠ - decQuad
Shift ⚠ - decQuad
Show ⚠ - decQuad
Subtract ⚠ - decQuad
ToBCD ⚠ - decQuad
ToEng ⚠String - decQuad
ToInt32 ⚠ - decQuad
ToInt32 ⚠Exact - decQuad
ToIntegral ⚠Exact - decQuad
ToIntegral ⚠Value - decQuad
ToPacked ⚠ - decQuad
ToString ⚠ - decQuad
ToUInt32 ⚠ - decQuad
ToUInt32 ⚠Exact - decQuad
Version ⚠ - decQuad
Xor ⚠ - decQuad
Zero ⚠ - difftime⚠
- dprintf⚠
- dysize⚠
- explicit_
bzero ⚠ - fclose⚠
- fdopen⚠
- feof⚠
- feof_
unlocked ⚠ - ferror⚠
- ferror_
unlocked ⚠ - fflush⚠
- fflush_
unlocked ⚠ - ffs⚠
- ffsl⚠
- ffsll⚠
- fgetc⚠
- fgetc_
unlocked ⚠ - fgetpos⚠
- fgets⚠
- fileno⚠
- fileno_
unlocked ⚠ - flockfile⚠
- fmemopen⚠
- fopen⚠
- fprintf⚠
- fputc⚠
- fputc_
unlocked ⚠ - fputs⚠
- fread⚠
- fread_
unlocked ⚠ - freopen⚠
- fscanf⚠
- fscanf1⚠
- fseek⚠
- fseeko⚠
- fsetpos⚠
- ftell⚠
- ftello⚠
- ftrylockfile⚠
- funlockfile⚠
- fwrite⚠
- fwrite_
unlocked ⚠ - getc⚠
- getc_
unlocked ⚠ - getchar⚠
- getchar_
unlocked ⚠ - getdelim⚠
- getline⚠
- getw⚠
- gmtime⚠
- gmtime_
r ⚠ - gsignal⚠
- index⚠
- ion_
catalog_ ⚠add_ symbol_ table - ion_
catalog_ ⚠close - If the given catalog is its own memory owner, its memory and everything it owns is freed. If the given catalog has an external owner and that owner has not been freed, this does nothing; this catalog will be freed when its memory owner is freed. If the given symbol table has an external owner which has been freed, the behavior of this function is undefined.
- ion_
catalog_ ⚠find_ best_ match - ion_
catalog_ ⚠find_ symbol_ table - ion_
catalog_ ⚠get_ symbol_ table_ count - ion_
catalog_ ⚠open - Allocates a new catalog with itself as its memory owner. Must be freed using
ion_catalog_close. @param p_hcatalog - Pointer to a handle to the newly-allocated catalog. - ion_
catalog_ ⚠open_ with_ owner - Allocates a new catalog with the given owner as its memory owner.
@param p_hcatalog - Pointer to a handle to the newly-allocated catalog.
@param owner - Handle to the new catalog’s memory owner. If NULL, the resulting catalog is its own memory owner and
must be freed using
ion_catalog_close. - ion_
catalog_ ⚠release_ symbol_ table - ion_
debug_ ⚠has_ tracing - ion_
debug_ ⚠set_ tracing - ion_
decimal_ ⚠abs - ion_
decimal_ ⚠add - ion_
decimal_ ⚠and - ion_
decimal_ ⚠canonical - ion_
decimal_ ⚠claim - If necessary, copies the given decimal’s internal data so that owner of that data may safely go out of scope. This is
useful, for example, when it is necessary to keep the value in scope after the reader that produced it is closed.
Values produced through calls to
ion_decimal_*APIs (with the possible exception ofion_decimal_from_number) do NOT need to be claimed. - ion_
decimal_ ⚠compare - Compares ION_DECIMALs for ordering and equivalence under the Ion data model. A negative result indicates that
leftis less thanright. A positive result indicates thatleftis greater thanright. A result of zero indicates thatleftandrightare equivalent under the Ion data model. Non-equivalent values are ordered according to the IEEE 754 total ordering. - ion_
decimal_ ⚠copy - ion_
decimal_ ⚠copy_ abs - ion_
decimal_ ⚠copy_ negate - ion_
decimal_ ⚠copy_ sign - ion_
decimal_ ⚠digits - ion_
decimal_ ⚠divide - ion_
decimal_ ⚠divide_ integer - ion_
decimal_ ⚠equals - Compares ION_DECIMALs for equivalence under the Ion data model. That is, the sign, coefficient, and exponent must be equivalent for the normalized values (even for zero).
- ion_
decimal_ ⚠equals_ quad - Compares decQuads for equivalence under the Ion data model. That is, the sign, coefficient, and exponent must be equivalent for the normalized values (even for zero).
- ion_
decimal_ ⚠fma - ion_
decimal_ ⚠free - Frees any memory that was allocated when constructing this value. This should be called to clean up all ION_DECIMALs.
- ion_
decimal_ ⚠from_ int32 - Represents the given int32 as an ION_DECIMAL.
- ion_
decimal_ ⚠from_ ion_ int - Converts the given ION_INT to its ION_DECIMAL representation.
- ion_
decimal_ ⚠from_ number - Represents the given decNumber as an ION_DECIMAL. This function does not allocate or copy any memory, so the caller
IS required to keep the given decNumber in scope for the lifetime of the resulting ION_DECIMAL. If desired, the
caller can alleviate this requirement by calling
ion_decimal_claimon the resulting ION_DECIMAL (note that this forces a copy). It is the caller’s responsibility to eventually free any dynamically allocated memory used by the given decNumber (callingion_decimal_freewill not free this memory). - ion_
decimal_ ⚠from_ quad - Represents the given decQuad as an ION_DECIMAL. The caller IS NOT required to keep the given decQuad in scope for the lifetime of the resulting ION_DECIMAL.
- ion_
decimal_ ⚠from_ string - Converts the given string to its ION_DECIMAL representation.
- ion_
decimal_ ⚠from_ uint32 - Represents the given uint32 as an ION_DECIMAL.
- ion_
decimal_ ⚠get_ exponent - ion_
decimal_ ⚠invert - ion_
decimal_ ⚠is_ canonical - ion_
decimal_ ⚠is_ finite - ion_
decimal_ ⚠is_ infinite - ion_
decimal_ ⚠is_ integer - ion_
decimal_ ⚠is_ nan - ion_
decimal_ ⚠is_ negative - ion_
decimal_ ⚠is_ normal - ion_
decimal_ ⚠is_ subnormal - ion_
decimal_ ⚠is_ zero - ion_
decimal_ ⚠logb - ion_
decimal_ ⚠max - ion_
decimal_ ⚠max_ mag - ion_
decimal_ ⚠min - ion_
decimal_ ⚠min_ mag - ion_
decimal_ ⚠minus - ion_
decimal_ ⚠multiply - ion_
decimal_ ⚠or - ion_
decimal_ ⚠plus - ion_
decimal_ ⚠quantize - ion_
decimal_ ⚠radix - ion_
decimal_ ⚠reduce - ion_
decimal_ ⚠remainder - ion_
decimal_ ⚠remainder_ near - ion_
decimal_ ⚠rotate - ion_
decimal_ ⚠same_ quantum - ion_
decimal_ ⚠scaleb - ion_
decimal_ ⚠shift - ion_
decimal_ ⚠subtract - ion_
decimal_ ⚠to_ int32 - ion_
decimal_ ⚠to_ integral_ exact - ion_
decimal_ ⚠to_ integral_ value - ion_
decimal_ ⚠to_ ion_ int - Converts the given ION_DECIMAL to its ION_INT representation. If the given ION_DECIMAL is not an integer,
IERR_INVALID_ARG will be returned; rounding will never occur. If rounding is desired, use
ion_decimal_to_integral_exactorion_decimal_to_integral_valuefirst. - ion_
decimal_ ⚠to_ string - Converts the given ION_DECIMAL to a string.
ION_DECIMAL_STRLENmay be used to determine the amount of space required to hold the string representation. - ion_
decimal_ ⚠to_ uint32 - ion_
decimal_ ⚠xor - ion_
decimal_ ⚠zero - Zeroes the given ION_DECIMAL in-place. NOTE: this has better performance than memset in certain environments.
- ion_
error_ ⚠to_ str - Gets a static string representation of an error code.
- ion_
float_ ⚠is_ negative_ zero - ion_
int_ ⚠abs_ bytes_ length - ion_
int_ ⚠alloc - ion_
int_ ⚠byte_ length - ion_
int_ ⚠char_ length - ion_
int_ ⚠compare - ion_
int_ ⚠copy - ion_
int_ ⚠free - ion_
int_ ⚠from_ abs_ bytes - ion_
int_ ⚠from_ binary_ chars - ion_
int_ ⚠from_ binary_ string - ion_
int_ ⚠from_ bytes - ion_
int_ ⚠from_ chars - ion_
int_ ⚠from_ decimal - @deprecated use of decQuads directly is deprecated. ION_DECIMAL should be used. See
ion_decimal_to_ion_int. - ion_
int_ ⚠from_ hex_ chars - ion_
int_ ⚠from_ hex_ string - ion_
int_ ⚠from_ long - ion_
int_ ⚠from_ string - ion_
int_ ⚠highest_ bit_ set - ion_
int_ ⚠init - ion_
int_ ⚠is_ null - ion_
int_ ⚠is_ zero - ion_
int_ ⚠signum - ion_
int_ ⚠to_ abs_ bytes - ion_
int_ ⚠to_ bytes - ion_
int_ ⚠to_ char - ion_
int_ ⚠to_ decimal - @deprecated use of decQuads directly is deprecated. ION_DECIMAL should be used. See
ion_decimal_from_ion_int. - ion_
int_ ⚠to_ int32 - ion_
int_ ⚠to_ int64 - ion_
int_ ⚠to_ string - ion_
reader_ ⚠close - Closes a reader and releases associated memory. The caller is responsible for releasing the underlying buffer (if any). After calling this method the given handle will no longer be value.
- ion_
reader_ ⚠get_ an_ annotation - ion_
reader_ ⚠get_ an_ annotation_ symbol - ion_
reader_ ⚠get_ annotation_ count - ion_
reader_ ⚠get_ annotation_ symbols - ion_
reader_ ⚠get_ annotations - ion_
reader_ ⚠get_ catalog - ion_
reader_ ⚠get_ depth - ion_
reader_ ⚠get_ field_ name - ion_
reader_ ⚠get_ field_ name_ symbol - ion_
reader_ ⚠get_ lob_ size - ion_
reader_ ⚠get_ position - ion_
reader_ ⚠get_ string_ length - Determines the content of the current text value, which must be an Ion string or symbol. The reader retains ownership of the returned byte array, and the caller must copy the data out (if necessary) before moving the cursor.
- ion_
reader_ ⚠get_ symbol_ table - returns the current symbol table the value the reader is currently positioned on. This can be used to reset the readers symbol table is you wish to seek in a stream which contains multiple symbol tables. This symbol table handle can be used to call ion_reader_set_symbol_table.
- ion_
reader_ ⚠get_ type - Returns the type of the current value, or tid_none if no value has been assigned. (before next() is called)
- ion_
reader_ ⚠get_ value_ length - returns the length of the value the reader is currently
positioned on. This length is appropriate to use later
when calling ion_reader_seek to limit “over-reading” in
the underlying stream which could result in errors that
are not really of interest. NOTE: readers of text data
will always set *p_length to -1 because text Ion data is
not length-prefixed. When the reader may be reading text
Ion data, the correct way to calculate a value’s length
is by subtracting the current value’s offset (see
ion_reader_get_value_offset) from the next value’s offset. This technique will work for both binary and text Ion data. - ion_
reader_ ⚠get_ value_ offset - returns the offset of the value the reader is currently positioned on. This offset is appropriate to use later to seek to.
- ion_
reader_ ⚠has_ annotation - ion_
reader_ ⚠has_ any_ annotations - ion_
reader_ ⚠is_ in_ struct - ion_
reader_ ⚠is_ null - ion_
reader_ ⚠next - Returns the next ION_TYPE in the stream. In case of EOF, IERR_OK will be returned. p_value_type = tid_EOF. @param hreader @param p_value_type ION_TYPE (tid_EOF, tid_BOOL, etc, defined in ion_const.h). tid_EOF if EOF.
- ion_
reader_ ⚠open - ion_
reader_ ⚠open_ buffer - Allocates a new reader consuming a given buffer of data.
- ion_
reader_ ⚠open_ stream - Create hREADER object, and associate it with the stream for reading.
- ion_
reader_ ⚠read_ bool - ion_
reader_ ⚠read_ decimal - @deprecated use of decQuads directly is deprecated. ION_DECIMAL should be used. See
ion_reader_read_ion_decimal. - ion_
reader_ ⚠read_ double - ion_
reader_ ⚠read_ int - Read integer value from Ion stream. The size of the integer is sizeof(int) If the value in the Ion stream does not fit into the variable, it will return with IERR_NUMERIC_OVERFLOW.
- ion_
reader_ ⚠read_ int32 - Read integer value from Ion stream. The size of the integer is sizeof(int32_t) If the value in the Ion stream does not fit into the variable, it will return with IERR_NUMERIC_OVERFLOW.
- ion_
reader_ ⚠read_ int64 - Read integer value from Ion stream. The size of the integer is sizeof(int64_t) If the value in the Ion stream does not fit into the variable, it will return with IERR_NUMERIC_OVERFLOW.
- ion_
reader_ ⚠read_ ion_ decimal - ion_
reader_ ⚠read_ ion_ int - Read integer value from Ion stream. This supports arbitary length integers defined by ion_int.
- ion_
reader_ ⚠read_ ion_ symbol - Read the current symbol value as an ION_SYMBOL.
- ion_
reader_ ⚠read_ lob_ bytes - ion_
reader_ ⚠read_ lob_ partial_ bytes - ion_
reader_ ⚠read_ long - Read integer value from Ion stream. The size of the integer is sizeof(long), which is 4 or 8 bytes depends on the OS If the value in the Ion stream does not fit into the variable, it will return with IERR_NUMERIC_OVERFLOW.
- ion_
reader_ ⚠read_ null - ion_
reader_ ⚠read_ partial_ string - ion_
reader_ ⚠read_ string - ion_
reader_ ⚠read_ timestamp - @return IERR_NULL_VALUE if the current value is null.timestamp.
- ion_
reader_ ⚠reset_ stream - Resets input stream for given reader.
- ion_
reader_ ⚠reset_ stream_ with_ length - Resets input user-managed stream for given reader.
- ion_
reader_ ⚠seek - moves the stream position to the specified offset. Resets the the state of the reader to be at the top level. As long as the specified position is at the first byte of a top-level value (just before the type description byte) this will work neatly. Do not attempt to seek to a value below the top level, as the view of the data is likely to be invalid.
- ion_
reader_ ⚠set_ symbol_ table - set the current symbol table to the table passed in. This can be used to reset the readers symbol table is you wish to seek in a stream which contains multiple symbol tables. This symbol table handle should be a handle returned by ion_reader_get_symbol_table.
- ion_
reader_ ⚠step_ in - ion_
reader_ ⚠step_ out - ion_
stream_ ⚠can_ mark - ion_
stream_ ⚠can_ read - ion_
stream_ ⚠can_ seek - ion_
stream_ ⚠can_ write - ion_
stream_ ⚠close - ion_
stream_ ⚠flush - ion_
stream_ ⚠get_ file_ stream - ion_
stream_ ⚠get_ mark_ start - ion_
stream_ ⚠get_ marked_ length - ion_
stream_ ⚠get_ position - ion_
stream_ ⚠is_ dirty - ion_
stream_ ⚠is_ mark_ open - ion_
stream_ ⚠mark - ion_
stream_ ⚠mark_ clear - ion_
stream_ ⚠mark_ remark - ion_
stream_ ⚠mark_ rewind - ion_
stream_ ⚠open_ buffer - ion_
stream_ ⚠open_ fd_ in - ion_
stream_ ⚠open_ fd_ out - ion_
stream_ ⚠open_ fd_ rw - ion_
stream_ ⚠open_ file_ in - ion_
stream_ ⚠open_ file_ out - ion_
stream_ ⚠open_ file_ rw - ion_
stream_ ⚠open_ handler_ in - ion_
stream_ ⚠open_ handler_ out - ion_
stream_ ⚠open_ memory_ only - ion_
stream_ ⚠open_ stderr - ion_
stream_ ⚠open_ stdin - ion_
stream_ ⚠open_ stdout - ion_
stream_ ⚠read - ion_
stream_ ⚠read_ byte - ion_
stream_ ⚠seek - ion_
stream_ ⚠skip - ion_
stream_ ⚠truncate - ion_
stream_ ⚠unread_ byte - ion_
stream_ ⚠write - ion_
stream_ ⚠write_ byte - ion_
stream_ ⚠write_ byte_ no_ checks - ion_
stream_ ⚠write_ stream - ion_
string_ ⚠assign - ion_
string_ ⚠assign_ cstr - ion_
string_ ⚠copy_ to_ owner - ion_
string_ ⚠get_ byte - Returns -1 is idx is out of range or str is null
- ion_
string_ ⚠get_ bytes - Gets a pointer to the UTF-8 bytes held by the string. The number of bytes in the string is determined via ion_string_get_length().
- ion_
string_ ⚠get_ length - Gets the number of UTF-8 bytes held by the string.
- ion_
string_ ⚠init - ion_
string_ ⚠is_ equal - ion_
string_ ⚠is_ null - ion_
string_ ⚠strdup - ion_
symbol_ ⚠copy_ to_ owner - Copies an ION_SYMBOL to a new memory owner.
- ion_
symbol_ ⚠is_ equal - Compares the two given ION_SYMBOLs for equality under the Ion data model.
- ion_
symbol_ ⚠table_ add_ import - Imports a shared symbol table into a local symbol table, given a description of the import and the catalog in which it can be found. NOTE: the best match for the described shared symbol table import that is available in the catalog will be used. If no match is found, all of the import’s symbols will be considered to have unknown text. @param hsymtab - The local symbol table into which the imported symbol table will be incorporated. @param pimport - The description of the shared symbol table to be imported. @param catalog - The catalog to query for the matching shared symbol table.
- ion_
symbol_ ⚠table_ add_ symbol - ion_
symbol_ ⚠table_ clone - Clones the given symbol table, using that symbol table’s memory owner as the owner of the newly allocated symbol table. @param hsymtab - They symbol table to clone. @param p_hclone - Pointer to a handle to the newly-allocated symbol table clone.
- ion_
symbol_ ⚠table_ clone_ with_ owner - Clones the given symbol table, using the given owner as the newly-allocated symbol table’s memory owner.
@param hsymtab - They symbol table to clone.
@param p_hclone - Pointer to a handle to the newly-allocated symbol table clone.
@param owner - Handle to the new symbol table’s memory owner. If NULL, the resulting symbol table is its own memory
owner and must be freed using
ion_symbol_table_close. - ion_
symbol_ ⚠table_ close - If the given symbol table is its own memory owner, its memory and everything it owns is freed. If the given symbol table has an external owner and that owner has not been freed, this does nothing; this symbol table will be freed when its memory owner is freed. If the given symbol table has an external owner which has been freed, the behavior of this function is undefined. NOTE: Symbol tables constructed and returned by readers and writers are owned by those readers and writers.
- ion_
symbol_ ⚠table_ find_ by_ name - ion_
symbol_ ⚠table_ find_ by_ sid - ion_
symbol_ ⚠table_ get_ imports - ion_
symbol_ ⚠table_ get_ local_ symbol - ion_
symbol_ ⚠table_ get_ max_ sid - ion_
symbol_ ⚠table_ get_ name - ion_
symbol_ ⚠table_ get_ symbol - ion_
symbol_ ⚠table_ get_ system_ table - Gets the global system symbol table for the given Ion version. This global system symbol table must never be closed. @param p_hsystem_table - Pointer to a handle to the global system symbol table. @param version - The Ion version. Currently, must be 1.
- ion_
symbol_ ⚠table_ get_ type - ion_
symbol_ ⚠table_ get_ version - ion_
symbol_ ⚠table_ import_ symbol_ table - Imports a shared symbol table into a local symbol table. @param hsymtab - The local symbol table into which the imported symbol table will be incorporated. @param hsymtab_import - The shared symbol table to import.
- ion_
symbol_ ⚠table_ is_ locked - ion_
symbol_ ⚠table_ is_ symbol_ known - ion_
symbol_ ⚠table_ load - Deserializes a symbol table (shared or local) from the given reader.
@param hreader - The reader, positioned at the start of the symbol table struct.
@param owner - Handle to the new symbol table’s memory owner. If NULL, the resulting symbol table is its own memory
owner and must be freed using
ion_symbol_table_close. @param p_hsymtab - Pointer to a handle to the newly-allocated symbol table. - ion_
symbol_ ⚠table_ lock - ion_
symbol_ ⚠table_ open - Allocates a new local symbol table.
@param p_hsymtab - Pointer to a handle to the newly-allocated symbol table.
@param owner - Handle to the new symbol table’s memory owner. If NULL, the resulting symbol table is its own memory
owner and must be freed using
ion_symbol_table_close. - ion_
symbol_ ⚠table_ open_ with_ type - Allocates a new local symbol table of the given type (i.e. shared or local).
@param p_hsymtab - Pointer to a handle to the newly-allocated symbol table.
@param owner - Handle to the new symbol table’s memory owner. If NULL, the resulting symbol table is its own memory
owner and must be freed using
ion_symbol_table_close. - ion_
symbol_ ⚠table_ set_ max_ sid - ion_
symbol_ ⚠table_ set_ name - ion_
symbol_ ⚠table_ set_ version - ion_
symbol_ ⚠table_ type_ to_ str - ion_
symbol_ ⚠table_ unload - Serializes a symbol table (shared or local) using the given writer. @param hsymtab - The symbol table to serialize. @param hwriter - The writer (text or binary).
- ion_
timestamp_ ⚠equals - Comparing two timestamps to see whether they represent the same point in time. Two timestamp of different precision will return false
- ion_
timestamp_ ⚠for_ day - Initialize ION_TIMESTAMP object with value specified. It will have ION_TS_DAY precision
- ion_
timestamp_ ⚠for_ fraction - Initialize ION_TIMESTAMP object with value specified. *p_fraction have a range of (0, 1), not including 0 (without significant digit) and 1. 0.0 (0d-1), 0.00(0d-2) is valid, while 0 or 0. is not.
- ion_
timestamp_ ⚠for_ minute - Initialize ION_TIMESTAMP object with value specified. It will have ION_TS_MIN precision
- ion_
timestamp_ ⚠for_ month - Initialize ION_TIMESTAMP object with value specified. It will have ION_TS_MONTH precision
- ion_
timestamp_ ⚠for_ second - Initialize ION_TIMESTAMP object with value specified. It will have ION_TS_SEC precision
- ion_
timestamp_ ⚠for_ time_ t - Initialize ION_TIMESTAMP object with value specified in time_t time_t can be constructed using time() or mktime(), timegm, and it contains ION_TS_SEC precision.
- ion_
timestamp_ ⚠for_ year - Initialize ION_TIMESTAMP object with value specified. It will have ION_TS_YEAR precision
- ion_
timestamp_ ⚠get_ local_ offset - Gets the effective local offset of a timestamp. The result is zero for timestamps with offsets “Z”, “+00:00”, or “-00:00”. In other words, if ion_timestamp_has_local_offset returns false, this returns zero.
- ion_
timestamp_ ⚠get_ precision - Get the time precision for the given timestamp object. The precision values are defined as ION_TS_YEAR, ION_TS_MONTH, ION_TS_DAY, ION_TS_MIN, ION_TS_SEC and ION_TS_FRAC
- ion_
timestamp_ ⚠get_ thru_ day - Get year, month, day If precision is not up to month/day, 0 will be returned as month/day value.
- ion_
timestamp_ ⚠get_ thru_ fraction - Get time up to fraction of second precision. If precision is not up to fraction, 0 will be returned.
- ion_
timestamp_ ⚠get_ thru_ minute - Get time up to minute precision. If precision is not up to hour/minute, 0 will be returned as hour/minute value.
- ion_
timestamp_ ⚠get_ thru_ month - Get year, month If precision is not up to month, 0 will be returned as month value.
- ion_
timestamp_ ⚠get_ thru_ second - Get time up to second precision. If precision is not up to hour/minute/second, 0 will be returned as hour/minute/second value.
- ion_
timestamp_ ⚠get_ thru_ year - Get year
- ion_
timestamp_ ⚠has_ local_ offset - Determines whether a timestamp has a defined local offset (for example, “+08:00” or “Z”. Otherwise, it’s local offest is unknown (“-00:00”), and effectively zero.
- ion_
timestamp_ ⚠instant_ equals - Compare timestamps for instant equality only (i.e. precision and local offsets need not be equivalent). NOTE: if this has any use externally, it could be exposed. If not, it should be removed.
- ion_
timestamp_ ⚠parse - Parse timestamp string and construct timestamp object in ptime. This expects a null terminated string.
- ion_
timestamp_ ⚠set_ local_ offset - Changes the local offset of a timestamp. If the timestamp has less than minute precision, the given offset is ignored and the timestamp is unchanged. If the timestamp is changed, ion_timestamp_has_local_offset will be true, and ion_timestamp_get_local_offset will be the given offset.
- ion_
timestamp_ ⚠to_ string - Get the string format of timestamp.
- ion_
timestamp_ ⚠to_ time_ t - Fill time_t with value in ION_TIMESTAMP
- ion_
timestamp_ ⚠unset_ local_ offset - Removes any local offset from a timestamp. Afterwards, ion_timestamp_has_local_offset will be false, and ion_timestamp_get_local_offset will be zero.
- ion_
writer_ ⚠add_ annotation - ion_
writer_ ⚠add_ annotation_ symbol - ion_
writer_ ⚠add_ imported_ tables - Adds the given list of imports to the writer’s list of imports. These imports will only be used in the writer’s current symbol table context. To configure the writer to use the same list of imports for each new symbol table context, convey that list of imports through ION_WRITER_OPTIONS.
- ion_
writer_ ⚠append_ lob - ion_
writer_ ⚠clear_ annotations - ion_
writer_ ⚠clear_ field_ name - ion_
writer_ ⚠close - Finishes the writer, frees the writer’s associated resources, and finally frees the writer itself. The writer may not continue writing to the stream after this function is called. If any value is in-progress, closing any writer raises an error, but still frees the writer and any associated memory.
- ion_
writer_ ⚠finish - Flushes pending bytes, ending the current symbol table context and forcing an Ion Version Marker if the writer continues writing to the stream. If writer was created using open_stream, also flushes write buffer to stream. If any value is in-progress, finishing any writer is an error. @param p_bytes_flushed - the number of bytes written into the buffer/stream.
- ion_
writer_ ⚠finish_ container - ion_
writer_ ⚠finish_ lob - ion_
writer_ ⚠flush - Flushes pending bytes without forcing an Ion Version Marker or ending the current symbol table context. If writer was created using open_stream, also flushes write buffer to stream. If any value is in-progress, flushing any writer is an error. @param p_bytes_flushed - the number of bytes written into the buffer/stream.
- ion_
writer_ ⚠get_ catalog - ion_
writer_ ⚠get_ depth - ion_
writer_ ⚠get_ symbol_ table - ion_
writer_ ⚠open - ion_
writer_ ⚠open_ buffer - Ion Writer interfaces. Takes a byte buffer and length which will contain the text or binary content, returns handle to a writer. @param p_hwriter @param buffer Byte buffer, allocated and provided by caller. @param buf_length size of the buffer (0 or greater). If the buffer is not big enough, ion_write operation will return IERR_EOF rather than IERR_OK. @param p_option writer configuration object.
- ion_
writer_ ⚠open_ stream - Open stream to write ion data. @param p_hwriter @param fn_block_handler User provided function to write from handler_state buffer to file, @param handler_state Related to write buffer. ion_writer will write to the buffer provided by the handler_state, fn_block_handler will write the buffer to file. @param p_options writer configuration object. @see ion_reader_open_stream @see ion_writer_open_buffer
- ion_
writer_ ⚠options_ add_ shared_ imports - Adds the imports from the given collection of ION_SYMBOL_TABLE_IMPORT to the options’ imports list.
ion_writer_options_initialize_shared_importsmust have been called first. The given collection must not contain a system symbol table. - ion_
writer_ ⚠options_ add_ shared_ imports_ symbol_ tables - Adds the given array of ION_SYMBOL_TABLE (which must be shared symbol tables) to the options’ imports list.
ion_writer_options_initialize_shared_importsmust have been called first. The given array must not contain a system symbol table. - ion_
writer_ ⚠options_ close_ shared_ imports - Frees the options’ imports list. This must be done once the options are no longer needed, and only if
ion_writer_options_initialize_shared_importswas called. - ion_
writer_ ⚠options_ initialize_ shared_ imports - Initializes the options’ imports list. This must be done before calling
ion_writer_options_add_*. NOTE: This does NOT need to be called if the writer does not need to use shared imports. @param options - The writer options containing the imports list to initialize. - ion_
writer_ ⚠set_ catalog - ion_
writer_ ⚠set_ symbol_ table - Sets the writer’s symbol table.
- ion_
writer_ ⚠start_ container - ion_
writer_ ⚠start_ lob - ion_
writer_ ⚠write_ all_ values - ion_
writer_ ⚠write_ annotation_ symbols - ion_
writer_ ⚠write_ annotations - ion_
writer_ ⚠write_ blob - ion_
writer_ ⚠write_ bool - ion_
writer_ ⚠write_ clob - ion_
writer_ ⚠write_ decimal - @deprecated use of decQuads directly is deprecated. ION_DECIMAL should be used. See
ion_writer_write_ion_decimal. - ion_
writer_ ⚠write_ double - ion_
writer_ ⚠write_ field_ name - Sets the writer’s current field name. Only valid if the writer is currently in a struct. It is the caller’s
responsibility to keep
namein scope until the writer’s next value is written. - ion_
writer_ ⚠write_ field_ name_ symbol - Sets the writer’s current field name from the given Ion symbol. Only valid if the writer is currently in a struct.
It is the caller’s responsibility to keep
field_namein scope until the writer’s next value is written. - ion_
writer_ ⚠write_ float - ion_
writer_ ⚠write_ int - ion_
writer_ ⚠write_ int32 - ion_
writer_ ⚠write_ int64 - ion_
writer_ ⚠write_ ion_ decimal - ion_
writer_ ⚠write_ ion_ int - ion_
writer_ ⚠write_ ion_ symbol - ion_
writer_ ⚠write_ long - ion_
writer_ ⚠write_ null - ion_
writer_ ⚠write_ one_ value - ion_
writer_ ⚠write_ string - ion_
writer_ ⚠write_ symbol - ion_
writer_ ⚠write_ timestamp - ion_
writer_ ⚠write_ typed_ null - kill⚠
- killpg⚠
- localtime⚠
- localtime_
r ⚠ - memccpy⚠
- memchr⚠
- memcmp⚠
- memcpy⚠
- memmove⚠
- memset⚠
- mktime⚠
- nanosleep⚠
- open_
memstream ⚠ - pclose⚠
- perror⚠
- popen⚠
- printf⚠
- psiginfo⚠
- psignal⚠
- pthread_
kill ⚠ - pthread_
sigmask ⚠ - putc⚠
- putc_
unlocked ⚠ - putchar⚠
- putchar_
unlocked ⚠ - puts⚠
- putw⚠
- raise⚠
- remove⚠
- rename⚠
- renameat⚠
- rewind⚠
- rindex⚠
- scanf⚠
- scanf1⚠
- setbuf⚠
- setbuffer⚠
- setlinebuf⚠
- setvbuf⚠
- sigaction⚠
- sigaddset⚠
- sigaltstack⚠
- sigblock⚠
- sigdelset⚠
- sigemptyset⚠
- sigfillset⚠
- siggetmask⚠
- siginterrupt⚠
- sigismember⚠
- signal⚠
- sigpending⚠
- sigprocmask⚠
- sigqueue⚠
- sigreturn⚠
- sigsetmask⚠
- sigstack⚠
- sigsuspend⚠
- sigtimedwait⚠
- sigwait⚠
- sigwaitinfo⚠
- snprintf⚠
- sprintf⚠
- sscanf⚠
- sscanf1⚠
- ssignal⚠
- stpcpy⚠
- stpncpy⚠
- strcasecmp⚠
- strcasecmp_
l ⚠ - strcat⚠
- strchr⚠
- strcmp⚠
- strcoll⚠
- strcoll_
l ⚠ - strcpy⚠
- strcspn⚠
- strdup⚠
- strerror⚠
- strerror_
l ⚠ - strerror_
r ⚠ - strftime⚠
- strftime_
l ⚠ - strlen⚠
- strncasecmp⚠
- strncasecmp_
l ⚠ - strncat⚠
- strncmp⚠
- strncpy⚠
- strndup⚠
- strnlen⚠
- strpbrk⚠
- strrchr⚠
- strsep⚠
- strsignal⚠
- strspn⚠
- strstr⚠
- strtok⚠
- strtok_
r ⚠ - strxfrm⚠
- strxfrm_
l ⚠ - tempnam⚠
- time⚠
- timegm⚠
- timelocal⚠
- timer_
create ⚠ - timer_
delete ⚠ - timer_
getoverrun ⚠ - timer_
gettime ⚠ - timer_
settime ⚠ - timespec_
get ⚠ - tmpfile⚠
- tmpnam⚠
- tmpnam_
r ⚠ - tzset⚠
- ungetc⚠
- vdprintf⚠
- vfprintf⚠
- vfscanf⚠
- vfscanf1⚠
- vprintf⚠
- vscanf⚠
- vscanf1⚠
- vsnprintf⚠
- vsprintf⚠
- vsscanf⚠
- vsscanf1⚠
Type Aliases§
- BOOL
- BYTE
- FILE
- II_
DIGIT - II_
LONG_ DIGIT - ION_
CATALOG - ION_
COLLECTION - The collections used by the parser are linked lists which are managed by the collection header. the memory used for the nodes is allocated on the parent, which is passed in when the user initializes the collection
- ION_
COLLECTION_ CURSOR - ION_
COLLECTION_ NODE - The node allocation scheme depends on this layout ! currently that there are only 2 members so it uses the size of the ptr as the base to allocate
- ION_
DECIMAL - ION_
DECIMAL_ TYPE - Determines which value of the _ion_decimal’s
valuefield is active. - ION_INT
- ION_
PAGE - ION_
READER - ION_
READER_ CONTEXT_ CALLBACK - A function that may be called by the reader upon a change to the stream’s symbol table context.
- ION_
READER_ CONTEXT_ CHANGE_ NOTIFIER - ION_
READER_ OPTIONS - Reader configuration data, could be supplied by user during reader creation time. All fields in the structure are defaulted to 0, except for the following:
- ION_
STREAM - ION_
STREAM_ HANDLER - ION_
STREAM_ PAGED - ION_
STREAM_ USER_ PAGED - ION_
STRING - An Ion String.
- ION_
SYMBOL - ION_
SYMBOL_ IMPORT_ LOCATION - ION_
SYMBOL_ TABLE - ION_
SYMBOL_ TABLE_ IMPORT - ION_
SYMBOL_ TABLE_ IMPORT_ DESCRIPTOR - ION_
TIMESTAMP - Structure to store time information. time_t only has up to second precision, and time zone support is OS dependent. _ion_timestamp uses decimal to store fraction of a second
- ION_
TYPE - Strong typed enum over pointer type.
- ION_
WRITER - ION_
WRITER_ OPTIONS - PAGE_ID
- POSITION
- SID
- SIZE
- _Float32
- _Float64
- _Float32x
- _Float64x
- _ION_
SYMBOL_ TABLE_ TYPE - _IO_
lock_ t - __FILE
- __
blkcnt64_ t - __
blkcnt_ t - __
blksize_ t - __
builtin_ va_ list - __
caddr_ t - __
clock_ t - __
clockid_ t - __
daddr_ t - __dev_t
- __
fpos64_ t - __
fpos_ t - __
fsblkcnt64_ t - __
fsblkcnt_ t - __
fsfilcnt64_ t - __
fsfilcnt_ t - __
fsword_ t - __gid_t
- __
gnuc_ va_ list - __id_t
- __
ino64_ t - __ino_t
- __
int8_ t - __
int16_ t - __
int32_ t - __
int64_ t - __
int_ least8_ t - __
int_ least16_ t - __
int_ least32_ t - __
int_ least64_ t - __
intmax_ t - __
intptr_ t - __key_t
- __
locale_ t - __
loff_ t - __
mode_ t - __
nlink_ t - __
off64_ t - __off_t
- __pid_t
- __
pthread_ list_ t - __
pthread_ slist_ t - __
quad_ t - __
rlim64_ t - __
rlim_ t - __
sig_ atomic_ t - __
sighandler_ t - __
sigval_ t - __
socklen_ t - __
ssize_ t - __
suseconds64_ t - __
suseconds_ t - __
syscall_ slong_ t - __
syscall_ ulong_ t - __
thrd_ t - __
time_ t - __
timer_ t - __tss_t
- __
u_ char - __u_int
- __
u_ long - __
u_ quad_ t - __
u_ short - __uid_t
- __
uint8_ t - __
uint16_ t - __
uint32_ t - __
uint64_ t - __
uint_ least8_ t - __
uint_ least16_ t - __
uint_ least32_ t - __
uint_ least64_ t - __
uintmax_ t - __
useconds_ t - _bindgen_
ty_ 1 - _bindgen_
ty_ 2 - _bindgen_
ty_ 3 - _bindgen_
ty_ 4 - _bindgen_
ty_ 5 - _bindgen_
ty_ 6 - _bindgen_
ty_ 7 - _bindgen_
ty_ 8 - _bindgen_
ty_ 9 - clock_t
- clockid_
t - decClass
- fpos_t
- fpregset_
t - greg_t
- gregset_
t - hCATALOG
- hOWNER
- hREADER
- hSYMTAB
- hWRITER
- iCATALOG
- iIMPORT
- iSTREAM
- iSTRING
- iSYMBOL
- iSYMTAB
- iTIMESTAMP
- int_
fast8_ t - int_
fast16_ t - int_
fast32_ t - int_
fast64_ t - int_
least8_ t - int_
least16_ t - int_
least32_ t - int_
least64_ t - intmax_
t - ion_
error_ code - define the Ion error code enumeration.
- locale_
t - off_t
- pid_t
- pthread_
key_ t - pthread_
once_ t - pthread_
spinlock_ t - pthread_
t - rounding
- sig_
atomic_ t - sig_t
- sigevent_
t - sigset_
t - sigval_
t - size_t
- ssize_t
- time_t
- timer_t
- uid_t
- uint_
fast8_ t - uint_
fast16_ t - uint_
fast32_ t - uint_
fast64_ t - uint_
least8_ t - uint_
least16_ t - uint_
least32_ t - uint_
least64_ t - uintmax_
t - va_list
Unions§
- __
atomic_ wide_ counter - __
mbstate_ t__ bindgen_ ty_ 1 - _ion_
decimal__ bindgen_ ty_ 1 - decQuad
- pthread_
attr_ t - pthread_
barrier_ t - pthread_
barrierattr_ t - pthread_
cond_ t - pthread_
condattr_ t - pthread_
mutex_ t - pthread_
mutexattr_ t - pthread_
rwlock_ t - pthread_
rwlockattr_ t - sigaction__
bindgen_ ty_ 1 - sigcontext__
bindgen_ ty_ 1 - sigevent__
bindgen_ ty_ 1 - siginfo_
t__ bindgen_ ty_ 1 - siginfo_
t__ bindgen_ ty_ 1__ bindgen_ ty_ 5__ bindgen_ ty_ 1 - sigval