summaryrefslogtreecommitdiffstats
path: root/third_party/rust/libloading-0.5.2/src/os/mod.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 14:29:10 +0000
commit2aa4a82499d4becd2284cdb482213d541b8804dd (patch)
treeb80bf8bf13c3766139fbacc530efd0dd9d54394c /third_party/rust/libloading-0.5.2/src/os/mod.rs
parentInitial commit. (diff)
downloadfirefox-2aa4a82499d4becd2284cdb482213d541b8804dd.tar.xz
firefox-2aa4a82499d4becd2284cdb482213d541b8804dd.zip
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/libloading-0.5.2/src/os/mod.rs')
-rw-r--r--third_party/rust/libloading-0.5.2/src/os/mod.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/third_party/rust/libloading-0.5.2/src/os/mod.rs b/third_party/rust/libloading-0.5.2/src/os/mod.rs
new file mode 100644
index 0000000000..ccbc8e9778
--- /dev/null
+++ b/third_party/rust/libloading-0.5.2/src/os/mod.rs
@@ -0,0 +1,45 @@
+//! Unsafe, platform specific bindings to dynamic library loading facilities.
+//!
+//! These modules expose more extensive, powerful, less principled bindings to the dynamic
+//! library loading facilities. Use of these bindings come at the cost of less (in most cases,
+//! none at all) safety guarantees, which are provided by the top-level bindings.
+//!
+//! # Examples
+//!
+//! Using these modules will likely involve conditional compilation:
+//!
+//! ```ignore
+//! # extern crate libloading;
+//! #[cfg(unix)]
+//! use libloading::os::unix::*;
+//! #[cfg(windows)]
+//! use libloading::os::windows::*;
+//! ```
+
+macro_rules! unix {
+ ($item: item) => {
+ /// UNIX implementation of dynamic library loading.
+ ///
+ /// This module should be expanded with more UNIX-specific functionality in the future.
+ $item
+ }
+}
+
+macro_rules! windows {
+ ($item: item) => {
+ /// Windows implementation of dynamic library loading.
+ ///
+ /// This module should be expanded with more Windows-specific functionality in the future.
+ $item
+ }
+}
+
+#[cfg(unix)]
+unix!(pub mod unix;);
+#[cfg(unix)]
+windows!(pub mod windows {});
+
+#[cfg(windows)]
+windows!(pub mod windows;);
+#[cfg(windows)]
+unix!(pub mod unix {});