[][src]Crate in3_sys

Low-level, unsafe Rust bindings for the [In3][in3] library.

We recommend against using this crate directly. Instead, consider using in3-rs, which provides a high-level, safe, "Rusty" interface.

Re-exports

pub use self::ctx_type as ctx_type_t;
pub use self::state as in3_ctx_state_t;

Modules

in3_ret_t

Structs

BLAKE256_CTX
HDNode
Hasher
SHA3_CTX

SHA3 Algorithm context.

_G_fpos64_t
_G_fpos_t
_IO_FILE
_IO_codecvt
_IO_marker
_IO_wide_data
_SHA1_CTX
_SHA256_CTX
_SHA512_CTX
__blake2b_state
__fsid_t
__locale_data
__locale_struct
__mbstate_t
__pthread_cond_s
__pthread_cond_s__bindgen_ty_1__bindgen_ty_1
__pthread_cond_s__bindgen_ty_2__bindgen_ty_1
__pthread_internal_list
__pthread_internal_slist
__pthread_mutex_s
__pthread_rwlock_arch_t
__sigset_t
__va_list_tag
bignum256
bytes

a byte array

bytes_builder_t

a byte-buffer to attach byte-functions.

cache_entry

represents a single cache entry in a linked list. These are used within a request context to cache values and automaticly free them.

curve_info
curve_point
d_iterator

iterator over elements of a array opf object.

div_t
drand48_data
ecdsa_curve
eth_blknum_t
eth_block

An Ethereum Block

eth_log

A linked list of Ethereum Logs

eth_tx

A transaction

eth_tx_receipt

A transaction receipt

fd_set
in3_request_config

the configuration as part of each incubed request. This will be generated for each request based on the client-configuration. the verifier may access this during verification in order to check against the request.

in3_node

incubed node-configuration.

in3_node_weight

Weight or reputation of a node.

in3_whitelist

defines a whitelist structure used for the nodelist.

in3_verified_hash

represents a blockhash which was previously verified

in3_chain

Chain definition inside incubed.

in3_storage_handler

storage handler to handle cache.

in3_signer

definition of a signer holding funciton-pointers and data.

in3_pay

the payment handler.

in3_response

response-object.

in3_request

request-object.

in3_filter_t_
in3_filter_handler_t_

Handler which is added to client config in order to handle filter.

in3_t_

Incubed Configuration.

in3_ctx

The Request config.

in3_chain__bindgen_ty_1
item

a token holding any kind of value.

itimerspec
json_parser

parser for json or binary-data. it needs to freed after usage.

ldiv_t
lldiv_t
max_align_t
opt_address_t
opt_bytes_t
opt_uint64_t
opt_uint256_t
random_data
sb

string build struct, which is able to hold and modify a growing string.

sigevent
sph_groestl_big_context

This structure is a context for Groestl-384 and Groestl-512 computations: it contains the intermediate values and some data from the last entered block. Once a Groestl computation has been performed, the context can be reused for another computation.

str_range

internal type used to represent the a range within a string.

timespec
timeval
tm
uint256_t

a 32 byte long integer used to store ethereum-numbers.

weight

the weight of a certain node as linked list.

Enums

HasherType
blake2b_constant
ctx_type

type of the request context,

d_signature_type_t

type of the requested signature

d_type_t

type of a token.

eth_blknum_def_t

Abstract type for holding a block number

idtype_t
in3_chain_type_t

the type of the chain.

in3_proof_t

the type of proof.

in3_verification_t

verification as delivered by the server.

in3_node_props_type_t
in3_flags_type_t

a list of flags definiing the behavior of the incubed client. They should be used as bitmask for the flags-property.

in3_node_attr_type_t

a list of node attributes (mostly used internally)

in3_filter_type_t

Filter type used internally when managing filters.

state

The current state of the context.

Constants

