/rust/registry/src/index.crates.io-1949cf8c6b5b557f/rustix-1.0.7/src/param/auxv.rs
Line | Count | Source |
1 | | use crate::backend; |
2 | | #[cfg(any( |
3 | | linux_raw, |
4 | | any( |
5 | | all(target_os = "android", target_pointer_width = "64"), |
6 | | target_os = "linux", |
7 | | ) |
8 | | ))] |
9 | | use crate::ffi::CStr; |
10 | | |
11 | | /// `sysconf(_SC_PAGESIZE)`—Returns the process' page size. |
12 | | /// |
13 | | /// Also known as `getpagesize`. |
14 | | /// |
15 | | /// # References |
16 | | /// - [POSIX] |
17 | | /// - [Linux `sysconf`] |
18 | | /// - [Linux `getpagesize`] |
19 | | /// |
20 | | /// [POSIX]: https://pubs.opengroup.org/onlinepubs/9799919799/functions/sysconf.html |
21 | | /// [Linux `sysconf`]: https://man7.org/linux/man-pages/man3/sysconf.3.html |
22 | | /// [Linux `getpagesize`]: https://man7.org/linux/man-pages/man2/getpagesize.2.html |
23 | | #[inline] |
24 | | #[doc(alias = "PAGESIZE")] |
25 | | #[doc(alias = "PAGE_SIZE")] |
26 | | #[doc(alias = "_SC_PAGESIZE")] |
27 | | #[doc(alias = "_SC_PAGE_SIZE")] |
28 | | #[doc(alias = "getpagesize")] |
29 | 0 | pub fn page_size() -> usize { |
30 | 0 | backend::param::auxv::page_size() |
31 | 0 | } Unexecuted instantiation: rustix::param::auxv::page_size Unexecuted instantiation: rustix::param::auxv::page_size |
32 | | |
33 | | /// `sysconf(_SC_CLK_TCK)`—Returns the process' clock ticks per second. |
34 | | /// |
35 | | /// # References |
36 | | /// - [POSIX] |
37 | | /// - [Linux] |
38 | | /// |
39 | | /// [POSIX]: https://pubs.opengroup.org/onlinepubs/9799919799/functions/sysconf.html |
40 | | /// [Linux]: https://man7.org/linux/man-pages/man3/sysconf.3.html |
41 | | #[cfg(not(any(target_os = "horizon", target_os = "vita", target_os = "wasi")))] |
42 | | #[inline] |
43 | | #[doc(alias = "_SC_CLK_TCK")] |
44 | 0 | pub fn clock_ticks_per_second() -> u64 { |
45 | 0 | backend::param::auxv::clock_ticks_per_second() |
46 | 0 | } |
47 | | |
48 | | /// `(getauxval(AT_HWCAP), getauxval(AT_HWCAP2)`—Returns the Linux "hwcap" |
49 | | /// data. |
50 | | /// |
51 | | /// Return the Linux `AT_HWCAP` and `AT_HWCAP2` values passed to the |
52 | | /// current process. Returns 0 for each value if it is not available. |
53 | | /// |
54 | | /// # References |
55 | | /// - [Linux] |
56 | | /// |
57 | | /// [Linux]: https://man7.org/linux/man-pages/man3/getauxval.3.html |
58 | | #[cfg(any( |
59 | | linux_raw, |
60 | | any( |
61 | | all(target_os = "android", target_pointer_width = "64"), |
62 | | target_os = "linux", |
63 | | ) |
64 | | ))] |
65 | | #[inline] |
66 | 0 | pub fn linux_hwcap() -> (usize, usize) { |
67 | 0 | backend::param::auxv::linux_hwcap() |
68 | 0 | } |
69 | | |
70 | | /// `getauxval(AT_MINSIGSTKSZ)`—Returns the Linux "minsigstksz" data. |
71 | | /// |
72 | | /// Return the Linux `AT_MINSIGSTKSZ` value passed to the current process. |
73 | | /// Returns 0 if it is not available. |
74 | | /// |
75 | | /// # References |
76 | | /// - [Linux] |
77 | | /// |
78 | | /// [Linux]: https://man7.org/linux/man-pages/man3/getauxval.3.html |
79 | | #[cfg(any( |
80 | | linux_raw, |
81 | | any( |
82 | | all(target_os = "android", target_pointer_width = "64"), |
83 | | target_os = "linux", |
84 | | ) |
85 | | ))] |
86 | | #[inline] |
87 | 0 | pub fn linux_minsigstksz() -> usize { |
88 | 0 | backend::param::auxv::linux_minsigstksz() |
89 | 0 | } |
90 | | |
91 | | /// `getauxval(AT_EXECFN)`—Returns the Linux "execfn" string. |
92 | | /// |
93 | | /// Return the string that Linux has recorded as the filesystem path to the |
94 | | /// executable. Returns an empty string if the string is not available. |
95 | | /// |
96 | | /// # References |
97 | | /// - [Linux] |
98 | | /// |
99 | | /// [Linux]: https://man7.org/linux/man-pages/man3/getauxval.3.html |
100 | | #[cfg(any( |
101 | | linux_raw, |
102 | | any( |
103 | | all(target_os = "android", target_pointer_width = "64"), |
104 | | target_os = "linux", |
105 | | ) |
106 | | ))] |
107 | | #[inline] |
108 | 0 | pub fn linux_execfn() -> &'static CStr { |
109 | 0 | backend::param::auxv::linux_execfn() |
110 | 0 | } |