linux_sed_opal_sys/
lib.rs1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4#![allow(clippy::missing_safety_doc)]
5
6include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
7
8use nix::ioctl_write_ptr;
34
35#[cfg(any(feature="linux_6_1", feature="linux_6_4"))]
36use nix::ioctl_read_buf;
37
38ioctl_write_ptr!(ioc_opal_save, b'p', 220, opal_lock_unlock);
39ioctl_write_ptr!(ioc_opal_lock_unlock, b'p', 221, opal_lock_unlock);
40ioctl_write_ptr!(ioc_opal_take_ownership, b'p', 222, opal_key);
41ioctl_write_ptr!(ioc_opal_activate_lsp, b'p', 223, opal_lr_act);
42ioctl_write_ptr!(ioc_opal_set_pw, b'p', 224, opal_new_pw);
43ioctl_write_ptr!(ioc_opal_activate_usr, b'p', 225, opal_session_info);
44ioctl_write_ptr!(ioc_opal_revert_tpr, b'p', 226, opal_key);
45ioctl_write_ptr!(ioc_opal_lr_setup, b'p', 227, opal_user_lr_setup);
46ioctl_write_ptr!(ioc_opal_add_usr_to_lr, b'p', 228, opal_lock_unlock);
47ioctl_write_ptr!(ioc_opal_enable_disable_mbr, b'p', 229, opal_mbr_data);
48ioctl_write_ptr!(ioc_opal_erase_lr, b'p', 230, opal_session_info);
49ioctl_write_ptr!(ioc_opal_secure_erase_lr, b'p', 231, opal_session_info);
50ioctl_write_ptr!(ioc_opal_psid_revert_tpr, b'p', 232, opal_key);
51ioctl_write_ptr!(ioc_opal_mbr_done, b'p', 233, opal_mbr_done);
52ioctl_write_ptr!(ioc_opal_write_shadow_mbr, b'p', 234, opal_shadow_mbr);
53ioctl_write_ptr!(ioc_opal_generic_table_rw, b'p', 235, opal_read_write_table);
54
55#[cfg(feature="linux_6_1")]
56ioctl_read_buf!(ioc_opal_get_status, b'p', 236, opal_status);
57
58cfg_if::cfg_if! {
59 if #[cfg(feature="linux_6_4")] {
60 ioctl_write_ptr!(ioc_opal_get_lr_status, b'p', 237, opal_lr_status);
61 ioctl_read_buf!(ioc_opal_get_geometry, b'p', 238, opal_geometry);
62 }
63}
64
65cfg_if::cfg_if! {
66 if #[cfg(feature="linux_6_6")] {
67 ioctl_write_ptr!(ioc_opal_discovery, b'p', 239, opal_discovery);
68 ioctl_write_ptr!(ioc_opal_revert_lsp, b'p', 240, opal_revert_lsp);
69 }
70}