BIG_ENDIAN
BIP32_CACHE_SIZE
BIP32_CACHE_MAXDEPTH
BIP39_CACHE_SIZE
BLAKE256_DIGEST_LENGTH
BLAKE256_BLOCK_LENGTH
BUFSIZ
BYTE_ORDER
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
DATA_DEPTH_MAX
DEF_REPL_LATEST_BLK
EOF
ETH_CHAIN_ID_BTC
ETH_CHAIN_ID_EVAN
ETH_CHAIN_ID_GOERLI
ETH_CHAIN_ID_IPFS
ETH_CHAIN_ID_KOVAN
ETH_CHAIN_ID_LOCAL
ETH_CHAIN_ID_MAINNET
ETH_CHAIN_ID_MULTICHAIN
ETH_CHAIN_ID_TOBALABA
EXIT_FAILURE
EXIT_SUCCESS
FD_SETSIZE
FILENAME_MAX
FOPEN_MAX
HASHER_DIGEST_LENGTH
IN3_PROTO_VER
IN3_SIGN_ERR_REJECTED
IN3_SIGN_ERR_ACCOUNT_NOT_FOUND
IN3_SIGN_ERR_INVALID_MESSAGE
IN3_SIGN_ERR_GENERAL_ERROR
INT8_MIN
INT8_MAX
INT16_MIN
INT16_MAX
INT32_MIN
INT32_MAX
INTPTR_MAX
INTPTR_MIN
INT_FAST8_MIN
INT_FAST8_MAX
INT_FAST16_MIN
INT_FAST16_MAX
INT_FAST32_MIN
INT_FAST32_MAX
INT_LEAST8_MIN
INT_LEAST8_MAX
INT_LEAST16_MIN
INT_LEAST16_MAX
INT_LEAST32_MIN
INT_LEAST32_MAX
LITTLE_ENDIAN
L_ctermid
L_tmpnam
MAX_ADDR_RAW_SIZE
MAX_ADDR_SIZE
MAX_WIF_RAW_SIZE
MAX_WIF_SIZE
PDP_ENDIAN
PTRDIFF_MAX
PTRDIFF_MIN
P_tmpdir
RAND_MAX
SEEK_CUR
SEEK_END
SEEK_SET
SHA1_BLOCK_LENGTH
SHA1_DIGEST_LENGTH
SHA1_DIGEST_STRING_LENGTH
SHA256_BLOCK_LENGTH
SHA256_DIGEST_LENGTH
SHA256_DIGEST_STRING_LENGTH
SHA512_BLOCK_LENGTH
SHA512_DIGEST_LENGTH
SHA512_DIGEST_STRING_LENGTH
SHA3_224_BLOCK_LENGTH
SHA3_224_DIGEST_LENGTH
SHA3_256_BLOCK_LENGTH
SHA3_256_DIGEST_LENGTH
SHA3_384_BLOCK_LENGTH
SHA3_384_DIGEST_LENGTH
SHA3_512_BLOCK_LENGTH
SHA3_512_DIGEST_LENGTH
SIG_ATOMIC_MAX
SIG_ATOMIC_MIN
SIZE_MAX
TIMER_ABSTIME
TIME_UTC
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
USE_BIP32_CACHE
USE_BIP39_CACHE
USE_BIP32_25519_CURVES
USE_BN_PRINT
USE_CARDANO
USE_ETHEREUM
USE_GRAPHENE
USE_INVERSE_FAST
USE_KECCAK
USE_MONERO
USE_NEM
USE_PRECOMPUTED_CP
USE_RFC6979
WCONTINUED
WEXITED
WINT_MAX
WINT_MIN
WNOHANG
WNOWAIT
WSTOPPED
WUNTRACED
_ALLOCA_H
_ATFILE_SOURCE
_BITS_BYTESWAP_H
_BITS_ENDIANNESS_H
_BITS_ENDIAN_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_TIME_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
_POSIX_C_SOURCE
_POSIX_SOURCE
_STDC_PREDEF_H
_STDINT_H
_STDIO_H
_STDLIB_H
_STRINGS_H
_STRING_H
_STRUCT_TIMESPEC
_SYS_CDEFS_H
_SYS_SELECT_H
_SYS_TYPES_H
_THREAD_MUTEX_INTERNAL_H
_THREAD_SHARED_TYPES_H
_TIME_H
__BIG_ENDIAN
__BIT_TYPES_DEFINED__
__BYTE_ORDER
__ENUM_IDTYPE_T
__FD_SETSIZE
__FD_ZERO_STOS
__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_FUNCS_EXT
__GLIBC_USE_IEC_60559_TYPES_EXT
__GLIBC_USE_IEC_60559_BFP_EXT_C2X
__GLIBC_USE_IEC_60559_FUNCS_EXT_C2X
__GLIBC_USE_ISOC2X
__GLIBC_USE_LIB_EXT2
__GLIBC__
__GNUC_VA_LIST
__GNU_LIBRARY__
__HAVE_DISTINCT_FLOAT16
__HAVE_DISTINCT_FLOAT32
__HAVE_DISTINCT_FLOAT32X
__HAVE_DISTINCT_FLOAT64
__HAVE_DISTINCT_FLOAT64X
__HAVE_DISTINCT_FLOAT128
__HAVE_DISTINCT_FLOAT128X
__HAVE_FLOAT16
__HAVE_FLOAT32
__HAVE_FLOAT32X
__HAVE_FLOAT64X
__HAVE_FLOAT64X_LONG_DOUBLE
__HAVE_FLOAT64
__HAVE_FLOAT128
__HAVE_FLOAT128X
__HAVE_FLOATN_NOT_TYPEDEF
__HAVE_GENERIC_SELECTION
__INO_T_MATCHES_INO64_T
__LITTLE_ENDIAN
__LONG_DOUBLE_USES_FLOAT128
__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__
__STDC_IEC_559_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
__WALL
__WCLONE
__WCOREFLAG
__WNOTHREAD
__WORDSIZE
__WORDSIZE_TIME64_COMPAT32
__W_CONTINUED
____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
__itimerspec_defined
__ldiv_t_defined
__lldiv_t_defined
__sigset_t_defined
__struct_FILE_defined
__struct_tm_defined
__time_t_defined
__timer_t_defined
__timeval_defined
false_
sha3_max_permutation_size
sha3_max_rate_in_qwords
sha3_224_hash_size
sha3_256_hash_size
sha3_384_hash_size
sha3_512_hash_size
true_

