Expand description
Β§C2Rust transpiled header contents (static inline functions
Types in here are distinct from those created in the main module (using bindgen); unifying those will be part of bindgenβs #1334, but itβs a long way there.
Use these functions through the re-export in the main module, for the C headers may flip-flop between static inline and linked.
Some special treatment has been applied in the course of the transpilation process:
- All functions were made
pub
- All functions have their
extern "C"
removed. Any C component would already use it via their original definitions, there is no need to re-export them or to restrain their ABI (as they are here for efficient inlining into Rust code only). - For C const initializers (eg.
#define MUTEX_INIT { { NULL } }
), there is no way for a transpiler to recognize which type this is actually for. That information is tracked manually inbuild.rs
as a list of known initializers. They get turned into const functions in the style offn init_MUTEX_INIT() -> mutex_t
.
Macros§
- llvm_
asm πCompatibility macro that looks up assembly in the deprecatedllvm_asm!
style in a manually manged list of known short snippets mapped toasm!
equivalents.
Structs§
Constants§
Statics§
- ITM_
RxBuffer π β - ZTIMER_
MSEC π β - _impure_
ptr π β - ipv6_
addr_ π βall_ nodes_ if_ local - ipv6_
addr_ π βall_ routers_ if_ local - ipv6_
addr_ π βlink_ local_ prefix - ipv6_
addr_ π βloopback - ipv6_
addr_ π βsolicited_ node_ prefix - ipv6_
addr_ π βunspecified - mtd_
dev_ π βxfa - mtd_
dev_ π βxfa_ end - sched_
context_ π βswitch_ request - sched_
runqueues π β - sched_
threads π β
Functions§
- __CLREXβ
- __CLZβ
- __DMBβ
- __DSBβ
- __ISBβ
- __LDRBTβ
- __
LDREXB β - __
LDREXH β - __
LDREXW β - __LDRHTβ
- __LDRTβ
- __
NVIC_ π βSetPriority - __QADDβ
- __QADD8β
- __
QADD16 β - __QASXβ
- __QSAXβ
- __QSUBβ
- __QSUB8β
- __
QSUB16 β - __RBITβ
- __REVβ
- __REV16β
- __REVSHβ
- __RORβ
- __RRXβ
- __SADD8β
- __
SADD16 β - __SASXβ
- __SELβ
- __
SHAD βD8 - __SHASXβ
- __SHSAXβ
- __
SHSU βB8 - __SMLADβ
- __
SMLADX β - __SMLSDβ
- __
SMLSDX β - __SMMLAβ
- __SMUADβ
- __
SMUADX β - __SMUSDβ
- __
SMUSDX β - __SSAXβ
- __SSUB8β
- __
SSUB16 β - __STRBTβ
- __
STREXB β - __
STREXH β - __
STREXW β - __STRHTβ
- __STRTβ
- __
SXTB16 β - __UADD8β
- __
UADD16 β - __UASXβ
- __
UHAD βD8 - __UHASXβ
- __UHSAXβ
- __
UHSU βB8 - __
UQAD βD8 - __UQASXβ
- __UQSAXβ
- __
UQSU βB8 - __USAD8β
- __
USAD βA8 - __USAXβ
- __USUB8β
- __
USUB16 β - __
UXTB16 β - __
masked_ π βbuiltin_ arm_ get_ fpscr - __
masked_ π βbuiltin_ arm_ set_ fpscr - __
srget_ π βr - __
swbuf_ π βr - _assert_
panic π β - _clist_
sort π β - _evtimer_
mbox_ π βhandler - _evtimer_
msg_ π βhandler - _gnrc_
netapi_ π βget_ set - _gnrc_
netapi_ π βsend_ recv - _mbox_
get π β - _mbox_
put π β - _ztimer_
now_ π βextend - bf_andβ
- bf_
clear_ π βall - bf_invβ
- bf_
isset β - bf_orβ
- bf_setβ
- bf_
set_ π βall - bf_
unset β - bf_xorβ
- bitarithm_
bits_ π βset - bluetil_
ad_ π βadd - bluetil_
ad_ π βinit - cib_
full β - cib_getβ
- cib_
init β - cib_
peek β - cib_putβ
- cib_
size β - coap_
block_ π βfinish - coap_
get_ π βblock - coap_
opt_ π βadd_ block - coap_
opt_ π βadd_ chars - coap_
opt_ π βadd_ uint - coap_
opt_ π βadd_ uri_ query2 - coap_
opt_ π βfinish - coap_
opt_ π βget_ opaque - coap_
opt_ π βget_ string - coap_
opt_ π βput_ block - coap_
opt_ π βput_ string_ with_ len - coap_
opt_ π βput_ uint - coap_
opt_ π βremove - cose_
cbor_ π βdecode_ get_ prot - cose_
hdr_ π βinsert - cose_
signature_ π βdecode_ init - dhcpv6_
client_ π βconf_ prefix - dhcpv6_
client_ π βprefix_ valid_ until - event_
callback_ π βinit - event_
is_ π βqueued - event_
post π β - event_
wait_ π βmulti - evtimer_
add π β - evtimer_
init π β - gcoap_
req_ π βinit_ path_ buffer - gcoap_
req_ π βsend - gcoap_
resp_ π βinit - gnrc_
netapi_ π βdispatch - gnrc_
netif_ π βdev_ is_ 6lo - gnrc_
netif_ π βeui64_ from_ addr - gnrc_
netif_ π βget_ by_ pid - gnrc_
netif_ π βipv6_ iid_ from_ addr - gnrc_
pktbuf_ π βrelease_ error - gpio_
clear π β - gpio_
set π β - gpio_
toggle π β - htonlβ
- htonllβ
- htonsβ
- inet_
csum_ π βslice - ipv6_
addr_ π βsplit_ int - ipv6_
addr_ π βsplit_ str - l2util_
addr_ π βfrom_ str - l2util_
addr_ π βto_ str - l2util_
ipv6_ π βgroup_ to_ l2_ group - l2util_
ipv6_ π βiid_ to_ addr - l2util_
ndp_ π βaddr_ len_ from_ l2ao - led_offβ
- led_onβ
- list_
add β - Symbol indicating untranslated
llvm_asm!
code. - mbox_
get β - mbox_
put β - measure_
stack_ π βfree_ internal - memcmp π β
- memcpy π β
- memset π β
- msg_
send_ π βint - mutex_
lock_ π βinternal - nanocoap_
sock_ π βurl_ connect - netdev_
register_ π βsignal - netif_
get_ π βby_ name_ buffer - netif_
get_ π βopt - ntohlβ
- ntohllβ
- ntohsβ
- pm_off π β
- printf π β
- ptrtagβ
- random_
uint32 π β - sha2xx_
final π β - sha2xx_
update π β - sha512_
common_ π βfinal - sha512_
common_ π βupdate - shell_
run_ π βonce - sock_
ip_ π βrecv_ aux - sock_
ip_ π βrecv_ buf_ aux - sock_
ip_ π βsend_ aux - sock_
tl_ π βep_ equal - sock_
tl_ π βep_ fmt - sock_
tl_ π βname2ep - sock_
tl_ π βstr2ep - sock_
udp_ π βclose - sock_
udp_ π βcreate - sock_
udp_ π βrecv_ aux - sock_
udp_ π βrecv_ buf_ aux - sock_
udp_ π βsendv_ aux - sock_
urlpath π β - spi_
transfer_ π βbytes - strlen π β
- suit_
worker_ π βtrigger - timex_
set π β - ztimer_
is_ π βset