aboutsummaryrefslogtreecommitdiff
path: root/libc/src/unix/bsd/freebsdlike/dragonfly/errno.rs
diff options
context:
space:
mode:
Diffstat (limited to 'libc/src/unix/bsd/freebsdlike/dragonfly/errno.rs')
-rw-r--r--libc/src/unix/bsd/freebsdlike/dragonfly/errno.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/libc/src/unix/bsd/freebsdlike/dragonfly/errno.rs b/libc/src/unix/bsd/freebsdlike/dragonfly/errno.rs
new file mode 100644
index 0000000..e18036a
--- /dev/null
+++ b/libc/src/unix/bsd/freebsdlike/dragonfly/errno.rs
@@ -0,0 +1,12 @@
+// DragonFlyBSD's __error function is declared with "static inline", so it must
+// be implemented in the libc crate, as a pointer to a static thread_local.
+f! {
+ pub fn __error() -> *mut ::c_int {
+ &mut errno
+ }
+}
+
+extern {
+ #[thread_local]
+ pub static mut errno: ::c_int;
+}