Statics

__daylight
__timezone
__tzname
daylight
secp256k1
secp256k1_info
secp256k1_decred_info
secp256k1_groestl_info
secp256k1_smart_info
sha256_initial_hash_value
sha512_initial_hash_value
stderr
stdin
stdout
sys_errlist
sys_nerr
timezone
tzname

Functions

_Exit
__ctype_get_mb_cur_max
__getdelim
__overflow
__stpcpy
__stpncpy
__strtok_r
__uflow
_strdupn

duplicate the string

a64l
abort
abs
aligned_alloc
alloca
api_get_error_fn
api_last_error

returns current error or null if all is ok

api_set_error_fn
as_double
as_long
asctime
asctime_r
at_quick_exit
atexit
atof
atoi
atol
atoll
b_cmp
b_dup
b_free
b_new
b_new_chars
b_new_fixed_bytes
b_print
b_read_byte
b_read_int
b_read_long
ba_print
bb_check_size
bb_clear
bb_free
bb_move_to_bytes
bb_newl
bb_read_int
bb_read_long
bb_replace
bb_write_byte
bb_write_chars
bb_write_dyn_bytes
bb_write_fixed_bytes
bb_write_int
bb_write_long
bb_write_long_be
bb_write_raw_bytes
bcmp
bcopy
blake2b_Init
blake2b_InitKey
blake2b_InitPersonal
blake2b_Update
blake2b_Final
blake2b
blake2b_Key
blake256_Init
blake256_Update
blake256_Final
blake256
bn_add
bn_addi
bn_addmod
bn_bitcount
bn_clearbit
bn_cmov
bn_digitcount
bn_divmod58
bn_divmod1000
bn_fast_mod
bn_format
bn_inverse
bn_is_equal
bn_is_less
bn_is_zero
bn_lshift
bn_mod
bn_mult_half
bn_mult_k
bn_multiply
bn_normalize
bn_one
bn_read_be
bn_read_le
bn_read_uint32
bn_read_uint64
bn_rshift
bn_setbit
bn_sqrt
bn_subi
bn_subtract
bn_subtractmod
bn_testbit
bn_write_be
bn_write_le
bn_xor
bn_zero
bsearch
bytes_cmp
bytes_to_hex

