Skip to main content

Crate why2025_badge_sys

Crate why2025_badge_sys 

Source
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
__BindgenComplex
__BindgenFloat16
__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§

_ctype_b
environ
stderr
stdin
stdout

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

Unions§

_mbstate_t__bindgen_ty_1
event_t__bindgen_ty_1