Expand description
Raw FFI bindings to libbsd.
This crate provides extern "C" declarations for the functions and types
exported by libbsd, a library that
provides commonly-used BSD functions on GNU/Linux systems.
§Platform support
On macOS, FreeBSD, OpenBSD, and NetBSD, most of these functions are already part of the system C library, so no additional library is needed.
On Linux, the crate uses pkg-config at build time to locate libbsd.
On Debian/Ubuntu, install the development headers with:
apt install libbsd-dev§Conditional compilation
Functions that only exist in libbsd (not on any BSD natively) are gated
behind #[cfg(target_os = "linux")]. Functions available on the BSDs but
not macOS are gated behind #[cfg(not(target_os = "macos"))].
The strnvis and strnunvis functions have different parameter orders
depending on whether the platform follows the NetBSD convention (macOS,
NetBSD, OpenBSD) or the FreeBSD convention (FreeBSD, Linux/libbsd).
Structs§
Enums§
Constants§
- FPARSELN_
UNESCALL - FPARSELN_
UNESCCOMM - FPARSELN_
UNESCCONT - FPARSELN_
UNESCESC - FPARSELN_
UNESCREST - N_ABS
- N_BSS
- N_COMM
- N_DATA
- N_EXT
- N_FN
- N_INDR
- N_SETA
- N_SETB
- N_SETD
- N_SETT
- N_SETV
- N_SIZE
- N_STAB
- N_TEXT
- N_TYPE
- N_UNDF
- N_WARN
- RPP_
ECHO_ OFF - RPP_
ECHO_ ON - RPP_
FORCELOWER - RPP_
FORCEUPPER - RPP_
REQUIRE_ TTY - RPP_
SEVENBIT - RPP_
STDIN - UNVIS_
END - UNVIS_
ERROR - UNVIS_
NOCHAR - UNVIS_
SYNBAD - UNVIS_
VALID - UNVIS_
VALIDPUSH - VIS_
CSTYLE - VIS_DQ
- VIS_
GLOB - VIS_
HTTP1808 - VIS_
HTTP1866 - VIS_
HTTPSTYLE - VIS_
META - VIS_
MIMESTYLE - VIS_NL
- VIS_
NOESCAPE - VIS_
NOLOCALE - VIS_
NOSLASH - VIS_
OCTAL - VIS_
SAFE - VIS_
SHELL - VIS_SP
- VIS_TAB
- VIS_
WHITE
Statics§
Functions§
- arc4random⚠
- arc4random_
buf ⚠ - arc4random_
uniform ⚠ - closefrom⚠
- errc⚠
- explicit_
bzero ⚠ - fgetln⚠
- fgetwln⚠
- fmtcheck⚠
- fparseln⚠
- fpurge⚠
- funopen⚠
- getbsize⚠
- getmode⚠
- getpeereid⚠
- getprogname⚠
- gid_
from_ ⚠group - group_
from_ ⚠gid - heapsort⚠
- inet_
net_ ⚠pton - mergesort⚠
- nvis⚠
- radixsort⚠
- readpassphrase⚠
- reallocarray⚠
- reallocf⚠
- setmode⚠
- setprogname⚠
- sl_add⚠
- sl_find⚠
- sl_free⚠
- sl_init⚠
- snvis⚠
- sradixsort⚠
- stravis⚠
- strenvisx⚠
- strlcat⚠
- strlcpy⚠
- strmode⚠
- strnstr⚠
- strnunvis⚠
- strnunvisx⚠
- strnvis⚠
- strnvisx⚠
- strsenvisx⚠
- strsnvis⚠
- strsnvisx⚠
- strsvis⚠
- strsvisx⚠
- strtonum⚠
- strunvis⚠
- strunvisx⚠
- strvis⚠
- strvisx⚠
- svis⚠
- uid_
from_ ⚠user - unvis⚠
- user_
from_ ⚠uid - vis⚠
- warnc⚠
- wcslcat⚠
- wcslcpy⚠