convefrts a bytes into hex

bytes_to_long

converts the bytes to a unsigned long (at least the last max len bytes)

bzero
calloc
char_to_long

converts a character into a uint64_t

clearenv
clearerr
clearerr_unlocked
clock
clock_getcpuclockid
clock_getres
clock_gettime
clock_nanosleep
clock_settime
cloned_bytes
ctermid
ctime
ctime_r
ctx_add_required

adds a new context as a requirment.

ctx_check_response_error

check if the response contains a error-property and reports this as error in the context.

ctx_find_required

searches within the required request contextes for one with the given method.

ctx_free

frees all resources allocated during the request.

ctx_get_error

determins the errorcode for the given request.

ctx_handle_failable

handles a failable context

ctx_new

creates a new context.

ctx_remove_required

removes a required context after usage. removing will also call free_ctx to free resources.

ctx_set_error_intern

sets the error message in the context.

current_ms

current timestamp in ms.

curve25519_scalarmult
curve25519_scalarmult_basepoint
d_bytes
d_bytes_to
d_bytesl
d_clear_keynames
d_create_bytes_vec
d_create_json
d_eq
d_get
d_get_at
d_get_byteskl
d_get_keystr
d_get_or
d_getl
d_int
d_intd
d_iter
d_long
d_longd
d_next
d_serialize_binary
d_string
d_to_bytes

returns the byte-representation of token.

d_to_json
d_track_keynames
decrypt_key
difftime
div
dprintf
drand48
drand48_r
dysize
ecdh_multiply
ecdsa_address_decode
ecdsa_get_address
ecdsa_get_address_raw
ecdsa_get_address_segwit_p2sh_raw
ecdsa_get_address_segwit_p2sh
ecdsa_get_pubkeyhash
ecdsa_get_public_key33
ecdsa_get_public_key65
ecdsa_get_wif
ecdsa_read_pubkey
ecdsa_recover_pub_from_sig
ecdsa_sig_to_der
ecdsa_sign
ecdsa_sign_digest
ecdsa_uncompress_pubkey
ecdsa_validate_pubkey
ecdsa_verify
ecdsa_verify_digest
ecvt
ecvt_r
ed25519_publickey
ed25519_sign_open
ed25519_sign
ed25519_scalarmult
ed25519_cosi_combine_publickeys
ed25519_cosi_combine_signatures
ed25519_cosi_sign
erand48
erand48_r
eth_blockNumber
eth_call_fn
eth_chainId
eth_estimate_fn
eth_gasPrice
eth_getBalance
eth_getBlockByHash
eth_getBlockByNumber
eth_getBlockTransactionCountByHash
eth_getBlockTransactionCountByNumber
eth_getCode
eth_getFilterChanges
eth_getFilterLogs
eth_getLogs
eth_getStorageAt
eth_getTransactionByBlockHashAndIndex
eth_getTransactionByBlockNumberAndIndex
eth_getTransactionByHash
eth_getTransactionCount
eth_getTransactionReceipt
eth_getUncleByBlockNumberAndIndex
eth_getUncleCountByBlockHash
eth_getUncleCountByBlockNumber
eth_log_free
eth_newBlockFilter
eth_newFilter
eth_newPendingTransactionFilter
eth_sendRawTransaction
eth_sendTransaction
eth_set_pk_signer

simply signer with one private key.

eth_set_pk_signer_hex

simply signer with one private key as hex.

