#[repr(C)]pub struct policy_plugin {
pub type_: c_uint,
pub version: c_uint,
pub open: Option<unsafe extern "C" fn(version: c_uint, conversation: sudo_conv_t, sudo_printf: sudo_printf_t, settings: *const *mut c_char, user_info: *const *mut c_char, user_env: *const *mut c_char, plugin_plugins: *const *mut c_char) -> c_int>,
pub close: Option<unsafe extern "C" fn(exit_status: c_int, error: c_int)>,
pub show_version: Option<unsafe extern "C" fn(verbose: c_int) -> c_int>,
pub check_policy: Option<unsafe extern "C" fn(argc: c_int, argv: *const *mut c_char, env_add: *mut *mut c_char, command_info: *mut *mut *mut c_char, argv_out: *mut *mut *mut c_char, user_env_out: *mut *mut *mut c_char) -> c_int>,
pub list: Option<unsafe extern "C" fn(argc: c_int, argv: *const *mut c_char, verbose: c_int, list_user: *const c_char) -> c_int>,
pub validate: Option<unsafe extern "C" fn() -> c_int>,
pub invalidate: Option<unsafe extern "C" fn(remove: c_int)>,
pub init_session: Option<unsafe extern "C" fn(pwd: *mut passwd, user_env_out: *mut *mut *mut c_char) -> c_int>,
pub register_hooks: Option<unsafe extern "C" fn(version: c_int, register_hook: Option<unsafe extern "C" fn(hook: *mut sudo_hook) -> c_int>)>,
pub deregister_hooks: Option<unsafe extern "C" fn(version: c_int, deregister_hook: Option<unsafe extern "C" fn(hook: *mut sudo_hook) -> c_int>)>,
}
Fields§
§type_: c_uint
§version: c_uint
§open: Option<unsafe extern "C" fn(version: c_uint, conversation: sudo_conv_t, sudo_printf: sudo_printf_t, settings: *const *mut c_char, user_info: *const *mut c_char, user_env: *const *mut c_char, plugin_plugins: *const *mut c_char) -> c_int>
§close: Option<unsafe extern "C" fn(exit_status: c_int, error: c_int)>
§show_version: Option<unsafe extern "C" fn(verbose: c_int) -> c_int>
§check_policy: Option<unsafe extern "C" fn(argc: c_int, argv: *const *mut c_char, env_add: *mut *mut c_char, command_info: *mut *mut *mut c_char, argv_out: *mut *mut *mut c_char, user_env_out: *mut *mut *mut c_char) -> c_int>
§list: Option<unsafe extern "C" fn(argc: c_int, argv: *const *mut c_char, verbose: c_int, list_user: *const c_char) -> c_int>
§validate: Option<unsafe extern "C" fn() -> c_int>
§invalidate: Option<unsafe extern "C" fn(remove: c_int)>
§init_session: Option<unsafe extern "C" fn(pwd: *mut passwd, user_env_out: *mut *mut *mut c_char) -> c_int>
§register_hooks: Option<unsafe extern "C" fn(version: c_int, register_hook: Option<unsafe extern "C" fn(hook: *mut sudo_hook) -> c_int>)>
§deregister_hooks: Option<unsafe extern "C" fn(version: c_int, deregister_hook: Option<unsafe extern "C" fn(hook: *mut sudo_hook) -> c_int>)>
Trait Implementations§
Source§impl Clone for policy_plugin
impl Clone for policy_plugin
Source§fn clone(&self) -> policy_plugin
fn clone(&self) -> policy_plugin
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for policy_plugin
impl Debug for policy_plugin
impl Copy for policy_plugin
Auto Trait Implementations§
impl Freeze for policy_plugin
impl RefUnwindSafe for policy_plugin
impl Send for policy_plugin
impl Sync for policy_plugin
impl Unpin for policy_plugin
impl UnwindSafe for policy_plugin
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more