Crate ejdb2_sys_windows Copy item path Source IWDLSNR @brief File data events listener. IWFS_EXT @brief Auto-expandable file. IWFS_EXT_IMPL IWFS_EXT_OPTS @brief IWFS_EXT
file options.
@see iwrc iwfs_exfile_open(IWFS_EXT *f, const IWFS_EXT_OPTS *opts) IWFS_EXT_STATE @struct IWFS_EXT_STATE
@brief IWFS_EXT
file state info.
@see IWFS_EXT::state IWFS_FILE @struct IWFS_FILE
@brief Simple file implementation. IWFS_FILE_OPTS @brief IWFS_FILE
file options.
@see iwrc iwfs_file_open(IWFS_FILE *f, const IWFS_FILE_OPTS *opts) IWFS_FILE_STATE @brief IWFS_FILE
file state info.
@see IWFS_FILE::state IWFS_FSM @brief Auto-expandable file with support of reader/writer address space
locking
and free space blocks management using bitmaps. IWFS_FSMDBG_STATE IWFS_FSM_IMPL IWFS_FSM_OPTS @brief IWFS_FSM
file options.
@see iwfs_fsmfile_open(IWFS_FSM *f, const IWFS_FSM_OPTS *opts) IWFS_FSM_STATE @brief IWFS_FSM
file state container.
@see IWFS_FSM::state IWKV_OPTS @brief IWKV storage open options. IWKV_WAL_OPTS @brief Write ahead log (WAL) options. IWKV_val @brief Data container for key/value. IWLOG_DEFAULT_OPTS @brief Options for the default logging function.
@see iwlog_set_logfn_opts(void*) IWP_FILE_STAT @brief File info. IW_RNUM @brief A rational number. _EJDB @brief Database handler. _EJDB_DOC @brief Document representation as result of query execution.
@see ejdb_exec() _EJDB_EXEC @brief Query execution context.
Passed to ejdb_exec()
to execute database query. _EJDB_HTTP @brief EJDB HTTP/Websocket Server options. _EJDB_LIST @brief Query result as list.
Used as result of ejdb_list()
query functions. _EJDB_OPTS @brief EJDB open options. _G_fpos64_t _G_fpos_t _IO_FILE _IO_codecvt _IO_marker _IO_wide_data _IWDB _IWKV _IWKV_cursor @brief Cursor opaque handler. _IWPOOL _IWXSTR _JBL @brief JSON document in compact binary format Binn _JBL_NODE @brief JSON document as in-memory tree (DOM tree). _JBL_PATCH @brief JSON patch specification _JBL_PTR @brief JSON pointer rfc6901
@see jbl_ptr_alloc() _JBL_iterator _JBN_VCTX @brief JBL_NODE visitor context _JQL __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 fd_set itimerval lconv max_align_t timespec timeval timezone BIG_ENDIAN BUFSIZ BYTE_ORDER CLOCK_MONOTONIC CLOCK_REALTIME EJDB_COLLECTION_NAME_MAX_LEN EOF FD_SETSIZE FILENAME_MAX FOPEN_MAX FP_ILOGB0 FP_ILOGBNAN FP_INFINITE FP_NAN FP_NORMAL FP_SUBNORMAL FP_ZERO 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_LEAST8_MAX INT_LEAST8_MIN INT_LEAST16_MAX INT_LEAST16_MIN INT_LEAST32_MAX INT_LEAST32_MIN INVALID_HANDLE_VALUE IWCPU_AVX IWCPU_AVX2 IWCPU_AVX512F IWCPU_SSE IWCPU_SSE2 IWCPU_SSE3 IWCPU_SSE4_1 IWCPU_SSE4_2 IWFSM_CUSTOM_HDR_DATA_OFFSET IWFSM_MAGICK IWFS_DEFAULT_FILEMODE IWKVD_PRINT_NO_LEVEVELS IWKVD_PRINT_VALS IWKV_MAX_KVSZ IWKV_cursor_op_IWKV_CURSOR_AFTER_LAST < Set cursor to position after last record IWKV_cursor_op_IWKV_CURSOR_BEFORE_FIRST < Set cursor to position before first record IWKV_cursor_op_IWKV_CURSOR_EQ < Set cursor to the specified key value IWKV_cursor_op_IWKV_CURSOR_GE < Set cursor to the key which greater or equal key specified IWKV_cursor_op_IWKV_CURSOR_NEXT < Move cursor to the next record IWKV_cursor_op_IWKV_CURSOR_PREV < Move cursor to the previous record IWPOOL_POOL_SIZ IW_ERROR_START IW_LINE_SEP IW_PATH_CHR IW_PATH_STR LC_ADDRESS LC_ADDRESS_MASK LC_ALL LC_ALL_MASK LC_COLLATE LC_COLLATE_MASK LC_CTYPE LC_CTYPE_MASK LC_IDENTIFICATION LC_IDENTIFICATION_MASK LC_MEASUREMENT LC_MEASUREMENT_MASK LC_MESSAGES LC_MESSAGES_MASK LC_MONETARY LC_MONETARY_MASK LC_NAME LC_NAME_MASK LC_NUMERIC LC_NUMERIC_MASK LC_PAPER LC_PAPER_MASK LC_TELEPHONE LC_TELEPHONE_MASK LC_TIME LC_TIME_MASK LITTLE_ENDIAN L_ctermid L_tmpnam MATH_ERREXCEPT MATH_ERRNO M_1_PI M_2_PI M_2_SQRTPI M_E M_LN2 M_LN10 M_LOG2E M_LOG10E M_PI M_PI_2 M_PI_4 M_SQRT2 M_SQRT1_2 PDP_ENDIAN PTRDIFF_MAX PTRDIFF_MIN P_tmpdir SEEK_CUR SEEK_END SEEK_SET SIG_ATOMIC_MAX SIG_ATOMIC_MIN SIZE_MAX TMP_MAX UINT8_MAX UINT16_MAX UINT32_MAX UINTPTR_MAX UINT_FAST8_MAX UINT_FAST16_MAX UINT_FAST32_MAX UINT_LEAST8_MAX UINT_LEAST16_MAX UINT_LEAST32_MAX WINT_MAX WINT_MIN _ATFILE_SOURCE _BITS_BYTESWAP_H _BITS_ENDIANNESS_H _BITS_ENDIAN_H _BITS_LIBM_SIMD_DECL_STUBS_H _BITS_LOCALE_H _BITS_PTHREADTYPES_ARCH_H _BITS_PTHREADTYPES_COMMON_H _BITS_STDINT_INTN_H _BITS_STDINT_UINTN_H _BITS_STDIO_LIM_H _BITS_TIME64_H _BITS_TYPESIZES_H _BITS_TYPES_H _BITS_TYPES_LOCALE_T_H _BITS_TYPES___LOCALE_T_H _BITS_UINTN_IDENTITY_H _BITS_WCHAR_H _DEFAULT_SOURCE _ENDIAN_H _FEATURES_H _IOFBF _IOLBF _IONBF _IO_EOF_SEEN _IO_ERR_SEEN _IO_USER_LOCK _LOCALE_H _MATH_H _POSIX_C_SOURCE _POSIX_SOURCE _STDC_PREDEF_H _STDINT_H _STDIO_H _STRUCT_TIMESPEC _SYS_CDEFS_H _SYS_SELECT_H _SYS_TIME_H _SYS_TYPES_H _THREAD_MUTEX_INTERNAL_H _THREAD_SHARED_TYPES_H __BIG_ENDIAN __BIT_TYPES_DEFINED__ __BYTE_ORDER __FD_SETSIZE __FILE_defined __FLOAT_WORD_ORDER __FP_LOGB0_IS_MIN __FP_LOGBNAN_IS_MIN __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_FLOAT16 __HAVE_DISTINCT_FLOAT32 __HAVE_DISTINCT_FLOAT64 __HAVE_DISTINCT_FLOAT32X __HAVE_DISTINCT_FLOAT64X __HAVE_DISTINCT_FLOAT128 __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT16 __HAVE_FLOAT32 __HAVE_FLOAT64 __HAVE_FLOAT32X __HAVE_FLOAT64X __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 __HAVE_FLOAT128X __HAVE_FLOATN_NOT_TYPEDEF __HAVE_GENERIC_SELECTION __INO_T_MATCHES_INO64_T __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 __LC_ADDRESS __LC_ALL __LC_COLLATE __LC_CTYPE __LC_IDENTIFICATION __LC_MEASUREMENT __LC_MESSAGES __LC_MONETARY __LC_NAME __LC_NUMERIC __LC_PAPER __LC_TELEPHONE __LC_TIME __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI __LITTLE_ENDIAN __MATH_DECLARE_LDOUBLE __MATH_DECLARING_DOUBLE __MATH_DECLARING_FLOATN __OFF_T_MATCHES_OFF64_T __PDP_ENDIAN __PTHREAD_MUTEX_HAVE_PREV __RLIM_T_MATCHES_RLIM64_T __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 __STATFS_MATCHES_STATFS64 __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_POSIX2 __USE_POSIX199309 __USE_POSIX199506 __USE_POSIX_IMPLICITLY __USE_XOPEN2K __USE_XOPEN2K8 __WORDSIZE __WORDSIZE_TIME64_COMPAT32 ____FILE_defined _____fpos64_t_defined _____fpos_t_defined ____mbstate_t_defined __bool_true_false_are_defined __clock_t_defined __clockid_t_defined __glibc_c99_flexarr_available __have_pthread_attr_t __itimer_which_ITIMER_PROF __itimer_which_ITIMER_REAL __itimer_which_ITIMER_VIRTUAL __sigset_t_defined __struct_FILE_defined __time_t_defined __timer_t_defined __timeval_defined ejdb_ecode_t_EJDB_ERROR_COLLECTION_NOT_FOUND < Collection not found ejdb_ecode_t_EJDB_ERROR_INVALID_COLLECTION_INDEX_META < Invalid collection index metadata ejdb_ecode_t_EJDB_ERROR_INVALID_COLLECTION_META < Invalid collection metadata ejdb_ecode_t_EJDB_ERROR_INVALID_COLLECTION_NAME < Invalid collection name ejdb_ecode_t_EJDB_ERROR_INVALID_INDEX_MODE < Invalid index mode specified ejdb_ecode_t_EJDB_ERROR_MISMATCHED_INDEX_UNIQUENESS_MODE < Index exists but mismatched uniqueness constraint ejdb_ecode_t_EJDB_ERROR_PATCH_JSON_NOT_OBJECT < Patch JSON must be an object (map) ejdb_ecode_t_EJDB_ERROR_TARGET_COLLECTION_EXISTS < Target collection exists ejdb_ecode_t_EJDB_ERROR_UNIQUE_INDEX_CONSTRAINT_VIOLATED < Unique index constraint violated ejdb_ecode_t__EJDB_ERROR_END ejdb_ecode_t__EJDB_ERROR_START false_ iw_ecode_IW_ERROR_AGAIN iw_ecode_IW_ERROR_ALLOC < Memory allocation failed. iw_ecode_IW_ERROR_ALREADY_OPENED < Resource is already opened. iw_ecode_IW_ERROR_ASSERTION < Generic assertion error. iw_ecode_IW_ERROR_ERRNO < Error with expected errno status set. iw_ecode_IW_ERROR_FAIL < Unspecified error. iw_ecode_IW_ERROR_FALSE < Request rejection/false response. iw_ecode_IW_ERROR_INVALID_ARGS < Invalid function arguments. iw_ecode_IW_ERROR_INVALID_HANDLE < Invalid HANDLE value. iw_ecode_IW_ERROR_INVALID_STATE < Illegal state error. iw_ecode_IW_ERROR_INVALID_VALUE < Invalid value. iw_ecode_IW_ERROR_IO_ERRNO < IO error with expected errno status set. iw_ecode_IW_ERROR_NOT_ALIGNED < Argument is not aligned properly. iw_ecode_IW_ERROR_NOT_ALLOWED < Action is not allowed. (IW_ERROR_NOT_ALLOWED) iw_ecode_IW_ERROR_NOT_EXISTS < Resource is not exists. iw_ecode_IW_ERROR_NOT_IMPLEMENTED < Method is not implemented. iw_ecode_IW_ERROR_OUT_OF_BOUNDS < Invalid bounds specified. iw_ecode_IW_ERROR_OVERFLOW < Overflow. iw_ecode_IW_ERROR_READONLY < Resource is readonly. iw_ecode_IW_ERROR_THREADING < Threading error. iw_ecode_IW_ERROR_THREADING_ERRNO < Threading error with errno status set. iw_ecode_IW_ERROR_UNEXPECTED_RESPONSE < Unexpected response (IW_ERROR_UNEXPECTED_RESPONSE) iw_ecode_IW_ERROR_UNSUPPORTED < Unsupported opration. (IW_ERROR_UNSUPPORTED) iw_ecode_IW_OK < No error. iwfs_ext_ecode_IWFS_ERROR_MAXOFF < Maximum file offset reached. iwfs_ext_ecode_IWFS_ERROR_MMAP_OVERLAP < Region is mmaped already, mmaping overlaps iwfs_ext_ecode_IWFS_ERROR_NOT_MMAPED < Region is not mmaped iwfs_ext_ecode_IWFS_ERROR_RESIZE_POLICY_FAIL < Invalid result of resize policy function. iwfs_ext_ecode__IWFS_EXT_ERROR_END iwfs_ext_ecode__IWFS_EXT_ERROR_START iwfs_fsm_ecode_IWFS_ERROR_FSM_SEGMENTATION < Free-space map segmentation error iwfs_fsm_ecode_IWFS_ERROR_INVALID_BLOCK_SIZE < Invalid block size specified iwfs_fsm_ecode_IWFS_ERROR_INVALID_FILEMETA < Invalid file-metadata iwfs_fsm_ecode_IWFS_ERROR_NO_FREE_SPACE < No free space. iwfs_fsm_ecode_IWFS_ERROR_PLATFORM_PAGE iwfs_fsm_ecode_IWFS_ERROR_RANGE_NOT_ALIGNED iwfs_fsm_ecode_IWFS_ERROR_RESIZE_FAIL < Failed to resize file iwfs_fsm_ecode__IWFS_FSM_ERROR_END iwfs_fsm_ecode__IWFS_FSM_ERROR_START iwkv_ecode_IWKV_ERROR_BACKUP_IN_PROGRESS < Backup operation in progress. (IWKV_ERROR_BACKUP_IN_PROGRESS) iwkv_ecode_IWKV_ERROR_CORRUPTED < Database file invalid or corrupted (IWKV_ERROR_CORRUPTED) iwkv_ecode_IWKV_ERROR_CORRUPTED_WAL_FILE < Corrupted WAL file (IWKV_ERROR_CORRUPTED_WAL_FILE) iwkv_ecode_IWKV_ERROR_DUP_VALUE_SIZE iwkv_ecode_IWKV_ERROR_INCOMPATIBLE_DB_FORMAT iwkv_ecode_IWKV_ERROR_INCOMPATIBLE_DB_MODE < Incorpatible database open mode (IWKV_ERROR_INCOMPATIBLE_DB_MODE) iwkv_ecode_IWKV_ERROR_KEY_EXISTS < Key already exists (IWKV_ERROR_KEY_EXISTS) iwkv_ecode_IWKV_ERROR_KEY_NUM_VALUE_SIZE iwkv_ecode_IWKV_ERROR_MAXKVSZ iwkv_ecode_IWKV_ERROR_NOTFOUND < Key not found (IWKV_ERROR_NOTFOUND) iwkv_ecode_IWKV_ERROR_VALUE_CANNOT_BE_INCREMENTED iwkv_ecode_IWKV_ERROR_WAL_MODE_REQUIRED iwkv_ecode__IWKV_ERROR_END iwkv_ecode__IWKV_ERROR_START iwkv_ecode__IWKV_RC_END iwkv_ecode__IWKV_RC_KVBLOCK_FULL iwkv_ecode__IWKV_RC_REQUIRE_NLEVEL iwlog_lvl_IWLOG_DEBUG iwlog_lvl_IWLOG_ERROR iwlog_lvl_IWLOG_INFO iwlog_lvl_IWLOG_WARN iwp_ecode__IWP_ERROR_FS_END iwp_ecode__IWP_ERROR_FS_START iwp_file_type_IWP_LINK < Symlink. iwp_file_type_IWP_OTHER < Other file types, eg soc, block, pipe.. iwp_file_type_IWP_TYPE_DIR < Directory. iwp_file_type_IWP_TYPE_FILE < Ordinary file. iwp_seek_origin_IWP_SEEK_CUR iwp_seek_origin_IWP_SEEK_END iwp_seek_origin_IWP_SEEK_SET jbl_ecode_t_JBL_ERROR_CREATION < Cannot create JBL object (JBL_ERROR_CREATION) jbl_ecode_t_JBL_ERROR_INVALID < Invalid JBL object (JBL_ERROR_INVALID) jbl_ecode_t_JBL_ERROR_INVALID_BUFFER < Invalid JBL buffer (JBL_ERROR_INVALID_BUFFER) jbl_ecode_t_JBL_ERROR_JSON_POINTER < Invalid JSON pointer (rfc6901) path (JBL_ERROR_JSON_POINTER) jbl_ecode_t_JBL_ERROR_MAX_NESTING_LEVEL_EXCEEDED jbl_ecode_t_JBL_ERROR_NOT_AN_OBJECT < JBL is not an object (JBL_ERROR_NOT_AN_OBJECT) jbl_ecode_t_JBL_ERROR_PARSE_INVALID_CODEPOINT jbl_ecode_t_JBL_ERROR_PARSE_INVALID_UTF8 < Invalid utf8 string (JBL_ERROR_PARSE_INVALID_UTF8) jbl_ecode_t_JBL_ERROR_PARSE_JSON < Failed to parse JSON string (JBL_ERROR_PARSE_JSON) jbl_ecode_t_JBL_ERROR_PARSE_UNQUOTED_STRING < Unquoted JSON string (JBL_ERROR_PARSE_UNQUOTED_STRING) jbl_ecode_t_JBL_ERROR_PATCH_INVALID < Invalid JSON patch specified (JBL_ERROR_PATCH_INVALID) jbl_ecode_t_JBL_ERROR_PATCH_INVALID_ARRAY_INDEX jbl_ecode_t_JBL_ERROR_PATCH_INVALID_OP < Invalid JSON patch operation specified (JBL_ERROR_PATCH_INVALID_OP) jbl_ecode_t_JBL_ERROR_PATCH_INVALID_VALUE < Invalid value specified by patch (JBL_ERROR_PATCH_INVALID_VALUE) jbl_ecode_t_JBL_ERROR_PATCH_NOVALUE < No value specified in JSON patch (JBL_ERROR_PATCH_NOVALUE) jbl_ecode_t_JBL_ERROR_PATCH_TARGET_INVALID jbl_ecode_t_JBL_ERROR_PATCH_TEST_FAILED < JSON patch test operation failed (JBL_ERROR_PATCH_TEST_FAILED) jbl_ecode_t_JBL_ERROR_PATH_NOTFOUND < JSON object not matched the path specified (JBL_ERROR_PATH_NOTFOUND) jbl_ecode_t_JBL_ERROR_TYPE_MISMATCHED jbl_ecode_t__JBL_ERROR_END jbl_ecode_t__JBL_ERROR_START jbl_type_t_JBV_ARRAY jbl_type_t_JBV_BOOL jbl_type_t_JBV_F64 jbl_type_t_JBV_I64 jbl_type_t_JBV_NONE jbl_type_t_JBV_NULL jbl_type_t_JBV_OBJECT jbl_type_t_JBV_STR jbp_patch_t_JBP_ADD jbp_patch_t_JBP_ADD_CREATE < Create intermediate object nodes for missing path segments jbp_patch_t_JBP_COPY jbp_patch_t_JBP_INCREMENT < Value increment jbp_patch_t_JBP_MOVE jbp_patch_t_JBP_REMOVE jbp_patch_t_JBP_REPLACE jbp_patch_t_JBP_SWAP < Swap values of two nodes jbp_patch_t_JBP_TEST jql_ecode_t_JQL_ERROR_INVALID_PLACEHOLDER < Invalid placeholder position (JQL_ERROR_INVALID_PLACEHOLDER) jql_ecode_t_JQL_ERROR_INVALID_PLACEHOLDER_VALUE_TYPE jql_ecode_t_JQL_ERROR_LIMIT_ALREADY_SET < Limit clause already specified (JQL_ERROR_SKIP_ALREADY_SET) jql_ecode_t_JQL_ERROR_NO_COLLECTION < No collection specified in query (JQL_ERROR_NO_COLLECTION) jql_ecode_t_JQL_ERROR_ORDERBY_MAX_LIMIT jql_ecode_t_JQL_ERROR_QUERY_PARSE < Query parsing error (JQL_ERROR_QUERY_PARSE) jql_ecode_t_JQL_ERROR_REGEXP_INVALID < Invalid regular expression (JQL_ERROR_REGEXP_INVALID) jql_ecode_t_JQL_ERROR_SKIP_ALREADY_SET < Skip clause already specified (JQL_ERROR_SKIP_ALREADY_SET) jql_ecode_t_JQL_ERROR_UNSET_PLACEHOLDER < Found unset placeholder (JQL_ERROR_UNSET_PLACEHOLDER) jql_ecode_t__JQL_ERROR_END jql_ecode_t__JQL_ERROR_START jql_ecode_t__JQL_ERROR_UNMATCHED math_errhandling true_ iwcpuflags ⚠ signgam ⚠ stderr ⚠ stdin ⚠ stdout ⚠ __acos ⚠ __acosf ⚠ __acosh ⚠ __acoshf ⚠ __acoshl ⚠ __acosl ⚠ __asin ⚠ __asinf ⚠ __asinh ⚠ __asinhf ⚠ __asinhl ⚠ __asinl ⚠ __atan ⚠ __atan2 ⚠ __atan2f ⚠ __atan2l ⚠ __atanf ⚠ __atanh ⚠ __atanhf ⚠ __atanhl ⚠ __atanl ⚠ __cbrt ⚠ __cbrtf ⚠ __cbrtl ⚠ __ceil ⚠ __ceilf ⚠ __ceill ⚠ __copysign ⚠ __copysignf ⚠ __copysignl ⚠ __cos ⚠ __cosf ⚠ __cosh ⚠ __coshf ⚠ __coshl ⚠ __cosl ⚠ __drem ⚠ __dremf ⚠ __dreml ⚠ __erf ⚠ __erfc ⚠ __erfcf ⚠ __erfcl ⚠ __erff ⚠ __erfl ⚠ __exp ⚠ __exp2 ⚠ __exp2f ⚠ __exp2l ⚠ __expf ⚠ __expl ⚠ __expm1 ⚠ __expm1f ⚠ __expm1l ⚠ __fabs ⚠ __fabsf ⚠ __fabsl ⚠ __fdim ⚠ __fdimf ⚠ __fdiml ⚠ __finite ⚠ __finitef ⚠ __finitel ⚠ __floor ⚠ __floorf ⚠ __floorl ⚠ __fma ⚠ __fmaf ⚠ __fmal ⚠ __fmax ⚠ __fmaxf ⚠ __fmaxl ⚠ __fmin ⚠ __fminf ⚠ __fminl ⚠ __fmod ⚠ __fmodf ⚠ __fmodl ⚠ __fpclassify ⚠ __fpclassifyf ⚠ __fpclassifyl ⚠ __frexp ⚠ __frexpf ⚠ __frexpl ⚠ __gamma ⚠ __gammaf ⚠ __gammal ⚠ __getdelim ⚠ __hypot ⚠ __hypotf ⚠ __hypotl ⚠ __ilogb ⚠ __ilogbf ⚠ __ilogbl ⚠ __iseqsig ⚠ __iseqsigf ⚠ __iseqsigl ⚠ __isinf ⚠ __isinff ⚠ __isinfl ⚠ __isnan ⚠ __isnanf ⚠ __isnanl ⚠ __issignaling ⚠ __issignalingf ⚠ __issignalingl ⚠ __j0 ⚠ __j0f ⚠ __j0l ⚠ __j1 ⚠ __j1f ⚠ __j1l ⚠ __jn ⚠ __jnf ⚠ __jnl ⚠ __ldexp ⚠ __ldexpf ⚠ __ldexpl ⚠ __lgamma ⚠ __lgamma_r ⚠ __lgammaf ⚠ __lgammaf_r ⚠ __lgammal ⚠ __lgammal_r ⚠ __llrint ⚠ __llrintf ⚠ __llrintl ⚠ __llround ⚠ __llroundf ⚠ __llroundl ⚠ __log ⚠ __log2 ⚠ __log1p ⚠ __log1pf ⚠ __log1pl ⚠ __log2f ⚠ __log2l ⚠ __log10 ⚠ __log10f ⚠ __log10l ⚠ __logb ⚠ __logbf ⚠ __logbl ⚠ __logf ⚠ __logl ⚠ __lrint ⚠ __lrintf ⚠ __lrintl ⚠ __lround ⚠ __lroundf ⚠ __lroundl ⚠ __modf ⚠ __modff ⚠ __modfl ⚠ __nan ⚠ __nanf ⚠ __nanl ⚠ __nearbyint ⚠ __nearbyintf ⚠ __nearbyintl ⚠ __nextafter ⚠ __nextafterf ⚠ __nextafterl ⚠ __nexttoward ⚠ __nexttowardf ⚠ __nexttowardl ⚠ __overflow ⚠ __pow ⚠ __powf ⚠ __powl ⚠ __remainder ⚠ __remainderf ⚠ __remainderl ⚠ __remquo ⚠ __remquof ⚠ __remquol ⚠ __rint ⚠ __rintf ⚠ __rintl ⚠ __round ⚠ __roundf ⚠ __roundl ⚠ __scalb ⚠ __scalbf ⚠ __scalbl ⚠ __scalbln ⚠ __scalblnf ⚠ __scalblnl ⚠ __scalbn ⚠ __scalbnf ⚠ __scalbnl ⚠ __signbit ⚠ __signbitf ⚠ __signbitl ⚠ __significand ⚠ __significandf ⚠ __significandl ⚠ __sin ⚠ __sinf ⚠ __sinh ⚠ __sinhf ⚠ __sinhl ⚠ __sinl ⚠ __sqrt ⚠ __sqrtf ⚠ __sqrtl ⚠ __tan ⚠ __tanf ⚠ __tanh ⚠ __tanhf ⚠ __tanhl ⚠ __tanl ⚠ __tgamma ⚠ __tgammaf ⚠ __tgammal ⚠ __trunc ⚠ __truncf ⚠ __truncl ⚠ __uflow ⚠ __y0 ⚠ __y0f ⚠ __y0l ⚠ __y1 ⚠ __y1f ⚠ __y1l ⚠ __yn ⚠ __ynf ⚠ __ynl ⚠ acos ⚠ acosf ⚠ acosh ⚠ acoshf ⚠ acoshl ⚠ acosl ⚠ adjtime ⚠ asin ⚠ asinf ⚠ asinh ⚠ asinhf ⚠ asinhl ⚠ asinl ⚠ atan ⚠ atan2 ⚠ atan2f ⚠ atan2l ⚠ atanf ⚠ atanh ⚠ atanhf ⚠ atanhl ⚠ atanl ⚠ cbrt ⚠ cbrtf ⚠ cbrtl ⚠ ceil ⚠ ceilf ⚠ ceill ⚠ clearerr ⚠ clearerr_unlocked ⚠ copysign ⚠ copysignf ⚠ copysignl ⚠ cos ⚠ cosf ⚠ cosh ⚠ coshf ⚠ coshl ⚠ cosl ⚠ ctermid ⚠ dprintf ⚠ drem ⚠ dremf ⚠ dreml ⚠ duplocale ⚠ ejdb_close ⚠ @brief Closes storage and frees up all resources.
@param [in,out] ejdbp Pointer to storage handle, will set to zero oncompletion. ejdb_count ⚠ @brief Executes a given query q
then returns count
of matched documents. ejdb_count2 ⚠ @brief Executes a given query q
then returns count
of matched documents. ejdb_del ⚠ @brief Remove document identified by given id
from collection coll
. ejdb_ensure_collection ⚠ @brief Create collection with given name if it has not existed before ejdb_ensure_index ⚠ @brief Create index with specified parameters if it has not existed before. ejdb_exec ⚠ @brief Executes a query. ejdb_get ⚠ @brief Retrieve document identified by given id
from collection coll
. ejdb_get_iwkv ⚠ @brief Get access to underlying IWKV storage.
Use it with caution. ejdb_get_meta ⚠ @brief Returns JSON document describind database structure.
@note Returned jblp
must be disposed by jbl_destroy()
ejdb_git_revision ⚠ @brief Return \0
terminated ejdb2 source GIT revision hash. ejdb_init ⚠ @brief ejdb2 initialization routine.
@note Must be called before using any of ejdb API function. ejdb_list ⚠ @brief Executes a given query and builds a query result as linked list of documents. ejdb_list2 ⚠ @brief Executes a given query
and builds a result as linked list of documents. ejdb_list3 ⚠ @brief Executes a given query
and builds a result as linked list of documents. ejdb_list4 ⚠ @brief Executes a given query q
and builds a result as linked list of documents (listp
). ejdb_list_destroy ⚠ @brief Destroy query result set and set listp
to zero.
@param [in,out] listp Can be zero. ejdb_merge_or_put ⚠ @brief Apply JSON merge patch (rfc7396) to the document identified by id
or
insert new document under specified id
.
@note This is an atomic operation. ejdb_merge_or_put_jbl ⚠ @brief Apply JSON merge patch (rfc7396) to the document identified by id
or
insert new document under specified id
.
@note This is an atomic operation. ejdb_merge_or_put_jbn ⚠ @brief Apply JSON merge patch (rfc7396) to the document identified by id
or
insert new document under specified id
.
@note This is an atomic operation. ejdb_online_backup ⚠ Creates an online database backup image and copies it into the specified target_file
.
During online backup phase read/write database operations are allowed and not
blocked for significant amount of time. Backup finish time is placed into ts
as number of milliseconds since epoch. ejdb_open ⚠ @brief Open storage file. ejdb_patch ⚠ @brief Apply rfc6902/rfc7396 JSON patch to the document identified by id
. ejdb_patch_jbl ⚠ @brief Apply rfc6902/rfc7396 JSON patch to the document identified by id
. ejdb_patch_jbn ⚠ @brief Apply rfc6902/rfc7396 JSON patch to the document identified by id
. ejdb_put ⚠ @brief Save a given jbl
document under specified id
. ejdb_put_jbn ⚠ @brief Save a given jbn
document under specified id
. ejdb_put_new ⚠ @brief Save a document into coll
under new identifier. ejdb_put_new_jbn ⚠ @brief Save a document into coll
under new identifier. ejdb_remove_collection ⚠ @brief Remove collection under the given name coll
. ejdb_remove_index ⚠ @brief Remove index if it has existed before. ejdb_rename_collection ⚠ @brief Rename collection coll
to new_coll
. ejdb_update ⚠ @brief Executes update query assuming that query object contains apply
clause.
Similar to ejdb_count
. ejdb_update2 ⚠ @brief Executes update query assuming that query object contains apply
clause.
Similar to ejdb_count
. ejdb_version_full ⚠ @brief Return \0
terminated EJDB version string. ejdb_version_major ⚠ @brief Return major library version. ejdb_version_minor ⚠ @brief Return minor library version. ejdb_version_patch ⚠ @brief Return patch library version. erf ⚠ erfc ⚠ erfcf ⚠ erfcl ⚠ erff ⚠ erfl ⚠ exp ⚠ exp2 ⚠ exp2f ⚠ exp2l ⚠ expf ⚠ expl ⚠ expm1 ⚠ expm1f ⚠ expm1l ⚠ fabs ⚠ fabsf ⚠ fabsl ⚠ fclose ⚠ fdim ⚠ fdimf ⚠ fdiml ⚠ fdopen ⚠ feof ⚠ feof_unlocked ⚠ ferror ⚠ ferror_unlocked ⚠ fflush ⚠ fflush_unlocked ⚠ fgetc ⚠ fgetc_unlocked ⚠ fgetpos ⚠ fgets ⚠ fileno ⚠ fileno_unlocked ⚠ finite ⚠ finitef ⚠ finitel ⚠ flockfile ⚠ floor ⚠ floorf ⚠ floorl ⚠ fma ⚠ fmaf ⚠ fmal ⚠ fmax ⚠ fmaxf ⚠ fmaxl ⚠ fmemopen ⚠ fmin ⚠ fminf ⚠ fminl ⚠ fmod ⚠ fmodf ⚠ fmodl ⚠ fopen ⚠ fprintf ⚠ fputc ⚠ fputc_unlocked ⚠ fputs ⚠ fread ⚠ fread_unlocked ⚠ freelocale ⚠ freopen ⚠ frexp ⚠ frexpf ⚠ frexpl ⚠ fscanf ⚠ fscanf1 ⚠ fseek ⚠ fseeko ⚠ fsetpos ⚠ ftell ⚠ ftello ⚠ ftrylockfile ⚠ funlockfile ⚠ futimes ⚠ fwrite ⚠ fwrite_unlocked ⚠ gamma ⚠ gammaf ⚠ gammal ⚠ getc ⚠ getc_unlocked ⚠ getchar ⚠ getchar_unlocked ⚠ getdelim ⚠ getitimer ⚠ getline ⚠ gettimeofday ⚠ getw ⚠ hypot ⚠ hypotf ⚠ hypotl ⚠ ilogb ⚠ ilogbf ⚠ ilogbl ⚠ iowow_version_full ⚠ iowow_version_major ⚠ iowow_version_minor ⚠ iowow_version_patch ⚠ isinf ⚠ isinff ⚠ isinfl ⚠ isnan ⚠ isnanf ⚠ isnanl ⚠ iw_exfile_szpolicy_fibo ⚠ @brief Fibonacci resize file policy. iw_exfile_szpolicy_mul ⚠ @brief Rational number IW_RNUM
file size multiplication policy. iw_init ⚠ @brief Init iowow subsystem.
@return 0
on success or error code. iwfs_exfile_init ⚠ @brief Init iwexfile
submodule. iwfs_exfile_open ⚠ @brief Open exfile. iwfs_file_init ⚠ @brief Init iwfile
submodule. iwfs_file_open ⚠ @brief Open file and initialize a given @a f structure. iwfs_fsmfile_init ⚠ @brief Init iwfsmfile
submodule. iwfs_fsmfile_open ⚠ @brief Open IWFS_FSM
file. iwkv_close ⚠ @brief Close iwkv storage.
@details Upon successfull call of iwkv_close()
no farther operations on storage or any of its databases are allowed. iwkv_cursor_close ⚠ @brief Close cursor object.
@param cur Opened cursor iwkv_cursor_copy_key ⚠ @brief Copy key data to the specified buffer at the current cursor position.
@note At most of bufsz
bytes will be copied into kbuf
. iwkv_cursor_copy_val ⚠ @brief Copy value data to the specified buffer at the current cursor position.
@note At most of bufsz
bytes will be copied into vbuf
. iwkv_cursor_del ⚠ @brief Remove record value at current cursor position.
@param cur Opened cursor object iwkv_cursor_get ⚠ @brief Get key and value at current cursor position.
@note Data stored in okey/oval containers must be freed with iwkv_val_dispose()
. iwkv_cursor_is_matched_key ⚠ iwkv_cursor_key ⚠ @brief Get key at current cursor position.
@note Data stored in okey container must be freed with iwkv_val_dispose()
. iwkv_cursor_open ⚠ @brief Open database cursor. iwkv_cursor_set ⚠ @brief Set record value at current cursor position.
@note This is equivalent to iwkv_put()
operation. iwkv_cursor_seth ⚠ iwkv_cursor_to ⚠ @brief Move cursor to the next position. iwkv_cursor_to_key ⚠ @brief Move cursor to the next position. iwkv_cursor_val ⚠ @brief Get value at current cursor position.
@note Data stored in oval
container must be freed with iwkv_val_dispose()
.
@param cur Opened cursor object
@param oval Value holder to be initialized by value at current position iwkv_db ⚠ @brief Get iwkv database handler identified by specified dbid
number.
@details In the case if no database matched dbid
a new database will be created using specified function arguments. iwkv_db_cache_release ⚠ @brief Frees memory resources used by database cache
until to next database access operation (get/put/cursor).
Typicaly it will free ~130Kb of memory per database in use. iwkv_db_destroy ⚠ @brief Destroy(drop) existing database and cleanup all of its data. iwkv_db_get_meta ⚠ @brief Get arbitrary data associated with database.
@param db Database handler
@param buf Output buffer
@param sz Size of target buffer
@param [out] rsz Number of bytes read actually iwkv_db_set_meta ⚠ @brief Set arbitrary data associated with database.
Database write lock will acquired for this operation. iwkv_del ⚠ @brief Remove record identified by key
. iwkv_get ⚠ @brief Get value for given key
. iwkv_get_copy ⚠ @brief Get value for given key
and copy it into provided vbuf
using up to vbufsz
bytes. iwkv_init ⚠ @brief Initialize iwkv storage.
@details This method must be called before using of any iwkv public API function.
@note iwkv implicitly initialized by iw_init() iwkv_kv_dispose ⚠ @brief Dispose data containers for key and value respectively. iwkv_new_db ⚠ @brief Create new database with next available database id.
@see iwrc iwkv_db() iwkv_online_backup ⚠ Creates an online database backup image and copies it into the specified target_file
.
During online backup phase read/write database operations are not
blocked for significant amount of time. Backup finish time is
placed into ts
as number of milliseconds since epoch.
Online backup guaranties what all records before ts
timestamp will
be stored in backup image. Later, online backup image can be
opened as ordinary database file. iwkv_open ⚠ @brief Open iwkv storage.
@code {.c}
IWKV iwkv;
IWKV_OPTS opts = {
.path = “mystore.db”
};
iwrc rc = iwkv_open(&opts, &iwkv);
@endcode
@note Any opened iwkv storage must be closed by iwkv_close()
after usage.
@param opts Database open options.
@param [out] iwkvp Pointer to @ref IWKV structure. iwkv_put ⚠ @brief Store record in database. iwkv_puth ⚠ @brief Store record in database.
@see iwkv_put() iwkv_state ⚠ @brief Get database file status info.
@note Database should be in opened state. iwkv_sync ⚠ @brief Sync iwkv storage state with disk. iwkv_val_dispose ⚠ @brief Destroy key/value data container. iwkvd_db ⚠ iwlog ⚠ @brief Logs a message.
@param lvl Logging level.
@param ecode Error code or zero.
@param file Module file, can be NULL
@param line Line in module.
@param fmt Printf like message format.
@return iwlog2 ⚠ iwlog3 ⚠ iwlog_ecode_explained ⚠ @brief Returns string representation of a given error code.
@param ecode Error code
@return iwlog_get_logfn ⚠ @brief Get a default logging function. iwlog_init ⚠ @brief Initiate this submodule.
@return 0
on success or error code. iwlog_register_ecodefn ⚠ @brief Register error code explanation function.
@note Up to 128
@a fp functions can be registered.
@param fp
@return 0
on success or error code. iwlog_set_logfn ⚠ @brief Sets current logging function.
@warning Not thread safe. iwlog_va ⚠ iwp_alloc_unit ⚠ @brief Minimal address space aligment for memory mapping. iwp_allocate_tmpfile_path ⚠ Allocates unique temp file path. Caller should use free()
to release path buffer.
@return Zero on error. iwp_clock_get_time ⚠ Portable version of int clock_gettime(clockid_t clk_id, struct timespec *tp)
iwp_closefh ⚠ @brief Close the specified file handle (File descriptor).
@param fh File handle. iwp_copy_bytes ⚠ @brief Copy data within a file
@param off Data offset
@param siz Data size
@param noff New data offset iwp_current_time_ms ⚠ @brief Get current time in milliseconds. iwp_exec_path ⚠ @brief Get executable path for the current process.
It will be writein into @a opath
@param opath Allocated buffer at least PATH_MAX
length iwp_fallocate ⚠ @brief Allocate extra space for a file.
@param fh File handle
@param len New file size
@return 0
on sucess or error code. iwp_fdatasync ⚠ iwp_flock ⚠ @brief Lock the file. iwp_fstat ⚠ @brief Stat the file specified by @a path. iwp_fstath ⚠ iwp_fsync ⚠ iwp_ftruncate ⚠ @brief Truncate a file specified by @a fh to a size of @a len bytes
@param fh File handle
@param len File size
@return 0
on sucess or error code. iwp_init ⚠ @brief Init iwp module.
@return 0
on success or error code. iwp_lseek ⚠ iwp_mkdirs ⚠ @brief Make directory specified by path
as well as all parent directories. iwp_num_cpu_cores ⚠ @brief Return number of CPU cores. iwp_page_size ⚠ @brief Get system page size. iwp_pread ⚠ @brief Read @a siz bytes from file @a fh
into @a buf at the specified offset @a off. iwp_pwrite ⚠ @brief Write @a siz bytes into file @a fh
at the specified offset @a off
from buffer @a buf. iwp_read ⚠ iwp_removedir ⚠ @brief Recursive directory removal specified by @a path.
@param path Directory path iwp_set_current_thread_name ⚠ Set name of the current thread. On some platforms
thread name canot be longer than 16 bytes including zero terminator. iwp_sleep ⚠ @brief Pause execution of current thread
to the specified @a ms time in milliseconds.
@param ms Thread pause time iwp_tmpdir ⚠ Write system tmp directory path into provided out
buffer.
Write at most len
bytes not including terminating NULL
char.
@return Number of bytes writen. Zero on error. iwp_unlock ⚠ @brief Unlock the file specified by @a fh
@param fh File handle
@return 0
on sucess or error code. iwp_write ⚠ iwpool_alloc ⚠ @brief Allocates buffer of specified size. iwpool_allocated_size ⚠ @brief Returns number of bytes allocated for this memory pool. iwpool_calloc ⚠ @brief Allocates zero initialized memory buffer
and initializes allocated buffer with zeroes. iwpool_create ⚠ @brief Creates memory pool and preallocate initial buffer of size siz
bytes.
In the case if siz
is zero then size of initial memory buffer will be IWPOOL_POOL_SIZ
bytes. iwpool_create_empty ⚠ @brief Create empty pool with no preallocated buffer.
@return Pointer to the new pool or zero
if allocation is failed. iwpool_destroy ⚠ @brief Destroys a given memory pool and frees its resources. iwpool_free_fn ⚠ @brief Dispose function for IWPOOL
stored as user data. iwpool_printf ⚠ @brief Do fprintf
into string allocated in this memory pool. iwpool_printf_split ⚠ iwpool_split_string ⚠ iwpool_strdup ⚠ @brief Copy a given zero terminated char buffer into memory pool. iwpool_strdup2 ⚠ iwpool_strndup ⚠ @brief Copy a given str
of size len
into memory pool. iwpool_strndup2 ⚠ iwpool_used_size ⚠ @brief Returns number of bytes actually used for allocated buffers. iwpool_user_data_detach ⚠ @brief Reset user data free function for current user data stored in pool. iwpool_user_data_get ⚠ @brief Returns pointer to user data associated with this pool. Or zero. iwpool_user_data_set ⚠ @brief Sets arbitrary user data associated with this pool.
User data will be freed on pool destroy or new user data set. iwrc_set_errno ⚠ @brief Attach the specified @a errno_code code into @a rc code
@param rc IOWOW error code
@param errno_code Error code will be embedded into.
@return Updated rc code iwrc_strip_code ⚠ @brief Remove embedded @a errno code from the passed @a rc
@param [in,out] rc iwrc_strip_errno ⚠ @brief Strip the attached errno
code from the specified @a rc and
return errno code. iwxstr_asize ⚠ @brief Returns allocated size of @a xstr buffer. iwxstr_cat ⚠ iwxstr_cat2 ⚠ iwxstr_clear ⚠ iwxstr_destroy ⚠ iwxstr_destroy_keep_ptr ⚠ iwxstr_new ⚠ iwxstr_new2 ⚠ iwxstr_pop ⚠ iwxstr_printf ⚠ iwxstr_ptr ⚠ iwxstr_set_size ⚠ iwxstr_shift ⚠ iwxstr_size ⚠ Returns actual size of data stored in @a xstr buffer. iwxstr_unshift ⚠ iwxstr_user_data_detach ⚠ iwxstr_user_data_get ⚠ iwxstr_user_data_set ⚠ iwxstr_wrap ⚠ j0 ⚠ j0f ⚠ j0l ⚠ j1 ⚠ j1f ⚠ j1l ⚠ jbl_as_buf ⚠ @brief Represent jbl
document as raw data buffer. jbl_as_json ⚠ @brief Prints JBL document as JSON string. jbl_at ⚠ @brief Finds value in jbl
document pointed by rfc6901 path
and store it into res
. jbl_at2 ⚠ @brief @brief Finds value in jbl
document pointed by jp
structure and store it into res
. jbl_clone ⚠ @brief Clones the given src
JBL object into newly allocated targetp
object. jbl_clone_into_pool ⚠ @brief Clones a given src
JBL object and stores it in memory allocated from pool
. jbl_copy_strn ⚠ @brief Same as jbl_get_str()
but copies at most bufsz
into target buf
.
Target buffer not touched if jbl
value cannot be converted. jbl_count ⚠ @brief Get number of child elements in jbl
container (object/array) or zero. jbl_count_json_printer ⚠ @brief Just counts bytes in JSON text.
@param op int*
Pointer to counter number. jbl_create_empty_array ⚠ @brief Create empty binary JSON array. jbl_create_empty_object ⚠ @brief Create empty binary JSON object. jbl_create_iterator_holder ⚠ @brief Initializes placeholder for jbl iteration.
Must be freed by jbl_destroy()
after iteration.
@param [out] jblp Pointer to be initialized by new object. jbl_destroy ⚠ @brief Destroys JBL document and releases its heap resources.
@note Will set jblp
to zero.
@param jblp Pointer holder of JBL document. Not zero. jbl_fill_from_node ⚠ @brief Fill jbl
document by data from node
. jbl_from_buf_keep ⚠ @brief Initialize new JBL
document by binn
data from buffer.
@note Created document will be allocated by malloc()
and should be destroyed by jbl_destroy()
. jbl_from_buf_keep_onstack ⚠ jbl_from_json ⚠ @brief Constructs new JBL
object from JSON string.
@note jblp
should be disposed by jbl_destroy()
@param [out] jblp Pointer initialized by created JBL document. Not zero.
@param jsonstr JSON string to be converted jbl_from_json_printf ⚠ jbl_from_json_printf_va ⚠ jbl_from_node ⚠ @brief Converts node
object into JBL form. jbl_fstream_json_printer ⚠ @brief JSON printer to stdlib FILE*
pointer. Eg: stderr
, stdout
@param op FILE*
pointer jbl_get_f64 ⚠ @brief Interpret jbl
value as double
value.
Returns zero if value cannot be converted. jbl_get_i32 ⚠ @brief Interpret jbl
value as int32_t
.
Returns zero if value cannot be converted. jbl_get_i64 ⚠ @brief Interpret jbl
value as int64_t
.
Returns zero if value cannot be converted. jbl_get_str ⚠ @brief Interpret jbl
value as \0
terminated character array.
Returns zero if value cannot be converted. jbl_get_user_data ⚠ @brief Returns user data associated with given jbl
container. jbl_init ⚠ jbl_iterator_init ⚠ @brief Initialize allocated iterator over given jbl
object. jbl_iterator_next ⚠ @brief Get next value from JBL_iterator.
Returns false
if iteration is over. jbl_merge_patch ⚠ jbl_merge_patch_jbl ⚠ jbl_node_as_json ⚠ jbl_node_from_json ⚠ jbl_object_copy_to ⚠ @brief Copy all keys from src
object into target
object.
@note Function does not care about keys duplication. jbl_object_get_bool ⚠ jbl_object_get_f64 ⚠ jbl_object_get_fill_jbl ⚠ jbl_object_get_i64 ⚠ jbl_object_get_str ⚠ jbl_object_get_type ⚠ jbl_patch ⚠ jbl_patch_from_json ⚠ jbl_ptr_alloc ⚠ @brief Parses rfc6901 JSON path.
@note jpp
structure should be disposed by free()
. jbl_ptr_alloc_pool ⚠ @brief Parses rfc6901 JSON path. jbl_ptr_cmp ⚠ @brief Compare JSON pointers. jbl_ptr_serialize ⚠ @brief Serialize JSON pointer to as text.
@param ptr JSON pointer. Not zero.
@param xstr Output string buffer. Not zero. jbl_set_bool ⚠ @brief Set bool JBL object property value
or add a new entry to end of array JBL object. jbl_set_empty_array ⚠ jbl_set_empty_object ⚠ jbl_set_f64 ⚠ @brief Set double JBL object property value
or add a new entry to end of array JBL object. jbl_set_int64 ⚠ @brief Set integer JBL object property value
or add a new entry to end of array JBL object. jbl_set_nested ⚠ @brief Set nested JBL object property value
or add a new entry to end of array JBL object. jbl_set_null ⚠ @brief Set null JBL object property value
or add a new entry to end of array JBL object. jbl_set_string ⚠ @brief Set string JBL object property value
or add a new entry to end of array JBL object. jbl_set_string_printf ⚠ jbl_set_user_data ⚠ @brief Sets arbitrary user data associated with JBL object. jbl_size ⚠ @brief Get size of undelying data buffer of jbl
value passed. jbl_structure_size ⚠ @brief Returns size of JBL underlying data structure jbl_to_node ⚠ @brief Converts jbl
value to JBL_NODE
tree.
@note node
resources will be released when pool
destroyed. jbl_type ⚠ @brief Get type of jbl
value. jbl_xstr_json_printer ⚠ @brief JSON printer to extended string buffer IWXSTR
@param op IWXSTR*
pointer jbn_add_item ⚠ @brief Add item to the parent
container. jbn_add_item_arr ⚠ @brief Add nested array under the given key
jbn_add_item_bool ⚠ @brief Adds boolean JSON node to the given parent
node. jbn_add_item_f64 ⚠ @brief Adds fp number JSON node to the given parent
node. jbn_add_item_i64 ⚠ @brief Adds integer JSON node to the given parent
node. jbn_add_item_null ⚠ @brief Adds null JSON value to the given parent
node. jbn_add_item_obj ⚠ @brief Add nested object under the given key
jbn_add_item_str ⚠ @brief Adds string JSON node to the given parent
node.
Key and value are copied into allocated node. jbn_apply_from ⚠ @brief Assign a JSON node value from from
node into target
node.
Context elements of target
node: parent
, next
are not touched. jbn_as_json ⚠ @brief Prints JBL_NODE document as JSON string. jbn_at ⚠ jbn_at2 ⚠ jbn_clone ⚠ @brief Clones the given src
JBL_NODE object into new targetp
instance.
Memory allocateted by given memor pool
instance. jbn_compare_nodes ⚠ @brief Compares JSON tree nodes. jbn_copy_path ⚠ @brief Copies JSON subtree under given src_path
into target
object under target_path
.
If some tree exists under target_path
it will be replaced by copied subtree. jbn_copy_paths ⚠ @brief Copies a set of values pointed by paths
zero terminated array
of src
object into respective paths of target
object. jbn_data ⚠ @brief Reset tree node
data. jbn_detach ⚠ jbn_detach2 ⚠ @brief Remove subtree from target
node pointed by path
jbn_from_json ⚠ @brief Converts json
text to JBL_NODE
tree.
@note node
resources will be released when pool
destroyed. jbn_from_json_printf ⚠ jbn_from_json_printf_va ⚠ jbn_length ⚠ @brief Returns number of child elements of given node. jbn_merge_patch ⚠ jbn_merge_patch_from_json ⚠ jbn_patch ⚠ jbn_patch_auto ⚠ jbn_path_compare ⚠ jbn_path_compare_bool ⚠ jbn_path_compare_f64 ⚠ jbn_path_compare_i64 ⚠ jbn_path_compare_str ⚠ jbn_paths_compare ⚠ jbn_remove_item ⚠ @brief Add item from the parent
container. jbn_visit ⚠ jn ⚠ jnf ⚠ jnl ⚠ jql_apply ⚠ jql_apply_and_project ⚠ jql_collection ⚠ jql_create ⚠ @brief Create query object from specified text query.
@param qptr Pointer to resulting query object
@param coll Optional collection name used to execute query
@param query Query text jql_create2 ⚠ jql_destroy ⚠ jql_error ⚠ jql_estimate_allocated_size ⚠ jql_first_anchor ⚠ jql_get_limit ⚠ jql_get_skip ⚠ jql_has_aggregate_count ⚠ jql_has_apply ⚠ jql_has_apply_delete ⚠ jql_has_apply_upsert ⚠ jql_has_orderby ⚠ jql_has_projection ⚠ jql_init ⚠ jql_matched ⚠ jql_project ⚠ jql_reset ⚠ jql_set_bool ⚠ jql_set_f64 ⚠ jql_set_i64 ⚠ jql_set_json ⚠ @brief Bind JSON node data to query placeholder.
@warning Value JSON data is not copied and used as is.
Caller is responsible to maintain val
availability during execution of query.
@see jql_set_json2() jql_set_json2 ⚠ jql_set_json_jbl ⚠ jql_set_null ⚠ jql_set_regexp ⚠ @brief Bind regexp data string to query placeholder.
@warning Value string data is not copied and used as is.
Caller is responsible to maintain val
availability during execution of query.
@see jql_set_regexp2() jql_set_regexp2 ⚠ jql_set_str ⚠ @brief Bind string data to query placeholder.
@warning Value string data is not copied and used as is.
Caller is responsible to maintain val
availability during execution of query.
@see jql_set_str2() jql_set_str2 ⚠ jql_set_str3 ⚠ ldexp ⚠ ldexpf ⚠ ldexpl ⚠ lgamma ⚠ lgamma_r ⚠ lgammaf ⚠ lgammaf_r ⚠ lgammal ⚠ lgammal_r ⚠ llrint ⚠ llrintf ⚠ llrintl ⚠ llround ⚠ llroundf ⚠ llroundl ⚠ localeconv ⚠ log ⚠ log2 ⚠ log1p ⚠ log1pf ⚠ log1pl ⚠ log2f ⚠ log2l ⚠ log10 ⚠ log10f ⚠ log10l ⚠ logb ⚠ logbf ⚠ logbl ⚠ logf ⚠ logl ⚠ lrint ⚠ lrintf ⚠ lrintl ⚠ lround ⚠ lroundf ⚠ lroundl ⚠ lutimes ⚠ modf ⚠ modff ⚠ modfl ⚠ nan ⚠ nanf ⚠ nanl ⚠ nearbyint ⚠ nearbyintf ⚠ nearbyintl ⚠ newlocale ⚠ nextafter ⚠ nextafterf ⚠ nextafterl ⚠ nexttoward ⚠ nexttowardf ⚠ nexttowardl ⚠ open_memstream ⚠ pclose ⚠ perror ⚠ popen ⚠ pow ⚠ powf ⚠ powl ⚠ printf ⚠ pselect ⚠ putc ⚠ putc_unlocked ⚠ putchar ⚠ putchar_unlocked ⚠ puts ⚠ putw ⚠ remainder ⚠ remainderf ⚠ remainderl ⚠ remove ⚠ remquo ⚠ remquof ⚠ remquol ⚠ rename ⚠ renameat ⚠ rewind ⚠ rint ⚠ rintf ⚠ rintl ⚠ round ⚠ roundf ⚠ roundl ⚠ scalb ⚠ scalbf ⚠ scalbl ⚠ scalbln ⚠ scalblnf ⚠ scalblnl ⚠ scalbn ⚠ scalbnf ⚠ scalbnl ⚠ scanf ⚠ scanf1 ⚠ select ⚠ setbuf ⚠ setbuffer ⚠ setitimer ⚠ setlinebuf ⚠ setlocale ⚠ settimeofday ⚠ setvbuf ⚠ significand ⚠ significandf ⚠ significandl ⚠ sin ⚠ sinf ⚠ sinh ⚠ sinhf ⚠ sinhl ⚠ sinl ⚠ snprintf ⚠ sprintf ⚠ sqrt ⚠ sqrtf ⚠ sqrtl ⚠ sscanf ⚠ sscanf1 ⚠ tan ⚠ tanf ⚠ tanh ⚠ tanhf ⚠ tanhl ⚠ tanl ⚠ tempnam ⚠ tgamma ⚠ tgammaf ⚠ tgammal ⚠ tmpfile ⚠ tmpnam ⚠ tmpnam_r ⚠ trunc ⚠ truncf ⚠ truncl ⚠ ungetc ⚠ uselocale ⚠ utimes ⚠ vdprintf ⚠ vfprintf ⚠ vfscanf ⚠ vfscanf1 ⚠ vprintf ⚠ vscanf ⚠ vscanf1 ⚠ vsnprintf ⚠ vsprintf ⚠ vsscanf ⚠ vsscanf1 ⚠ y0 ⚠ y0f ⚠ y0l ⚠ y1 ⚠ y1f ⚠ y1l ⚠ yn ⚠ ynf ⚠ ynl ⚠ EJDB EJDB_DOC @brief Document representation as result of query execution.
@see ejdb_exec() EJDB_EXEC @brief Query execution context.
Passed to ejdb_exec()
to execute database query. EJDB_EXEC_VISITOR @brief Visitor for matched documents during query execution. EJDB_HTTP @brief EJDB HTTP/Websocket Server options. EJDB_LIST @brief Query result as list.
Used as result of ejdb_list()
query functions. EJDB_OPTS @brief EJDB open options. FILE HANDLE IWDB IWKV IWKV_PUT_HANDLER @brief Intercepts old(replaced) value in put operation.
@note If oldval
is not zero IWKV_PUT_HANDLER responsive for releasing it using iwkv_val_dispose()
@warning Use IWKV_PUT_HANDLER
with caution: mind deadlocks. IWKV_cursor IWKV_cursor_op @brief Database cursor operations and position flags. IWLOG_ECODE_FN @brief Return the locale aware error code explanation message. IWLOG_FN @brief Logging function pointer. IWPOOL IWXSTR IW_EXT_RSPOLICY @brief File resize policy function type. JBL JBL_NODE @brief JSON document as in-memory tree (DOM tree). JBL_PATCH @brief JSON patch specification JBL_PTR @brief JSON pointer rfc6901
@see jbl_ptr_alloc() JBL_iterator JBN_VCTX @brief JBL_NODE visitor context JBN_VISITOR Call with lvl: -1
means end of visiting whole object tree. JQL _Float32 _Float64 _Float32x _Float64x _IO_lock_t __FILE __blkcnt64_t __blkcnt_t __blksize_t __builtin_va_list __caddr_t __clock_t __clockid_t __daddr_t __dev_t __fd_mask __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 __itimer_which __itimer_which_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 __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 blkcnt_t blksize_t caddr_t clock_t clockid_t daddr_t dev_t double_t ejdb_ecode_t @brief EJDB error codes. ejdb_idx_mode_t Index creation mode fd_mask float_t fpos_t fsblkcnt_t fsfilcnt_t fsid_t gid_t id_t ino_t 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 iw_ecode @enum iw_ecode
@brief Common used error codes. iwdb_flags_t Database initialization modes iwfs_ext_ecode @enum iwfs_ext_ecode
@brief Error codes specific to this module. iwfs_ext_mmap_opts_t iwfs_fsm_aflags Free space allocation flags
@see IWFS_FSM::allocate iwfs_fsm_clrfalgs File cleanup flags used in IWFS_FSM::clear
iwfs_fsm_ecode @brief Error codes specific to IWFS_FSM
. iwfs_fsm_openflags IWFS_FSM
file open modes used in IWFS_FSM_OPTS
iwfs_omode File open mode iwfs_openstatus Status of an open file operation iwfs_sync_flags Sync file data options iwkv_ecode @brief IWKV error codes. iwkv_openflags Database file open modes. iwkv_opflags Record store modes used in iwkv_put()
and iwkv_cursor_set()
functions. iwlog_lvl @enum iwlog_lvl
@brief Available logging vebosity levels. iwp_ecode @enum iwp_ecode
@brief Error codes. iwp_file_type @enum iwp_file_type
@brief File type. iwp_lockmode File locking mode acquired by process opened this file. iwp_seek_origin iwrc @brief The operation result status code. jbl_ecode_t jbl_json_printer Prints JSON to some oputput specified by op
jbl_print_flags_t jbl_type_t jbn_visitor_cmd_t jbp_patch_t @brief JSON Patch operation according to rfc6902 jql_create_mode_t jql_ecode_t key_t locale_t loff_t mode_t nlink_t off_t pid_t pthread_key_t pthread_once_t pthread_spinlock_t pthread_t quad_t register_t sigset_t size_t ssize_t suseconds_t time_t timer_t u_char u_int u_int8_t u_int16_t u_int32_t u_int64_t u_long u_quad_t u_short uid_t uint 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 ulong ushort va_list wchar_t _JBL_NODE__bindgen_ty_1 __atomic_wide_counter __mbstate_t__bindgen_ty_1 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