eth_sign
eth_tx_receipt_free
eth_uninstallFilter
eth_wait_for_receipt
exit
explicit_bzero
fclose
fcvt
fcvt_r
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
free
freopen
fscanf
fscanf1
fseek
fseeko
fsetpos
ftell
ftello
ftrylockfile
funlockfile
fwrite
fwrite_unlocked
gcvt
get_curve_by_name
getc
getc_unlocked
getchar
getchar_unlocked
getdelim
getenv
getline
getloadavg
getsubopt
getw
gmtime
gmtime_r
groestl512_Init

Initialize a Groestl-512 context. This process performs no memory allocation.

groestl512_Update

Process some data bytes. It is acceptable that len is zero (in which case this function does nothing).

groestl512_Final

Terminate the current Groestl-512 computation and output the result into the provided buffer. The destination buffer must be wide enough to accomodate the result (64 bytes). The context is automatically reinitialized.

groestl512_DoubleTrunc
hasher_Final
hasher_Init
hasher_Raw
hasher_Reset
hasher_Update
hdnode_deserialize
hdnode_fill_public_key
hdnode_fingerprint
hdnode_from_seed
hdnode_from_xprv
hdnode_from_xpub
hdnode_get_address
hdnode_get_address_raw
hdnode_get_shared_key
hdnode_private_ckd
hdnode_private_ckd_cached
hdnode_public_ckd
hdnode_public_ckd_address_optimized
hdnode_public_ckd_cp
hdnode_serialize_private
hdnode_serialize_public
hdnode_sign
hdnode_sign_digest
hex_to_bytes

convert a c hex string to a byte array storing it into an existing buffer.

hex_to_new_bytes

convert a c string to a byte array creating a new buffer

hexchar_to_int

converts a hexchar to byte (4bit)

in3_cache_get_entry

get the entry for a given key.

in3_cache_add_entry

adds an entry to the linked list.

in3_cache_free

clears all entries in the linked list.

in3_set_func_time
in3_time
in3_set_func_rand
in3_rand
in3_set_func_srand
in3_srand
in3_errmsg

converts a error code into a string. These strings are constants and do not need to be freed.

in3_node_props_set

setter method for interacting with in3_node_props_t.

in3_new

creates a new Incubes configuration and returns the pointer.

in3_for_chain_default
in3_client_rpc

sends a request and stores the result in the provided buffer

in3_client_rpc_raw

sends a request and stores the result in the provided buffer

in3_client_exec_req

executes a request and returns result as string. in case of an error, the error-property of the result will be set. The resulting string must be free by the the caller of this function!

in3_req_add_response

adds a response for a request-object. This function should be used in the transport-function to set the response.

in3_client_register_chain

registers a new chain or replaces a existing (but keeps the nodelist)

in3_client_add_node

adds a node to a chain ore updates a existing node

in3_client_remove_node

removes a node from a nodelist

in3_client_clear_nodes

removes all nodes from the nodelist

in3_free

frees the references of the client

in3_cache_init

inits the cache.

in3_find_chain

finds the chain-config for the given chain_id.

in3_configure

configures the clent based on a json-config.

in3_get_config

gets the current config as json.

in3_set_default_transport

defines a default transport which is used when creating a new client.

in3_set_default_storage

defines a default storage handler which is used when creating a new client.

in3_set_default_signer

defines a default signer which is used when creating a new client.

in3_create_signer

create a new signer-object to be set on the client. the caller will need to free this pointer after usage.

in3_set_storage_handler

create a new storage handler-object to be set on the client. the caller will need to free this pointer after usage.

in3_send_ctx

sends a previously created context to nodes and verifies it.

in3_ctx_execute

execute the context, but stops whenever data are required.

in3_ctx_state

returns the current state of the context.

in3_client_rpc_ctx_raw

sends a request and returns a context used to access the result or errors.

in3_client_rpc_ctx

sends a request and returns a context used to access the result or errors.

in3_create_request

creates a request-object, which then need to be filled with the responses.

in3_register_eth_api

