Mercurial > crates > nonstick
annotate libpam-sys/libpam-sys-impls/src/lib.rs @ 177:9925fa14021b
Fix testharness to build warning- and error-free.
| author | Paul Fisher <paul@pfish.zone> |
|---|---|
| date | Wed, 30 Jul 2025 18:00:14 -0400 |
| parents | 0730f5f2ee2a |
| children | 995aca290452 |
| rev | line source |
|---|---|
|
176
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
1 //! Information about the PAM implementation you're using right now. |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
2 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
3 //! This module contains constants and values that can be used at build-script, |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
4 //! compile, and run time to determine what PAM implementation you're using. |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
5 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
6 //! ## Always available |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
7 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
8 //! [`PamImpl::CURRENT`] will tell you what version of PAM you're using. |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
9 //! It can be imported in any Rust code, from build scripts to runtime. |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
10 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
11 //! ## Compile time |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
12 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
13 //! Use [`enable_pam_impl_cfg`] in your `build.rs` to generate custom `#[cfg]`s |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
14 //! for conditional compilation based on PAM implementation. |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
15 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
16 //! ``` |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
17 //! // Your package's build.rs: |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
18 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
19 //! fn main() { |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
20 //! // Also available at libpam_sys::pam_impl::enable_pam_impl_cfg(). |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
21 //! libpam_sys_impls::enable_pam_impl_cfg(); |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
22 //! // whatever else you do in your build script. |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
23 //! } |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
24 //! ``` |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
25 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
26 //! This will set the current `pam_impl` as well as registering all known |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
27 //! PAM implementations with `rustc-check-cfg` to get cfg-checking. |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
28 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
29 //! The names that appear in the `cfg` variables are the same as the values |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
30 //! in the [`PamImpl`] enum. |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
31 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
32 //! ```ignore |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
33 //! #[cfg(pam_impl = "OpenPam")] |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
34 //! fn openpam_specific_func(handle: *const libpam_sys::pam_handle) { |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
35 //! let environ = libpam_sys::pam_getenvlist(handle); |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
36 //! // ... |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
37 //! libpam_sys::openpam_free_envlist() |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
38 //! } |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
39 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
40 //! // This will give you a warning since "UnknownImpl" is not in the cfg. |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
41 //! #[cfg(not(pam_impl = "UnknownImpl"))] |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
42 //! fn do_something() { |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
43 //! // ... |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
44 //! } |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
45 //! ``` |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
46 //! |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
47 //! The [`pam_impl_name!`] macro will expand to this same value, currently |
|
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
48 #![doc = concat!("`", env!("LIBPAMSYS_IMPL"), "`.")] |
|
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
117
diff
changeset
|
49 |
|
176
0730f5f2ee2a
Turn `libpam-sys-consts` back into `libpam-sys-impls`.
Paul Fisher <paul@pfish.zone>
parents:
161
diff
changeset
|
50 mod pam_impl; |
|
118
39760dfc9b3b
Detect PAM library based only on system lib; rename minimal lib to XSso.
Paul Fisher <paul@pfish.zone>
parents:
117
diff
changeset
|
51 |
|
148
4b3a5095f68c
Move libpam-sys helpers into their own library.
Paul Fisher <paul@pfish.zone>
parents:
143
diff
changeset
|
52 #[doc(inline)] |
|
4b3a5095f68c
Move libpam-sys helpers into their own library.
Paul Fisher <paul@pfish.zone>
parents:
143
diff
changeset
|
53 pub use pam_impl::*; |
