Skip to main content

Crate libbsd_sys

Crate libbsd_sys 

Source
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§

StringList

Enums§

FILE

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§

optreset

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

Type Aliases§

c_ulong
Equivalent to C’s unsigned long type.
gid_t
mode_t
off_t
pid_t
size_t
ssize_t
uid_t