this function should only be called once and will register the eth-API verifier.

in3_register_curl

registers curl as a default transport.

in3_for_chain_auto_init
index
initstate
initstate_r
int_to_bytes

converts a int to 4 bytes

jrand48
jrand48_r
json_array_add_value
json_create
json_create_array
json_create_bool
json_create_bytes
json_create_int
json_create_null
json_create_object
json_create_string
json_free
json_object_add_prop
keccak_256
keccak_512
keccak_Final
keyn
l64a
labs
lcong48
lcong48_r
ldiv
llabs
lldiv
localtime
localtime_r
long_to_bytes

converts a long to 8 bytes

lrand48
lrand48_r
malloc
mblen
mbstowcs
mbtowc
memccpy
memchr
memcmp
memcpy
memmove
memset
min_bytes_len

calculate the min number of byte to represents the len

mkdtemp
mkstemp
mkstemps
mktemp
mktime
mrand48
mrand48_r
nanosleep
nrand48
nrand48_r
on_exit
open_memstream
parse_binary
parse_binary_str
parse_json
pclose
perror
point_add
point_copy
point_double
point_is_equal
point_is_infinity
point_is_negative_of
point_multiply
point_set_infinity
popen
posix_memalign
printf
pselect
putc
putc_unlocked
putchar
putchar_unlocked
putenv
puts
putw
qecvt
qecvt_r
qfcvt
qfcvt_r
qgcvt
qsort
quick_exit
rand
rand_r
random
random_r
read_be
read_le
realloc
reallocarray
realpath
remove
rename
renameat
request_free

frees a previuosly allocated request.

rewind
rindex
rpmatch
sb_add_bytes
sb_add_char
sb_add_chars
sb_add_hexuint_l
sb_add_key_value
sb_add_range
sb_free
sb_init
sb_new
scalar_multiply
scanf
scanf1
seed48
seed48_r
select
send_curl

a transport function using curl.

setbuf
setbuffer
setenv
setlinebuf
setstate
setstate_r
setvbuf
sha1_Transform
sha1_Init
sha1_Update
sha1_Final
sha1_End
sha1_Raw
sha1_Data
sha3

hashes the bytes and creates a new bytes_t

sha3_to

writes 32 bytes to the pointer.

sha3_Update
sha3_Final
sha256_Transform
sha256_Init
sha256_Update
sha256_Final
sha256_End
sha256_Raw
sha256_Data
sha512_Transform
sha512_Init
sha512_Update
sha512_Final
sha512_End
sha512_Raw
sha512_Data
sha3_224_Init
sha3_256_Init
sha3_256
sha3_384_Init
sha3_512_Init
sha3_512
sign_tx
snprintf
sprintf
srand
srand48
srand48_r
srandom
srandom_r
sscanf
sscanf1
stpcpy
stpncpy
str_find

lightweight strstr() replacements

str_remove_html

remove all html-tags in the text.

str_replace

replaces a string and returns a copy. @retval

str_replace_pos

replaces a string at the given position.

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
strtod
strtof
strtok
strtok_r
strtol
strtold
strtoll
strtoq
strtoul
strtoull
strtouq
strxfrm
strxfrm_l
system
tempnam
time
timegm
timelocal
timer_create
timer_delete
timer_getoverrun
timer_gettime
timer_settime
timespec_get
tmpfile
tmpnam
tmpnam_r
to_checksum
to_uint256
tzset
u64_to_str

converts a uint64_t to string (char*); buffer-size min. 21 bytes

uint256_set

sets a variable value to 32byte word.

uncompress_coords
ungetc
unsetenv
valloc
vdprintf
vfprintf
vfscanf
vfscanf1
vprintf
vscanf
vscanf1
vsnprintf
vsprintf
vsscanf
vsscanf1
wcstombs
wctomb
write_be
write_le

Type Definitions

