1  //! rustix's `init` function.
2  //!
3  //! # Safety
4  //!
5  //! When "use-explicitly-provided-auxv" is enabled, the `init` function must be
6  //! called before any other function in this module. It is unsafe because it
7  //! operates on raw pointers.
8  #![allow(unsafe_code)]
9  
10  use crate::backend;
11  
12  /// Initialize process-wide state.
13  ///
14  /// # Safety
15  ///
16  /// This must be passed a pointer to the original environment variable block
17  /// set up by the OS at process startup, and it must be called before any
18  /// other rustix functions are called.
19  #[inline]
20  #[doc(hidden)]
init(envp: *mut *mut u8)21  pub unsafe fn init(envp: *mut *mut u8) {
22      backend::param::auxv::init(envp)
23  }
24