Expand description
Raw bindings to the functions exported by the WHY2025 badge
§Example
#![no_std]
unsafe {
why2025_badge_sys::printf(b"Hello, world!\n\0".as_ptr());
}The bindings are autogenerated from the headers present in the firmware, so they are not exactly idiomatic rust.
The symbols definitely need more documentation. If you want to add some, please add it to the C code in the firmware repository, it will get picked up when rebuilding lib.rshift
§Interesting symbols
Re-exports§
pub use self::event_type as event_type_t;
Structs§
- DIR
- __
Bindgen Complex - __
Bindgen Float16 - __file
- __
iconv_ t - _mbstate_
t - addrinfo
- application_
list - application_
t - curl_
slist - device
- dirent
- div_t
- event_t
- fd_set
- framebuffer_
t - imaxdiv_
t - in_addr
- keyboard_
event_ t - lconv
- ldiv_t
- lldiv_t
- option
- ota_
session_ t - path_t
- re_guts
- regex_t
- regmatch_
t - sockaddr
- stat
- termios
- timespec
- timeval
- tm
- tms
- wifi_
station - window
- window_
coords_ t - window_
flag_ t - window_
rect_ t - window_
size_ t
Enums§
- VISIT
- application_
source_ t - curl_
easy_ info_ t - device_
type_ t - event_
type - keyboard_
scancode_ t - path_
parse_ result_ t - pixel_
format_ t - wifi_
auth_ mode_ t - wifi_
connection_ status_ t - wifi_
status_ t
Statics§
Functions§
- _Exit⚠
- __
adddf3 ⚠ - __
clzsi2 ⚠ - __
divdf3 ⚠ - __
divdi3 ⚠ - __eqdf2⚠
- __
extendhfsf2 ⚠ - __
extendsfdf2 ⚠ - __
fixdfdi ⚠ - __
fixdfsi ⚠ - __
fixunsdfsi ⚠ - __
floatdisf ⚠ - __
floatsidf ⚠ - __
floatunsidf ⚠ - __gedf2⚠
- __gtdf2⚠
- __ledf2⚠
- __ltdf2⚠
- __
muldf3 ⚠ - __
popcountsi2 ⚠ - __
riscv_ ⚠restore_ 0 - __
riscv_ ⚠restore_ 1 - __
riscv_ ⚠restore_ 2 - __
riscv_ ⚠restore_ 3 - __
riscv_ ⚠restore_ 4 - __
riscv_ ⚠restore_ 5 - __
riscv_ ⚠restore_ 6 - __
riscv_ ⚠restore_ 7 - __
riscv_ ⚠restore_ 8 - __
riscv_ ⚠restore_ 9 - __
riscv_ ⚠restore_ 10 - __
riscv_ ⚠restore_ 11 - __
riscv_ ⚠restore_ 12 - __
riscv_ ⚠save_ 0 - __
riscv_ ⚠save_ 1 - __
riscv_ ⚠save_ 2 - __
riscv_ ⚠save_ 3 - __
riscv_ ⚠save_ 4 - __
riscv_ ⚠save_ 5 - __
riscv_ ⚠save_ 6 - __
riscv_ ⚠save_ 7 - __
riscv_ ⚠save_ 8 - __
riscv_ ⚠save_ 9 - __
riscv_ ⚠save_ 10 - __
riscv_ ⚠save_ 11 - __
riscv_ ⚠save_ 12 - __
subdf3 ⚠ - __
truncdfsf2 ⚠ - __
truncsfhf2 ⚠ - __
udivdi3 ⚠ - __
umoddi3 ⚠ - a64l⚠
- abort⚠
- abs⚠
- accept⚠
- acos⚠
- acosf⚠
- acosh⚠
- acoshf⚠
- acoshl⚠
- acosl⚠
- application_
create ⚠ - application_
create_ ⚠file - application_
create_ ⚠file_ string - application_
destroy ⚠ - application_
free ⚠ - application_
get ⚠ - application_
launch ⚠ - application_
list ⚠ - application_
list_ ⚠close - application_
list_ ⚠get_ next - application_
set_ ⚠author - application_
set_ ⚠binary_ path - application_
set_ ⚠interpreter - application_
set_ ⚠metadata - application_
set_ ⚠name - application_
set_ ⚠version - asctime⚠
- asctime_
r ⚠ - asin⚠
- asinf⚠
- asinh⚠
- asinhf⚠
- asinhl⚠
- asinl⚠
- asnprintf⚠
- asprintf⚠
- atan⚠
- atan2⚠
- atan2f⚠
- atan2l⚠
- atanf⚠
- atanh⚠
- atanhf⚠
- atanhl⚠
- atanl⚠
- atexit⚠
- atof⚠
- atoff⚠
- atoi⚠
- atol⚠
- atoll⚠
- bcmp⚠
- bcopy⚠
- bind⚠
- bsearch⚠
- btowc⚠
- bzero⚠
- cabs⚠
- cabsf⚠
- cabsl⚠
- cacos⚠
- cacosf⚠
- cacosh⚠
- cacoshf⚠
- cacoshl⚠
- cacosl⚠
- calloc⚠
- carg⚠
- cargf⚠
- cargl⚠
- casin⚠
- casinf⚠
- casinh⚠
- casinhf⚠
- casinhl⚠
- casinl⚠
- catan⚠
- catanf⚠
- catanh⚠
- catanhf⚠
- catanhl⚠
- catanl⚠
- cbrt⚠
- cbrtf⚠
- cbrtl⚠
- ccos⚠
- ccosf⚠
- ccosh⚠
- ccoshf⚠
- ccoshl⚠
- ccosl⚠
- ceil⚠
- ceilf⚠
- ceill⚠
- cexp⚠
- cexpf⚠
- cexpl⚠
- cimag⚠
- cimagf⚠
- cimagl⚠
- clearerr⚠
- clearerr_
unlocked ⚠ - clock⚠
- clock_
gettime ⚠ - clog⚠
- clog10⚠
- clog10f⚠
- clogf⚠
- clogl⚠
- close⚠
- closedir⚠
- conj⚠
- conjf⚠
- conjl⚠
- connect⚠
- copysign⚠
- copysignf⚠
- copysignl⚠
- cos⚠
- cosf⚠
- cosh⚠
- coshf⚠
- coshl⚠
- cosl⚠
- cpow⚠
- cpowf⚠
- cpowl⚠
- cproj⚠
- cprojf⚠
- cprojl⚠
- creal⚠
- crealf⚠
- creall⚠
- csin⚠
- csinf⚠
- csinh⚠
- csinhf⚠
- csinhl⚠
- csinl⚠
- csqrt⚠
- csqrtf⚠
- csqrtl⚠
- ctan⚠
- ctanf⚠
- ctanh⚠
- ctanhf⚠
- ctanhl⚠
- ctanl⚠
- ctime⚠
- ctime_r⚠
- curl_
easy_ ⚠cleanup - curl_
easy_ ⚠getinfo - curl_
easy_ ⚠init - curl_
easy_ ⚠perform - curl_
easy_ ⚠setopt - curl_
easy_ ⚠strerror - curl_
global_ ⚠cleanup - curl_
global_ ⚠init - curl_
slist_ ⚠append - curl_
slist_ ⚠free_ all - device_
get ⚠ - die⚠
- difftime⚠
- diprintf⚠
- The signature seems to be like this. idk why it’s not in our headers
- div⚠
- drem⚠
- dremf⚠
- erf⚠
- erfc⚠
- erfcf⚠
- erfcl⚠
- erff⚠
- erfl⚠
- exit⚠
- exp⚠
- exp2⚠
- exp2f⚠
- exp2l⚠
- exp10⚠
- exp10f⚠
- expf⚠
- expl⚠
- explicit_
bzero ⚠ - expm1⚠
- expm1f⚠
- expm1l⚠
- fabs⚠
- fabsf⚠
- fabsl⚠
- fclose⚠
- fdim⚠
- fdimf⚠
- fdiml⚠
- fdopen⚠
- feclearexcept⚠
- fegetenv⚠
- fegetexceptflag⚠
- fegetround⚠
- feholdexcept⚠
- feof⚠
- feraiseexcept⚠
- ferror⚠
- fesetenv⚠
- fesetexceptflag⚠
- fesetround⚠
- fetestexcept⚠
- feupdateenv⚠
- fflush⚠
- ffs⚠
- ffsl⚠
- ffsll⚠
- fgetc⚠
- fgetpos⚠
- fgets⚠
- fileno⚠
- finite⚠
- finitef⚠
- finitel⚠
- floor⚠
- floorf⚠
- floorl⚠
- fls⚠
- flsl⚠
- flsll⚠
- fma⚠
- fmaf⚠
- fmal⚠
- fmax⚠
- fmaxf⚠
- fmaxl⚠
- fmemopen⚠
- fmin⚠
- fminf⚠
- fminl⚠
- fmod⚠
- fmodf⚠
- fmodl⚠
- fnmatch⚠
- fopen⚠
- fpgetmask⚠
- fpgetround⚠
- fpgetsticky⚠
- fprintf⚠
- fpsetmask⚠
- fpsetround⚠
- fpsetsticky⚠
- fputc⚠
- fputs⚠
- fread⚠
- free⚠
- freeaddrinfo⚠
- freopen⚠
- frexp⚠
- frexpf⚠
- frexpl⚠
- fscanf⚠
- fseek⚠
- fseeko⚠
- fstat⚠
- ftell⚠
- ftello⚠
- funopen⚠
- fwide⚠
- fwrite⚠
- gamma⚠
- gamma_r⚠
- The signature seems to be like lgamma_r. I have no idea what it does
- gammaf⚠
- gammaf_
r ⚠ - The signature seems to be like lgammaf_r. I have no idea what it does
- gcvt⚠
- gcvtf⚠
- gcvtl⚠
- get_
mac_ ⚠address - get_
num_ ⚠tasks - get_
screen_ ⚠info - getaddrinfo⚠
- getc⚠
- getchar⚠
- getchar_
unlocked ⚠ - getdelim⚠
- getentropy⚠
- getenv⚠
- getline⚠
- getopt⚠
- getopt_
long ⚠ - getopt_
long_ ⚠only - getpid⚠
- getsubopt⚠
- gettimeofday⚠
- gmtime⚠
- gmtime_
r ⚠ - hypot⚠
- hypotf⚠
- hypotl⚠
- iconv⚠
- iconv_
close ⚠ - iconv_
open ⚠ - ilogb⚠
- ilogbf⚠
- ilogbl⚠
- imaxabs⚠
- imaxdiv⚠
- index⚠
- inet_
aton ⚠ - inet_
ntoa ⚠ - infinity⚠
- infinityf⚠
- isalnum⚠
- isalnum_
l ⚠ - isalpha⚠
- isalpha_
l ⚠ - isascii⚠
- isascii_
l ⚠ - isatty⚠
- isblank⚠
- isblank_
l ⚠ - iscntrl⚠
- iscntrl_
l ⚠ - isdigit⚠
- isdigit_
l ⚠ - isgraph⚠
- isgraph_
l ⚠ - isinf⚠
- isinff⚠
- islower⚠
- islower_
l ⚠ - isnan⚠
- isnanf⚠
- isprint⚠
- isprint_
l ⚠ - ispunct⚠
- ispunct_
l ⚠ - isspace⚠
- isspace_
l ⚠ - isupper⚠
- isupper_
l ⚠ - iswalnum⚠
- iswalnum_
l ⚠ - iswalpha⚠
- iswalpha_
l ⚠ - iswblank⚠
- iswblank_
l ⚠ - iswcntrl⚠
- iswcntrl_
l ⚠ - iswctype⚠
- iswctype_
l ⚠ - iswdigit⚠
- iswdigit_
l ⚠ - iswgraph⚠
- iswgraph_
l ⚠ - iswlower⚠
- iswlower_
l ⚠ - iswprint⚠
- iswprint_
l ⚠ - iswpunct⚠
- iswpunct_
l ⚠ - iswspace⚠
- iswspace_
l ⚠ - iswupper⚠
- iswupper_
l ⚠ - iswxdigit⚠
- iswxdigit_
l ⚠ - isxdigit⚠
- isxdigit_
l ⚠ - itoa⚠
- j0⚠
- j0f⚠
- j1⚠
- j1f⚠
- jn⚠
- jnf⚠
- l64a⚠
- labs⚠
- ldexp⚠
- ldexpf⚠
- ldexpl⚠
- ldiv⚠
- lgamma⚠
- lgamma_
r ⚠ - lgammaf⚠
- lgammaf_
r ⚠ - lgammal⚠
- link⚠
- listen⚠
- llabs⚠
- lldiv⚠
- llrint⚠
- llrintf⚠
- llrintl⚠
- llround⚠
- llroundf⚠
- llroundl⚠
- localeconv⚠
- localtime⚠
- localtime_
r ⚠ - log⚠
- log2⚠
- log1p⚠
- log1pf⚠
- log1pl⚠
- log2f⚠
- log2l⚠
- log10⚠
- log10f⚠
- log10l⚠
- logb⚠
- logbf⚠
- logbl⚠
- logf⚠
- logl⚠
- longjmp⚠
- lrint⚠
- lrintf⚠
- lrintl⚠
- lround⚠
- lroundf⚠
- lroundl⚠
- lseek⚠
- malloc⚠
- mblen⚠
- mbrlen⚠
- mbrtowc⚠
- mbsinit⚠
- mbsnrtowcs⚠
- mbsrtowcs⚠
- mbstowcs⚠
- mbtowc⚠
- memccpy⚠
- memchr⚠
- memcmp⚠
- memcpy⚠
- memmem⚠
- memmove⚠
- mempcpy⚠
- memrchr⚠
- memset⚠
- mkdir⚠
- mkdir_p⚠
- mktime⚠
- modf⚠
- modff⚠
- nan⚠
- nanf⚠
- nearbyint⚠
- nearbyintf⚠
- nearbyintl⚠
- nextafter⚠
- nextafterf⚠
- nextafterl⚠
- nexttoward⚠
- nexttowardf⚠
- nexttowardl⚠
- nl_
langinfo ⚠ - nl_
langinfo_ ⚠l - opendir⚠
- ota_
get_ ⚠invalid_ version - ota_
get_ ⚠running_ version - ota_
session_ ⚠abort - ota_
session_ ⚠commit - ota_
session_ ⚠open - ota_
write ⚠ - parse_
path ⚠ - path_
basename ⚠ - path_
concat ⚠ - path_
devname ⚠ - path_
dirconcat ⚠ - path_
dirname ⚠ - path_
fileconcat ⚠ - path_
free ⚠ - pow⚠
- pow10⚠
- pow10f⚠
- powf⚠
- powl⚠
- printf⚠
- process_
create ⚠ - putchar⚠
- puts⚠
- qsort⚠
- qsort_r⚠
- rand⚠
- rand_r⚠
- random⚠
- rawmemchr⚠
- read⚠
- readdir⚠
- realloc⚠
- reallocarray⚠
- regcomp⚠
- regerror⚠
- regexec⚠
- regfree⚠
- remainder⚠
- remainderf⚠
- remainderl⚠
- remove⚠
- remquo⚠
- remquof⚠
- remquol⚠
- rename⚠
- rewind⚠
- rewinddir⚠
- rindex⚠
- rint⚠
- rintf⚠
- rintl⚠
- rm_rf⚠
- rmdir⚠
- round⚠
- roundf⚠
- roundl⚠
- rpmatch⚠
- scalbln⚠
- scalblnf⚠
- scalblnl⚠
- scalbn⚠
- scalbnf⚠
- scalbnl⚠
- scanf⚠
- select⚠
- setbuf⚠
- setbuffer⚠
- setjmp⚠
- setlinebuf⚠
- setvbuf⚠
- sig2str⚠
- Probably in symbols, because it’s in newlib. idk why it is not in our headers
- sin⚠
- sincos⚠
- sincosf⚠
- sinf⚠
- sinh⚠
- sinhf⚠
- sinhl⚠
- sinl⚠
- sleep⚠
- snprintf⚠
- socket⚠
- sprintf⚠
- sqrt⚠
- sqrtf⚠
- sqrtl⚠
- srand⚠
- srandom⚠
- sscanf⚠
- stat⚠
- stpcpy⚠
- stpncpy⚠
- str2sig⚠
- Probably in symbols, because it’s in newlib. idk why it is not in our headers
- strcasecmp⚠
- strcasecmp_
l ⚠ - strcasestr⚠
- strcat⚠
- strchr⚠
- strchrnul⚠
- strcmp⚠
- strcoll⚠
- strcoll_
l ⚠ - strcpy⚠
- strcspn⚠
- strdup⚠
- strerror⚠
- strerror_
r ⚠ - strftime⚠
- strftime_
l ⚠ - strlcat⚠
- strlcpy⚠
- strlen⚠
- strlwr⚠
- strncasecmp⚠
- strncasecmp_
l ⚠ - strncat⚠
- strncmp⚠
- strncpy⚠
- strndup⚠
- strnlen⚠
- strnstr⚠
- strpbrk⚠
- strptime⚠
- strptime_
l ⚠ - strrchr⚠
- strsep⚠
- strspn⚠
- strstr⚠
- strtod⚠
- strtod_
l ⚠ - strtof⚠
- strtof_
l ⚠ - strtoimax⚠
- strtoimax_
l ⚠ - strtok⚠
- strtok_
r ⚠ - strtol⚠
- strtol_
l ⚠ - strtold⚠
- strtold_
l ⚠ - strtoll⚠
- strtoll_
l ⚠ - strtoul⚠
- strtoul_
l ⚠ - strtoull⚠
- strtoull_
l ⚠ - strtoumax⚠
- strtoumax_
l ⚠ - strupr⚠
- strverscmp⚠
- strxfrm⚠
- strxfrm_
l ⚠ - swab⚠
- system⚠
- tan⚠
- tanf⚠
- tanh⚠
- tanhf⚠
- tanhl⚠
- tanl⚠
- task_
priority_ ⚠lower - task_
priority_ ⚠restore - tcgetattr⚠
- @brief Gets the parameters of the terminal
- tcsetattr⚠
- @brief Sets the parameters of the terminal
- tdelete⚠
- tdestroy⚠
- tfind⚠
- tgamma⚠
- tgammaf⚠
- tgammal⚠
- thread_
create ⚠ - time⚠
- times⚠
- timingsafe_
bcmp ⚠ - timingsafe_
memcmp ⚠ - toascii⚠
- toascii_
l ⚠ - tolower⚠
- tolower_
l ⚠ - toupper⚠
- toupper_
l ⚠ - towlower⚠
- towlower_
l ⚠ - towupper⚠
- towupper_
l ⚠ - trunc⚠
- truncf⚠
- truncl⚠
- tsearch⚠
- twalk⚠
- ungetc⚠
- unlink⚠
- uselocale⚠
- usleep⚠
- utoa⚠
- vaddr_
to_ ⚠paddr - vasprintf⚠
- vfprintf⚠
- vfscanf⚠
- vprintf⚠
- vscanf⚠
- vsnprintf⚠
- vsprintf⚠
- vsscanf⚠
- wait⚠
- wcpcpy⚠
- wcpncpy⚠
- wcrtomb⚠
- wcscasecmp⚠
- wcscasecmp_
l ⚠ - wcscat⚠
- wcschr⚠
- wcscmp⚠
- wcscoll⚠
- wcscoll_
l ⚠ - wcscpy⚠
- wcscspn⚠
- wcsdup⚠
- wcsftime⚠
- wcsftime_
l ⚠ - wcslcat⚠
- wcslcpy⚠
- wcslen⚠
- wcsncasecmp⚠
- wcsncasecmp_
l ⚠ - wcsncat⚠
- wcsncmp⚠
- wcsncpy⚠
- wcsnlen⚠
- wcsnrtombs⚠
- wcspbrk⚠
- wcsrchr⚠
- wcsrtombs⚠
- wcsspn⚠
- wcsstr⚠
- wcstod⚠
- wcstod_
l ⚠ - wcstof⚠
- wcstof_
l ⚠ - wcstoimax⚠
- wcstoimax_
l ⚠ - wcstok⚠
- wcstol⚠
- wcstol_
l ⚠ - wcstold⚠
- wcstold_
l ⚠ - wcstoll⚠
- wcstoll_
l ⚠ - wcstombs⚠
- wcstoul⚠
- wcstoul_
l ⚠ - wcstoull⚠
- wcstoull_
l ⚠ - wcstoumax⚠
- wcstoumax_
l ⚠ - wcswidth⚠
- wcsxfrm⚠
- wcsxfrm_
l ⚠ - wctob⚠
- wctomb⚠
- wctrans⚠
- wctrans_
l ⚠ - wctype⚠
- wctype_
l ⚠ - wcwidth⚠
- wifi_
connect ⚠ - wifi_
disconnect ⚠ - wifi_
get_ ⚠connection_ station - wifi_
get_ ⚠connection_ status - wifi_
get_ ⚠status - wifi_
scan_ ⚠free_ station - wifi_
scan_ ⚠get_ num_ results - wifi_
scan_ ⚠get_ result - wifi_
station_ ⚠get_ bssid - wifi_
station_ ⚠get_ mode - wifi_
station_ ⚠get_ primary_ channel - wifi_
station_ ⚠get_ rssi - wifi_
station_ ⚠get_ secondary_ channel - wifi_
station_ ⚠get_ ssid - wifi_
station_ ⚠wps - window_
create ⚠ - window_
destroy ⚠ - window_
event_ ⚠poll - window_
flags_ ⚠get - window_
flags_ ⚠set - window_
framebuffer_ ⚠create - window_
framebuffer_ ⚠format_ get - window_
framebuffer_ ⚠get - window_
framebuffer_ ⚠size_ get - window_
framebuffer_ ⚠size_ set - window_
position_ ⚠get - window_
position_ ⚠set - window_
present ⚠ - window_
size_ ⚠get - window_
size_ ⚠set - window_
title_ ⚠get - window_
title_ ⚠set - wmemchr⚠
- wmemcmp⚠
- wmemcpy⚠
- wmemmove⚠
- wmempcpy⚠
- wmemset⚠
- write⚠
- y0⚠
- y0f⚠
- y1⚠
- y1f⚠
- yn⚠
- ynf⚠
Type Aliases§
- CURL
- CURLcode
- CURLoption
- FILE
- __FILE
- __
blkcnt_ t - __
blksize_ t - __
builtin_ va_ list - __
clockid_ t - __
compar_ fn_ t - __dev_t
- __
fd_ mask - __gid_t
- __
gnuc_ va_ list - __ino_t
- __
int32_ t - __
int_ least64_ t - __
intmax_ t - __
mode_ t - __
nl_ item - __
nlink_ t - __off_t
- __pid_t
- __
suseconds_ t - __uid_t
- __
uint8_ t - __
uint16_ t - __
uint32_ t - __
uintmax_ t - __
ungetc_ t - __
useconds_ t - _fpos_t
- _iconv_
t - _off_t
- _ssize_
t - _wchar_
t - application_
list_ handle - blkcnt_
t - blksize_
t - cc_t
- Restart output.
- clock_t
- clockid_
t - dev_t
- device_
t - fenv_t
- fexcept_
t - fp_
except - fp_rnd
- fpos_t
- gid_t
- iconv_t
- in_
addr_ t - ino_t
- intmax_
t - key_
code_ t - key_
mod_ t - locale_
t - mac_
address_ t - mbstate_
t - mode_t
- nl_item
- nlink_t
- off_t
- ota_
handle_ t - pid_t
- regoff_
t - sa_
family_ t - size_t
- socklen_
t - speed_t
- ssize_t
- suseconds_
t - tcflag_
t - time_t
- uid_t
- uintmax_
t - useconds_
t - wchar_t
- wctrans_
t - wctype_
t - wifi_
station_ handle - window_
handle_ t - wint_t