Mercurial > crates > nonstick
comparison libpam-sys/src/lib.rs @ 125:2b255c92417b
Introduce base PAM functions; use the real X/SSO PAM header for tests.
author | Paul Fisher <paul@pfish.zone> |
---|---|
date | Mon, 30 Jun 2025 17:47:32 -0400 |
parents | 39760dfc9b3b |
children | c77846f3a979 |
comparison
equal
deleted
inserted
replaced
124:f469b8d9ad78 | 125:2b255c92417b |
---|---|
3 //! ## PAM implementation | 3 //! ## PAM implementation |
4 //! | 4 //! |
5 #![doc = concat!("This documentation was built for the **", __pam_impl_name__!(), "** implementation.")] | 5 #![doc = concat!("This documentation was built for the **", __pam_impl_name__!(), "** implementation.")] |
6 | 6 |
7 use libpam_sys_impls::{__pam_impl_enum__, __pam_impl_name__}; | 7 use libpam_sys_impls::{__pam_impl_enum__, __pam_impl_name__}; |
8 | |
9 mod constants; | |
10 mod functions; | |
11 pub mod helpers; | |
12 mod structs; | |
13 | 8 |
14 /// A `cfg`-like attribute macro for code specific to one PAM implementation. | 9 /// A `cfg`-like attribute macro for code specific to one PAM implementation. |
15 /// | 10 /// |
16 /// Different versions of PAM export different functions and have some | 11 /// Different versions of PAM export different functions and have some |
17 /// meaningful internal implementation differences, like the way `pam_conv` | 12 /// meaningful internal implementation differences, like the way `pam_conv` |
46 /// | 41 /// |
47 /// [man7]: https://man7.org/linux/man-pages/man3/pam_conv.3.html | 42 /// [man7]: https://man7.org/linux/man-pages/man3/pam_conv.3.html |
48 #[doc(inline)] | 43 #[doc(inline)] |
49 pub use libpam_sys_impls::cfg_pam_impl; | 44 pub use libpam_sys_impls::cfg_pam_impl; |
50 | 45 |
46 mod constants; | |
47 // We get `funcs` from different places depending upon the PAM implementation. | |
48 // This is because | |
49 #[path = "funcs/xsso_base.rs"] | |
50 mod funcs; | |
51 pub mod helpers; | |
52 mod structs; | |
53 | |
54 #[doc(inline)] | |
55 pub use crate::{constants::*, funcs::*, structs::*}; | |
56 | |
51 // Looking for the actual code defining this enum? | 57 // Looking for the actual code defining this enum? |
52 // It's in the build.rs file for libpam_sys_impls. | 58 // It's in the build.rs file for libpam_sys_impls. |
53 __pam_impl_enum__!(#[non_exhaustive]); | 59 __pam_impl_enum__!(#[non_exhaustive]); |
54 | |
55 #[doc(inline)] | |
56 pub use crate::{constants::*, structs::*}; |