FILE
GROESTL512_CTX
SHA1_CTX
SHA256_CTX
SHA512_CTX
_Float32
_Float32x
_Float64
_Float64x
_IO_lock_t
__FILE
__blkcnt64_t
__blkcnt_t
__blksize_t
__builtin_va_list
__caddr_t
__clock_t
__clockid_t
__compar_fn_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
__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
__suseconds_t
__syscall_slong_t
__syscall_ulong_t
__time_t
__timer_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
address_t
blake2b_state
blkcnt_t
blksize_t
bytes32_t
bytes_t

a byte array

cache_entry_t

represents a single cache entry in a linked list. These are used within a request context to cache values and automaticly free them.

caddr_t
chain_id_t

type for a chain_id.

clock_t
clockid_t
curve25519_key
d_iterator_t

iterator over elements of a array opf object.

d_key_t
d_token_t

a token holding any kind of value.

daddr_t
dev_t
ed25519_signature
ed25519_public_key
ed25519_secret_key
ed25519_cosi_signature
eth_block_t

An Ethereum Block

eth_log_t

A linked list of Ethereum Logs

eth_tx_receipt_t

A transaction receipt

eth_tx_t

A transaction

fd_mask
fpos_t
fsblkcnt_t
fsfilcnt_t
fsid_t
get_error_fn

function to get last error message. default implementation is NOT MT safe!

gid_t
id_t
in3_request_config_t

the configuration as part of each incubed request. This will be generated for each request based on the client-configuration. the verifier may access this during verification in order to check against the request.

in3_node_props_t

Node capabilities @note Always access using getters/setters in nodelist.h

in3_node_attr_t
in3_node_t

incubed node-configuration.

in3_node_weight_t

Weight or reputation of a node.

in3_whitelist_t

defines a whitelist structure used for the nodelist.

in3_verified_hash_t

represents a blockhash which was previously verified

in3_chain_t

Chain definition inside incubed.

in3_storage_get_item

storage handler function for reading from cache. @returns the found result. if the key is found this function should return the values as bytes otherwise NULL.

in3_storage_set_item

storage handler function for writing to the cache.

in3_storage_clear

storage handler function for clearing the cache.

in3_storage_handler_t

storage handler to handle cache.

in3_sign

signing function.

in3_prepare_tx

transform transaction function.

in3_signer_t

definition of a signer holding funciton-pointers and data.

in3_pay_prepare

payment prepearation function.

in3_pay_follow_up

called after receiving a parseable response with a in3-section.

in3_pay_free

free function for the custom pointer.

in3_pay_handle_request

handles the request.

in3_pay_t

the payment handler.

in3_response_t

response-object.

in3_t

Incubed Configuration.

in3_request_t

request-object.

in3_transport_send

the transport function to be implemented by the transport provider.

in3_filter_t
in3_filter_handler_t

Handler which is added to client config in order to handle filter.

in3_ctx_t

The Request config.

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
json_ctx_t

parser for json or binary-data. it needs to freed after usage.

key_t
locale_t
loff_t
mode_t
nlink_t
node_match_t

the weight of a certain node as linked list.

off_t
pid_t
pthread_key_t
pthread_once_t
pthread_spinlock_t
pthread_t
quad_t
rand_func

rand function defaults to k_uptime_get() for zeohyr and rand() for other platforms expected to return a random number

register_t
sb_t

string build struct, which is able to hold and modify a growing string.

set_error_fn

function to set error. Will only be called internally. default implementation is NOT MT safe!

sigset_t
srand_func

srand function defaults to NOOP for zephyr and srand() for other platforms expected to set the seed for a new sequence of random numbers to be returned by in3_rand()

str_range_t

internal type used to represent the a range within a string.

suseconds_t
time_func

time function defaults to k_uptime_get() for zeohyr and time(NULL) for other platforms expected to return a u64 value representative of time (from epoch/start)

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
wlen_t

Unions

Hasher__bindgen_ty_1
__mbstate_t__bindgen_ty_1
__pthread_cond_s__bindgen_ty_1
__pthread_cond_s__bindgen_ty_2
eth_blknum_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
sph_groestl_big_context__bindgen_ty_1