From fc1e1d8a3dc96a41ab7b7c6060ee5d07e7ea35cc Mon Sep 17 00:00:00 2001
From: LeChatP
Date: Mon, 27 May 2024 14:10:54 +0200
Subject: [PATCH 01/31] bump version in readme
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 02b9b31c..69e8dbe0 100644
--- a/README.md
+++ b/README.md
@@ -15,7 +15,7 @@
-# RootAsRole (V3.0.0-alpha.4) : A memory-safe and security-oriented alternative to sudo/su commands
+# RootAsRole (V3.0.0-alpha.5) : A memory-safe and security-oriented alternative to sudo/su commands
**RootAsRole** is a project to allow Linux/Unix administrators to delegate their administrative tasks access rights to users. Its main features are :
From 9137a3bc2a7548d8576ca197f2ed712974cedd36 Mon Sep 17 00:00:00 2001
From: LeChatP
Date: Mon, 27 May 2024 16:50:16 +0200
Subject: [PATCH 02/31] chore: Remove unnecessary explaination in no-root.md
---
book/src/knowledge/no-root.md | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/book/src/knowledge/no-root.md b/book/src/knowledge/no-root.md
index 7eb5fa38..1ad549fd 100644
--- a/book/src/knowledge/no-root.md
+++ b/book/src/knowledge/no-root.md
@@ -34,8 +34,4 @@ This should install apache2 configuration files owned by apache2 user and group.
```bash
sr systemctl start apache2
-```
-
-This should start apache2 with the apache2 user. You can also stop it with the apache2 user:
-
-
+```
\ No newline at end of file
From 2588b0cca723b3af0a84813f572a30223b6daf33 Mon Sep 17 00:00:00 2001
From: LeChatP
Date: Wed, 29 May 2024 19:02:21 +0200
Subject: [PATCH 03/31] docs + upgrade addition and dependencies script fix
---
Makefile | 2 +-
book/src/knowledge/role_hierarchy.md | 2 +-
book/src/knowledge/sod.md | 10 +++++++---
dependencies.sh | 20 +++++++-------------
src/database/version.rs | 9 ++++++++-
src/mod.rs | 4 ++++
src/util.rs | 8 +++++++-
7 files changed, 35 insertions(+), 20 deletions(-)
diff --git a/Makefile b/Makefile
index 4773462c..9d72ed95 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,7 @@ ifneq (0, $(filter $(shell capsh --has-p=CAP_DAC_OVERRIDE,CAP_CHOWN &>/dev/null;
$(PRIV_EXE) chown root:root /usr/bin/sr /usr/bin/chsr /usr/bin/capable
$(PRIV_EXE) chmod 0555 /usr/bin/sr /usr/bin/chsr /usr/bin/capable
$(PRIV_EXE) setcap "=p" /usr/bin/sr
- $(PRIV_EXE) setcap cap_dac_override,cap_sys_admin,cap_sys_ptrace+ep /usr/bin/capable
+ $(PRIV_EXE) setcap cap_sys_resource,cap_dac_override,cap_sys_admin,cap_sys_ptrace+ep /usr/bin/capable
else ifneq (0, $(shell capsh --has-p=CAP_SETFCAP &>/dev/null; echo $?))
@echo "You must have CAP_SETFCAP privilege to perform installation."
else
diff --git a/book/src/knowledge/role_hierarchy.md b/book/src/knowledge/role_hierarchy.md
index be9eae2f..32b14479 100644
--- a/book/src/knowledge/role_hierarchy.md
+++ b/book/src/knowledge/role_hierarchy.md
@@ -1,3 +1,3 @@
# How does work role hierarchy feature
-The role hierarchy feature allows to extend a role with another role. This feature is useful when you don't want to duplicate the same rights in different roles. The role hierarchy feature allows to create a role that inherits the rights of another role.
\ No newline at end of file
+A role hierarchy allows roles to be organized in a tree-like structure where roles can inherit permissions from other roles. This means that a higher-level role, often called a parent role, can pass down its permissions to lower-level roles, known as child roles. For example, in a corporate environment, a role hierarchy might be set up so that a "Manager" role inherits all the permissions of an "Employee" role, plus additional managerial permissions. This hierarchical structuring simplifies the assignment and management of permissions because changes to a parent role automatically propagate to its child roles, reducing redundancy and the potential for errors. In RootAsRole this is possible by adding the `parent` array in a role definition.
\ No newline at end of file
diff --git a/book/src/knowledge/sod.md b/book/src/knowledge/sod.md
index 25c8ce97..def0f64d 100644
--- a/book/src/knowledge/sod.md
+++ b/book/src/knowledge/sod.md
@@ -2,10 +2,14 @@
## Static Separation of Duties
-Static separation of duties (SSD) in RBAC is a security feature that restricts users from having conflicting roles. This means that a user cannot have two roles that are in conflict. In RootAsRole, if a user is still assigned to two roles that are in conflict, the user will not be able to execute any command of these roles.
+Static Separation of Duties (SSD) within an RBAC ensures that no single user can hold conflicting administrative roles, enhancing security and operational integrity. For instance, SSD policies would prevent a user assigned as a "System Administrator" from also being a "Network Administrator" or "Backup Administrator," thereby mitigating the risk of entire control of a system and potential fraud.
-For example, let's say we have two roles: `admin` and `user`. The `admin` role has the ability to create new users, while the `user` role does not. If a user is assigned to both the `admin` and `user` roles, the user will not be able to execute any command of these roles.
+With RootAsRole, you can implement SSD by creating roles that are mutually exclusive by adding `ssd` array in a role definition. For example, you can create a role for a "System Administrator" and another for a "Network Administrator." You can then assign these roles to different users, ensuring that no single user has both roles at the same time. If a user obtains a new role that conflicts with an existing role, RootAsRole will prevent the user to use any conflicting role.
## Dynamic Separation of Duties
-Dynamic separation of duties (DSD) in RBAC is a security feature that restricts users from having conflicting roles at the same time. This means that a user cannot have two roles that are in conflict at the same time. For now, RootAsRole does not support this feature.
\ No newline at end of file
+Dynamic Separation of Duties (DSD) in RBAC ensures that no single user can perform conflicting roles within a system simultaneously, managed at runtime. It verifies users' or system sessions context before allowing them to activate roles, ensuring that they do not have conflicting permissions given the dynamic context of the system.
+
+For example, In a very small business, it may have only one system administrator. In this case the small business can enforce a DSD feature that prevent the unique administrator to simultaneously activate roles that allow both system configuration and audit log management, and cannot perform system configuration if no audit is enforced, ensuring that the administrator cannot cover his tracks.
+
+For now, RootAsRole does not support DSD.
\ No newline at end of file
diff --git a/dependencies.sh b/dependencies.sh
index 013ed685..69e282d7 100755
--- a/dependencies.sh
+++ b/dependencies.sh
@@ -38,7 +38,10 @@ elif command -v yum &>/dev/null; then
$PRIV_EXE yum install "${YES}" gcovr
fi;
elif command -v pacman &>/dev/null; then
- $PRIV_EXE pacman -S "${YES}" man pkgconf openssl curl cargo-make gcc llvm clang libcap libcap-ng libelf libxml2 linux-headers linux-api-headers make
+ if [ -n "${YES}" ]; then
+ NOCONFIRM="--noconfirm"
+ fi
+ $PRIV_EXE pacman -S "${NOCONFIRM}" mandb pkgconf openssl curl gcc llvm clang libcap libcap-ng libelf libxml2 linux-headers linux-api-headers make bpf
if [ -n "${DEBUG}" ]; then
$PRIV_EXE pacman -S "${YES}" gdb
fi;
@@ -60,17 +63,8 @@ fi
. "$HOME/.cargo/env"
# ask for user to install bpf-linker
-if [ "${YES}" == "-y" ]; then
- echo "cargo install bpf-linker into /usr/local/bin"
- cargo install --force bpf-linker
-else
- read -r -p "Install bpf-linker in /usr/local/bin? (mandatory for build) [y/N] " response
- case "$response" in
- [yY][eE][sS]|[yY]|[oO])
- echo "cargo install bpf-linker into /usr/local/bin"
- cargo install --force bpf-linker
- ;;
- esac
-fi
+cargo install --force bpf-linker bindgen-cli
+cargo install --git https://github.com/aya-rs/aya -- aya-tool
+aya-tool generate task_struct > capable-ebpf/src/vmlinux.rs
echo "dependencies installed. Ready to compile."
diff --git a/src/database/version.rs b/src/database/version.rs
index 45682418..1b8e5466 100644
--- a/src/database/version.rs
+++ b/src/database/version.rs
@@ -40,4 +40,11 @@ pub(crate) const JSON_MIGRATIONS: &[Migration] = &[Migration {
down: |_, _| Ok(()),
}];
-pub(crate) const SETTINGS_MIGRATIONS: &[Migration] = &[];
+pub(crate) const SETTINGS_MIGRATIONS: &[Migration] = &[
+ Migration {
+ from: || Version::parse("3.0.0-alpha.4").unwrap(),
+ to: || Version::parse("3.0.0-alpha.5").unwrap(),
+ up: |_, _| Ok(()),
+ down: |_, _| Ok(()),
+ }
+];
diff --git a/src/mod.rs b/src/mod.rs
index 0a0b341c..4f0bca71 100644
--- a/src/mod.rs
+++ b/src/mod.rs
@@ -78,6 +78,10 @@ pub fn setgid_effective(enable: bool) -> Result<(), capctl::Error> {
cap_effective(Cap::SETGID, enable)
}
+pub fn fowner_effective(enable: bool) -> Result<(), capctl::Error> {
+ cap_effective(Cap::FOWNER, enable)
+}
+
pub fn read_effective(enable: bool) -> Result<(), capctl::Error> {
cap_effective(Cap::DAC_READ_SEARCH, enable)
}
diff --git a/src/util.rs b/src/util.rs
index 9dbf2a25..90bf9afa 100644
--- a/src/util.rs
+++ b/src/util.rs
@@ -5,7 +5,7 @@ use libc::{FS_IOC_GETFLAGS, FS_IOC_SETFLAGS};
use pest::{error::LineColLocation, RuleType};
use tracing::{debug, warn};
-use crate::common::{immutable_effective, open_with_privileges};
+use crate::common::{dac_override_effective, fowner_effective, immutable_effective, open_with_privileges, read_effective};
pub const RST: &str = "\x1B[0m";
pub const BOLD: &str = "\x1B[1m";
@@ -59,11 +59,17 @@ pub fn toggle_lock_config(file: &PathBuf, lock: bool) -> Result<(), String> {
}
debug!("Setting immutable privilege");
immutable_effective(true).map_err(|e| e.to_string())?;
+ debug!("Setting dac override privilege");
+ read_effective(true).or(dac_override_effective(true)).map_err(|e| e.to_string())?;
+ fowner_effective(true).map_err(|e| e.to_string())?;
+ debug!("Setting immutable flag");
if unsafe { nix::libc::ioctl(fd, FS_IOC_SETFLAGS, &mut val) } < 0 {
return Err(std::io::Error::last_os_error().to_string());
}
debug!("Resetting immutable privilege");
immutable_effective(false).map_err(|e| e.to_string())?;
+ read_effective(false).and(dac_override_effective(false)).map_err(|e| e.to_string())?;
+ fowner_effective(false).map_err(|e| e.to_string())?;
Ok(())
}
From 0e4dd43a6598088f7a4170de12cc1404583d6a90 Mon Sep 17 00:00:00 2001
From: LeChatP
Date: Wed, 29 May 2024 23:18:28 +0200
Subject: [PATCH 04/31] refactor: Fix and add logging in capable-ebpf module
---
capable-ebpf/src/main.rs | 41 +-
capable-ebpf/src/vmlinux.rs | 71139 +++++++++++++++++-----------------
2 files changed, 35861 insertions(+), 35319 deletions(-)
diff --git a/capable-ebpf/src/main.rs b/capable-ebpf/src/main.rs
index 1cde6af3..9082590a 100644
--- a/capable-ebpf/src/main.rs
+++ b/capable-ebpf/src/main.rs
@@ -10,6 +10,7 @@ mod vmlinux;
use aya_ebpf::{macros::{kprobe,map}, maps::HashMap, programs::ProbeContext, helpers::{bpf_get_current_task, bpf_get_current_uid_gid, bpf_probe_read_kernel}};
use vmlinux::{task_struct, nsproxy, pid_namespace, ns_common};
+use aya_log_ebpf::{debug,info,error};
const MAX_PID : u32 = 4*1024*1024;
@@ -29,26 +30,38 @@ static mut PNSID_NSID_MAP: HashMap = HashMap::with_max_entries(MAX_PID
#[kprobe]
pub fn capable(ctx: ProbeContext) -> u32 {
- match try_capable(ctx) {
+ match try_capable(&ctx) {
Ok(ret) => ret,
Err(ret) => ret as u32,
}
}
-fn try_capable(ctx: ProbeContext) -> Result {
+fn try_capable(ctx: &ProbeContext) -> Result {
+ info!(ctx,"capable");
unsafe {
let task: TaskStructPtr = bpf_get_current_task() as TaskStructPtr;
+ debug!(ctx,"debug1");
let task = bpf_probe_read_kernel(&task)?;
+ debug!(ctx,"debug2");
let ppid: i32 = get_ppid(task)?;
- let pid: i32 = bpf_probe_read_kernel(&(*task).pid)?;
- let cap: u64 = (1 << ctx.arg::(2).expect("failed to get arg")) as u64;
+ debug!(ctx,"debug3");
+ let pid: i32 = bpf_probe_read_kernel(&(*task).pid)? as i32;
+ debug!(ctx,"debug4");
+ let cap: u64 = (1 << ctx.arg::(2).unwrap()) as u64;
+ debug!(ctx,"debug5");
let uid: u64 = bpf_get_current_uid_gid();
+ debug!(ctx,"debug6");
let zero = 0;
let capval: u64 = *CAPABILITIES_MAP.get(&pid).unwrap_or(&zero);
+ debug!(ctx,"debug7");
let pinum_inum :u64 = Into::::into(get_parent_ns_inode(task)?)<<32 | Into::::into(get_ns_inode(task)?);
+ debug!(ctx,"debug8");
UID_GID_MAP.insert(&pid, &uid,0).expect("failed to insert uid");
+ debug!(ctx,"debug9");
PNSID_NSID_MAP.insert(&pid, &pinum_inum,0).expect("failed to insert pnsid");
+ debug!(ctx,"debug10");
PPID_MAP.insert(&pid, &ppid,0).expect("failed to insert ppid");
+ debug!(ctx,"debug11");
CAPABILITIES_MAP.insert(&pid, &(capval|cap),0).expect("failed to insert cap");
}
Ok(0)
@@ -57,23 +70,29 @@ fn try_capable(ctx: ProbeContext) -> Result {
unsafe fn get_ppid(task : TaskStructPtr) -> Result {
let parent_task: TaskStructPtr = get_parent_task(task)?;
- return bpf_probe_read_kernel(&(*parent_task).pid);
+ bpf_probe_read_kernel(&(*parent_task).pid)
}
unsafe fn get_parent_task(task : TaskStructPtr) -> Result {
- return bpf_probe_read_kernel(&(*task).real_parent);
+ bpf_probe_read_kernel(&(*task).parent)
}
unsafe fn get_parent_ns_inode(task : TaskStructPtr) -> Result {
let parent_task: TaskStructPtr = get_parent_task(task)?;
- return get_ns_inode(parent_task);
+ get_ns_inode(parent_task)
}
unsafe fn get_ns_inode(task : TaskStructPtr) -> Result {
- let nsp: *mut nsproxy = bpf_probe_read_kernel(&(*task).nsproxy)?;
- let pns: *mut pid_namespace = bpf_probe_read_kernel(&(*nsp).pid_ns_for_children)?;
- let nsc: ns_common = bpf_probe_read_kernel(&(*pns).ns)?;
- return bpf_probe_read_kernel(&nsc.inum);
+ let nsp: *mut nsproxy = bpf_probe_read_kernel(&(*task).nsproxy).map_err(|e| {
+ e as u32
+ })?;
+ let pns: *mut pid_namespace = bpf_probe_read_kernel(&(*nsp).pid_ns_for_children).map_err(|e| {
+ e as u32
+ })?;
+ let nsc: ns_common = bpf_probe_read_kernel(&(*pns).ns).map_err(|e| {
+ e as u32
+ })?;
+ bpf_probe_read_kernel(&nsc.inum)
}
#[panic_handler]
diff --git a/capable-ebpf/src/vmlinux.rs b/capable-ebpf/src/vmlinux.rs
index 2c6651e3..a1fddd0d 100644
--- a/capable-ebpf/src/vmlinux.rs
+++ b/capable-ebpf/src/vmlinux.rs
@@ -153,49 +153,33 @@ impl ::core::cmp::PartialEq for __BindgenUnionField {
}
}
impl ::core::cmp::Eq for __BindgenUnionField {}
-pub type __u64 = ::aya_ebpf::cty::c_ulonglong;
-pub type u64_ = __u64;
-pub type bool_ = bool;
-pub type __s8 = ::aya_ebpf::cty::c_schar;
pub type __u8 = ::aya_ebpf::cty::c_uchar;
-pub type __s16 = ::aya_ebpf::cty::c_short;
pub type __u16 = ::aya_ebpf::cty::c_ushort;
pub type __s32 = ::aya_ebpf::cty::c_int;
pub type __u32 = ::aya_ebpf::cty::c_uint;
pub type __s64 = ::aya_ebpf::cty::c_longlong;
-pub type s8 = __s8;
+pub type __u64 = ::aya_ebpf::cty::c_ulonglong;
pub type u8_ = __u8;
-pub type s16 = __s16;
pub type u16_ = __u16;
pub type s32 = __s32;
pub type u32_ = __u32;
pub type s64 = __s64;
+pub type u64_ = __u64;
pub type __kernel_long_t = ::aya_ebpf::cty::c_long;
pub type __kernel_ulong_t = ::aya_ebpf::cty::c_ulong;
pub type __kernel_pid_t = ::aya_ebpf::cty::c_int;
pub type __kernel_uid32_t = ::aya_ebpf::cty::c_uint;
-pub type __kernel_gid32_t = ::aya_ebpf::cty::c_uint;
pub type __kernel_size_t = __kernel_ulong_t;
-pub type __kernel_loff_t = ::aya_ebpf::cty::c_longlong;
pub type __kernel_time64_t = ::aya_ebpf::cty::c_longlong;
pub type __kernel_clock_t = __kernel_long_t;
pub type __kernel_timer_t = ::aya_ebpf::cty::c_int;
pub type __kernel_clockid_t = ::aya_ebpf::cty::c_int;
-pub type __poll_t = ::aya_ebpf::cty::c_uint;
-pub type __kernel_dev_t = u32_;
-pub type dev_t = __kernel_dev_t;
-pub type umode_t = ::aya_ebpf::cty::c_ushort;
pub type pid_t = __kernel_pid_t;
pub type clockid_t = __kernel_clockid_t;
+pub type bool_ = bool;
pub type uid_t = __kernel_uid32_t;
-pub type gid_t = __kernel_gid32_t;
-pub type loff_t = __kernel_loff_t;
pub type ktime_t = s64;
-pub type sector_t = u64_;
-pub type blkcnt_t = u64_;
pub type gfp_t = ::aya_ebpf::cty::c_uint;
-pub type fmode_t = ::aya_ebpf::cty::c_uint;
-pub type phys_addr_t = u64_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct atomic_t {
@@ -230,9 +214,476 @@ pub struct callback_head {
pub func: ::core::option::Option,
}
#[repr(C)]
-#[derive(Debug)]
-pub struct cacheline_padding {
- pub x: __IncompleteArrayField<::aya_ebpf::cty::c_char>,
+#[derive(Debug, Copy, Clone)]
+pub struct __kernel_timespec {
+ pub tv_sec: __kernel_time64_t,
+ pub tv_nsec: ::aya_ebpf::cty::c_longlong,
+}
+#[repr(C)]
+#[repr(align(8))]
+#[derive(Debug, Copy, Clone)]
+pub struct fred_cs {
+ pub _bitfield_align_1: [u16; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
+ pub __bindgen_padding_0: [u8; 5usize],
+}
+impl fred_cs {
+ #[inline]
+ pub fn cs(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u64) }
+ }
+ #[inline]
+ pub fn set_cs(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 16u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn sl(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 2u8) as u64) }
+ }
+ #[inline]
+ pub fn set_sl(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(16usize, 2u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn wfe(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
+ }
+ #[inline]
+ pub fn set_wfe(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(18usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_1(cs: u64_, sl: u64_, wfe: u64_) -> __BindgenBitfieldUnit<[u8; 3usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 16u8, {
+ let cs: u64 = unsafe { ::core::mem::transmute(cs) };
+ cs as u64
+ });
+ __bindgen_bitfield_unit.set(16usize, 2u8, {
+ let sl: u64 = unsafe { ::core::mem::transmute(sl) };
+ sl as u64
+ });
+ __bindgen_bitfield_unit.set(18usize, 1u8, {
+ let wfe: u64 = unsafe { ::core::mem::transmute(wfe) };
+ wfe as u64
+ });
+ __bindgen_bitfield_unit
+ }
+}
+#[repr(C)]
+#[repr(align(8))]
+#[derive(Debug, Copy, Clone)]
+pub struct fred_ss {
+ pub _bitfield_align_1: [u16; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
+}
+impl fred_ss {
+ #[inline]
+ pub fn ss(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 16u8) as u64) }
+ }
+ #[inline]
+ pub fn set_ss(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 16u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn sti(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u64) }
+ }
+ #[inline]
+ pub fn set_sti(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(16usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn swevent(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) }
+ }
+ #[inline]
+ pub fn set_swevent(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(17usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn nmi(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
+ }
+ #[inline]
+ pub fn set_nmi(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(18usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn vector(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(32usize, 8u8) as u64) }
+ }
+ #[inline]
+ pub fn set_vector(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(32usize, 8u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn type_(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(48usize, 4u8) as u64) }
+ }
+ #[inline]
+ pub fn set_type(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(48usize, 4u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn enclave(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(56usize, 1u8) as u64) }
+ }
+ #[inline]
+ pub fn set_enclave(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(56usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn lm(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(57usize, 1u8) as u64) }
+ }
+ #[inline]
+ pub fn set_lm(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(57usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn nested(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(58usize, 1u8) as u64) }
+ }
+ #[inline]
+ pub fn set_nested(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(58usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn insnlen(&self) -> u64_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(60usize, 4u8) as u64) }
+ }
+ #[inline]
+ pub fn set_insnlen(&mut self, val: u64_) {
+ unsafe {
+ let val: u64 = ::core::mem::transmute(val);
+ self._bitfield_1.set(60usize, 4u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_1(
+ ss: u64_,
+ sti: u64_,
+ swevent: u64_,
+ nmi: u64_,
+ vector: u64_,
+ type_: u64_,
+ enclave: u64_,
+ lm: u64_,
+ nested: u64_,
+ insnlen: u64_,
+ ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 16u8, {
+ let ss: u64 = unsafe { ::core::mem::transmute(ss) };
+ ss as u64
+ });
+ __bindgen_bitfield_unit.set(16usize, 1u8, {
+ let sti: u64 = unsafe { ::core::mem::transmute(sti) };
+ sti as u64
+ });
+ __bindgen_bitfield_unit.set(17usize, 1u8, {
+ let swevent: u64 = unsafe { ::core::mem::transmute(swevent) };
+ swevent as u64
+ });
+ __bindgen_bitfield_unit.set(18usize, 1u8, {
+ let nmi: u64 = unsafe { ::core::mem::transmute(nmi) };
+ nmi as u64
+ });
+ __bindgen_bitfield_unit.set(32usize, 8u8, {
+ let vector: u64 = unsafe { ::core::mem::transmute(vector) };
+ vector as u64
+ });
+ __bindgen_bitfield_unit.set(48usize, 4u8, {
+ let type_: u64 = unsafe { ::core::mem::transmute(type_) };
+ type_ as u64
+ });
+ __bindgen_bitfield_unit.set(56usize, 1u8, {
+ let enclave: u64 = unsafe { ::core::mem::transmute(enclave) };
+ enclave as u64
+ });
+ __bindgen_bitfield_unit.set(57usize, 1u8, {
+ let lm: u64 = unsafe { ::core::mem::transmute(lm) };
+ lm as u64
+ });
+ __bindgen_bitfield_unit.set(58usize, 1u8, {
+ let nested: u64 = unsafe { ::core::mem::transmute(nested) };
+ nested as u64
+ });
+ __bindgen_bitfield_unit.set(60usize, 4u8, {
+ let insnlen: u64 = unsafe { ::core::mem::transmute(insnlen) };
+ insnlen as u64
+ });
+ __bindgen_bitfield_unit
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct pt_regs {
+ pub r15: ::aya_ebpf::cty::c_ulong,
+ pub r14: ::aya_ebpf::cty::c_ulong,
+ pub r13: ::aya_ebpf::cty::c_ulong,
+ pub r12: ::aya_ebpf::cty::c_ulong,
+ pub bp: ::aya_ebpf::cty::c_ulong,
+ pub bx: ::aya_ebpf::cty::c_ulong,
+ pub r11: ::aya_ebpf::cty::c_ulong,
+ pub r10: ::aya_ebpf::cty::c_ulong,
+ pub r9: ::aya_ebpf::cty::c_ulong,
+ pub r8: ::aya_ebpf::cty::c_ulong,
+ pub ax: ::aya_ebpf::cty::c_ulong,
+ pub cx: ::aya_ebpf::cty::c_ulong,
+ pub dx: ::aya_ebpf::cty::c_ulong,
+ pub si: ::aya_ebpf::cty::c_ulong,
+ pub di: ::aya_ebpf::cty::c_ulong,
+ pub orig_ax: ::aya_ebpf::cty::c_ulong,
+ pub ip: ::aya_ebpf::cty::c_ulong,
+ pub __bindgen_anon_1: pt_regs__bindgen_ty_1,
+ pub flags: ::aya_ebpf::cty::c_ulong,
+ pub sp: ::aya_ebpf::cty::c_ulong,
+ pub __bindgen_anon_2: pt_regs__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pt_regs__bindgen_ty_1 {
+ pub cs: u16_,
+ pub csx: u64_,
+ pub fred_cs: fred_cs,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pt_regs__bindgen_ty_2 {
+ pub ss: u16_,
+ pub ssx: u64_,
+ pub fred_ss: fred_ss,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct desc_struct {
+ pub limit0: u16_,
+ pub base0: u16_,
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
+}
+impl desc_struct {
+ #[inline]
+ pub fn base1(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u16) }
+ }
+ #[inline]
+ pub fn set_base1(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 8u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn type_(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u16) }
+ }
+ #[inline]
+ pub fn set_type(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(8usize, 4u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn s(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) }
+ }
+ #[inline]
+ pub fn set_s(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(12usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn dpl(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 2u8) as u16) }
+ }
+ #[inline]
+ pub fn set_dpl(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(13usize, 2u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn p(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) }
+ }
+ #[inline]
+ pub fn set_p(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(15usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn limit1(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u16) }
+ }
+ #[inline]
+ pub fn set_limit1(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(16usize, 4u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn avl(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u16) }
+ }
+ #[inline]
+ pub fn set_avl(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(20usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn l(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u16) }
+ }
+ #[inline]
+ pub fn set_l(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(21usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn d(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u16) }
+ }
+ #[inline]
+ pub fn set_d(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(22usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn g(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u16) }
+ }
+ #[inline]
+ pub fn set_g(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(23usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn base2(&self) -> u16_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u16) }
+ }
+ #[inline]
+ pub fn set_base2(&mut self, val: u16_) {
+ unsafe {
+ let val: u16 = ::core::mem::transmute(val);
+ self._bitfield_1.set(24usize, 8u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_1(
+ base1: u16_,
+ type_: u16_,
+ s: u16_,
+ dpl: u16_,
+ p: u16_,
+ limit1: u16_,
+ avl: u16_,
+ l: u16_,
+ d: u16_,
+ g: u16_,
+ base2: u16_,
+ ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 8u8, {
+ let base1: u16 = unsafe { ::core::mem::transmute(base1) };
+ base1 as u64
+ });
+ __bindgen_bitfield_unit.set(8usize, 4u8, {
+ let type_: u16 = unsafe { ::core::mem::transmute(type_) };
+ type_ as u64
+ });
+ __bindgen_bitfield_unit.set(12usize, 1u8, {
+ let s: u16 = unsafe { ::core::mem::transmute(s) };
+ s as u64
+ });
+ __bindgen_bitfield_unit.set(13usize, 2u8, {
+ let dpl: u16 = unsafe { ::core::mem::transmute(dpl) };
+ dpl as u64
+ });
+ __bindgen_bitfield_unit.set(15usize, 1u8, {
+ let p: u16 = unsafe { ::core::mem::transmute(p) };
+ p as u64
+ });
+ __bindgen_bitfield_unit.set(16usize, 4u8, {
+ let limit1: u16 = unsafe { ::core::mem::transmute(limit1) };
+ limit1 as u64
+ });
+ __bindgen_bitfield_unit.set(20usize, 1u8, {
+ let avl: u16 = unsafe { ::core::mem::transmute(avl) };
+ avl as u64
+ });
+ __bindgen_bitfield_unit.set(21usize, 1u8, {
+ let l: u16 = unsafe { ::core::mem::transmute(l) };
+ l as u64
+ });
+ __bindgen_bitfield_unit.set(22usize, 1u8, {
+ let d: u16 = unsafe { ::core::mem::transmute(d) };
+ d as u64
+ });
+ __bindgen_bitfield_unit.set(23usize, 1u8, {
+ let g: u16 = unsafe { ::core::mem::transmute(g) };
+ g as u64
+ });
+ __bindgen_bitfield_unit.set(24usize, 8u8, {
+ let base2: u16 = unsafe { ::core::mem::transmute(base2) };
+ base2 as u64
+ });
+ __bindgen_bitfield_unit
+ }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -914,201 +1365,9 @@ pub struct llist_head {
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct desc_struct {
- pub limit0: u16_,
- pub base0: u16_,
- pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
-}
-impl desc_struct {
- #[inline]
- pub fn base1(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u16) }
- }
- #[inline]
- pub fn set_base1(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(0usize, 8u8, val as u64)
- }
- }
- #[inline]
- pub fn type_(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 4u8) as u16) }
- }
- #[inline]
- pub fn set_type(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(8usize, 4u8, val as u64)
- }
- }
- #[inline]
- pub fn s(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u16) }
- }
- #[inline]
- pub fn set_s(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(12usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn dpl(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 2u8) as u16) }
- }
- #[inline]
- pub fn set_dpl(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(13usize, 2u8, val as u64)
- }
- }
- #[inline]
- pub fn p(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u16) }
- }
- #[inline]
- pub fn set_p(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(15usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn limit1(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(16usize, 4u8) as u16) }
- }
- #[inline]
- pub fn set_limit1(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(16usize, 4u8, val as u64)
- }
- }
- #[inline]
- pub fn avl(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u16) }
- }
- #[inline]
- pub fn set_avl(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(20usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn l(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u16) }
- }
- #[inline]
- pub fn set_l(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(21usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn d(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u16) }
- }
- #[inline]
- pub fn set_d(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(22usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn g(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u16) }
- }
- #[inline]
- pub fn set_g(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(23usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn base2(&self) -> u16_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 8u8) as u16) }
- }
- #[inline]
- pub fn set_base2(&mut self, val: u16_) {
- unsafe {
- let val: u16 = ::core::mem::transmute(val);
- self._bitfield_1.set(24usize, 8u8, val as u64)
- }
- }
- #[inline]
- pub fn new_bitfield_1(
- base1: u16_,
- type_: u16_,
- s: u16_,
- dpl: u16_,
- p: u16_,
- limit1: u16_,
- avl: u16_,
- l: u16_,
- d: u16_,
- g: u16_,
- base2: u16_,
- ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
- __bindgen_bitfield_unit.set(0usize, 8u8, {
- let base1: u16 = unsafe { ::core::mem::transmute(base1) };
- base1 as u64
- });
- __bindgen_bitfield_unit.set(8usize, 4u8, {
- let type_: u16 = unsafe { ::core::mem::transmute(type_) };
- type_ as u64
- });
- __bindgen_bitfield_unit.set(12usize, 1u8, {
- let s: u16 = unsafe { ::core::mem::transmute(s) };
- s as u64
- });
- __bindgen_bitfield_unit.set(13usize, 2u8, {
- let dpl: u16 = unsafe { ::core::mem::transmute(dpl) };
- dpl as u64
- });
- __bindgen_bitfield_unit.set(15usize, 1u8, {
- let p: u16 = unsafe { ::core::mem::transmute(p) };
- p as u64
- });
- __bindgen_bitfield_unit.set(16usize, 4u8, {
- let limit1: u16 = unsafe { ::core::mem::transmute(limit1) };
- limit1 as u64
- });
- __bindgen_bitfield_unit.set(20usize, 1u8, {
- let avl: u16 = unsafe { ::core::mem::transmute(avl) };
- avl as u64
- });
- __bindgen_bitfield_unit.set(21usize, 1u8, {
- let l: u16 = unsafe { ::core::mem::transmute(l) };
- l as u64
- });
- __bindgen_bitfield_unit.set(22usize, 1u8, {
- let d: u16 = unsafe { ::core::mem::transmute(d) };
- d as u64
- });
- __bindgen_bitfield_unit.set(23usize, 1u8, {
- let g: u16 = unsafe { ::core::mem::transmute(g) };
- g as u64
- });
- __bindgen_bitfield_unit.set(24usize, 8u8, {
- let base2: u16 = unsafe { ::core::mem::transmute(base2) };
- base2 as u64
- });
- __bindgen_bitfield_unit
- }
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct thread_shstk {
- pub base: u64_,
- pub size: u64_,
+pub struct thread_shstk {
+ pub base: u64_,
+ pub size: u64_,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -1347,30 +1606,14 @@ impl thread_struct {
}
}
#[inline]
- pub fn sig_on_uaccess_err(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_sig_on_uaccess_err(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(1usize, 1u8, val as u64)
- }
- }
- #[inline]
pub fn new_bitfield_1(
iopl_warn: ::aya_ebpf::cty::c_uint,
- sig_on_uaccess_err: ::aya_ebpf::cty::c_uint,
) -> __BindgenBitfieldUnit<[u8; 1usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
let iopl_warn: u32 = unsafe { ::core::mem::transmute(iopl_warn) };
iopl_warn as u64
});
- __bindgen_bitfield_unit.set(1usize, 1u8, {
- let sig_on_uaccess_err: u32 = unsafe { ::core::mem::transmute(sig_on_uaccess_err) };
- sig_on_uaccess_err as u64
- });
__bindgen_bitfield_unit
}
#[inline]
@@ -1434,6 +1677,8 @@ pub struct task_struct {
pub rcu_tasks_idx: u8_,
pub rcu_tasks_idle_cpu: ::aya_ebpf::cty::c_int,
pub rcu_tasks_holdout_list: list_head,
+ pub rcu_tasks_exit_cpu: ::aya_ebpf::cty::c_int,
+ pub rcu_tasks_exit_list: list_head,
pub trc_reader_nesting: ::aya_ebpf::cty::c_int,
pub trc_ipi_to_cpu: ::aya_ebpf::cty::c_int,
pub trc_reader_special: rcu_special,
@@ -1557,6 +1802,7 @@ pub struct task_struct {
pub perf_event_list: list_head,
pub mempolicy: *mut mempolicy,
pub il_prev: ::aya_ebpf::cty::c_short,
+ pub il_weight: u8_,
pub pref_node_fork: ::aya_ebpf::cty::c_short,
pub numa_scan_seq: ::aya_ebpf::cty::c_int,
pub numa_scan_period: ::aya_ebpf::cty::c_uint,
@@ -1629,8 +1875,6 @@ pub struct task_struct {
pub rethooks: llist_head,
pub l1d_flush_kill: callback_head,
pub user_event_mm: *mut user_event_mm,
- pub _bitfield_align_4: [u8; 0],
- pub _bitfield_4: __BindgenBitfieldUnit<[u8; 24usize]>,
pub thread: thread_struct,
}
impl task_struct {
@@ -1988,14 +2232,299 @@ impl task_struct {
});
__bindgen_bitfield_unit
}
- #[inline]
- pub fn new_bitfield_4() -> __BindgenBitfieldUnit<[u8; 24usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default();
- __bindgen_bitfield_unit
- }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
+pub struct math_emu_info {
+ pub ___orig_eip: ::aya_ebpf::cty::c_long,
+ pub regs: *mut pt_regs,
+}
+#[repr(C, packed)]
+#[derive(Debug, Copy, Clone)]
+pub struct pi_entry {
+ pub fmt: *const ::aya_ebpf::cty::c_char,
+ pub func: *const ::aya_ebpf::cty::c_char,
+ pub file: *const ::aya_ebpf::cty::c_char,
+ pub line: ::aya_ebpf::cty::c_uint,
+ pub level: *const ::aya_ebpf::cty::c_char,
+ pub subsys_fmt_prefix: *const ::aya_ebpf::cty::c_char,
+}
+pub type old_time32_t = s32;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct old_timespec32 {
+ pub tv_sec: old_time32_t,
+ pub tv_nsec: s32,
+}
+pub mod pid_type {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const PIDTYPE_PID: Type = 0;
+ pub const PIDTYPE_TGID: Type = 1;
+ pub const PIDTYPE_PGID: Type = 2;
+ pub const PIDTYPE_SID: Type = 3;
+ pub const PIDTYPE_MAX: Type = 4;
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union sigval {
+ pub sival_int: ::aya_ebpf::cty::c_int,
+ pub sival_ptr: *mut ::aya_ebpf::cty::c_void,
+}
+pub type sigval_t = sigval;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union __sifields {
+ pub _kill: __sifields__bindgen_ty_1,
+ pub _timer: __sifields__bindgen_ty_2,
+ pub _rt: __sifields__bindgen_ty_3,
+ pub _sigchld: __sifields__bindgen_ty_4,
+ pub _sigfault: __sifields__bindgen_ty_5,
+ pub _sigpoll: __sifields__bindgen_ty_6,
+ pub _sigsys: __sifields__bindgen_ty_7,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_1 {
+ pub _pid: __kernel_pid_t,
+ pub _uid: __kernel_uid32_t,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct __sifields__bindgen_ty_2 {
+ pub _tid: __kernel_timer_t,
+ pub _overrun: ::aya_ebpf::cty::c_int,
+ pub _sigval: sigval_t,
+ pub _sys_private: ::aya_ebpf::cty::c_int,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct __sifields__bindgen_ty_3 {
+ pub _pid: __kernel_pid_t,
+ pub _uid: __kernel_uid32_t,
+ pub _sigval: sigval_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_4 {
+ pub _pid: __kernel_pid_t,
+ pub _uid: __kernel_uid32_t,
+ pub _status: ::aya_ebpf::cty::c_int,
+ pub _utime: __kernel_clock_t,
+ pub _stime: __kernel_clock_t,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct __sifields__bindgen_ty_5 {
+ pub _addr: *mut ::aya_ebpf::cty::c_void,
+ pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union __sifields__bindgen_ty_5__bindgen_ty_1 {
+ pub _trapno: ::aya_ebpf::cty::c_int,
+ pub _addr_lsb: ::aya_ebpf::cty::c_short,
+ pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
+ pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2,
+ pub _perf: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
+ pub _dummy_bnd: [::aya_ebpf::cty::c_char; 8usize],
+ pub _lower: *mut ::aya_ebpf::cty::c_void,
+ pub _upper: *mut ::aya_ebpf::cty::c_void,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 {
+ pub _dummy_pkey: [::aya_ebpf::cty::c_char; 8usize],
+ pub _pkey: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3 {
+ pub _data: ::aya_ebpf::cty::c_ulong,
+ pub _type: __u32,
+ pub _flags: __u32,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_6 {
+ pub _band: ::aya_ebpf::cty::c_long,
+ pub _fd: ::aya_ebpf::cty::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __sifields__bindgen_ty_7 {
+ pub _call_addr: *mut ::aya_ebpf::cty::c_void,
+ pub _syscall: ::aya_ebpf::cty::c_int,
+ pub _arch: ::aya_ebpf::cty::c_uint,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct kernel_siginfo {
+ pub __bindgen_anon_1: kernel_siginfo__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct kernel_siginfo__bindgen_ty_1 {
+ pub si_signo: ::aya_ebpf::cty::c_int,
+ pub si_errno: ::aya_ebpf::cty::c_int,
+ pub si_code: ::aya_ebpf::cty::c_int,
+ pub _sifields: __sifields,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct rseq {
+ pub cpu_id_start: __u32,
+ pub cpu_id: __u32,
+ pub rseq_cs: __u64,
+ pub flags: __u32,
+ pub node_id: __u32,
+ pub mm_cid: __u32,
+ pub end: __IncompleteArrayField<::aya_ebpf::cty::c_char>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sched_class {
+ pub uclamp_enabled: ::aya_ebpf::cty::c_int,
+ pub enqueue_task: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::aya_ebpf::cty::c_int),
+ >,
+ pub dequeue_task: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::aya_ebpf::cty::c_int),
+ >,
+ pub yield_task: ::core::option::Option,
+ pub yield_to_task: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct) -> bool_,
+ >,
+ pub wakeup_preempt: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::aya_ebpf::cty::c_int),
+ >,
+ pub pick_next_task:
+ ::core::option::Option *mut task_struct>,
+ pub put_prev_task:
+ ::core::option::Option,
+ pub set_next_task: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: bool_),
+ >,
+ pub balance: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut rq,
+ arg2: *mut task_struct,
+ arg3: *mut rq_flags,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub select_task_rq: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut task_struct,
+ arg2: ::aya_ebpf::cty::c_int,
+ arg3: ::aya_ebpf::cty::c_int,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub pick_task: ::core::option::Option *mut task_struct>,
+ pub migrate_task_rq: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut task_struct, arg2: ::aya_ebpf::cty::c_int),
+ >,
+ pub task_woken:
+ ::core::option::Option,
+ pub set_cpus_allowed: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut task_struct, arg2: *mut affinity_context),
+ >,
+ pub rq_online: ::core::option::Option,
+ pub rq_offline: ::core::option::Option,
+ pub find_lock_rq: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut task_struct, arg2: *mut rq) -> *mut rq,
+ >,
+ pub task_tick: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::aya_ebpf::cty::c_int),
+ >,
+ pub task_fork: ::core::option::Option,
+ pub task_dead: ::core::option::Option,
+ pub switched_from:
+ ::core::option::Option,
+ pub switched_to:
+ ::core::option::Option,
+ pub prio_changed: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::aya_ebpf::cty::c_int),
+ >,
+ pub get_rr_interval: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct) -> ::aya_ebpf::cty::c_uint,
+ >,
+ pub update_curr: ::core::option::Option,
+ pub task_change_group: ::core::option::Option,
+ pub task_is_throttled: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut task_struct,
+ arg2: ::aya_ebpf::cty::c_int,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+}
+pub type __kernel_gid32_t = ::aya_ebpf::cty::c_uint;
+pub type gid_t = __kernel_gid32_t;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct kgid_t {
+ pub val: gid_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct kernel_cap_t {
+ pub val: u64_,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct cred {
+ pub usage: atomic_long_t,
+ pub uid: kuid_t,
+ pub gid: kgid_t,
+ pub suid: kuid_t,
+ pub sgid: kgid_t,
+ pub euid: kuid_t,
+ pub egid: kgid_t,
+ pub fsuid: kuid_t,
+ pub fsgid: kgid_t,
+ pub securebits: ::aya_ebpf::cty::c_uint,
+ pub cap_inheritable: kernel_cap_t,
+ pub cap_permitted: kernel_cap_t,
+ pub cap_effective: kernel_cap_t,
+ pub cap_bset: kernel_cap_t,
+ pub cap_ambient: kernel_cap_t,
+ pub jit_keyring: ::aya_ebpf::cty::c_uchar,
+ pub session_keyring: *mut key,
+ pub process_keyring: *mut key,
+ pub thread_keyring: *mut key,
+ pub request_key_auth: *mut key,
+ pub security: *mut ::aya_ebpf::cty::c_void,
+ pub user: *mut user_struct,
+ pub user_ns: *mut user_namespace,
+ pub ucounts: *mut ucounts,
+ pub group_info: *mut group_info,
+ pub __bindgen_anon_1: cred__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union cred__bindgen_ty_1 {
+ pub non_rcu: ::aya_ebpf::cty::c_int,
+ pub rcu: callback_head,
+}
+pub type __s8 = ::aya_ebpf::cty::c_schar;
+pub type __s16 = ::aya_ebpf::cty::c_short;
+pub type s8 = __s8;
+pub type s16 = __s16;
+pub type __kernel_loff_t = ::aya_ebpf::cty::c_longlong;
+pub type __poll_t = ::aya_ebpf::cty::c_uint;
+pub type __kernel_dev_t = u32_;
+pub type dev_t = __kernel_dev_t;
+pub type umode_t = ::aya_ebpf::cty::c_ushort;
+pub type loff_t = __kernel_loff_t;
+pub type sector_t = u64_;
+pub type blkcnt_t = u64_;
+pub type fmode_t = ::aya_ebpf::cty::c_uint;
+pub type phys_addr_t = u64_;
+pub type irq_hw_number_t = ::aya_ebpf::cty::c_ulong;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
pub struct lock_class_key {}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -2029,132 +2558,29 @@ pub struct file_system_type {
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct pt_regs {
- pub r15: ::aya_ebpf::cty::c_ulong,
- pub r14: ::aya_ebpf::cty::c_ulong,
- pub r13: ::aya_ebpf::cty::c_ulong,
- pub r12: ::aya_ebpf::cty::c_ulong,
- pub bp: ::aya_ebpf::cty::c_ulong,
- pub bx: ::aya_ebpf::cty::c_ulong,
- pub r11: ::aya_ebpf::cty::c_ulong,
- pub r10: ::aya_ebpf::cty::c_ulong,
- pub r9: ::aya_ebpf::cty::c_ulong,
- pub r8: ::aya_ebpf::cty::c_ulong,
- pub ax: ::aya_ebpf::cty::c_ulong,
- pub cx: ::aya_ebpf::cty::c_ulong,
- pub dx: ::aya_ebpf::cty::c_ulong,
- pub si: ::aya_ebpf::cty::c_ulong,
- pub di: ::aya_ebpf::cty::c_ulong,
- pub orig_ax: ::aya_ebpf::cty::c_ulong,
- pub ip: ::aya_ebpf::cty::c_ulong,
- pub cs: ::aya_ebpf::cty::c_ulong,
- pub flags: ::aya_ebpf::cty::c_ulong,
- pub sp: ::aya_ebpf::cty::c_ulong,
- pub ss: ::aya_ebpf::cty::c_ulong,
-}
-pub type pteval_t = ::aya_ebpf::cty::c_ulong;
-pub type pmdval_t = ::aya_ebpf::cty::c_ulong;
-pub type pudval_t = ::aya_ebpf::cty::c_ulong;
-pub type pgdval_t = ::aya_ebpf::cty::c_ulong;
-pub type pgprotval_t = ::aya_ebpf::cty::c_ulong;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct pte_t {
- pub pte: pteval_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct pmd_t {
- pub pmd: pmdval_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct pgprot {
- pub pgprot: pgprotval_t,
-}
-pub type pgprot_t = pgprot;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct pgd_t {
- pub pgd: pgdval_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct pud_t {
- pub pud: pudval_t,
-}
-pub type pgtable_t = *mut page;
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct page {
- pub flags: ::aya_ebpf::cty::c_ulong,
- pub __bindgen_anon_1: page__bindgen_ty_1,
- pub __bindgen_anon_2: page__bindgen_ty_2,
- pub _refcount: atomic_t,
- pub memcg_data: ::aya_ebpf::cty::c_ulong,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union page__bindgen_ty_1 {
- pub __bindgen_anon_1: page__bindgen_ty_1__bindgen_ty_1,
- pub __bindgen_anon_2: page__bindgen_ty_1__bindgen_ty_2,
- pub __bindgen_anon_3: page__bindgen_ty_1__bindgen_ty_3,
- pub __bindgen_anon_4: page__bindgen_ty_1__bindgen_ty_4,
- pub callback_head: callback_head,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct page__bindgen_ty_1__bindgen_ty_1 {
- pub __bindgen_anon_1: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
- pub mapping: *mut address_space,
- pub __bindgen_anon_2: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2,
- pub private: ::aya_ebpf::cty::c_ulong,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
- pub lru: list_head,
- pub __bindgen_anon_1: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
- pub buddy_list: list_head,
- pub pcp_list: list_head,
+pub struct static_call_site {
+ pub addr: s32,
+ pub key: s32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
- pub __filler: *mut ::aya_ebpf::cty::c_void,
- pub mlock_count: ::aya_ebpf::cty::c_uint,
+pub struct static_call_mod {
+ pub next: *mut static_call_mod,
+ pub mod_: *mut module,
+ pub sites: *mut static_call_site,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 {
- pub index: ::aya_ebpf::cty::c_ulong,
- pub share: ::aya_ebpf::cty::c_ulong,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct page__bindgen_ty_1__bindgen_ty_2 {
- pub pp_magic: ::aya_ebpf::cty::c_ulong,
- pub pp: *mut page_pool,
- pub _pp_mapping_pad: ::aya_ebpf::cty::c_ulong,
- pub dma_addr: ::aya_ebpf::cty::c_ulong,
- pub pp_ref_count: atomic_long_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct page__bindgen_ty_1__bindgen_ty_3 {
- pub compound_head: ::aya_ebpf::cty::c_ulong,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct page__bindgen_ty_1__bindgen_ty_4 {
- pub pgmap: *mut dev_pagemap,
- pub zone_device_data: *mut ::aya_ebpf::cty::c_void,
+pub struct static_call_key {
+ pub func: *mut ::aya_ebpf::cty::c_void,
+ pub __bindgen_anon_1: static_call_key__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union page__bindgen_ty_2 {
- pub _mapcount: atomic_t,
- pub page_type: ::aya_ebpf::cty::c_uint,
+pub union static_call_key__bindgen_ty_1 {
+ pub type_: ::aya_ebpf::cty::c_ulong,
+ pub mods: *mut static_call_mod,
+ pub sites: *mut static_call_site,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -2266,6 +2692,110 @@ impl orc_entry {
__bindgen_bitfield_unit
}
}
+pub type pteval_t = ::aya_ebpf::cty::c_ulong;
+pub type pmdval_t = ::aya_ebpf::cty::c_ulong;
+pub type pudval_t = ::aya_ebpf::cty::c_ulong;
+pub type pgdval_t = ::aya_ebpf::cty::c_ulong;
+pub type pgprotval_t = ::aya_ebpf::cty::c_ulong;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pte_t {
+ pub pte: pteval_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pmd_t {
+ pub pmd: pmdval_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pgprot {
+ pub pgprot: pgprotval_t,
+}
+pub type pgprot_t = pgprot;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pgd_t {
+ pub pgd: pgdval_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pud_t {
+ pub pud: pudval_t,
+}
+pub type pgtable_t = *mut page;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct page {
+ pub flags: ::aya_ebpf::cty::c_ulong,
+ pub __bindgen_anon_1: page__bindgen_ty_1,
+ pub __bindgen_anon_2: page__bindgen_ty_2,
+ pub _refcount: atomic_t,
+ pub memcg_data: ::aya_ebpf::cty::c_ulong,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union page__bindgen_ty_1 {
+ pub __bindgen_anon_1: page__bindgen_ty_1__bindgen_ty_1,
+ pub __bindgen_anon_2: page__bindgen_ty_1__bindgen_ty_2,
+ pub __bindgen_anon_3: page__bindgen_ty_1__bindgen_ty_3,
+ pub __bindgen_anon_4: page__bindgen_ty_1__bindgen_ty_4,
+ pub callback_head: callback_head,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct page__bindgen_ty_1__bindgen_ty_1 {
+ pub __bindgen_anon_1: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
+ pub mapping: *mut address_space,
+ pub __bindgen_anon_2: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2,
+ pub private: ::aya_ebpf::cty::c_ulong,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
+ pub lru: list_head,
+ pub __bindgen_anon_1: page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
+ pub buddy_list: list_head,
+ pub pcp_list: list_head,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
+ pub __filler: *mut ::aya_ebpf::cty::c_void,
+ pub mlock_count: ::aya_ebpf::cty::c_uint,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union page__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 {
+ pub index: ::aya_ebpf::cty::c_ulong,
+ pub share: ::aya_ebpf::cty::c_ulong,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct page__bindgen_ty_1__bindgen_ty_2 {
+ pub pp_magic: ::aya_ebpf::cty::c_ulong,
+ pub pp: *mut page_pool,
+ pub _pp_mapping_pad: ::aya_ebpf::cty::c_ulong,
+ pub dma_addr: ::aya_ebpf::cty::c_ulong,
+ pub pp_ref_count: atomic_long_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct page__bindgen_ty_1__bindgen_ty_3 {
+ pub compound_head: ::aya_ebpf::cty::c_ulong,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct page__bindgen_ty_1__bindgen_ty_4 {
+ pub pgmap: *mut dev_pagemap,
+ pub zone_device_data: *mut ::aya_ebpf::cty::c_void,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union page__bindgen_ty_2 {
+ pub _mapcount: atomic_t,
+ pub page_type: ::aya_ebpf::cty::c_uint,
+}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct lockdep_map_p {}
@@ -2509,12 +3039,6 @@ pub struct qrwlock__bindgen_ty_1__bindgen_ty_1 {
pub type arch_rwlock_t = qrwlock;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct math_emu_info {
- pub ___orig_eip: ::aya_ebpf::cty::c_long,
- pub regs: *mut pt_regs,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
pub struct lockdep_map {}
#[repr(C)]
#[derive(Copy, Clone)]
@@ -2527,16 +3051,6 @@ pub struct ratelimit_state {
pub begin: ::aya_ebpf::cty::c_ulong,
pub flags: ::aya_ebpf::cty::c_ulong,
}
-#[repr(C, packed)]
-#[derive(Debug, Copy, Clone)]
-pub struct pi_entry {
- pub fmt: *const ::aya_ebpf::cty::c_char,
- pub func: *const ::aya_ebpf::cty::c_char,
- pub file: *const ::aya_ebpf::cty::c_char,
- pub line: ::aya_ebpf::cty::c_uint,
- pub level: *const ::aya_ebpf::cty::c_char,
- pub subsys_fmt_prefix: *const ::aya_ebpf::cty::c_char,
-}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _ddebug {
@@ -3034,7 +3548,7 @@ pub struct file_operations {
unsafe extern "C" fn(
arg1: *mut file,
arg2: ::aya_ebpf::cty::c_int,
- arg3: *mut *mut file_lock,
+ arg3: *mut *mut file_lease,
arg4: *mut *mut ::aya_ebpf::cty::c_void,
) -> ::aya_ebpf::cty::c_int,
>,
@@ -3100,32 +3614,6 @@ pub struct bug_entry {
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct static_call_site {
- pub addr: s32,
- pub key: s32,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct static_call_mod {
- pub next: *mut static_call_mod,
- pub mod_: *mut module,
- pub sites: *mut static_call_site,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct static_call_key {
- pub func: *mut ::aya_ebpf::cty::c_void,
- pub __bindgen_anon_1: static_call_key__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union static_call_key__bindgen_ty_1 {
- pub type_: ::aya_ebpf::cty::c_ulong,
- pub mods: *mut static_call_mod,
- pub sites: *mut static_call_site,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
pub struct attribute_group {
pub name: *const ::aya_ebpf::cty::c_char,
pub is_visible: ::core::option::Option<
@@ -3148,12 +3636,88 @@ pub struct attribute_group {
pub type cpumask_var_t = [cpumask; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
+pub struct pollfd {
+ pub fd: ::aya_ebpf::cty::c_int,
+ pub events: ::aya_ebpf::cty::c_short,
+ pub revents: ::aya_ebpf::cty::c_short,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
pub struct range {
pub start: u64_,
pub end: u64_,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
+pub struct seq_operations {
+ pub start: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut seq_file,
+ arg2: *mut loff_t,
+ ) -> *mut ::aya_ebpf::cty::c_void,
+ >,
+ pub stop: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut ::aya_ebpf::cty::c_void),
+ >,
+ pub next: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut seq_file,
+ arg2: *mut ::aya_ebpf::cty::c_void,
+ arg3: *mut loff_t,
+ ) -> *mut ::aya_ebpf::cty::c_void,
+ >,
+ pub show: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut seq_file,
+ arg2: *mut ::aya_ebpf::cty::c_void,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct rwlock_t {
+ pub raw_lock: arch_rwlock_t,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct wait_queue_head {
+ pub lock: spinlock_t,
+ pub head: list_head,
+}
+pub type wait_queue_head_t = wait_queue_head;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct seqcount_raw_spinlock {
+ pub seqcount: seqcount_t,
+}
+pub type seqcount_raw_spinlock_t = seqcount_raw_spinlock;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct seqlock_t {
+ pub seqcount: seqcount_spinlock_t,
+ pub lock: spinlock_t,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct swait_queue_head {
+ pub lock: raw_spinlock_t,
+ pub task_list: list_head,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct completion {
+ pub done: ::aya_ebpf::cty::c_uint,
+ pub wait: swait_queue_head,
+}
+pub type time64_t = __s64;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct timespec64 {
+ pub tv_sec: time64_t,
+ pub tv_nsec: ::aya_ebpf::cty::c_long,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
pub struct tracepoint_func {
pub func: *mut ::aya_ebpf::cty::c_void,
pub data: *mut ::aya_ebpf::cty::c_void,
@@ -3191,2512 +3755,2614 @@ impl bpf_raw_event_map {
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct seq_operations {
- pub start: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut seq_file,
- arg2: *mut loff_t,
- ) -> *mut ::aya_ebpf::cty::c_void,
- >,
- pub stop: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut ::aya_ebpf::cty::c_void),
- >,
- pub next: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut seq_file,
- arg2: *mut ::aya_ebpf::cty::c_void,
- arg3: *mut loff_t,
- ) -> *mut ::aya_ebpf::cty::c_void,
- >,
- pub show: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut seq_file,
- arg2: *mut ::aya_ebpf::cty::c_void,
- ) -> ::aya_ebpf::cty::c_int,
- >,
+pub struct delayed_work {
+ pub work: work_struct,
+ pub timer: timer_list,
+ pub wq: *mut workqueue_struct,
+ pub cpu: ::aya_ebpf::cty::c_int,
}
-pub mod perf_event_state {
- pub type Type = ::aya_ebpf::cty::c_int;
- pub const PERF_EVENT_STATE_DEAD: Type = -4;
- pub const PERF_EVENT_STATE_EXIT: Type = -3;
- pub const PERF_EVENT_STATE_ERROR: Type = -2;
- pub const PERF_EVENT_STATE_OFF: Type = -1;
- pub const PERF_EVENT_STATE_INACTIVE: Type = 0;
- pub const PERF_EVENT_STATE_ACTIVE: Type = 1;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rcu_segcblist {
+ pub head: *mut callback_head,
+ pub tails: [*mut *mut callback_head; 4usize],
+ pub gp_seq: [::aya_ebpf::cty::c_ulong; 4usize],
+ pub len: atomic_long_t,
+ pub seglen: [::aya_ebpf::cty::c_long; 4usize],
+ pub flags: u8_,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct srcu_data {
+ pub srcu_lock_count: [atomic_long_t; 2usize],
+ pub srcu_unlock_count: [atomic_long_t; 2usize],
+ pub srcu_nmi_safety: ::aya_ebpf::cty::c_int,
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>,
+ pub __bindgen_padding_0: u32,
+ pub lock: spinlock_t,
+ pub srcu_cblist: rcu_segcblist,
+ pub srcu_gp_seq_needed: ::aya_ebpf::cty::c_ulong,
+ pub srcu_gp_seq_needed_exp: ::aya_ebpf::cty::c_ulong,
+ pub srcu_cblist_invoking: bool_,
+ pub delay_work: timer_list,
+ pub work: work_struct,
+ pub srcu_barrier_head: callback_head,
+ pub mynode: *mut srcu_node,
+ pub grpmask: ::aya_ebpf::cty::c_ulong,
+ pub cpu: ::aya_ebpf::cty::c_int,
+ pub ssp: *mut srcu_struct,
+ pub _bitfield_align_2: [u8; 0],
+ pub _bitfield_2: __BindgenBitfieldUnit<[u8; 48usize]>,
+}
+impl srcu_data {
+ #[inline]
+ pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default();
+ __bindgen_bitfield_unit
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct srcu_node {
+ pub lock: spinlock_t,
+ pub srcu_have_cbs: [::aya_ebpf::cty::c_ulong; 4usize],
+ pub srcu_data_have_cbs: [::aya_ebpf::cty::c_ulong; 4usize],
+ pub srcu_gp_seq_needed_exp: ::aya_ebpf::cty::c_ulong,
+ pub srcu_parent: *mut srcu_node,
+ pub grplo: ::aya_ebpf::cty::c_int,
+ pub grphi: ::aya_ebpf::cty::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct local_t {
- pub a: atomic_long_t,
+pub struct srcu_struct {
+ pub srcu_idx: ::aya_ebpf::cty::c_uint,
+ pub sda: *mut srcu_data,
+ pub dep_map: lockdep_map,
+ pub srcu_sup: *mut srcu_usage,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct srcu_usage {
+ pub node: *mut srcu_node,
+ pub level: [*mut srcu_node; 3usize],
+ pub srcu_size_state: ::aya_ebpf::cty::c_int,
+ pub srcu_cb_mutex: mutex,
+ pub lock: spinlock_t,
+ pub srcu_gp_mutex: mutex,
+ pub srcu_gp_seq: ::aya_ebpf::cty::c_ulong,
+ pub srcu_gp_seq_needed: ::aya_ebpf::cty::c_ulong,
+ pub srcu_gp_seq_needed_exp: ::aya_ebpf::cty::c_ulong,
+ pub srcu_gp_start: ::aya_ebpf::cty::c_ulong,
+ pub srcu_last_gp_end: ::aya_ebpf::cty::c_ulong,
+ pub srcu_size_jiffies: ::aya_ebpf::cty::c_ulong,
+ pub srcu_n_lock_retries: ::aya_ebpf::cty::c_ulong,
+ pub srcu_n_exp_nodelay: ::aya_ebpf::cty::c_ulong,
+ pub sda_is_static: bool_,
+ pub srcu_barrier_seq: ::aya_ebpf::cty::c_ulong,
+ pub srcu_barrier_mutex: mutex,
+ pub srcu_barrier_completion: completion,
+ pub srcu_barrier_cpu_cnt: atomic_t,
+ pub reschedule_jiffies: ::aya_ebpf::cty::c_ulong,
+ pub reschedule_count: ::aya_ebpf::cty::c_ulong,
+ pub work: delayed_work,
+ pub srcu_ssp: *mut srcu_struct,
}
+pub type notifier_fn_t = ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut notifier_block,
+ arg2: ::aya_ebpf::cty::c_ulong,
+ arg3: *mut ::aya_ebpf::cty::c_void,
+ ) -> ::aya_ebpf::cty::c_int,
+>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct local64_t {
- pub a: local_t,
+pub struct notifier_block {
+ pub notifier_call: notifier_fn_t,
+ pub next: *mut notifier_block,
+ pub priority: ::aya_ebpf::cty::c_int,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct perf_event_attr {
- pub type_: __u32,
- pub size: __u32,
- pub config: __u64,
- pub __bindgen_anon_1: perf_event_attr__bindgen_ty_1,
- pub sample_type: __u64,
- pub read_format: __u64,
- pub _bitfield_align_1: [u32; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8usize]>,
- pub __bindgen_anon_2: perf_event_attr__bindgen_ty_2,
- pub bp_type: __u32,
- pub __bindgen_anon_3: perf_event_attr__bindgen_ty_3,
- pub __bindgen_anon_4: perf_event_attr__bindgen_ty_4,
- pub branch_sample_type: __u64,
- pub sample_regs_user: __u64,
- pub sample_stack_user: __u32,
- pub clockid: __s32,
- pub sample_regs_intr: __u64,
- pub aux_watermark: __u32,
- pub sample_max_stack: __u16,
- pub __reserved_2: __u16,
- pub aux_sample_size: __u32,
- pub __reserved_3: __u32,
- pub sig_data: __u64,
- pub config3: __u64,
+pub struct blocking_notifier_head {
+ pub rwsem: rw_semaphore,
+ pub head: *mut notifier_block,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct arch_uprobe_task {
+ pub saved_scratch_register: ::aya_ebpf::cty::c_ulong,
+ pub saved_trap_nr: ::aya_ebpf::cty::c_uint,
+ pub saved_tf: ::aya_ebpf::cty::c_uint,
+}
+pub mod uprobe_task_state {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const UTASK_RUNNING: Type = 0;
+ pub const UTASK_SSTEP: Type = 1;
+ pub const UTASK_SSTEP_ACK: Type = 2;
+ pub const UTASK_SSTEP_TRAPPED: Type = 3;
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union perf_event_attr__bindgen_ty_1 {
- pub sample_period: __u64,
- pub sample_freq: __u64,
+pub struct uprobe_task {
+ pub state: uprobe_task_state::Type,
+ pub __bindgen_anon_1: uprobe_task__bindgen_ty_1,
+ pub active_uprobe: *mut uprobe,
+ pub xol_vaddr: ::aya_ebpf::cty::c_ulong,
+ pub return_instances: *mut return_instance,
+ pub depth: ::aya_ebpf::cty::c_uint,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union perf_event_attr__bindgen_ty_2 {
- pub wakeup_events: __u32,
- pub wakeup_watermark: __u32,
+pub union uprobe_task__bindgen_ty_1 {
+ pub __bindgen_anon_1: uprobe_task__bindgen_ty_1__bindgen_ty_1,
+ pub __bindgen_anon_2: uprobe_task__bindgen_ty_1__bindgen_ty_2,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uprobe_task__bindgen_ty_1__bindgen_ty_1 {
+ pub autask: arch_uprobe_task,
+ pub vaddr: ::aya_ebpf::cty::c_ulong,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct uprobe_task__bindgen_ty_1__bindgen_ty_2 {
+ pub dup_xol_work: callback_head,
+ pub dup_xol_addr: ::aya_ebpf::cty::c_ulong,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct return_instance {
+ pub uprobe: *mut uprobe,
+ pub func: ::aya_ebpf::cty::c_ulong,
+ pub stack: ::aya_ebpf::cty::c_ulong,
+ pub orig_ret_vaddr: ::aya_ebpf::cty::c_ulong,
+ pub chained: bool_,
+ pub next: *mut return_instance,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct vdso_image {
+ pub data: *mut ::aya_ebpf::cty::c_void,
+ pub size: ::aya_ebpf::cty::c_ulong,
+ pub alt: ::aya_ebpf::cty::c_ulong,
+ pub alt_len: ::aya_ebpf::cty::c_ulong,
+ pub extable_base: ::aya_ebpf::cty::c_ulong,
+ pub extable_len: ::aya_ebpf::cty::c_ulong,
+ pub extable: *const ::aya_ebpf::cty::c_void,
+ pub sym_vvar_start: ::aya_ebpf::cty::c_long,
+ pub sym_vvar_page: ::aya_ebpf::cty::c_long,
+ pub sym_pvclock_page: ::aya_ebpf::cty::c_long,
+ pub sym_hvclock_page: ::aya_ebpf::cty::c_long,
+ pub sym_timens_page: ::aya_ebpf::cty::c_long,
+ pub sym_VDSO32_NOTE_MASK: ::aya_ebpf::cty::c_long,
+ pub sym___kernel_sigreturn: ::aya_ebpf::cty::c_long,
+ pub sym___kernel_rt_sigreturn: ::aya_ebpf::cty::c_long,
+ pub sym___kernel_vsyscall: ::aya_ebpf::cty::c_long,
+ pub sym_int80_landing_pad: ::aya_ebpf::cty::c_long,
+ pub sym_vdso32_sigreturn_landing_pad: ::aya_ebpf::cty::c_long,
+ pub sym_vdso32_rt_sigreturn_landing_pad: ::aya_ebpf::cty::c_long,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union perf_event_attr__bindgen_ty_3 {
- pub bp_addr: __u64,
- pub kprobe_func: __u64,
- pub uprobe_path: __u64,
- pub config1: __u64,
+pub struct xarray {
+ pub xa_lock: spinlock_t,
+ pub xa_flags: gfp_t,
+ pub xa_head: *mut ::aya_ebpf::cty::c_void,
}
+pub type errseq_t = u32_;
#[repr(C)]
#[derive(Copy, Clone)]
-pub union perf_event_attr__bindgen_ty_4 {
- pub bp_len: __u64,
- pub kprobe_addr: __u64,
- pub probe_offset: __u64,
- pub config2: __u64,
+pub struct address_space {
+ pub host: *mut inode,
+ pub i_pages: xarray,
+ pub invalidate_lock: rw_semaphore,
+ pub gfp_mask: gfp_t,
+ pub i_mmap_writable: atomic_t,
+ pub nr_thps: atomic_t,
+ pub i_mmap: rb_root_cached,
+ pub nrpages: ::aya_ebpf::cty::c_ulong,
+ pub writeback_index: ::aya_ebpf::cty::c_ulong,
+ pub a_ops: *const address_space_operations,
+ pub flags: ::aya_ebpf::cty::c_ulong,
+ pub wb_err: errseq_t,
+ pub i_private_lock: spinlock_t,
+ pub i_private_list: list_head,
+ pub i_mmap_rwsem: rw_semaphore,
+ pub i_private_data: *mut ::aya_ebpf::cty::c_void,
}
-impl perf_event_attr {
- #[inline]
- pub fn disabled(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_disabled(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(0usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn inherit(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_inherit(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(1usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn pinned(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_pinned(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(2usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn exclusive(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_exclusive(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(3usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn exclude_user(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_exclude_user(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(4usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn exclude_kernel(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_exclude_kernel(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(5usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn exclude_hv(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_exclude_hv(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(6usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn exclude_idle(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_exclude_idle(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(7usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn mmap(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_mmap(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(8usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn comm(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_comm(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(9usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn freq(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_freq(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(10usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn inherit_stat(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_inherit_stat(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(11usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn enable_on_exec(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_enable_on_exec(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(12usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn task(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_task(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(13usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn watermark(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_watermark(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(14usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn precise_ip(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u64) }
- }
- #[inline]
- pub fn set_precise_ip(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(15usize, 2u8, val as u64)
- }
- }
- #[inline]
- pub fn mmap_data(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_mmap_data(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(17usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn sample_id_all(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_sample_id_all(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(18usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn exclude_host(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_exclude_host(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(19usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn exclude_guest(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_exclude_guest(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(20usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn exclude_callchain_kernel(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_exclude_callchain_kernel(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(21usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn exclude_callchain_user(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_exclude_callchain_user(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(22usize, 1u8, val as u64)
- }
- }
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct vmem_altmap {
+ pub base_pfn: ::aya_ebpf::cty::c_ulong,
+ pub end_pfn: ::aya_ebpf::cty::c_ulong,
+ pub reserve: ::aya_ebpf::cty::c_ulong,
+ pub free: ::aya_ebpf::cty::c_ulong,
+ pub align: ::aya_ebpf::cty::c_ulong,
+ pub alloc: ::aya_ebpf::cty::c_ulong,
+ pub inaccessible: bool_,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct percpu_ref {
+ pub percpu_count_ptr: ::aya_ebpf::cty::c_ulong,
+ pub data: *mut percpu_ref_data,
+}
+pub mod memory_type {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const MEMORY_DEVICE_PRIVATE: Type = 1;
+ pub const MEMORY_DEVICE_COHERENT: Type = 2;
+ pub const MEMORY_DEVICE_FS_DAX: Type = 3;
+ pub const MEMORY_DEVICE_GENERIC: Type = 4;
+ pub const MEMORY_DEVICE_PCI_P2PDMA: Type = 5;
+}
+#[repr(C)]
+pub struct dev_pagemap {
+ pub altmap: vmem_altmap,
+ pub ref_: percpu_ref,
+ pub done: completion,
+ pub type_: memory_type::Type,
+ pub flags: ::aya_ebpf::cty::c_uint,
+ pub vmemmap_shift: ::aya_ebpf::cty::c_ulong,
+ pub ops: *const dev_pagemap_ops,
+ pub owner: *mut ::aya_ebpf::cty::c_void,
+ pub nr_range: ::aya_ebpf::cty::c_int,
+ pub __bindgen_anon_1: dev_pagemap__bindgen_ty_1,
+}
+#[repr(C)]
+pub struct dev_pagemap__bindgen_ty_1 {
+ pub range: __BindgenUnionField,
+ pub __bindgen_anon_1: __BindgenUnionField,
+ pub bindgen_union_field: [u64; 2usize],
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct dev_pagemap__bindgen_ty_1__bindgen_ty_1 {
+ pub __empty_ranges: dev_pagemap__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
+ pub ranges: __IncompleteArrayField,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct dev_pagemap__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct swp_entry_t {
+ pub val: ::aya_ebpf::cty::c_ulong,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct folio {
+ pub __bindgen_anon_1: folio__bindgen_ty_1,
+ pub __bindgen_anon_2: folio__bindgen_ty_2,
+ pub __bindgen_anon_3: folio__bindgen_ty_3,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union folio__bindgen_ty_1 {
+ pub __bindgen_anon_1: folio__bindgen_ty_1__bindgen_ty_1,
+ pub page: page,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct folio__bindgen_ty_1__bindgen_ty_1 {
+ pub flags: ::aya_ebpf::cty::c_ulong,
+ pub __bindgen_anon_1: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
+ pub mapping: *mut address_space,
+ pub index: ::aya_ebpf::cty::c_ulong,
+ pub __bindgen_anon_2: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2,
+ pub _mapcount: atomic_t,
+ pub _refcount: atomic_t,
+ pub memcg_data: ::aya_ebpf::cty::c_ulong,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
+ pub lru: list_head,
+ pub __bindgen_anon_1: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
+ pub __filler: *mut ::aya_ebpf::cty::c_void,
+ pub mlock_count: ::aya_ebpf::cty::c_uint,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 {
+ pub private: *mut ::aya_ebpf::cty::c_void,
+ pub swap: swp_entry_t,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union folio__bindgen_ty_2 {
+ pub __bindgen_anon_1: folio__bindgen_ty_2__bindgen_ty_1,
+ pub __page_1: page,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct folio__bindgen_ty_2__bindgen_ty_1 {
+ pub _flags_1: ::aya_ebpf::cty::c_ulong,
+ pub _head_1: ::aya_ebpf::cty::c_ulong,
+ pub _folio_avail: ::aya_ebpf::cty::c_ulong,
+ pub _entire_mapcount: atomic_t,
+ pub _nr_pages_mapped: atomic_t,
+ pub _pincount: atomic_t,
+ pub _folio_nr_pages: ::aya_ebpf::cty::c_uint,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union folio__bindgen_ty_3 {
+ pub __bindgen_anon_1: folio__bindgen_ty_3__bindgen_ty_1,
+ pub __bindgen_anon_2: folio__bindgen_ty_3__bindgen_ty_2,
+ pub __page_2: page,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct folio__bindgen_ty_3__bindgen_ty_1 {
+ pub _flags_2: ::aya_ebpf::cty::c_ulong,
+ pub _head_2: ::aya_ebpf::cty::c_ulong,
+ pub _hugetlb_subpool: *mut ::aya_ebpf::cty::c_void,
+ pub _hugetlb_cgroup: *mut ::aya_ebpf::cty::c_void,
+ pub _hugetlb_cgroup_rsvd: *mut ::aya_ebpf::cty::c_void,
+ pub _hugetlb_hwpoison: *mut ::aya_ebpf::cty::c_void,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct folio__bindgen_ty_3__bindgen_ty_2 {
+ pub _flags_2a: ::aya_ebpf::cty::c_ulong,
+ pub _head_2a: ::aya_ebpf::cty::c_ulong,
+ pub _deferred_list: list_head,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct fown_struct {
+ pub lock: rwlock_t,
+ pub pid: *mut pid,
+ pub pid_type: pid_type::Type,
+ pub uid: kuid_t,
+ pub euid: kuid_t,
+ pub signum: ::aya_ebpf::cty::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct file_ra_state {
+ pub start: ::aya_ebpf::cty::c_ulong,
+ pub size: ::aya_ebpf::cty::c_uint,
+ pub async_size: ::aya_ebpf::cty::c_uint,
+ pub ra_pages: ::aya_ebpf::cty::c_uint,
+ pub mmap_miss: ::aya_ebpf::cty::c_uint,
+ pub prev_pos: loff_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct path {
+ pub mnt: *mut vfsmount,
+ pub dentry: *mut dentry,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct file {
+ pub __bindgen_anon_1: file__bindgen_ty_1,
+ pub f_lock: spinlock_t,
+ pub f_mode: fmode_t,
+ pub f_count: atomic_long_t,
+ pub f_pos_lock: mutex,
+ pub f_pos: loff_t,
+ pub f_flags: ::aya_ebpf::cty::c_uint,
+ pub f_owner: fown_struct,
+ pub f_cred: *const cred,
+ pub f_ra: file_ra_state,
+ pub f_path: path,
+ pub f_inode: *mut inode,
+ pub f_op: *const file_operations,
+ pub f_version: u64_,
+ pub f_security: *mut ::aya_ebpf::cty::c_void,
+ pub private_data: *mut ::aya_ebpf::cty::c_void,
+ pub f_ep: *mut hlist_head,
+ pub f_mapping: *mut address_space,
+ pub f_wb_err: errseq_t,
+ pub f_sb_err: errseq_t,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union file__bindgen_ty_1 {
+ pub f_task_work: callback_head,
+ pub f_llist: llist_node,
+ pub f_iocb_flags: ::aya_ebpf::cty::c_uint,
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct anon_vma_name {
+ pub kref: kref,
+ pub name: __IncompleteArrayField<::aya_ebpf::cty::c_char>,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct vma_lock {
+ pub lock: rw_semaphore,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct vma_numab_state {
+ pub next_scan: ::aya_ebpf::cty::c_ulong,
+ pub pids_active_reset: ::aya_ebpf::cty::c_ulong,
+ pub pids_active: [::aya_ebpf::cty::c_ulong; 2usize],
+ pub start_scan_seq: ::aya_ebpf::cty::c_int,
+ pub prev_scan_seq: ::aya_ebpf::cty::c_int,
+}
+pub type vm_fault_t = ::aya_ebpf::cty::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct vm_operations_struct {
+ pub open: ::core::option::Option,
+ pub close: ::core::option::Option,
+ pub may_split: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut vm_area_struct,
+ arg2: ::aya_ebpf::cty::c_ulong,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub mremap: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut vm_area_struct) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub mprotect: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut vm_area_struct,
+ arg2: ::aya_ebpf::cty::c_ulong,
+ arg3: ::aya_ebpf::cty::c_ulong,
+ arg4: ::aya_ebpf::cty::c_ulong,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub fault: ::core::option::Option vm_fault_t>,
+ pub huge_fault: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut vm_fault, arg2: ::aya_ebpf::cty::c_uint) -> vm_fault_t,
+ >,
+ pub map_pages: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut vm_fault,
+ arg2: ::aya_ebpf::cty::c_ulong,
+ arg3: ::aya_ebpf::cty::c_ulong,
+ ) -> vm_fault_t,
+ >,
+ pub pagesize: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut vm_area_struct) -> ::aya_ebpf::cty::c_ulong,
+ >,
+ pub page_mkwrite:
+ ::core::option::Option vm_fault_t>,
+ pub pfn_mkwrite:
+ ::core::option::Option vm_fault_t>,
+ pub access: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut vm_area_struct,
+ arg2: ::aya_ebpf::cty::c_ulong,
+ arg3: *mut ::aya_ebpf::cty::c_void,
+ arg4: ::aya_ebpf::cty::c_int,
+ arg5: ::aya_ebpf::cty::c_int,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub name: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut vm_area_struct) -> *const ::aya_ebpf::cty::c_char,
+ >,
+ pub set_policy: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut vm_area_struct,
+ arg2: *mut mempolicy,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub get_policy: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut vm_area_struct,
+ arg2: ::aya_ebpf::cty::c_ulong,
+ arg3: *mut ::aya_ebpf::cty::c_ulong,
+ ) -> *mut mempolicy,
+ >,
+ pub find_special_page: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut vm_area_struct,
+ arg2: ::aya_ebpf::cty::c_ulong,
+ ) -> *mut page,
+ >,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct mm_cid {
+ pub time: u64_,
+ pub cid: ::aya_ebpf::cty::c_int,
+}
+pub mod fault_flag {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const FAULT_FLAG_WRITE: Type = 1;
+ pub const FAULT_FLAG_MKWRITE: Type = 2;
+ pub const FAULT_FLAG_ALLOW_RETRY: Type = 4;
+ pub const FAULT_FLAG_RETRY_NOWAIT: Type = 8;
+ pub const FAULT_FLAG_KILLABLE: Type = 16;
+ pub const FAULT_FLAG_TRIED: Type = 32;
+ pub const FAULT_FLAG_USER: Type = 64;
+ pub const FAULT_FLAG_REMOTE: Type = 128;
+ pub const FAULT_FLAG_INSTRUCTION: Type = 256;
+ pub const FAULT_FLAG_INTERRUPTIBLE: Type = 512;
+ pub const FAULT_FLAG_UNSHARE: Type = 1024;
+ pub const FAULT_FLAG_ORIG_PTE_VALID: Type = 2048;
+ pub const FAULT_FLAG_VMA_LOCK: Type = 4096;
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct vm_fault {
+ pub __bindgen_anon_1: vm_fault__bindgen_ty_1,
+ pub flags: fault_flag::Type,
+ pub pmd: *mut pmd_t,
+ pub pud: *mut pud_t,
+ pub __bindgen_anon_2: vm_fault__bindgen_ty_2,
+ pub cow_page: *mut page,
+ pub page: *mut page,
+ pub pte: *mut pte_t,
+ pub ptl: *mut spinlock_t,
+ pub prealloc_pte: pgtable_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct vm_fault__bindgen_ty_1 {
+ pub vma: *mut vm_area_struct,
+ pub gfp_mask: gfp_t,
+ pub pgoff: ::aya_ebpf::cty::c_ulong,
+ pub address: ::aya_ebpf::cty::c_ulong,
+ pub real_address: ::aya_ebpf::cty::c_ulong,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union vm_fault__bindgen_ty_2 {
+ pub orig_pte: pte_t,
+ pub orig_pmd: pmd_t,
+}
+pub mod irq_domain_bus_token {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const DOMAIN_BUS_ANY: Type = 0;
+ pub const DOMAIN_BUS_WIRED: Type = 1;
+ pub const DOMAIN_BUS_GENERIC_MSI: Type = 2;
+ pub const DOMAIN_BUS_PCI_MSI: Type = 3;
+ pub const DOMAIN_BUS_PLATFORM_MSI: Type = 4;
+ pub const DOMAIN_BUS_NEXUS: Type = 5;
+ pub const DOMAIN_BUS_IPI: Type = 6;
+ pub const DOMAIN_BUS_FSL_MC_MSI: Type = 7;
+ pub const DOMAIN_BUS_TI_SCI_INTA_MSI: Type = 8;
+ pub const DOMAIN_BUS_WAKEUP: Type = 9;
+ pub const DOMAIN_BUS_VMD_MSI: Type = 10;
+ pub const DOMAIN_BUS_PCI_DEVICE_MSI: Type = 11;
+ pub const DOMAIN_BUS_PCI_DEVICE_MSIX: Type = 12;
+ pub const DOMAIN_BUS_DMAR: Type = 13;
+ pub const DOMAIN_BUS_AMDVI: Type = 14;
+ pub const DOMAIN_BUS_PCI_DEVICE_IMS: Type = 15;
+ pub const DOMAIN_BUS_DEVICE_MSI: Type = 16;
+ pub const DOMAIN_BUS_WIRED_TO_MSI: Type = 17;
+}
+#[repr(C)]
+pub struct irq_domain {
+ pub link: list_head,
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub ops: *const irq_domain_ops,
+ pub host_data: *mut ::aya_ebpf::cty::c_void,
+ pub flags: ::aya_ebpf::cty::c_uint,
+ pub mapcount: ::aya_ebpf::cty::c_uint,
+ pub mutex: mutex,
+ pub root: *mut irq_domain,
+ pub fwnode: *mut fwnode_handle,
+ pub bus_token: irq_domain_bus_token::Type,
+ pub gc: *mut irq_domain_chip_generic,
+ pub dev: *mut device,
+ pub pm_dev: *mut device,
+ pub parent: *mut irq_domain,
+ pub msi_parent_ops: *const msi_parent_ops,
+ pub hwirq_max: irq_hw_number_t,
+ pub revmap_size: ::aya_ebpf::cty::c_uint,
+ pub revmap_tree: xarray,
+ pub revmap: __IncompleteArrayField<*mut irq_data>,
+}
+pub type percpu_ref_func_t = ::core::option::Option;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct percpu_ref_data {
+ pub count: atomic_long_t,
+ pub release: percpu_ref_func_t,
+ pub confirm_switch: percpu_ref_func_t,
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
+ pub rcu: callback_head,
+ pub ref_: *mut percpu_ref,
+}
+impl percpu_ref_data {
#[inline]
- pub fn mmap2(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u64) }
+ pub fn force_atomic(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
}
#[inline]
- pub fn set_mmap2(&mut self, val: __u64) {
+ pub fn set_force_atomic(&mut self, val: bool_) {
unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(23usize, 1u8, val as u64)
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
- pub fn comm_exec(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(24usize, 1u8) as u64) }
+ pub fn allow_reinit(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
}
#[inline]
- pub fn set_comm_exec(&mut self, val: __u64) {
+ pub fn set_allow_reinit(&mut self, val: bool_) {
unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(24usize, 1u8, val as u64)
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
- pub fn use_clockid(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(25usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_use_clockid(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(25usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn context_switch(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(26usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_context_switch(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(26usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn write_backward(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(27usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_write_backward(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(27usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn namespaces(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(28usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_namespaces(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(28usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn ksymbol(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(29usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_ksymbol(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(29usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn bpf_event(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(30usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_bpf_event(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(30usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn aux_output(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(31usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_aux_output(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(31usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn cgroup(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(32usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_cgroup(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(32usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn text_poke(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(33usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_text_poke(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(33usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn build_id(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(34usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_build_id(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(34usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn inherit_thread(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(35usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_inherit_thread(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(35usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn remove_on_exec(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(36usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_remove_on_exec(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(36usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn sigtrap(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(37usize, 1u8) as u64) }
- }
- #[inline]
- pub fn set_sigtrap(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(37usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn __reserved_1(&self) -> __u64 {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(38usize, 26u8) as u64) }
- }
- #[inline]
- pub fn set___reserved_1(&mut self, val: __u64) {
- unsafe {
- let val: u64 = ::core::mem::transmute(val);
- self._bitfield_1.set(38usize, 26u8, val as u64)
- }
- }
- #[inline]
- pub fn new_bitfield_1(
- disabled: __u64,
- inherit: __u64,
- pinned: __u64,
- exclusive: __u64,
- exclude_user: __u64,
- exclude_kernel: __u64,
- exclude_hv: __u64,
- exclude_idle: __u64,
- mmap: __u64,
- comm: __u64,
- freq: __u64,
- inherit_stat: __u64,
- enable_on_exec: __u64,
- task: __u64,
- watermark: __u64,
- precise_ip: __u64,
- mmap_data: __u64,
- sample_id_all: __u64,
- exclude_host: __u64,
- exclude_guest: __u64,
- exclude_callchain_kernel: __u64,
- exclude_callchain_user: __u64,
- mmap2: __u64,
- comm_exec: __u64,
- use_clockid: __u64,
- context_switch: __u64,
- write_backward: __u64,
- namespaces: __u64,
- ksymbol: __u64,
- bpf_event: __u64,
- aux_output: __u64,
- cgroup: __u64,
- text_poke: __u64,
- build_id: __u64,
- inherit_thread: __u64,
- remove_on_exec: __u64,
- sigtrap: __u64,
- __reserved_1: __u64,
- ) -> __BindgenBitfieldUnit<[u8; 8usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 8usize]> = Default::default();
- __bindgen_bitfield_unit.set(0usize, 1u8, {
- let disabled: u64 = unsafe { ::core::mem::transmute(disabled) };
- disabled as u64
- });
- __bindgen_bitfield_unit.set(1usize, 1u8, {
- let inherit: u64 = unsafe { ::core::mem::transmute(inherit) };
- inherit as u64
- });
- __bindgen_bitfield_unit.set(2usize, 1u8, {
- let pinned: u64 = unsafe { ::core::mem::transmute(pinned) };
- pinned as u64
- });
- __bindgen_bitfield_unit.set(3usize, 1u8, {
- let exclusive: u64 = unsafe { ::core::mem::transmute(exclusive) };
- exclusive as u64
- });
- __bindgen_bitfield_unit.set(4usize, 1u8, {
- let exclude_user: u64 = unsafe { ::core::mem::transmute(exclude_user) };
- exclude_user as u64
- });
- __bindgen_bitfield_unit.set(5usize, 1u8, {
- let exclude_kernel: u64 = unsafe { ::core::mem::transmute(exclude_kernel) };
- exclude_kernel as u64
- });
- __bindgen_bitfield_unit.set(6usize, 1u8, {
- let exclude_hv: u64 = unsafe { ::core::mem::transmute(exclude_hv) };
- exclude_hv as u64
- });
- __bindgen_bitfield_unit.set(7usize, 1u8, {
- let exclude_idle: u64 = unsafe { ::core::mem::transmute(exclude_idle) };
- exclude_idle as u64
- });
- __bindgen_bitfield_unit.set(8usize, 1u8, {
- let mmap: u64 = unsafe { ::core::mem::transmute(mmap) };
- mmap as u64
- });
- __bindgen_bitfield_unit.set(9usize, 1u8, {
- let comm: u64 = unsafe { ::core::mem::transmute(comm) };
- comm as u64
- });
- __bindgen_bitfield_unit.set(10usize, 1u8, {
- let freq: u64 = unsafe { ::core::mem::transmute(freq) };
- freq as u64
- });
- __bindgen_bitfield_unit.set(11usize, 1u8, {
- let inherit_stat: u64 = unsafe { ::core::mem::transmute(inherit_stat) };
- inherit_stat as u64
- });
- __bindgen_bitfield_unit.set(12usize, 1u8, {
- let enable_on_exec: u64 = unsafe { ::core::mem::transmute(enable_on_exec) };
- enable_on_exec as u64
- });
- __bindgen_bitfield_unit.set(13usize, 1u8, {
- let task: u64 = unsafe { ::core::mem::transmute(task) };
- task as u64
- });
- __bindgen_bitfield_unit.set(14usize, 1u8, {
- let watermark: u64 = unsafe { ::core::mem::transmute(watermark) };
- watermark as u64
- });
- __bindgen_bitfield_unit.set(15usize, 2u8, {
- let precise_ip: u64 = unsafe { ::core::mem::transmute(precise_ip) };
- precise_ip as u64
- });
- __bindgen_bitfield_unit.set(17usize, 1u8, {
- let mmap_data: u64 = unsafe { ::core::mem::transmute(mmap_data) };
- mmap_data as u64
- });
- __bindgen_bitfield_unit.set(18usize, 1u8, {
- let sample_id_all: u64 = unsafe { ::core::mem::transmute(sample_id_all) };
- sample_id_all as u64
- });
- __bindgen_bitfield_unit.set(19usize, 1u8, {
- let exclude_host: u64 = unsafe { ::core::mem::transmute(exclude_host) };
- exclude_host as u64
- });
- __bindgen_bitfield_unit.set(20usize, 1u8, {
- let exclude_guest: u64 = unsafe { ::core::mem::transmute(exclude_guest) };
- exclude_guest as u64
- });
- __bindgen_bitfield_unit.set(21usize, 1u8, {
- let exclude_callchain_kernel: u64 =
- unsafe { ::core::mem::transmute(exclude_callchain_kernel) };
- exclude_callchain_kernel as u64
- });
- __bindgen_bitfield_unit.set(22usize, 1u8, {
- let exclude_callchain_user: u64 =
- unsafe { ::core::mem::transmute(exclude_callchain_user) };
- exclude_callchain_user as u64
- });
- __bindgen_bitfield_unit.set(23usize, 1u8, {
- let mmap2: u64 = unsafe { ::core::mem::transmute(mmap2) };
- mmap2 as u64
- });
- __bindgen_bitfield_unit.set(24usize, 1u8, {
- let comm_exec: u64 = unsafe { ::core::mem::transmute(comm_exec) };
- comm_exec as u64
- });
- __bindgen_bitfield_unit.set(25usize, 1u8, {
- let use_clockid: u64 = unsafe { ::core::mem::transmute(use_clockid) };
- use_clockid as u64
- });
- __bindgen_bitfield_unit.set(26usize, 1u8, {
- let context_switch: u64 = unsafe { ::core::mem::transmute(context_switch) };
- context_switch as u64
- });
- __bindgen_bitfield_unit.set(27usize, 1u8, {
- let write_backward: u64 = unsafe { ::core::mem::transmute(write_backward) };
- write_backward as u64
- });
- __bindgen_bitfield_unit.set(28usize, 1u8, {
- let namespaces: u64 = unsafe { ::core::mem::transmute(namespaces) };
- namespaces as u64
- });
- __bindgen_bitfield_unit.set(29usize, 1u8, {
- let ksymbol: u64 = unsafe { ::core::mem::transmute(ksymbol) };
- ksymbol as u64
- });
- __bindgen_bitfield_unit.set(30usize, 1u8, {
- let bpf_event: u64 = unsafe { ::core::mem::transmute(bpf_event) };
- bpf_event as u64
- });
- __bindgen_bitfield_unit.set(31usize, 1u8, {
- let aux_output: u64 = unsafe { ::core::mem::transmute(aux_output) };
- aux_output as u64
- });
- __bindgen_bitfield_unit.set(32usize, 1u8, {
- let cgroup: u64 = unsafe { ::core::mem::transmute(cgroup) };
- cgroup as u64
- });
- __bindgen_bitfield_unit.set(33usize, 1u8, {
- let text_poke: u64 = unsafe { ::core::mem::transmute(text_poke) };
- text_poke as u64
- });
- __bindgen_bitfield_unit.set(34usize, 1u8, {
- let build_id: u64 = unsafe { ::core::mem::transmute(build_id) };
- build_id as u64
- });
- __bindgen_bitfield_unit.set(35usize, 1u8, {
- let inherit_thread: u64 = unsafe { ::core::mem::transmute(inherit_thread) };
- inherit_thread as u64
- });
- __bindgen_bitfield_unit.set(36usize, 1u8, {
- let remove_on_exec: u64 = unsafe { ::core::mem::transmute(remove_on_exec) };
- remove_on_exec as u64
- });
- __bindgen_bitfield_unit.set(37usize, 1u8, {
- let sigtrap: u64 = unsafe { ::core::mem::transmute(sigtrap) };
- sigtrap as u64
- });
- __bindgen_bitfield_unit.set(38usize, 26u8, {
- let __reserved_1: u64 = unsafe { ::core::mem::transmute(__reserved_1) };
- __reserved_1 as u64
- });
- __bindgen_bitfield_unit
+ pub fn new_bitfield_1(
+ force_atomic: bool_,
+ allow_reinit: bool_,
+ ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 1u8, {
+ let force_atomic: u8 = unsafe { ::core::mem::transmute(force_atomic) };
+ force_atomic as u64
+ });
+ __bindgen_bitfield_unit.set(1usize, 1u8, {
+ let allow_reinit: u8 = unsafe { ::core::mem::transmute(allow_reinit) };
+ allow_reinit as u64
+ });
+ __bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct hw_perf_event_extra {
- pub config: u64_,
- pub reg: ::aya_ebpf::cty::c_uint,
- pub alloc: ::aya_ebpf::cty::c_int,
- pub idx: ::aya_ebpf::cty::c_int,
+pub struct plist_head {
+ pub node_list: list_head,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct arch_hw_breakpoint {
- pub address: ::aya_ebpf::cty::c_ulong,
- pub mask: ::aya_ebpf::cty::c_ulong,
- pub len: u8_,
- pub type_: u8_,
+pub struct hrtimer_clock_base {
+ pub cpu_base: *mut hrtimer_cpu_base,
+ pub index: ::aya_ebpf::cty::c_uint,
+ pub clockid: clockid_t,
+ pub seq: seqcount_raw_spinlock_t,
+ pub running: *mut hrtimer,
+ pub active: timerqueue_head,
+ pub get_time: ::core::option::Option ktime_t>,
+ pub offset: ktime_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct rhash_head {
- pub next: *mut rhash_head,
+pub struct rlimit {
+ pub rlim_cur: __kernel_ulong_t,
+ pub rlim_max: __kernel_ulong_t,
}
+pub type __signalfn_t = ::core::option::Option;
+pub type __sighandler_t = __signalfn_t;
+pub type __restorefn_t = ::core::option::Option;
+pub type __sigrestore_t = __restorefn_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct rhlist_head {
- pub rhead: rhash_head,
- pub next: *mut rhlist_head,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct hw_perf_event {
- pub __bindgen_anon_1: hw_perf_event__bindgen_ty_1,
- pub target: *mut task_struct,
- pub addr_filters: *mut ::aya_ebpf::cty::c_void,
- pub addr_filters_gen: ::aya_ebpf::cty::c_ulong,
- pub state: ::aya_ebpf::cty::c_int,
- pub prev_count: local64_t,
- pub sample_period: u64_,
- pub __bindgen_anon_2: hw_perf_event__bindgen_ty_2,
- pub interrupts_seq: u64_,
- pub interrupts: u64_,
- pub freq_time_stamp: u64_,
- pub freq_count_stamp: u64_,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union hw_perf_event__bindgen_ty_1 {
- pub __bindgen_anon_1: hw_perf_event__bindgen_ty_1__bindgen_ty_1,
- pub __bindgen_anon_2: hw_perf_event__bindgen_ty_1__bindgen_ty_2,
- pub __bindgen_anon_3: hw_perf_event__bindgen_ty_1__bindgen_ty_3,
- pub __bindgen_anon_4: hw_perf_event__bindgen_ty_1__bindgen_ty_4,
- pub __bindgen_anon_5: hw_perf_event__bindgen_ty_1__bindgen_ty_5,
- pub __bindgen_anon_6: hw_perf_event__bindgen_ty_1__bindgen_ty_6,
+pub struct sigaction {
+ pub sa_handler: __sighandler_t,
+ pub sa_flags: ::aya_ebpf::cty::c_ulong,
+ pub sa_restorer: __sigrestore_t,
+ pub sa_mask: sigset_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_1 {
- pub config: u64_,
- pub last_tag: u64_,
- pub config_base: ::aya_ebpf::cty::c_ulong,
- pub event_base: ::aya_ebpf::cty::c_ulong,
- pub event_base_rdpmc: ::aya_ebpf::cty::c_int,
- pub idx: ::aya_ebpf::cty::c_int,
- pub last_cpu: ::aya_ebpf::cty::c_int,
- pub flags: ::aya_ebpf::cty::c_int,
- pub extra_reg: hw_perf_event_extra,
- pub branch_reg: hw_perf_event_extra,
+pub struct k_sigaction {
+ pub sa: sigaction,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_2 {
- pub hrtimer: hrtimer,
+pub struct upid {
+ pub nr: ::aya_ebpf::cty::c_int,
+ pub ns: *mut pid_namespace,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_3 {
- pub tp_list: list_head,
+pub struct pid {
+ pub count: refcount_t,
+ pub level: ::aya_ebpf::cty::c_uint,
+ pub lock: spinlock_t,
+ pub stashed: *mut dentry,
+ pub ino: u64_,
+ pub tasks: [hlist_head; 4usize],
+ pub inodes: hlist_head,
+ pub wait_pidfd: wait_queue_head_t,
+ pub rcu: callback_head,
+ pub numbers: __IncompleteArrayField,
}
+pub type key_serial_t = i32;
+pub type key_perm_t = u32;
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_4 {
- pub pwr_acc: u64_,
- pub ptsc: u64_,
+#[derive(Copy, Clone)]
+pub struct keyring_index_key {
+ pub hash: ::aya_ebpf::cty::c_ulong,
+ pub __bindgen_anon_1: keyring_index_key__bindgen_ty_1,
+ pub type_: *mut key_type,
+ pub domain_tag: *mut key_tag,
+ pub description: *const ::aya_ebpf::cty::c_char,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_5 {
- pub info: arch_hw_breakpoint,
- pub bp_list: rhlist_head,
+#[derive(Copy, Clone)]
+pub union keyring_index_key__bindgen_ty_1 {
+ pub __bindgen_anon_1: keyring_index_key__bindgen_ty_1__bindgen_ty_1,
+ pub x: ::aya_ebpf::cty::c_ulong,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct hw_perf_event__bindgen_ty_1__bindgen_ty_6 {
- pub iommu_bank: u8_,
- pub iommu_cntr: u8_,
- pub padding: u16_,
- pub conf: u64_,
- pub conf1: u64_,
+pub struct keyring_index_key__bindgen_ty_1__bindgen_ty_1 {
+ pub desc_len: u16_,
+ pub desc: [::aya_ebpf::cty::c_char; 6usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union hw_perf_event__bindgen_ty_2 {
- pub __bindgen_anon_1: hw_perf_event__bindgen_ty_2__bindgen_ty_1,
- pub __bindgen_anon_2: hw_perf_event__bindgen_ty_2__bindgen_ty_2,
+pub union key_payload {
+ pub rcu_data0: *mut ::aya_ebpf::cty::c_void,
+ pub data: [*mut ::aya_ebpf::cty::c_void; 4usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct hw_perf_event__bindgen_ty_2__bindgen_ty_1 {
- pub last_period: u64_,
- pub period_left: local64_t,
+pub struct assoc_array_ptr {
+ _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct hw_perf_event__bindgen_ty_2__bindgen_ty_2 {
- pub saved_metric: u64_,
- pub saved_slots: u64_,
+pub struct assoc_array {
+ pub root: *mut assoc_array_ptr,
+ pub nr_leaves_on_tree: ::aya_ebpf::cty::c_ulong,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct wait_queue_head {
- pub lock: spinlock_t,
- pub head: list_head,
+pub struct key {
+ pub usage: refcount_t,
+ pub serial: key_serial_t,
+ pub __bindgen_anon_1: key__bindgen_ty_1,
+ pub watchers: *mut watch_list,
+ pub sem: rw_semaphore,
+ pub user: *mut key_user,
+ pub security: *mut ::aya_ebpf::cty::c_void,
+ pub __bindgen_anon_2: key__bindgen_ty_2,
+ pub last_used_at: time64_t,
+ pub uid: kuid_t,
+ pub gid: kgid_t,
+ pub perm: key_perm_t,
+ pub quotalen: ::aya_ebpf::cty::c_ushort,
+ pub datalen: ::aya_ebpf::cty::c_ushort,
+ pub state: ::aya_ebpf::cty::c_short,
+ pub flags: ::aya_ebpf::cty::c_ulong,
+ pub __bindgen_anon_3: key__bindgen_ty_3,
+ pub __bindgen_anon_4: key__bindgen_ty_4,
+ pub restrict_link: *mut key_restriction,
}
-pub type wait_queue_head_t = wait_queue_head;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct rcuwait {
- pub task: *mut task_struct,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct irq_work {
- pub node: __call_single_node,
- pub func: ::core::option::Option,
- pub irqwait: rcuwait,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct perf_addr_filters_head {
- pub list: list_head,
- pub lock: raw_spinlock_t,
- pub nr_file_filters: ::aya_ebpf::cty::c_uint,
-}
-pub type perf_overflow_handler_t = ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut perf_event, arg2: *mut perf_sample_data, arg3: *mut pt_regs),
->;
-pub type ftrace_func_t = ::core::option::Option<
- unsafe extern "C" fn(
- arg1: ::aya_ebpf::cty::c_ulong,
- arg2: ::aya_ebpf::cty::c_ulong,
- arg3: *mut ftrace_ops,
- arg4: *mut ftrace_regs,
- ),
->;
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct ftrace_ops_hash {
- pub notrace_hash: *mut ftrace_hash,
- pub filter_hash: *mut ftrace_hash,
- pub regex_lock: mutex,
-}
-pub mod ftrace_ops_cmd {
- pub type Type = ::aya_ebpf::cty::c_uint;
- pub const FTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_SELF: Type = 0;
- pub const FTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_PEER: Type = 1;
- pub const FTRACE_OPS_CMD_DISABLE_SHARE_IPMODIFY_PEER: Type = 2;
+pub union key__bindgen_ty_1 {
+ pub graveyard_link: list_head,
+ pub serial_node: rb_node,
}
-pub type ftrace_ops_func_t = ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ftrace_ops,
- arg2: ftrace_ops_cmd::Type,
- ) -> ::aya_ebpf::cty::c_int,
->;
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct ftrace_ops {
- pub func: ftrace_func_t,
- pub next: *mut ftrace_ops,
- pub flags: ::aya_ebpf::cty::c_ulong,
- pub private: *mut ::aya_ebpf::cty::c_void,
- pub saved_func: ftrace_func_t,
- pub local_hash: ftrace_ops_hash,
- pub func_hash: *mut ftrace_ops_hash,
- pub old_hash: ftrace_ops_hash,
- pub trampoline: ::aya_ebpf::cty::c_ulong,
- pub trampoline_size: ::aya_ebpf::cty::c_ulong,
- pub list: list_head,
- pub ops_func: ftrace_ops_func_t,
- pub direct_call: ::aya_ebpf::cty::c_ulong,
+pub union key__bindgen_ty_2 {
+ pub expiry: time64_t,
+ pub revoked_at: time64_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct perf_event {
- pub event_entry: list_head,
- pub sibling_list: list_head,
- pub active_list: list_head,
- pub group_node: rb_node,
- pub group_index: u64_,
- pub migrate_entry: list_head,
- pub hlist_entry: hlist_node,
- pub active_entry: list_head,
- pub nr_siblings: ::aya_ebpf::cty::c_int,
- pub event_caps: ::aya_ebpf::cty::c_int,
- pub group_caps: ::aya_ebpf::cty::c_int,
- pub group_generation: ::aya_ebpf::cty::c_uint,
- pub group_leader: *mut perf_event,
- pub pmu: *mut pmu,
- pub pmu_private: *mut ::aya_ebpf::cty::c_void,
- pub state: perf_event_state::Type,
- pub attach_state: ::aya_ebpf::cty::c_uint,
- pub count: local64_t,
- pub child_count: atomic64_t,
- pub total_time_enabled: u64_,
- pub total_time_running: u64_,
- pub tstamp: u64_,
- pub attr: perf_event_attr,
- pub header_size: u16_,
- pub id_header_size: u16_,
- pub read_size: u16_,
- pub hw: hw_perf_event,
- pub ctx: *mut perf_event_context,
- pub pmu_ctx: *mut perf_event_pmu_context,
- pub refcount: atomic_long_t,
- pub child_total_time_enabled: atomic64_t,
- pub child_total_time_running: atomic64_t,
- pub child_mutex: mutex,
- pub child_list: list_head,
- pub parent: *mut perf_event,
- pub oncpu: ::aya_ebpf::cty::c_int,
- pub cpu: ::aya_ebpf::cty::c_int,
- pub owner_entry: list_head,
- pub owner: *mut task_struct,
- pub mmap_mutex: mutex,
- pub mmap_count: atomic_t,
- pub rb: *mut perf_buffer,
- pub rb_entry: list_head,
- pub rcu_batches: ::aya_ebpf::cty::c_ulong,
- pub rcu_pending: ::aya_ebpf::cty::c_int,
- pub waitq: wait_queue_head_t,
- pub fasync: *mut fasync_struct,
- pub pending_wakeup: ::aya_ebpf::cty::c_uint,
- pub pending_kill: ::aya_ebpf::cty::c_uint,
- pub pending_disable: ::aya_ebpf::cty::c_uint,
- pub pending_sigtrap: ::aya_ebpf::cty::c_uint,
- pub pending_addr: ::aya_ebpf::cty::c_ulong,
- pub pending_irq: irq_work,
- pub pending_task: callback_head,
- pub pending_work: ::aya_ebpf::cty::c_uint,
- pub event_limit: atomic_t,
- pub addr_filters: perf_addr_filters_head,
- pub addr_filter_ranges: *mut perf_addr_filter_range,
- pub addr_filters_gen: ::aya_ebpf::cty::c_ulong,
- pub aux_event: *mut perf_event,
- pub destroy: ::core::option::Option,
- pub callback_head: callback_head,
- pub ns: *mut pid_namespace,
- pub id: u64_,
- pub lost_samples: atomic64_t,
- pub clock: ::core::option::Option u64_>,
- pub overflow_handler: perf_overflow_handler_t,
- pub overflow_handler_context: *mut ::aya_ebpf::cty::c_void,
- pub orig_overflow_handler: perf_overflow_handler_t,
- pub prog: *mut bpf_prog,
- pub bpf_cookie: u64_,
- pub tp_event: *mut trace_event_call,
- pub filter: *mut event_filter,
- pub ftrace_ops: ftrace_ops,
- pub cgrp: *mut perf_cgroup,
- pub security: *mut ::aya_ebpf::cty::c_void,
- pub sb_list: list_head,
- pub orig_type: __u32,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __kernel_timespec {
- pub tv_sec: __kernel_time64_t,
- pub tv_nsec: ::aya_ebpf::cty::c_longlong,
-}
-pub type old_time32_t = s32;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct old_timespec32 {
- pub tv_sec: old_time32_t,
- pub tv_nsec: s32,
+pub union key__bindgen_ty_3 {
+ pub index_key: keyring_index_key,
+ pub __bindgen_anon_1: key__bindgen_ty_3__bindgen_ty_1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct pollfd {
- pub fd: ::aya_ebpf::cty::c_int,
- pub events: ::aya_ebpf::cty::c_short,
- pub revents: ::aya_ebpf::cty::c_short,
-}
-pub mod pid_type {
- pub type Type = ::aya_ebpf::cty::c_uint;
- pub const PIDTYPE_PID: Type = 0;
- pub const PIDTYPE_TGID: Type = 1;
- pub const PIDTYPE_PGID: Type = 2;
- pub const PIDTYPE_SID: Type = 3;
- pub const PIDTYPE_MAX: Type = 4;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct xarray {
- pub xa_lock: spinlock_t,
- pub xa_flags: gfp_t,
- pub xa_head: *mut ::aya_ebpf::cty::c_void,
+pub struct key__bindgen_ty_3__bindgen_ty_1 {
+ pub hash: ::aya_ebpf::cty::c_ulong,
+ pub len_desc: ::aya_ebpf::cty::c_ulong,
+ pub type_: *mut key_type,
+ pub domain_tag: *mut key_tag,
+ pub description: *mut ::aya_ebpf::cty::c_char,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct idr {
- pub idr_rt: xarray,
- pub idr_base: ::aya_ebpf::cty::c_uint,
- pub idr_next: ::aya_ebpf::cty::c_uint,
+pub union key__bindgen_ty_4 {
+ pub payload: key_payload,
+ pub __bindgen_anon_1: key__bindgen_ty_4__bindgen_ty_1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct ns_common {
- pub stashed: atomic_long_t,
- pub ops: *const proc_ns_operations,
- pub inum: ::aya_ebpf::cty::c_uint,
- pub count: refcount_t,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct pid_namespace {
- pub idr: idr,
- pub rcu: callback_head,
- pub pid_allocated: ::aya_ebpf::cty::c_uint,
- pub child_reaper: *mut task_struct,
- pub pid_cachep: *mut kmem_cache,
- pub level: ::aya_ebpf::cty::c_uint,
- pub parent: *mut pid_namespace,
- pub bacct: *mut fs_pin,
- pub user_ns: *mut user_namespace,
- pub ucounts: *mut ucounts,
- pub reboot: ::aya_ebpf::cty::c_int,
- pub ns: ns_common,
- pub memfd_noexec_scope: ::aya_ebpf::cty::c_int,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct rwlock_t {
- pub raw_lock: arch_rwlock_t,
+pub struct key__bindgen_ty_4__bindgen_ty_1 {
+ pub name_link: list_head,
+ pub keys: assoc_array,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct seqcount_raw_spinlock {
- pub seqcount: seqcount_t,
+pub struct cpu_itimer {
+ pub expires: u64_,
+ pub incr: u64_,
}
-pub type seqcount_raw_spinlock_t = seqcount_raw_spinlock;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct hrtimer_clock_base {
- pub cpu_base: *mut hrtimer_cpu_base,
- pub index: ::aya_ebpf::cty::c_uint,
- pub clockid: clockid_t,
- pub seq: seqcount_raw_spinlock_t,
- pub running: *mut hrtimer,
- pub active: timerqueue_head,
- pub get_time: ::core::option::Option ktime_t>,
- pub offset: ktime_t,
+pub struct task_cputime_atomic {
+ pub utime: atomic64_t,
+ pub stime: atomic64_t,
+ pub sum_exec_runtime: atomic64_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct rlimit {
- pub rlim_cur: __kernel_ulong_t,
- pub rlim_max: __kernel_ulong_t,
+pub struct thread_group_cputimer {
+ pub cputime_atomic: task_cputime_atomic,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct task_cputime {
- pub stime: u64_,
- pub utime: u64_,
- pub sum_exec_runtime: ::aya_ebpf::cty::c_ulonglong,
-}
-pub type __signalfn_t = ::core::option::Option;
-pub type __sighandler_t = __signalfn_t;
-pub type __restorefn_t = ::core::option::Option;
-pub type __sigrestore_t = __restorefn_t;
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union sigval {
- pub sival_int: ::aya_ebpf::cty::c_int,
- pub sival_ptr: *mut ::aya_ebpf::cty::c_void,
+pub struct pacct_struct {
+ pub ac_flag: ::aya_ebpf::cty::c_int,
+ pub ac_exitcode: ::aya_ebpf::cty::c_long,
+ pub ac_mem: ::aya_ebpf::cty::c_ulong,
+ pub ac_utime: u64_,
+ pub ac_stime: u64_,
+ pub ac_minflt: ::aya_ebpf::cty::c_ulong,
+ pub ac_majflt: ::aya_ebpf::cty::c_ulong,
}
-pub type sigval_t = sigval;
#[repr(C)]
#[derive(Copy, Clone)]
-pub union __sifields {
- pub _kill: __sifields__bindgen_ty_1,
- pub _timer: __sifields__bindgen_ty_2,
- pub _rt: __sifields__bindgen_ty_3,
- pub _sigchld: __sifields__bindgen_ty_4,
- pub _sigfault: __sifields__bindgen_ty_5,
- pub _sigpoll: __sifields__bindgen_ty_6,
- pub _sigsys: __sifields__bindgen_ty_7,
+pub struct signal_struct {
+ pub sigcnt: refcount_t,
+ pub live: atomic_t,
+ pub nr_threads: ::aya_ebpf::cty::c_int,
+ pub quick_threads: ::aya_ebpf::cty::c_int,
+ pub thread_head: list_head,
+ pub wait_chldexit: wait_queue_head_t,
+ pub curr_target: *mut task_struct,
+ pub shared_pending: sigpending,
+ pub multiprocess: hlist_head,
+ pub group_exit_code: ::aya_ebpf::cty::c_int,
+ pub notify_count: ::aya_ebpf::cty::c_int,
+ pub group_exec_task: *mut task_struct,
+ pub group_stop_count: ::aya_ebpf::cty::c_int,
+ pub flags: ::aya_ebpf::cty::c_uint,
+ pub core_state: *mut core_state,
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
+ pub next_posix_timer_id: ::aya_ebpf::cty::c_uint,
+ pub posix_timers: list_head,
+ pub real_timer: hrtimer,
+ pub it_real_incr: ktime_t,
+ pub it: [cpu_itimer; 2usize],
+ pub cputimer: thread_group_cputimer,
+ pub posix_cputimers: posix_cputimers,
+ pub pids: [*mut pid; 4usize],
+ pub tick_dep_mask: atomic_t,
+ pub tty_old_pgrp: *mut pid,
+ pub leader: ::aya_ebpf::cty::c_int,
+ pub tty: *mut tty_struct,
+ pub autogroup: *mut autogroup,
+ pub stats_lock: seqlock_t,
+ pub utime: u64_,
+ pub stime: u64_,
+ pub cutime: u64_,
+ pub cstime: u64_,
+ pub gtime: u64_,
+ pub cgtime: u64_,
+ pub prev_cputime: prev_cputime,
+ pub nvcsw: ::aya_ebpf::cty::c_ulong,
+ pub nivcsw: ::aya_ebpf::cty::c_ulong,
+ pub cnvcsw: ::aya_ebpf::cty::c_ulong,
+ pub cnivcsw: ::aya_ebpf::cty::c_ulong,
+ pub min_flt: ::aya_ebpf::cty::c_ulong,
+ pub maj_flt: ::aya_ebpf::cty::c_ulong,
+ pub cmin_flt: ::aya_ebpf::cty::c_ulong,
+ pub cmaj_flt: ::aya_ebpf::cty::c_ulong,
+ pub inblock: ::aya_ebpf::cty::c_ulong,
+ pub oublock: ::aya_ebpf::cty::c_ulong,
+ pub cinblock: ::aya_ebpf::cty::c_ulong,
+ pub coublock: ::aya_ebpf::cty::c_ulong,
+ pub maxrss: ::aya_ebpf::cty::c_ulong,
+ pub cmaxrss: ::aya_ebpf::cty::c_ulong,
+ pub ioac: task_io_accounting,
+ pub sum_sched_runtime: ::aya_ebpf::cty::c_ulonglong,
+ pub rlim: [rlimit; 16usize],
+ pub pacct: pacct_struct,
+ pub stats: *mut taskstats,
+ pub audit_tty: ::aya_ebpf::cty::c_uint,
+ pub tty_audit_buf: *mut tty_audit_buf,
+ pub oom_flag_origin: bool_,
+ pub oom_score_adj: ::aya_ebpf::cty::c_short,
+ pub oom_score_adj_min: ::aya_ebpf::cty::c_short,
+ pub oom_mm: *mut mm_struct,
+ pub cred_guard_mutex: mutex,
+ pub exec_update_lock: rw_semaphore,
}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __sifields__bindgen_ty_1 {
- pub _pid: __kernel_pid_t,
- pub _uid: __kernel_uid32_t,
+impl signal_struct {
+ #[inline]
+ pub fn is_child_subreaper(&self) -> ::aya_ebpf::cty::c_uint {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
+ }
+ #[inline]
+ pub fn set_is_child_subreaper(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ unsafe {
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn has_child_subreaper(&self) -> ::aya_ebpf::cty::c_uint {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
+ }
+ #[inline]
+ pub fn set_has_child_subreaper(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ unsafe {
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(1usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_1(
+ is_child_subreaper: ::aya_ebpf::cty::c_uint,
+ has_child_subreaper: ::aya_ebpf::cty::c_uint,
+ ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 1u8, {
+ let is_child_subreaper: u32 = unsafe { ::core::mem::transmute(is_child_subreaper) };
+ is_child_subreaper as u64
+ });
+ __bindgen_bitfield_unit.set(1usize, 1u8, {
+ let has_child_subreaper: u32 = unsafe { ::core::mem::transmute(has_child_subreaper) };
+ has_child_subreaper as u64
+ });
+ __bindgen_bitfield_unit
+ }
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct __sifields__bindgen_ty_2 {
- pub _tid: __kernel_timer_t,
- pub _overrun: ::aya_ebpf::cty::c_int,
- pub _sigval: sigval_t,
- pub _sys_private: ::aya_ebpf::cty::c_int,
+pub struct sighand_struct {
+ pub siglock: spinlock_t,
+ pub count: refcount_t,
+ pub signalfd_wqh: wait_queue_head_t,
+ pub action: [k_sigaction; 64usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct __sifields__bindgen_ty_3 {
- pub _pid: __kernel_pid_t,
- pub _uid: __kernel_uid32_t,
- pub _sigval: sigval_t,
+pub struct io_context {
+ pub refcount: atomic_long_t,
+ pub active_ref: atomic_t,
+ pub ioprio: ::aya_ebpf::cty::c_ushort,
+ pub lock: spinlock_t,
+ pub icq_tree: xarray,
+ pub icq_hint: *mut io_cq,
+ pub icq_list: hlist_head,
+ pub release_work: work_struct,
}
+pub type compat_uptr_t = u32_;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct __sifields__bindgen_ty_4 {
- pub _pid: __kernel_pid_t,
- pub _uid: __kernel_uid32_t,
- pub _status: ::aya_ebpf::cty::c_int,
- pub _utime: __kernel_clock_t,
- pub _stime: __kernel_clock_t,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct __sifields__bindgen_ty_5 {
- pub _addr: *mut ::aya_ebpf::cty::c_void,
- pub __bindgen_anon_1: __sifields__bindgen_ty_5__bindgen_ty_1,
+pub struct compat_robust_list {
+ pub next: compat_uptr_t,
}
+pub type compat_long_t = s32;
#[repr(C)]
-#[derive(Copy, Clone)]
-pub union __sifields__bindgen_ty_5__bindgen_ty_1 {
- pub _trapno: ::aya_ebpf::cty::c_int,
- pub _addr_lsb: ::aya_ebpf::cty::c_short,
- pub _addr_bnd: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1,
- pub _addr_pkey: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2,
- pub _perf: __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3,
+#[derive(Debug, Copy, Clone)]
+pub struct compat_robust_list_head {
+ pub list: compat_robust_list,
+ pub futex_offset: compat_long_t,
+ pub list_op_pending: compat_uptr_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 {
- pub _dummy_bnd: [::aya_ebpf::cty::c_char; 8usize],
- pub _lower: *mut ::aya_ebpf::cty::c_void,
- pub _upper: *mut ::aya_ebpf::cty::c_void,
+pub struct vm_struct {
+ pub next: *mut vm_struct,
+ pub addr: *mut ::aya_ebpf::cty::c_void,
+ pub size: ::aya_ebpf::cty::c_ulong,
+ pub flags: ::aya_ebpf::cty::c_ulong,
+ pub pages: *mut *mut page,
+ pub page_order: ::aya_ebpf::cty::c_uint,
+ pub nr_pages: ::aya_ebpf::cty::c_uint,
+ pub phys_addr: phys_addr_t,
+ pub caller: *const ::aya_ebpf::cty::c_void,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2 {
- pub _dummy_pkey: [::aya_ebpf::cty::c_char; 8usize],
- pub _pkey: __u32,
+#[derive(Copy, Clone)]
+pub struct list_lru {
+ pub node: *mut list_lru_node,
+ pub list: list_head,
+ pub shrinker_id: ::aya_ebpf::cty::c_int,
+ pub memcg_aware: bool_,
+ pub xa: xarray,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3 {
- pub _data: ::aya_ebpf::cty::c_ulong,
- pub _type: __u32,
- pub _flags: __u32,
+pub struct kernfs_elem_dir {
+ pub subdirs: ::aya_ebpf::cty::c_ulong,
+ pub children: rb_root,
+ pub root: *mut kernfs_root,
+ pub rev: ::aya_ebpf::cty::c_ulong,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct __sifields__bindgen_ty_6 {
- pub _band: ::aya_ebpf::cty::c_long,
- pub _fd: ::aya_ebpf::cty::c_int,
+pub struct kernfs_elem_symlink {
+ pub target_kn: *mut kernfs_node,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct __sifields__bindgen_ty_7 {
- pub _call_addr: *mut ::aya_ebpf::cty::c_void,
- pub _syscall: ::aya_ebpf::cty::c_int,
- pub _arch: ::aya_ebpf::cty::c_uint,
+pub struct kernfs_elem_attr {
+ pub ops: *const kernfs_ops,
+ pub open: *mut kernfs_open_node,
+ pub size: loff_t,
+ pub notify_next: *mut kernfs_node,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct kernel_siginfo {
- pub __bindgen_anon_1: kernel_siginfo__bindgen_ty_1,
+pub struct kernfs_node {
+ pub count: atomic_t,
+ pub active: atomic_t,
+ pub parent: *mut kernfs_node,
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub rb: rb_node,
+ pub ns: *const ::aya_ebpf::cty::c_void,
+ pub hash: ::aya_ebpf::cty::c_uint,
+ pub flags: ::aya_ebpf::cty::c_ushort,
+ pub mode: umode_t,
+ pub __bindgen_anon_1: kernfs_node__bindgen_ty_1,
+ pub id: u64_,
+ pub priv_: *mut ::aya_ebpf::cty::c_void,
+ pub iattr: *mut kernfs_iattrs,
+ pub rcu: callback_head,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct kernel_siginfo__bindgen_ty_1 {
- pub si_signo: ::aya_ebpf::cty::c_int,
- pub si_errno: ::aya_ebpf::cty::c_int,
- pub si_code: ::aya_ebpf::cty::c_int,
- pub _sifields: __sifields,
+pub union kernfs_node__bindgen_ty_1 {
+ pub dir: kernfs_elem_dir,
+ pub symlink: kernfs_elem_symlink,
+ pub attr: kernfs_elem_attr,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct ucounts {
- pub node: hlist_node,
- pub ns: *mut user_namespace,
- pub uid: kuid_t,
- pub count: atomic_t,
- pub ucount: [atomic_long_t; 12usize],
- pub rlimit: [atomic_long_t; 4usize],
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sigaction {
- pub sa_handler: __sighandler_t,
- pub sa_flags: ::aya_ebpf::cty::c_ulong,
- pub sa_restorer: __sigrestore_t,
- pub sa_mask: sigset_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct k_sigaction {
- pub sa: sigaction,
-}
-#[repr(C)]
-#[derive(Debug)]
-pub struct rseq {
- pub cpu_id_start: __u32,
- pub cpu_id: __u32,
- pub rseq_cs: __u64,
- pub flags: __u32,
- pub node_id: __u32,
- pub mm_cid: __u32,
- pub end: __IncompleteArrayField<::aya_ebpf::cty::c_char>,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct seqlock_t {
- pub seqcount: seqcount_spinlock_t,
- pub lock: spinlock_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct kgid_t {
- pub val: gid_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct sched_class {
- pub uclamp_enabled: ::aya_ebpf::cty::c_int,
- pub enqueue_task: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::aya_ebpf::cty::c_int),
- >,
- pub dequeue_task: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::aya_ebpf::cty::c_int),
- >,
- pub yield_task: ::core::option::Option,
- pub yield_to_task: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct) -> bool_,
- >,
- pub wakeup_preempt: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::aya_ebpf::cty::c_int),
- >,
- pub pick_next_task:
- ::core::option::Option *mut task_struct>,
- pub put_prev_task:
- ::core::option::Option,
- pub set_next_task: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: bool_),
+pub struct kernfs_ops {
+ pub open: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut kernfs_open_file) -> ::aya_ebpf::cty::c_int,
>,
- pub balance: ::core::option::Option<
+ pub release: ::core::option::Option,
+ pub seq_show: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *mut rq,
- arg2: *mut task_struct,
- arg3: *mut rq_flags,
+ arg1: *mut seq_file,
+ arg2: *mut ::aya_ebpf::cty::c_void,
) -> ::aya_ebpf::cty::c_int,
>,
- pub select_task_rq: ::core::option::Option<
+ pub seq_start: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *mut task_struct,
- arg2: ::aya_ebpf::cty::c_int,
- arg3: ::aya_ebpf::cty::c_int,
- ) -> ::aya_ebpf::cty::c_int,
- >,
- pub pick_task: ::core::option::Option *mut task_struct>,
- pub migrate_task_rq: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut task_struct, arg2: ::aya_ebpf::cty::c_int),
+ arg1: *mut seq_file,
+ arg2: *mut loff_t,
+ ) -> *mut ::aya_ebpf::cty::c_void,
>,
- pub task_woken:
- ::core::option::Option,
- pub set_cpus_allowed: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut task_struct, arg2: *mut affinity_context),
+ pub seq_next: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut seq_file,
+ arg2: *mut ::aya_ebpf::cty::c_void,
+ arg3: *mut loff_t,
+ ) -> *mut ::aya_ebpf::cty::c_void,
>,
- pub rq_online: ::core::option::Option,
- pub rq_offline: ::core::option::Option,
- pub find_lock_rq: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut task_struct, arg2: *mut rq) -> *mut rq,
+ pub seq_stop: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut ::aya_ebpf::cty::c_void),
>,
- pub task_tick: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::aya_ebpf::cty::c_int),
+ pub read: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut kernfs_open_file,
+ arg2: *mut ::aya_ebpf::cty::c_char,
+ arg3: usize,
+ arg4: loff_t,
+ ) -> isize,
>,
- pub task_fork: ::core::option::Option,
- pub task_dead: ::core::option::Option,
- pub switched_from:
- ::core::option::Option,
- pub switched_to:
- ::core::option::Option,
- pub prio_changed: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct, arg3: ::aya_ebpf::cty::c_int),
+ pub atomic_write_len: usize,
+ pub prealloc: bool_,
+ pub write: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut kernfs_open_file,
+ arg2: *mut ::aya_ebpf::cty::c_char,
+ arg3: usize,
+ arg4: loff_t,
+ ) -> isize,
>,
- pub get_rr_interval: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut rq, arg2: *mut task_struct) -> ::aya_ebpf::cty::c_uint,
+ pub poll: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut kernfs_open_file, arg2: *mut poll_table_struct) -> __poll_t,
>,
- pub update_curr: ::core::option::Option,
- pub task_change_group: ::core::option::Option,
- pub task_is_throttled: ::core::option::Option<
+ pub mmap: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *mut task_struct,
- arg2: ::aya_ebpf::cty::c_int,
+ arg1: *mut kernfs_open_file,
+ arg2: *mut vm_area_struct,
) -> ::aya_ebpf::cty::c_int,
>,
+ pub llseek: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut kernfs_open_file,
+ arg2: loff_t,
+ arg3: ::aya_ebpf::cty::c_int,
+ ) -> loff_t,
+ >,
}
-pub type errseq_t = u32_;
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct address_space {
- pub host: *mut inode,
- pub i_pages: xarray,
- pub invalidate_lock: rw_semaphore,
- pub gfp_mask: gfp_t,
- pub i_mmap_writable: atomic_t,
- pub nr_thps: atomic_t,
- pub i_mmap: rb_root_cached,
- pub nrpages: ::aya_ebpf::cty::c_ulong,
- pub writeback_index: ::aya_ebpf::cty::c_ulong,
- pub a_ops: *const address_space_operations,
- pub flags: ::aya_ebpf::cty::c_ulong,
- pub i_mmap_rwsem: rw_semaphore,
- pub wb_err: errseq_t,
- pub i_private_lock: spinlock_t,
- pub i_private_list: list_head,
- pub i_private_data: *mut ::aya_ebpf::cty::c_void,
+pub struct seq_file {
+ pub buf: *mut ::aya_ebpf::cty::c_char,
+ pub size: usize,
+ pub from: usize,
+ pub count: usize,
+ pub pad_until: usize,
+ pub index: loff_t,
+ pub read_pos: loff_t,
+ pub lock: mutex,
+ pub op: *const seq_operations,
+ pub poll_event: ::aya_ebpf::cty::c_int,
+ pub file: *const file,
+ pub private: *mut ::aya_ebpf::cty::c_void,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct upid {
- pub nr: ::aya_ebpf::cty::c_int,
- pub ns: *mut pid_namespace,
+#[derive(Copy, Clone)]
+pub struct kernfs_open_file {
+ pub kn: *mut kernfs_node,
+ pub file: *mut file,
+ pub seq_file: *mut seq_file,
+ pub priv_: *mut ::aya_ebpf::cty::c_void,
+ pub mutex: mutex,
+ pub prealloc_mutex: mutex,
+ pub event: ::aya_ebpf::cty::c_int,
+ pub list: list_head,
+ pub prealloc_buf: *mut ::aya_ebpf::cty::c_char,
+ pub atomic_write_len: usize,
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
+ pub vm_ops: *const vm_operations_struct,
}
-#[repr(C)]
-pub struct pid {
- pub count: refcount_t,
- pub level: ::aya_ebpf::cty::c_uint,
- pub lock: spinlock_t,
- pub tasks: [hlist_head; 4usize],
- pub inodes: hlist_head,
- pub wait_pidfd: wait_queue_head_t,
- pub rcu: callback_head,
- pub numbers: __IncompleteArrayField,
+impl kernfs_open_file {
+ #[inline]
+ pub fn mmapped(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_mmapped(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn released(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_released(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(1usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_1(mmapped: bool_, released: bool_) -> __BindgenBitfieldUnit<[u8; 1usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 1u8, {
+ let mmapped: u8 = unsafe { ::core::mem::transmute(mmapped) };
+ mmapped as u64
+ });
+ __bindgen_bitfield_unit.set(1usize, 1u8, {
+ let released: u8 = unsafe { ::core::mem::transmute(released) };
+ released as u64
+ });
+ __bindgen_bitfield_unit
+ }
}
+pub type poll_queue_proc = ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut file,
+ arg2: *mut wait_queue_head_t,
+ arg3: *mut poll_table_struct,
+ ),
+>;
#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct swait_queue_head {
- pub lock: raw_spinlock_t,
- pub task_list: list_head,
+#[derive(Debug, Copy, Clone)]
+pub struct poll_table_struct {
+ pub _qproc: poll_queue_proc,
+ pub _key: __poll_t,
}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct completion {
- pub done: ::aya_ebpf::cty::c_uint,
- pub wait: swait_queue_head,
+pub mod kobj_ns_type {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const KOBJ_NS_TYPE_NONE: Type = 0;
+ pub const KOBJ_NS_TYPE_NET: Type = 1;
+ pub const KOBJ_NS_TYPES: Type = 2;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct kernel_cap_t {
- pub val: u64_,
+pub struct kobj_ns_type_operations {
+ pub type_: kobj_ns_type::Type,
+ pub current_may_mount: ::core::option::Option bool_>,
+ pub grab_current_ns:
+ ::core::option::Option *mut ::aya_ebpf::cty::c_void>,
+ pub netlink_ns: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut sock) -> *const ::aya_ebpf::cty::c_void,
+ >,
+ pub initial_ns:
+ ::core::option::Option *const ::aya_ebpf::cty::c_void>,
+ pub drop_ns: ::core::option::Option,
}
#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct cred {
- pub usage: atomic_long_t,
+#[derive(Debug, Copy, Clone)]
+pub struct kstat {
+ pub result_mask: u32_,
+ pub mode: umode_t,
+ pub nlink: ::aya_ebpf::cty::c_uint,
+ pub blksize: u32,
+ pub attributes: u64_,
+ pub attributes_mask: u64_,
+ pub ino: u64_,
+ pub dev: dev_t,
+ pub rdev: dev_t,
pub uid: kuid_t,
pub gid: kgid_t,
- pub suid: kuid_t,
- pub sgid: kgid_t,
- pub euid: kuid_t,
- pub egid: kgid_t,
- pub fsuid: kuid_t,
- pub fsgid: kgid_t,
- pub securebits: ::aya_ebpf::cty::c_uint,
- pub cap_inheritable: kernel_cap_t,
- pub cap_permitted: kernel_cap_t,
- pub cap_effective: kernel_cap_t,
- pub cap_bset: kernel_cap_t,
- pub cap_ambient: kernel_cap_t,
- pub jit_keyring: ::aya_ebpf::cty::c_uchar,
- pub session_keyring: *mut key,
- pub process_keyring: *mut key,
- pub thread_keyring: *mut key,
- pub request_key_auth: *mut key,
- pub security: *mut ::aya_ebpf::cty::c_void,
- pub user: *mut user_struct,
- pub user_ns: *mut user_namespace,
- pub ucounts: *mut ucounts,
- pub group_info: *mut group_info,
- pub __bindgen_anon_1: cred__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union cred__bindgen_ty_1 {
- pub non_rcu: ::aya_ebpf::cty::c_int,
- pub rcu: callback_head,
+ pub size: loff_t,
+ pub atime: timespec64,
+ pub mtime: timespec64,
+ pub ctime: timespec64,
+ pub btime: timespec64,
+ pub blocks: u64_,
+ pub mnt_id: u64_,
+ pub dio_mem_align: u32_,
+ pub dio_offset_align: u32_,
+ pub change_cookie: u64_,
}
-pub type key_serial_t = i32;
-pub type time64_t = __s64;
-pub type key_perm_t = u32;
#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct keyring_index_key {
- pub hash: ::aya_ebpf::cty::c_ulong,
- pub __bindgen_anon_1: keyring_index_key__bindgen_ty_1,
- pub type_: *mut key_type,
- pub domain_tag: *mut key_tag,
- pub description: *const ::aya_ebpf::cty::c_char,
+#[derive(Debug, Copy, Clone)]
+pub struct attribute {
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub mode: umode_t,
}
#[repr(C)]
-#[derive(Copy, Clone)]
-pub union keyring_index_key__bindgen_ty_1 {
- pub __bindgen_anon_1: keyring_index_key__bindgen_ty_1__bindgen_ty_1,
- pub x: ::aya_ebpf::cty::c_ulong,
+#[derive(Debug, Copy, Clone)]
+pub struct bin_attribute {
+ pub attr: attribute,
+ pub size: usize,
+ pub private: *mut ::aya_ebpf::cty::c_void,
+ pub f_mapping: ::core::option::Option *mut address_space>,
+ pub read: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut file,
+ arg2: *mut kobject,
+ arg3: *mut bin_attribute,
+ arg4: *mut ::aya_ebpf::cty::c_char,
+ arg5: loff_t,
+ arg6: usize,
+ ) -> isize,
+ >,
+ pub write: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut file,
+ arg2: *mut kobject,
+ arg3: *mut bin_attribute,
+ arg4: *mut ::aya_ebpf::cty::c_char,
+ arg5: loff_t,
+ arg6: usize,
+ ) -> isize,
+ >,
+ pub llseek: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut file,
+ arg2: *mut kobject,
+ arg3: *mut bin_attribute,
+ arg4: loff_t,
+ arg5: ::aya_ebpf::cty::c_int,
+ ) -> loff_t,
+ >,
+ pub mmap: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut file,
+ arg2: *mut kobject,
+ arg3: *mut bin_attribute,
+ arg4: *mut vm_area_struct,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct keyring_index_key__bindgen_ty_1__bindgen_ty_1 {
- pub desc_len: u16_,
- pub desc: [::aya_ebpf::cty::c_char; 6usize],
+pub struct sysfs_ops {
+ pub show: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut kobject,
+ arg2: *mut attribute,
+ arg3: *mut ::aya_ebpf::cty::c_char,
+ ) -> isize,
+ >,
+ pub store: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut kobject,
+ arg2: *mut attribute,
+ arg3: *const ::aya_ebpf::cty::c_char,
+ arg4: usize,
+ ) -> isize,
+ >,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union key_payload {
- pub rcu_data0: *mut ::aya_ebpf::cty::c_void,
- pub data: [*mut ::aya_ebpf::cty::c_void; 4usize],
+pub struct kset {
+ pub list: list_head,
+ pub list_lock: spinlock_t,
+ pub kobj: kobject,
+ pub uevent_ops: *const kset_uevent_ops,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct assoc_array_ptr {
- _unused: [u8; 0],
+pub struct kobj_type {
+ pub release: ::core::option::Option,
+ pub sysfs_ops: *const sysfs_ops,
+ pub default_groups: *mut *const attribute_group,
+ pub child_ns_type: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const kobject) -> *const kobj_ns_type_operations,
+ >,
+ pub namespace: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const kobject) -> *const ::aya_ebpf::cty::c_void,
+ >,
+ pub get_ownership: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const kobject, arg2: *mut kuid_t, arg3: *mut kgid_t),
+ >,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct assoc_array {
- pub root: *mut assoc_array_ptr,
- pub nr_leaves_on_tree: ::aya_ebpf::cty::c_ulong,
+pub struct kobj_uevent_env {
+ pub argv: [*mut ::aya_ebpf::cty::c_char; 3usize],
+ pub envp: [*mut ::aya_ebpf::cty::c_char; 64usize],
+ pub envp_idx: ::aya_ebpf::cty::c_int,
+ pub buf: [::aya_ebpf::cty::c_char; 2048usize],
+ pub buflen: ::aya_ebpf::cty::c_int,
}
#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct key {
- pub usage: refcount_t,
- pub serial: key_serial_t,
- pub __bindgen_anon_1: key__bindgen_ty_1,
- pub watchers: *mut watch_list,
- pub sem: rw_semaphore,
- pub user: *mut key_user,
- pub security: *mut ::aya_ebpf::cty::c_void,
- pub __bindgen_anon_2: key__bindgen_ty_2,
- pub last_used_at: time64_t,
- pub uid: kuid_t,
- pub gid: kgid_t,
- pub perm: key_perm_t,
- pub quotalen: ::aya_ebpf::cty::c_ushort,
- pub datalen: ::aya_ebpf::cty::c_ushort,
- pub state: ::aya_ebpf::cty::c_short,
- pub flags: ::aya_ebpf::cty::c_ulong,
- pub __bindgen_anon_3: key__bindgen_ty_3,
- pub __bindgen_anon_4: key__bindgen_ty_4,
- pub restrict_link: *mut key_restriction,
+#[derive(Debug, Copy, Clone)]
+pub struct kset_uevent_ops {
+ pub filter: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const kobject) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub name: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const kobject) -> *const ::aya_ebpf::cty::c_char,
+ >,
+ pub uevent: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const kobject,
+ arg2: *mut kobj_uevent_env,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
}
#[repr(C)]
-#[derive(Copy, Clone)]
-pub union key__bindgen_ty_1 {
- pub graveyard_link: list_head,
- pub serial_node: rb_node,
+#[derive(Debug, Copy, Clone)]
+pub struct em_perf_state {
+ pub performance: ::aya_ebpf::cty::c_ulong,
+ pub frequency: ::aya_ebpf::cty::c_ulong,
+ pub power: ::aya_ebpf::cty::c_ulong,
+ pub cost: ::aya_ebpf::cty::c_ulong,
+ pub flags: ::aya_ebpf::cty::c_ulong,
}
#[repr(C)]
-#[derive(Copy, Clone)]
-pub union key__bindgen_ty_2 {
- pub expiry: time64_t,
- pub revoked_at: time64_t,
+#[derive(Debug)]
+pub struct em_perf_table {
+ pub rcu: callback_head,
+ pub kref: kref,
+ pub state: __IncompleteArrayField,
}
#[repr(C)]
-#[derive(Copy, Clone)]
-pub union key__bindgen_ty_3 {
- pub index_key: keyring_index_key,
- pub __bindgen_anon_1: key__bindgen_ty_3__bindgen_ty_1,
+#[derive(Debug)]
+pub struct em_perf_domain {
+ pub em_table: *mut em_perf_table,
+ pub nr_perf_states: ::aya_ebpf::cty::c_int,
+ pub flags: ::aya_ebpf::cty::c_ulong,
+ pub cpus: __IncompleteArrayField<::aya_ebpf::cty::c_ulong>,
}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct key__bindgen_ty_3__bindgen_ty_1 {
- pub hash: ::aya_ebpf::cty::c_ulong,
- pub len_desc: ::aya_ebpf::cty::c_ulong,
- pub type_: *mut key_type,
- pub domain_tag: *mut key_tag,
- pub description: *mut ::aya_ebpf::cty::c_char,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union key__bindgen_ty_4 {
- pub payload: key_payload,
- pub __bindgen_anon_1: key__bindgen_ty_4__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct key__bindgen_ty_4__bindgen_ty_1 {
- pub name_link: list_head,
- pub keys: assoc_array,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct nsproxy {
- pub count: refcount_t,
- pub uts_ns: *mut uts_namespace,
- pub ipc_ns: *mut ipc_namespace,
- pub mnt_ns: *mut mnt_namespace,
- pub pid_ns_for_children: *mut pid_namespace,
- pub net_ns: *mut net,
- pub time_ns: *mut time_namespace,
- pub time_ns_for_children: *mut time_namespace,
- pub cgroup_ns: *mut cgroup_namespace,
+pub mod dl_dev_state {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const DL_DEV_NO_DRIVER: Type = 0;
+ pub const DL_DEV_PROBING: Type = 1;
+ pub const DL_DEV_DRIVER_BOUND: Type = 2;
+ pub const DL_DEV_UNBINDING: Type = 3;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct cpu_itimer {
- pub expires: u64_,
- pub incr: u64_,
+pub struct dev_links_info {
+ pub suppliers: list_head,
+ pub consumers: list_head,
+ pub defer_sync: list_head,
+ pub status: dl_dev_state::Type,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct task_cputime_atomic {
- pub utime: atomic64_t,
- pub stime: atomic64_t,
- pub sum_exec_runtime: atomic64_t,
+pub struct pm_message {
+ pub event: ::aya_ebpf::cty::c_int,
}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct thread_group_cputimer {
- pub cputime_atomic: task_cputime_atomic,
+pub type pm_message_t = pm_message;
+pub mod rpm_request {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const RPM_REQ_NONE: Type = 0;
+ pub const RPM_REQ_IDLE: Type = 1;
+ pub const RPM_REQ_SUSPEND: Type = 2;
+ pub const RPM_REQ_AUTOSUSPEND: Type = 3;
+ pub const RPM_REQ_RESUME: Type = 4;
}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct pacct_struct {
- pub ac_flag: ::aya_ebpf::cty::c_int,
- pub ac_exitcode: ::aya_ebpf::cty::c_long,
- pub ac_mem: ::aya_ebpf::cty::c_ulong,
- pub ac_utime: u64_,
- pub ac_stime: u64_,
- pub ac_minflt: ::aya_ebpf::cty::c_ulong,
- pub ac_majflt: ::aya_ebpf::cty::c_ulong,
+pub mod rpm_status {
+ pub type Type = ::aya_ebpf::cty::c_int;
+ pub const RPM_INVALID: Type = -1;
+ pub const RPM_ACTIVE: Type = 0;
+ pub const RPM_RESUMING: Type = 1;
+ pub const RPM_SUSPENDED: Type = 2;
+ pub const RPM_SUSPENDING: Type = 3;
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct signal_struct {
- pub sigcnt: refcount_t,
- pub live: atomic_t,
- pub nr_threads: ::aya_ebpf::cty::c_int,
- pub quick_threads: ::aya_ebpf::cty::c_int,
- pub thread_head: list_head,
- pub wait_chldexit: wait_queue_head_t,
- pub curr_target: *mut task_struct,
- pub shared_pending: sigpending,
- pub multiprocess: hlist_head,
- pub group_exit_code: ::aya_ebpf::cty::c_int,
- pub notify_count: ::aya_ebpf::cty::c_int,
- pub group_exec_task: *mut task_struct,
- pub group_stop_count: ::aya_ebpf::cty::c_int,
- pub flags: ::aya_ebpf::cty::c_uint,
- pub core_state: *mut core_state,
+pub struct dev_pm_info {
+ pub power_state: pm_message_t,
pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
- pub next_posix_timer_id: ::aya_ebpf::cty::c_uint,
- pub posix_timers: list_head,
- pub real_timer: hrtimer,
- pub it_real_incr: ktime_t,
- pub it: [cpu_itimer; 2usize],
- pub cputimer: thread_group_cputimer,
- pub posix_cputimers: posix_cputimers,
- pub pids: [*mut pid; 4usize],
- pub tick_dep_mask: atomic_t,
- pub tty_old_pgrp: *mut pid,
- pub leader: ::aya_ebpf::cty::c_int,
- pub tty: *mut tty_struct,
- pub autogroup: *mut autogroup,
- pub stats_lock: seqlock_t,
- pub utime: u64_,
- pub stime: u64_,
- pub cutime: u64_,
- pub cstime: u64_,
- pub gtime: u64_,
- pub cgtime: u64_,
- pub prev_cputime: prev_cputime,
- pub nvcsw: ::aya_ebpf::cty::c_ulong,
- pub nivcsw: ::aya_ebpf::cty::c_ulong,
- pub cnvcsw: ::aya_ebpf::cty::c_ulong,
- pub cnivcsw: ::aya_ebpf::cty::c_ulong,
- pub min_flt: ::aya_ebpf::cty::c_ulong,
- pub maj_flt: ::aya_ebpf::cty::c_ulong,
- pub cmin_flt: ::aya_ebpf::cty::c_ulong,
- pub cmaj_flt: ::aya_ebpf::cty::c_ulong,
- pub inblock: ::aya_ebpf::cty::c_ulong,
- pub oublock: ::aya_ebpf::cty::c_ulong,
- pub cinblock: ::aya_ebpf::cty::c_ulong,
- pub coublock: ::aya_ebpf::cty::c_ulong,
- pub maxrss: ::aya_ebpf::cty::c_ulong,
- pub cmaxrss: ::aya_ebpf::cty::c_ulong,
- pub ioac: task_io_accounting,
- pub sum_sched_runtime: ::aya_ebpf::cty::c_ulonglong,
- pub rlim: [rlimit; 16usize],
- pub pacct: pacct_struct,
- pub stats: *mut taskstats,
- pub audit_tty: ::aya_ebpf::cty::c_uint,
- pub tty_audit_buf: *mut tty_audit_buf,
- pub oom_flag_origin: bool_,
- pub oom_score_adj: ::aya_ebpf::cty::c_short,
- pub oom_score_adj_min: ::aya_ebpf::cty::c_short,
- pub oom_mm: *mut mm_struct,
- pub cred_guard_mutex: mutex,
- pub exec_update_lock: rw_semaphore,
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
+ pub driver_flags: u32_,
+ pub lock: spinlock_t,
+ pub entry: list_head,
+ pub completion: completion,
+ pub wakeup: *mut wakeup_source,
+ pub _bitfield_align_2: [u8; 0],
+ pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>,
+ pub suspend_timer: hrtimer,
+ pub timer_expires: u64_,
+ pub work: work_struct,
+ pub wait_queue: wait_queue_head_t,
+ pub wakeirq: *mut wake_irq,
+ pub usage_count: atomic_t,
+ pub child_count: atomic_t,
+ pub _bitfield_align_3: [u8; 0],
+ pub _bitfield_3: __BindgenBitfieldUnit<[u8; 2usize]>,
+ pub links_count: ::aya_ebpf::cty::c_uint,
+ pub request: rpm_request::Type,
+ pub runtime_status: rpm_status::Type,
+ pub last_status: rpm_status::Type,
+ pub runtime_error: ::aya_ebpf::cty::c_int,
+ pub autosuspend_delay: ::aya_ebpf::cty::c_int,
+ pub last_busy: u64_,
+ pub active_time: u64_,
+ pub suspended_time: u64_,
+ pub accounting_timestamp: u64_,
+ pub subsys_data: *mut pm_subsys_data,
+ pub set_latency_tolerance:
+ ::core::option::Option,
+ pub qos: *mut dev_pm_qos,
}
-impl signal_struct {
+impl dev_pm_info {
#[inline]
- pub fn is_child_subreaper(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
+ pub fn can_wakeup(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
}
#[inline]
- pub fn set_is_child_subreaper(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_can_wakeup(&mut self, val: bool_) {
unsafe {
- let val: u32 = ::core::mem::transmute(val);
+ let val: u8 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
- pub fn has_child_subreaper(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
+ pub fn async_suspend(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
}
#[inline]
- pub fn set_has_child_subreaper(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_async_suspend(&mut self, val: bool_) {
unsafe {
- let val: u32 = ::core::mem::transmute(val);
+ let val: u8 = ::core::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
+ pub fn in_dpm_list(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_in_dpm_list(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(2usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn is_prepared(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_is_prepared(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(3usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn is_suspended(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_is_suspended(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(4usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn is_noirq_suspended(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_is_noirq_suspended(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(5usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn is_late_suspended(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_is_late_suspended(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(6usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn no_pm(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_no_pm(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(7usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn early_init(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_early_init(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(8usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn direct_complete(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_direct_complete(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(9usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
pub fn new_bitfield_1(
- is_child_subreaper: ::aya_ebpf::cty::c_uint,
- has_child_subreaper: ::aya_ebpf::cty::c_uint,
+ can_wakeup: bool_,
+ async_suspend: bool_,
+ in_dpm_list: bool_,
+ is_prepared: bool_,
+ is_suspended: bool_,
+ is_noirq_suspended: bool_,
+ is_late_suspended: bool_,
+ no_pm: bool_,
+ early_init: bool_,
+ direct_complete: bool_,
+ ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 1u8, {
+ let can_wakeup: u8 = unsafe { ::core::mem::transmute(can_wakeup) };
+ can_wakeup as u64
+ });
+ __bindgen_bitfield_unit.set(1usize, 1u8, {
+ let async_suspend: u8 = unsafe { ::core::mem::transmute(async_suspend) };
+ async_suspend as u64
+ });
+ __bindgen_bitfield_unit.set(2usize, 1u8, {
+ let in_dpm_list: u8 = unsafe { ::core::mem::transmute(in_dpm_list) };
+ in_dpm_list as u64
+ });
+ __bindgen_bitfield_unit.set(3usize, 1u8, {
+ let is_prepared: u8 = unsafe { ::core::mem::transmute(is_prepared) };
+ is_prepared as u64
+ });
+ __bindgen_bitfield_unit.set(4usize, 1u8, {
+ let is_suspended: u8 = unsafe { ::core::mem::transmute(is_suspended) };
+ is_suspended as u64
+ });
+ __bindgen_bitfield_unit.set(5usize, 1u8, {
+ let is_noirq_suspended: u8 = unsafe { ::core::mem::transmute(is_noirq_suspended) };
+ is_noirq_suspended as u64
+ });
+ __bindgen_bitfield_unit.set(6usize, 1u8, {
+ let is_late_suspended: u8 = unsafe { ::core::mem::transmute(is_late_suspended) };
+ is_late_suspended as u64
+ });
+ __bindgen_bitfield_unit.set(7usize, 1u8, {
+ let no_pm: u8 = unsafe { ::core::mem::transmute(no_pm) };
+ no_pm as u64
+ });
+ __bindgen_bitfield_unit.set(8usize, 1u8, {
+ let early_init: u8 = unsafe { ::core::mem::transmute(early_init) };
+ early_init as u64
+ });
+ __bindgen_bitfield_unit.set(9usize, 1u8, {
+ let direct_complete: u8 = unsafe { ::core::mem::transmute(direct_complete) };
+ direct_complete as u64
+ });
+ __bindgen_bitfield_unit
+ }
+ #[inline]
+ pub fn wakeup_path(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_wakeup_path(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_2.set(0usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn syscore(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_2.get(1usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_syscore(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_2.set(1usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn no_pm_callbacks(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_2.get(2usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_no_pm_callbacks(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_2.set(2usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn async_in_progress(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_2.get(3usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_async_in_progress(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_2.set(3usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn must_resume(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_2.get(4usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_must_resume(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_2.set(4usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn may_skip_resume(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_2.get(5usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_may_skip_resume(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_2.set(5usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_2(
+ wakeup_path: bool_,
+ syscore: bool_,
+ no_pm_callbacks: bool_,
+ async_in_progress: bool_,
+ must_resume: bool_,
+ may_skip_resume: bool_,
) -> __BindgenBitfieldUnit<[u8; 1usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
- let is_child_subreaper: u32 = unsafe { ::core::mem::transmute(is_child_subreaper) };
- is_child_subreaper as u64
+ let wakeup_path: u8 = unsafe { ::core::mem::transmute(wakeup_path) };
+ wakeup_path as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
- let has_child_subreaper: u32 = unsafe { ::core::mem::transmute(has_child_subreaper) };
- has_child_subreaper as u64
+ let syscore: u8 = unsafe { ::core::mem::transmute(syscore) };
+ syscore as u64
+ });
+ __bindgen_bitfield_unit.set(2usize, 1u8, {
+ let no_pm_callbacks: u8 = unsafe { ::core::mem::transmute(no_pm_callbacks) };
+ no_pm_callbacks as u64
+ });
+ __bindgen_bitfield_unit.set(3usize, 1u8, {
+ let async_in_progress: u8 = unsafe { ::core::mem::transmute(async_in_progress) };
+ async_in_progress as u64
+ });
+ __bindgen_bitfield_unit.set(4usize, 1u8, {
+ let must_resume: u8 = unsafe { ::core::mem::transmute(must_resume) };
+ must_resume as u64
+ });
+ __bindgen_bitfield_unit.set(5usize, 1u8, {
+ let may_skip_resume: u8 = unsafe { ::core::mem::transmute(may_skip_resume) };
+ may_skip_resume as u64
+ });
+ __bindgen_bitfield_unit
+ }
+ #[inline]
+ pub fn disable_depth(&self) -> ::aya_ebpf::cty::c_uint {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(0usize, 3u8) as u32) }
+ }
+ #[inline]
+ pub fn set_disable_depth(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ unsafe {
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_3.set(0usize, 3u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn idle_notification(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(3usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_idle_notification(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(3usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn request_pending(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(4usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_request_pending(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(4usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn deferred_resume(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(5usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_deferred_resume(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(5usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn needs_force_resume(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(6usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_needs_force_resume(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(6usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn runtime_auto(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(7usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_runtime_auto(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(7usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn ignore_children(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(8usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_ignore_children(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(8usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn no_callbacks(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(9usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_no_callbacks(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(9usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn irq_safe(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(10usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_irq_safe(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(10usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn use_autosuspend(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(11usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_use_autosuspend(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(11usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn timer_autosuspends(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(12usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_timer_autosuspends(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(12usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn memalloc_noio(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_3.get(13usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_memalloc_noio(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_3.set(13usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_3(
+ disable_depth: ::aya_ebpf::cty::c_uint,
+ idle_notification: bool_,
+ request_pending: bool_,
+ deferred_resume: bool_,
+ needs_force_resume: bool_,
+ runtime_auto: bool_,
+ ignore_children: bool_,
+ no_callbacks: bool_,
+ irq_safe: bool_,
+ use_autosuspend: bool_,
+ timer_autosuspends: bool_,
+ memalloc_noio: bool_,
+ ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 3u8, {
+ let disable_depth: u32 = unsafe { ::core::mem::transmute(disable_depth) };
+ disable_depth as u64
+ });
+ __bindgen_bitfield_unit.set(3usize, 1u8, {
+ let idle_notification: u8 = unsafe { ::core::mem::transmute(idle_notification) };
+ idle_notification as u64
+ });
+ __bindgen_bitfield_unit.set(4usize, 1u8, {
+ let request_pending: u8 = unsafe { ::core::mem::transmute(request_pending) };
+ request_pending as u64
+ });
+ __bindgen_bitfield_unit.set(5usize, 1u8, {
+ let deferred_resume: u8 = unsafe { ::core::mem::transmute(deferred_resume) };
+ deferred_resume as u64
+ });
+ __bindgen_bitfield_unit.set(6usize, 1u8, {
+ let needs_force_resume: u8 = unsafe { ::core::mem::transmute(needs_force_resume) };
+ needs_force_resume as u64
+ });
+ __bindgen_bitfield_unit.set(7usize, 1u8, {
+ let runtime_auto: u8 = unsafe { ::core::mem::transmute(runtime_auto) };
+ runtime_auto as u64
+ });
+ __bindgen_bitfield_unit.set(8usize, 1u8, {
+ let ignore_children: u8 = unsafe { ::core::mem::transmute(ignore_children) };
+ ignore_children as u64
+ });
+ __bindgen_bitfield_unit.set(9usize, 1u8, {
+ let no_callbacks: u8 = unsafe { ::core::mem::transmute(no_callbacks) };
+ no_callbacks as u64
+ });
+ __bindgen_bitfield_unit.set(10usize, 1u8, {
+ let irq_safe: u8 = unsafe { ::core::mem::transmute(irq_safe) };
+ irq_safe as u64
+ });
+ __bindgen_bitfield_unit.set(11usize, 1u8, {
+ let use_autosuspend: u8 = unsafe { ::core::mem::transmute(use_autosuspend) };
+ use_autosuspend as u64
+ });
+ __bindgen_bitfield_unit.set(12usize, 1u8, {
+ let timer_autosuspends: u8 = unsafe { ::core::mem::transmute(timer_autosuspends) };
+ timer_autosuspends as u64
+ });
+ __bindgen_bitfield_unit.set(13usize, 1u8, {
+ let memalloc_noio: u8 = unsafe { ::core::mem::transmute(memalloc_noio) };
+ memalloc_noio as u64
});
__bindgen_bitfield_unit
}
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct sighand_struct {
- pub siglock: spinlock_t,
- pub count: refcount_t,
- pub signalfd_wqh: wait_queue_head_t,
- pub action: [k_sigaction; 64usize],
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct io_context {
- pub refcount: atomic_long_t,
- pub active_ref: atomic_t,
- pub ioprio: ::aya_ebpf::cty::c_ushort,
- pub lock: spinlock_t,
- pub icq_tree: xarray,
- pub icq_hint: *mut io_cq,
- pub icq_list: hlist_head,
- pub release_work: work_struct,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct css_set {
- pub subsys: [*mut cgroup_subsys_state; 14usize],
- pub refcount: refcount_t,
- pub dom_cset: *mut css_set,
- pub dfl_cgrp: *mut cgroup,
- pub nr_tasks: ::aya_ebpf::cty::c_int,
- pub tasks: list_head,
- pub mg_tasks: list_head,
- pub dying_tasks: list_head,
- pub task_iters: list_head,
- pub e_cset_node: [list_head; 14usize],
- pub threaded_csets: list_head,
- pub threaded_csets_node: list_head,
- pub hlist: hlist_node,
- pub cgrp_links: list_head,
- pub mg_src_preload_node: list_head,
- pub mg_dst_preload_node: list_head,
- pub mg_node: list_head,
- pub mg_src_cgrp: *mut cgroup,
- pub mg_dst_cgrp: *mut cgroup,
- pub mg_dst_cset: *mut css_set,
- pub dead: bool_,
- pub callback_head: callback_head,
-}
-pub type compat_uptr_t = u32_;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct compat_robust_list {
- pub next: compat_uptr_t,
-}
-pub type compat_long_t = s32;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct compat_robust_list_head {
- pub list: compat_robust_list,
- pub futex_offset: compat_long_t,
- pub list_op_pending: compat_uptr_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct perf_event_groups {
- pub tree: rb_root,
- pub index: u64_,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct perf_event_context {
- pub lock: raw_spinlock_t,
- pub mutex: mutex,
- pub pmu_ctx_list: list_head,
- pub pinned_groups: perf_event_groups,
- pub flexible_groups: perf_event_groups,
- pub event_list: list_head,
- pub nr_events: ::aya_ebpf::cty::c_int,
- pub nr_user: ::aya_ebpf::cty::c_int,
- pub is_active: ::aya_ebpf::cty::c_int,
- pub nr_task_data: ::aya_ebpf::cty::c_int,
- pub nr_stat: ::aya_ebpf::cty::c_int,
- pub nr_freq: ::aya_ebpf::cty::c_int,
- pub rotate_disable: ::aya_ebpf::cty::c_int,
- pub refcount: refcount_t,
- pub task: *mut task_struct,
- pub time: u64_,
- pub timestamp: u64_,
- pub timeoffset: u64_,
- pub parent_ctx: *mut perf_event_context,
- pub parent_gen: u64_,
- pub generation: u64_,
- pub pin_count: ::aya_ebpf::cty::c_int,
- pub nr_cgroups: ::aya_ebpf::cty::c_int,
- pub callback_head: callback_head,
- pub nr_pending: local_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct ftrace_ret_stack {
- pub ret: ::aya_ebpf::cty::c_ulong,
- pub func: ::aya_ebpf::cty::c_ulong,
- pub calltime: ::aya_ebpf::cty::c_ulonglong,
- pub subtime: ::aya_ebpf::cty::c_ulonglong,
- pub retp: *mut ::aya_ebpf::cty::c_ulong,
-}
-pub mod uprobe_task_state {
- pub type Type = ::aya_ebpf::cty::c_uint;
- pub const UTASK_RUNNING: Type = 0;
- pub const UTASK_SSTEP: Type = 1;
- pub const UTASK_SSTEP_ACK: Type = 2;
- pub const UTASK_SSTEP_TRAPPED: Type = 3;
+pub struct dev_msi_info {
+ pub domain: *mut irq_domain,
+ pub data: *mut msi_device_data,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct arch_uprobe_task {
- pub saved_scratch_register: ::aya_ebpf::cty::c_ulong,
- pub saved_trap_nr: ::aya_ebpf::cty::c_uint,
- pub saved_tf: ::aya_ebpf::cty::c_uint,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct uprobe_task {
- pub state: uprobe_task_state::Type,
- pub __bindgen_anon_1: uprobe_task__bindgen_ty_1,
- pub active_uprobe: *mut uprobe,
- pub xol_vaddr: ::aya_ebpf::cty::c_ulong,
- pub return_instances: *mut return_instance,
- pub depth: ::aya_ebpf::cty::c_uint,
+pub struct dev_archdata {}
+pub mod device_removable {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const DEVICE_REMOVABLE_NOT_SUPPORTED: Type = 0;
+ pub const DEVICE_REMOVABLE_UNKNOWN: Type = 1;
+ pub const DEVICE_FIXED: Type = 2;
+ pub const DEVICE_REMOVABLE: Type = 3;
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union uprobe_task__bindgen_ty_1 {
- pub __bindgen_anon_1: uprobe_task__bindgen_ty_1__bindgen_ty_1,
- pub __bindgen_anon_2: uprobe_task__bindgen_ty_1__bindgen_ty_2,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct uprobe_task__bindgen_ty_1__bindgen_ty_1 {
- pub autask: arch_uprobe_task,
- pub vaddr: ::aya_ebpf::cty::c_ulong,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct uprobe_task__bindgen_ty_1__bindgen_ty_2 {
- pub dup_xol_work: callback_head,
- pub dup_xol_addr: ::aya_ebpf::cty::c_ulong,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct timespec64 {
- pub tv_sec: time64_t,
- pub tv_nsec: ::aya_ebpf::cty::c_long,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct delayed_work {
- pub work: work_struct,
- pub timer: timer_list,
- pub wq: *mut workqueue_struct,
- pub cpu: ::aya_ebpf::cty::c_int,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct rcu_work {
- pub work: work_struct,
- pub rcu: callback_head,
- pub wq: *mut workqueue_struct,
+pub struct device {
+ pub kobj: kobject,
+ pub parent: *mut device,
+ pub p: *mut device_private,
+ pub init_name: *const ::aya_ebpf::cty::c_char,
+ pub type_: *const device_type,
+ pub bus: *const bus_type,
+ pub driver: *mut device_driver,
+ pub platform_data: *mut ::aya_ebpf::cty::c_void,
+ pub driver_data: *mut ::aya_ebpf::cty::c_void,
+ pub mutex: mutex,
+ pub links: dev_links_info,
+ pub power: dev_pm_info,
+ pub pm_domain: *mut dev_pm_domain,
+ pub em_pd: *mut em_perf_domain,
+ pub pins: *mut dev_pin_info,
+ pub msi: dev_msi_info,
+ pub dma_ops: *const dma_map_ops,
+ pub dma_mask: *mut u64_,
+ pub coherent_dma_mask: u64_,
+ pub bus_dma_limit: u64_,
+ pub dma_range_map: *const bus_dma_region,
+ pub dma_parms: *mut device_dma_parameters,
+ pub dma_pools: list_head,
+ pub cma_area: *mut cma,
+ pub dma_io_tlb_mem: *mut io_tlb_mem,
+ pub archdata: dev_archdata,
+ pub of_node: *mut device_node,
+ pub fwnode: *mut fwnode_handle,
+ pub numa_node: ::aya_ebpf::cty::c_int,
+ pub devt: dev_t,
+ pub id: u32_,
+ pub devres_lock: spinlock_t,
+ pub devres_head: list_head,
+ pub class: *const class,
+ pub groups: *mut *const attribute_group,
+ pub release: ::core::option::Option,
+ pub iommu_group: *mut iommu_group,
+ pub iommu: *mut dev_iommu,
+ pub physical_location: *mut device_physical_location,
+ pub removable: device_removable::Type,
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
+ pub __bindgen_padding_0: [u8; 3usize],
}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct rcu_segcblist {
- pub head: *mut callback_head,
- pub tails: [*mut *mut callback_head; 4usize],
- pub gp_seq: [::aya_ebpf::cty::c_ulong; 4usize],
- pub len: atomic_long_t,
- pub seglen: [::aya_ebpf::cty::c_long; 4usize],
- pub flags: u8_,
+impl device {
+ #[inline]
+ pub fn offline_disabled(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_offline_disabled(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn offline(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_offline(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(1usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn of_node_reused(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_of_node_reused(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(2usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn state_synced(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_state_synced(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(3usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn can_match(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_can_match(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(4usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_1(
+ offline_disabled: bool_,
+ offline: bool_,
+ of_node_reused: bool_,
+ state_synced: bool_,
+ can_match: bool_,
+ ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 1u8, {
+ let offline_disabled: u8 = unsafe { ::core::mem::transmute(offline_disabled) };
+ offline_disabled as u64
+ });
+ __bindgen_bitfield_unit.set(1usize, 1u8, {
+ let offline: u8 = unsafe { ::core::mem::transmute(offline) };
+ offline as u64
+ });
+ __bindgen_bitfield_unit.set(2usize, 1u8, {
+ let of_node_reused: u8 = unsafe { ::core::mem::transmute(of_node_reused) };
+ of_node_reused as u64
+ });
+ __bindgen_bitfield_unit.set(3usize, 1u8, {
+ let state_synced: u8 = unsafe { ::core::mem::transmute(state_synced) };
+ state_synced as u64
+ });
+ __bindgen_bitfield_unit.set(4usize, 1u8, {
+ let can_match: u8 = unsafe { ::core::mem::transmute(can_match) };
+ can_match as u64
+ });
+ __bindgen_bitfield_unit
+ }
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct srcu_data {
- pub srcu_lock_count: [atomic_long_t; 2usize],
- pub srcu_unlock_count: [atomic_long_t; 2usize],
- pub srcu_nmi_safety: ::aya_ebpf::cty::c_int,
+pub struct hrtimer_cpu_base {
+ pub lock: raw_spinlock_t,
+ pub cpu: ::aya_ebpf::cty::c_uint,
+ pub active_bases: ::aya_ebpf::cty::c_uint,
+ pub clock_was_set_seq: ::aya_ebpf::cty::c_uint,
pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>,
- pub __bindgen_padding_0: u32,
- pub lock: spinlock_t,
- pub srcu_cblist: rcu_segcblist,
- pub srcu_gp_seq_needed: ::aya_ebpf::cty::c_ulong,
- pub srcu_gp_seq_needed_exp: ::aya_ebpf::cty::c_ulong,
- pub srcu_cblist_invoking: bool_,
- pub delay_work: timer_list,
- pub work: work_struct,
- pub srcu_barrier_head: callback_head,
- pub mynode: *mut srcu_node,
- pub grpmask: ::aya_ebpf::cty::c_ulong,
- pub cpu: ::aya_ebpf::cty::c_int,
- pub ssp: *mut srcu_struct,
- pub _bitfield_align_2: [u8; 0],
- pub _bitfield_2: __BindgenBitfieldUnit<[u8; 48usize]>,
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
+ pub nr_events: ::aya_ebpf::cty::c_uint,
+ pub nr_retries: ::aya_ebpf::cty::c_ushort,
+ pub nr_hangs: ::aya_ebpf::cty::c_ushort,
+ pub max_hang_time: ::aya_ebpf::cty::c_uint,
+ pub expires_next: ktime_t,
+ pub next_timer: *mut hrtimer,
+ pub softirq_expires_next: ktime_t,
+ pub softirq_next_timer: *mut hrtimer,
+ pub clock_base: [hrtimer_clock_base; 8usize],
}
-impl srcu_data {
+impl hrtimer_cpu_base {
#[inline]
- pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default();
+ pub fn hres_active(&self) -> ::aya_ebpf::cty::c_uint {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
+ }
+ #[inline]
+ pub fn set_hres_active(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ unsafe {
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn in_hrtirq(&self) -> ::aya_ebpf::cty::c_uint {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
+ }
+ #[inline]
+ pub fn set_in_hrtirq(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ unsafe {
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(1usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn hang_detected(&self) -> ::aya_ebpf::cty::c_uint {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
+ }
+ #[inline]
+ pub fn set_hang_detected(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ unsafe {
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(2usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn softirq_activated(&self) -> ::aya_ebpf::cty::c_uint {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
+ }
+ #[inline]
+ pub fn set_softirq_activated(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ unsafe {
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(3usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn online(&self) -> ::aya_ebpf::cty::c_uint {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
+ }
+ #[inline]
+ pub fn set_online(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ unsafe {
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(4usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_1(
+ hres_active: ::aya_ebpf::cty::c_uint,
+ in_hrtirq: ::aya_ebpf::cty::c_uint,
+ hang_detected: ::aya_ebpf::cty::c_uint,
+ softirq_activated: ::aya_ebpf::cty::c_uint,
+ online: ::aya_ebpf::cty::c_uint,
+ ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 1u8, {
+ let hres_active: u32 = unsafe { ::core::mem::transmute(hres_active) };
+ hres_active as u64
+ });
+ __bindgen_bitfield_unit.set(1usize, 1u8, {
+ let in_hrtirq: u32 = unsafe { ::core::mem::transmute(in_hrtirq) };
+ in_hrtirq as u64
+ });
+ __bindgen_bitfield_unit.set(2usize, 1u8, {
+ let hang_detected: u32 = unsafe { ::core::mem::transmute(hang_detected) };
+ hang_detected as u64
+ });
+ __bindgen_bitfield_unit.set(3usize, 1u8, {
+ let softirq_activated: u32 = unsafe { ::core::mem::transmute(softirq_activated) };
+ softirq_activated as u64
+ });
+ __bindgen_bitfield_unit.set(4usize, 1u8, {
+ let online: u32 = unsafe { ::core::mem::transmute(online) };
+ online as u64
+ });
__bindgen_bitfield_unit
}
}
#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct srcu_node {
- pub lock: spinlock_t,
- pub srcu_have_cbs: [::aya_ebpf::cty::c_ulong; 4usize],
- pub srcu_data_have_cbs: [::aya_ebpf::cty::c_ulong; 4usize],
- pub srcu_gp_seq_needed_exp: ::aya_ebpf::cty::c_ulong,
- pub srcu_parent: *mut srcu_node,
- pub grplo: ::aya_ebpf::cty::c_int,
- pub grphi: ::aya_ebpf::cty::c_int,
-}
-#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct srcu_struct {
- pub srcu_idx: ::aya_ebpf::cty::c_uint,
- pub sda: *mut srcu_data,
- pub dep_map: lockdep_map,
- pub srcu_sup: *mut srcu_usage,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct srcu_usage {
- pub node: *mut srcu_node,
- pub level: [*mut srcu_node; 3usize],
- pub srcu_size_state: ::aya_ebpf::cty::c_int,
- pub srcu_cb_mutex: mutex,
- pub lock: spinlock_t,
- pub srcu_gp_mutex: mutex,
- pub srcu_gp_seq: ::aya_ebpf::cty::c_ulong,
- pub srcu_gp_seq_needed: ::aya_ebpf::cty::c_ulong,
- pub srcu_gp_seq_needed_exp: ::aya_ebpf::cty::c_ulong,
- pub srcu_gp_start: ::aya_ebpf::cty::c_ulong,
- pub srcu_last_gp_end: ::aya_ebpf::cty::c_ulong,
- pub srcu_size_jiffies: ::aya_ebpf::cty::c_ulong,
- pub srcu_n_lock_retries: ::aya_ebpf::cty::c_ulong,
- pub srcu_n_exp_nodelay: ::aya_ebpf::cty::c_ulong,
- pub sda_is_static: bool_,
- pub srcu_barrier_seq: ::aya_ebpf::cty::c_ulong,
- pub srcu_barrier_mutex: mutex,
- pub srcu_barrier_completion: completion,
- pub srcu_barrier_cpu_cnt: atomic_t,
- pub reschedule_jiffies: ::aya_ebpf::cty::c_ulong,
- pub reschedule_count: ::aya_ebpf::cty::c_ulong,
- pub work: delayed_work,
- pub srcu_ssp: *mut srcu_struct,
+pub struct dev_pm_ops {
+ pub prepare:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub complete: ::core::option::Option,
+ pub suspend:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub resume:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub freeze:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub thaw:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub poweroff:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub restore:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub suspend_late:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub resume_early:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub freeze_late:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub thaw_early:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub poweroff_late:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub restore_early:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub suspend_noirq:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub resume_noirq:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub freeze_noirq:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub thaw_noirq:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub poweroff_noirq:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub restore_noirq:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub runtime_suspend:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub runtime_resume:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub runtime_idle:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct pm_subsys_data {
+ pub lock: spinlock_t,
+ pub refcount: ::aya_ebpf::cty::c_uint,
+ pub clock_op_might_sleep: ::aya_ebpf::cty::c_uint,
+ pub clock_mutex: mutex,
+ pub clock_list: list_head,
+ pub domain_data: *mut pm_domain_data,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct wakeup_source {
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub id: ::aya_ebpf::cty::c_int,
+ pub entry: list_head,
+ pub lock: spinlock_t,
+ pub wakeirq: *mut wake_irq,
+ pub timer: timer_list,
+ pub timer_expires: ::aya_ebpf::cty::c_ulong,
+ pub total_time: ktime_t,
+ pub max_time: ktime_t,
+ pub last_time: ktime_t,
+ pub start_prevent_time: ktime_t,
+ pub prevent_sleep_time: ktime_t,
+ pub event_count: ::aya_ebpf::cty::c_ulong,
+ pub active_count: ::aya_ebpf::cty::c_ulong,
+ pub relax_count: ::aya_ebpf::cty::c_ulong,
+ pub expire_count: ::aya_ebpf::cty::c_ulong,
+ pub wakeup_count: ::aya_ebpf::cty::c_ulong,
+ pub dev: *mut device,
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
+ pub __bindgen_padding_0: [u8; 7usize],
+}
+impl wakeup_source {
+ #[inline]
+ pub fn active(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_active(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn autosleep_enabled(&self) -> bool_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_autosleep_enabled(&mut self, val: bool_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(1usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_1(
+ active: bool_,
+ autosleep_enabled: bool_,
+ ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 1u8, {
+ let active: u8 = unsafe { ::core::mem::transmute(active) };
+ active as u64
+ });
+ __bindgen_bitfield_unit.set(1usize, 1u8, {
+ let autosleep_enabled: u8 = unsafe { ::core::mem::transmute(autosleep_enabled) };
+ autosleep_enabled as u64
+ });
+ __bindgen_bitfield_unit
+ }
+}
+pub mod pm_qos_type {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const PM_QOS_UNITIALIZED: Type = 0;
+ pub const PM_QOS_MAX: Type = 1;
+ pub const PM_QOS_MIN: Type = 2;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct return_instance {
- pub uprobe: *mut uprobe,
- pub func: ::aya_ebpf::cty::c_ulong,
- pub stack: ::aya_ebpf::cty::c_ulong,
- pub orig_ret_vaddr: ::aya_ebpf::cty::c_ulong,
- pub chained: bool_,
- pub next: *mut return_instance,
+pub struct pm_qos_constraints {
+ pub list: plist_head,
+ pub target_value: s32,
+ pub default_value: s32,
+ pub no_constraint_value: s32,
+ pub type_: pm_qos_type::Type,
+ pub notifiers: *mut blocking_notifier_head,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct freq_constraints {
+ pub min_freq: pm_qos_constraints,
+ pub min_freq_notifiers: blocking_notifier_head,
+ pub max_freq: pm_qos_constraints,
+ pub max_freq_notifiers: blocking_notifier_head,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct vdso_image {
- pub data: *mut ::aya_ebpf::cty::c_void,
- pub size: ::aya_ebpf::cty::c_ulong,
- pub alt: ::aya_ebpf::cty::c_ulong,
- pub alt_len: ::aya_ebpf::cty::c_ulong,
- pub extable_base: ::aya_ebpf::cty::c_ulong,
- pub extable_len: ::aya_ebpf::cty::c_ulong,
- pub extable: *const ::aya_ebpf::cty::c_void,
- pub sym_vvar_start: ::aya_ebpf::cty::c_long,
- pub sym_vvar_page: ::aya_ebpf::cty::c_long,
- pub sym_pvclock_page: ::aya_ebpf::cty::c_long,
- pub sym_hvclock_page: ::aya_ebpf::cty::c_long,
- pub sym_timens_page: ::aya_ebpf::cty::c_long,
- pub sym_VDSO32_NOTE_MASK: ::aya_ebpf::cty::c_long,
- pub sym___kernel_sigreturn: ::aya_ebpf::cty::c_long,
- pub sym___kernel_rt_sigreturn: ::aya_ebpf::cty::c_long,
- pub sym___kernel_vsyscall: ::aya_ebpf::cty::c_long,
- pub sym_int80_landing_pad: ::aya_ebpf::cty::c_long,
- pub sym_vdso32_sigreturn_landing_pad: ::aya_ebpf::cty::c_long,
- pub sym_vdso32_rt_sigreturn_landing_pad: ::aya_ebpf::cty::c_long,
+pub struct pm_qos_flags {
+ pub list: list_head,
+ pub effective_flags: s32,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct dev_pm_qos {
+ pub resume_latency: pm_qos_constraints,
+ pub latency_tolerance: pm_qos_constraints,
+ pub freq: freq_constraints,
+ pub flags: pm_qos_flags,
+ pub resume_latency_req: *mut dev_pm_qos_request,
+ pub latency_tolerance_req: *mut dev_pm_qos_request,
+ pub flags_req: *mut dev_pm_qos_request,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct vmem_altmap {
- pub base_pfn: ::aya_ebpf::cty::c_ulong,
- pub end_pfn: ::aya_ebpf::cty::c_ulong,
- pub reserve: ::aya_ebpf::cty::c_ulong,
- pub free: ::aya_ebpf::cty::c_ulong,
- pub align: ::aya_ebpf::cty::c_ulong,
- pub alloc: ::aya_ebpf::cty::c_ulong,
+pub struct dev_pm_domain {
+ pub ops: dev_pm_ops,
+ pub start:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub detach: ::core::option::Option,
+ pub activate:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub sync: ::core::option::Option,
+ pub dismiss: ::core::option::Option,
+ pub set_performance_state: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: ::aya_ebpf::cty::c_uint,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct percpu_ref {
- pub percpu_count_ptr: ::aya_ebpf::cty::c_ulong,
- pub data: *mut percpu_ref_data,
+pub struct bus_type {
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub dev_name: *const ::aya_ebpf::cty::c_char,
+ pub bus_groups: *mut *const attribute_group,
+ pub dev_groups: *mut *const attribute_group,
+ pub drv_groups: *mut *const attribute_group,
+ pub match_: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut device, arg2: *mut device_driver) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub uevent: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const device,
+ arg2: *mut kobj_uevent_env,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub probe:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub sync_state: ::core::option::Option,
+ pub remove: ::core::option::Option,
+ pub shutdown: ::core::option::Option,
+ pub online:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub offline:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub suspend: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut device, arg2: pm_message_t) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub resume:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub num_vf:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub dma_configure:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub dma_cleanup: ::core::option::Option,
+ pub pm: *const dev_pm_ops,
+ pub need_parent_lock: bool_,
}
-pub mod memory_type {
+pub mod probe_type {
pub type Type = ::aya_ebpf::cty::c_uint;
- pub const MEMORY_DEVICE_PRIVATE: Type = 1;
- pub const MEMORY_DEVICE_COHERENT: Type = 2;
- pub const MEMORY_DEVICE_FS_DAX: Type = 3;
- pub const MEMORY_DEVICE_GENERIC: Type = 4;
- pub const MEMORY_DEVICE_PCI_P2PDMA: Type = 5;
+ pub const PROBE_DEFAULT_STRATEGY: Type = 0;
+ pub const PROBE_PREFER_ASYNCHRONOUS: Type = 1;
+ pub const PROBE_FORCE_SYNCHRONOUS: Type = 2;
}
#[repr(C)]
-pub struct dev_pagemap {
- pub altmap: vmem_altmap,
- pub ref_: percpu_ref,
- pub done: completion,
- pub type_: memory_type::Type,
- pub flags: ::aya_ebpf::cty::c_uint,
- pub vmemmap_shift: ::aya_ebpf::cty::c_ulong,
- pub ops: *const dev_pagemap_ops,
- pub owner: *mut ::aya_ebpf::cty::c_void,
- pub nr_range: ::aya_ebpf::cty::c_int,
- pub __bindgen_anon_1: dev_pagemap__bindgen_ty_1,
+#[derive(Debug, Copy, Clone)]
+pub struct device_driver {
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub bus: *const bus_type,
+ pub owner: *mut module,
+ pub mod_name: *const ::aya_ebpf::cty::c_char,
+ pub suppress_bind_attrs: bool_,
+ pub probe_type: probe_type::Type,
+ pub of_match_table: *const of_device_id,
+ pub acpi_match_table: *const acpi_device_id,
+ pub probe:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub sync_state: ::core::option::Option,
+ pub remove:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub shutdown: ::core::option::Option,
+ pub suspend: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut device, arg2: pm_message_t) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub resume:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub groups: *mut *const attribute_group,
+ pub dev_groups: *mut *const attribute_group,
+ pub pm: *const dev_pm_ops,
+ pub coredump: ::core::option::Option,
+ pub p: *mut driver_private,
}
#[repr(C)]
-pub struct dev_pagemap__bindgen_ty_1 {
- pub range: __BindgenUnionField,
- pub __bindgen_anon_1: __BindgenUnionField,
- pub bindgen_union_field: [u64; 2usize],
+#[derive(Debug, Copy, Clone)]
+pub struct class {
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub class_groups: *mut *const attribute_group,
+ pub dev_groups: *mut *const attribute_group,
+ pub dev_uevent: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const device,
+ arg2: *mut kobj_uevent_env,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub devnode: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const device,
+ arg2: *mut umode_t,
+ ) -> *mut ::aya_ebpf::cty::c_char,
+ >,
+ pub class_release: ::core::option::Option,
+ pub dev_release: ::core::option::Option,
+ pub shutdown_pre:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub ns_type: *const kobj_ns_type_operations,
+ pub namespace: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const device) -> *const ::aya_ebpf::cty::c_void,
+ >,
+ pub get_ownership: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const device, arg2: *mut kuid_t, arg3: *mut kgid_t),
+ >,
+ pub pm: *const dev_pm_ops,
}
#[repr(C)]
-#[derive(Debug)]
-pub struct dev_pagemap__bindgen_ty_1__bindgen_ty_1 {
- pub __empty_ranges: dev_pagemap__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
- pub ranges: __IncompleteArrayField,
+#[derive(Debug, Copy, Clone)]
+pub struct device_type {
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub groups: *mut *const attribute_group,
+ pub uevent: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const device,
+ arg2: *mut kobj_uevent_env,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub devnode: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const device,
+ arg2: *mut umode_t,
+ arg3: *mut kuid_t,
+ arg4: *mut kgid_t,
+ ) -> *mut ::aya_ebpf::cty::c_char,
+ >,
+ pub release: ::core::option::Option,
+ pub pm: *const dev_pm_ops,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct dev_pagemap__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {}
+pub struct iovec {
+ pub iov_base: *mut ::aya_ebpf::cty::c_void,
+ pub iov_len: __kernel_size_t,
+}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct swp_entry_t {
- pub val: ::aya_ebpf::cty::c_ulong,
+pub struct kvec {
+ pub iov_base: *mut ::aya_ebpf::cty::c_void,
+ pub iov_len: usize,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bio_vec {
+ pub bv_page: *mut page,
+ pub bv_len: ::aya_ebpf::cty::c_uint,
+ pub bv_offset: ::aya_ebpf::cty::c_uint,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct folio {
- pub __bindgen_anon_1: folio__bindgen_ty_1,
- pub __bindgen_anon_2: folio__bindgen_ty_2,
- pub __bindgen_anon_3: folio__bindgen_ty_3,
+pub struct iov_iter {
+ pub iter_type: u8_,
+ pub nofault: bool_,
+ pub data_source: bool_,
+ pub iov_offset: usize,
+ pub __bindgen_anon_1: iov_iter__bindgen_ty_1,
+ pub __bindgen_anon_2: iov_iter__bindgen_ty_2,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union folio__bindgen_ty_1 {
- pub __bindgen_anon_1: folio__bindgen_ty_1__bindgen_ty_1,
- pub page: page,
+pub union iov_iter__bindgen_ty_1 {
+ pub __ubuf_iovec: iovec,
+ pub __bindgen_anon_1: iov_iter__bindgen_ty_1__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct folio__bindgen_ty_1__bindgen_ty_1 {
- pub flags: ::aya_ebpf::cty::c_ulong,
- pub __bindgen_anon_1: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
- pub mapping: *mut address_space,
- pub index: ::aya_ebpf::cty::c_ulong,
- pub __bindgen_anon_2: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2,
- pub _mapcount: atomic_t,
- pub _refcount: atomic_t,
- pub memcg_data: ::aya_ebpf::cty::c_ulong,
+pub struct iov_iter__bindgen_ty_1__bindgen_ty_1 {
+ pub __bindgen_anon_1: iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
+ pub count: usize,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
- pub lru: list_head,
- pub __bindgen_anon_1: folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
+pub union iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
+ pub __iov: *const iovec,
+ pub kvec: *const kvec,
+ pub bvec: *const bio_vec,
+ pub xarray: *mut xarray,
+ pub ubuf: *mut ::aya_ebpf::cty::c_void,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
- pub __filler: *mut ::aya_ebpf::cty::c_void,
- pub mlock_count: ::aya_ebpf::cty::c_uint,
+#[derive(Copy, Clone)]
+pub union iov_iter__bindgen_ty_2 {
+ pub nr_segs: ::aya_ebpf::cty::c_ulong,
+ pub xarray_start: loff_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union folio__bindgen_ty_1__bindgen_ty_1__bindgen_ty_2 {
+pub struct kiocb {
+ pub ki_filp: *mut file,
+ pub ki_pos: loff_t,
+ pub ki_complete: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut kiocb, arg2: ::aya_ebpf::cty::c_long),
+ >,
pub private: *mut ::aya_ebpf::cty::c_void,
- pub swap: swp_entry_t,
+ pub ki_flags: ::aya_ebpf::cty::c_int,
+ pub ki_ioprio: u16_,
+ pub __bindgen_anon_1: kiocb__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub union folio__bindgen_ty_2 {
- pub __bindgen_anon_1: folio__bindgen_ty_2__bindgen_ty_1,
- pub __page_1: page,
+pub union kiocb__bindgen_ty_1 {
+ pub ki_waitq: *mut wait_page_queue,
+ pub dio_complete:
+ ::core::option::Option isize>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct folio__bindgen_ty_2__bindgen_ty_1 {
- pub _flags_1: ::aya_ebpf::cty::c_ulong,
- pub _head_1: ::aya_ebpf::cty::c_ulong,
- pub _folio_avail: ::aya_ebpf::cty::c_ulong,
- pub _entire_mapcount: atomic_t,
- pub _nr_pages_mapped: atomic_t,
- pub _pincount: atomic_t,
- pub _folio_nr_pages: ::aya_ebpf::cty::c_uint,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union folio__bindgen_ty_3 {
- pub __bindgen_anon_1: folio__bindgen_ty_3__bindgen_ty_1,
- pub __bindgen_anon_2: folio__bindgen_ty_3__bindgen_ty_2,
- pub __page_2: page,
+pub struct hlist_bl_head {
+ pub first: *mut hlist_bl_node,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct folio__bindgen_ty_3__bindgen_ty_1 {
- pub _flags_2: ::aya_ebpf::cty::c_ulong,
- pub _head_2: ::aya_ebpf::cty::c_ulong,
- pub _hugetlb_subpool: *mut ::aya_ebpf::cty::c_void,
- pub _hugetlb_cgroup: *mut ::aya_ebpf::cty::c_void,
- pub _hugetlb_cgroup_rsvd: *mut ::aya_ebpf::cty::c_void,
- pub _hugetlb_hwpoison: *mut ::aya_ebpf::cty::c_void,
+pub struct hlist_bl_node {
+ pub next: *mut hlist_bl_node,
+ pub pprev: *mut *mut hlist_bl_node,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct folio__bindgen_ty_3__bindgen_ty_2 {
- pub _flags_2a: ::aya_ebpf::cty::c_ulong,
- pub _head_2a: ::aya_ebpf::cty::c_ulong,
- pub _deferred_list: list_head,
+#[derive(Copy, Clone)]
+pub struct lockref {
+ pub __bindgen_anon_1: lockref__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct fown_struct {
- pub lock: rwlock_t,
- pub pid: *mut pid,
- pub pid_type: pid_type::Type,
- pub uid: kuid_t,
- pub euid: kuid_t,
- pub signum: ::aya_ebpf::cty::c_int,
+pub union lockref__bindgen_ty_1 {
+ pub lock_count: __u64,
+ pub __bindgen_anon_1: lockref__bindgen_ty_1__bindgen_ty_1,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct file_ra_state {
- pub start: ::aya_ebpf::cty::c_ulong,
- pub size: ::aya_ebpf::cty::c_uint,
- pub async_size: ::aya_ebpf::cty::c_uint,
- pub ra_pages: ::aya_ebpf::cty::c_uint,
- pub mmap_miss: ::aya_ebpf::cty::c_uint,
- pub prev_pos: loff_t,
+#[derive(Copy, Clone)]
+pub struct lockref__bindgen_ty_1__bindgen_ty_1 {
+ pub lock: spinlock_t,
+ pub count: ::aya_ebpf::cty::c_int,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct path {
- pub mnt: *mut vfsmount,
- pub dentry: *mut dentry,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct file {
- pub __bindgen_anon_1: file__bindgen_ty_1,
- pub f_lock: spinlock_t,
- pub f_mode: fmode_t,
- pub f_count: atomic_long_t,
- pub f_pos_lock: mutex,
- pub f_pos: loff_t,
- pub f_flags: ::aya_ebpf::cty::c_uint,
- pub f_owner: fown_struct,
- pub f_cred: *const cred,
- pub f_ra: file_ra_state,
- pub f_path: path,
- pub f_inode: *mut inode,
- pub f_op: *const file_operations,
- pub f_version: u64_,
- pub f_security: *mut ::aya_ebpf::cty::c_void,
- pub private_data: *mut ::aya_ebpf::cty::c_void,
- pub f_ep: *mut hlist_head,
- pub f_mapping: *mut address_space,
- pub f_wb_err: errseq_t,
- pub f_sb_err: errseq_t,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union file__bindgen_ty_1 {
- pub f_task_work: callback_head,
- pub f_llist: llist_node,
- pub f_iocb_flags: ::aya_ebpf::cty::c_uint,
-}
-#[repr(C)]
-#[derive(Debug)]
-pub struct anon_vma_name {
- pub kref: kref,
- pub name: __IncompleteArrayField<::aya_ebpf::cty::c_char>,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct vma_lock {
- pub lock: rw_semaphore,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct vma_numab_state {
- pub next_scan: ::aya_ebpf::cty::c_ulong,
- pub pids_active_reset: ::aya_ebpf::cty::c_ulong,
- pub pids_active: [::aya_ebpf::cty::c_ulong; 2usize],
- pub start_scan_seq: ::aya_ebpf::cty::c_int,
- pub prev_scan_seq: ::aya_ebpf::cty::c_int,
-}
-pub type vm_fault_t = ::aya_ebpf::cty::c_uint;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct vm_operations_struct {
- pub open: ::core::option::Option,
- pub close: ::core::option::Option,
- pub may_split: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut vm_area_struct,
- arg2: ::aya_ebpf::cty::c_ulong,
- ) -> ::aya_ebpf::cty::c_int,
- >,
- pub mremap: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut vm_area_struct) -> ::aya_ebpf::cty::c_int,
- >,
- pub mprotect: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut vm_area_struct,
- arg2: ::aya_ebpf::cty::c_ulong,
- arg3: ::aya_ebpf::cty::c_ulong,
- arg4: ::aya_ebpf::cty::c_ulong,
- ) -> ::aya_ebpf::cty::c_int,
- >,
- pub fault: ::core::option::Option vm_fault_t>,
- pub huge_fault: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut vm_fault, arg2: ::aya_ebpf::cty::c_uint) -> vm_fault_t,
- >,
- pub map_pages: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut vm_fault,
- arg2: ::aya_ebpf::cty::c_ulong,
- arg3: ::aya_ebpf::cty::c_ulong,
- ) -> vm_fault_t,
- >,
- pub pagesize: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut vm_area_struct) -> ::aya_ebpf::cty::c_ulong,
- >,
- pub page_mkwrite:
- ::core::option::Option vm_fault_t>,
- pub pfn_mkwrite:
- ::core::option::Option vm_fault_t>,
- pub access: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut vm_area_struct,
- arg2: ::aya_ebpf::cty::c_ulong,
- arg3: *mut ::aya_ebpf::cty::c_void,
- arg4: ::aya_ebpf::cty::c_int,
- arg5: ::aya_ebpf::cty::c_int,
- ) -> ::aya_ebpf::cty::c_int,
- >,
- pub name: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut vm_area_struct) -> *const ::aya_ebpf::cty::c_char,
- >,
- pub set_policy: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut vm_area_struct,
- arg2: *mut mempolicy,
- ) -> ::aya_ebpf::cty::c_int,
- >,
- pub get_policy: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut vm_area_struct,
- arg2: ::aya_ebpf::cty::c_ulong,
- arg3: *mut ::aya_ebpf::cty::c_ulong,
- ) -> *mut mempolicy,
- >,
- pub find_special_page: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut vm_area_struct,
- arg2: ::aya_ebpf::cty::c_ulong,
- ) -> *mut page,
- >,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct mm_cid {
- pub time: u64_,
- pub cid: ::aya_ebpf::cty::c_int,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct linux_binfmt {
- pub lh: list_head,
- pub module: *mut module,
- pub load_binary: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut linux_binprm) -> ::aya_ebpf::cty::c_int,
- >,
- pub load_shlib:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub core_dump: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut coredump_params) -> ::aya_ebpf::cty::c_int,
- >,
- pub min_coredump: ::aya_ebpf::cty::c_ulong,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct uid_gid_extent {
- pub first: u32_,
- pub lower_first: u32_,
- pub count: u32_,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct uid_gid_map {
- pub nr_extents: u32_,
- pub __bindgen_anon_1: uid_gid_map__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union uid_gid_map__bindgen_ty_1 {
- pub extent: [uid_gid_extent; 5usize],
- pub __bindgen_anon_1: uid_gid_map__bindgen_ty_1__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct uid_gid_map__bindgen_ty_1__bindgen_ty_1 {
- pub forward: *mut uid_gid_extent,
- pub reverse: *mut uid_gid_extent,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ctl_table_header {
- pub __bindgen_anon_1: ctl_table_header__bindgen_ty_1,
- pub unregistering: *mut completion,
- pub ctl_table_arg: *mut ctl_table,
- pub root: *mut ctl_table_root,
- pub set: *mut ctl_table_set,
- pub parent: *mut ctl_dir,
- pub node: *mut ctl_node,
- pub inodes: hlist_head,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union ctl_table_header__bindgen_ty_1 {
- pub __bindgen_anon_1: ctl_table_header__bindgen_ty_1__bindgen_ty_1,
- pub rcu: callback_head,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ctl_table_header__bindgen_ty_1__bindgen_ty_1 {
- pub ctl_table: *mut ctl_table,
- pub ctl_table_size: ::aya_ebpf::cty::c_int,
- pub used: ::aya_ebpf::cty::c_int,
- pub count: ::aya_ebpf::cty::c_int,
- pub nreg: ::aya_ebpf::cty::c_int,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ctl_dir {
- pub header: ctl_table_header,
- pub root: rb_root,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ctl_table_set {
- pub is_seen: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut ctl_table_set) -> ::aya_ebpf::cty::c_int,
- >,
- pub dir: ctl_dir,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct user_namespace {
- pub uid_map: uid_gid_map,
- pub gid_map: uid_gid_map,
- pub projid_map: uid_gid_map,
- pub parent: *mut user_namespace,
- pub level: ::aya_ebpf::cty::c_int,
- pub owner: kuid_t,
- pub group: kgid_t,
- pub ns: ns_common,
- pub flags: ::aya_ebpf::cty::c_ulong,
- pub parent_could_setfcap: bool_,
- pub keyring_name_list: list_head,
- pub user_keyring_register: *mut key,
- pub keyring_sem: rw_semaphore,
- pub persistent_keyring_register: *mut key,
- pub work: work_struct,
- pub set: ctl_table_set,
- pub sysctls: *mut ctl_table_header,
- pub ucounts: *mut ucounts,
- pub ucount_max: [::aya_ebpf::cty::c_long; 12usize],
- pub rlimit_max: [::aya_ebpf::cty::c_long; 4usize],
- pub binfmt_misc: *mut binfmt_misc,
-}
-pub mod fault_flag {
- pub type Type = ::aya_ebpf::cty::c_uint;
- pub const FAULT_FLAG_WRITE: Type = 1;
- pub const FAULT_FLAG_MKWRITE: Type = 2;
- pub const FAULT_FLAG_ALLOW_RETRY: Type = 4;
- pub const FAULT_FLAG_RETRY_NOWAIT: Type = 8;
- pub const FAULT_FLAG_KILLABLE: Type = 16;
- pub const FAULT_FLAG_TRIED: Type = 32;
- pub const FAULT_FLAG_USER: Type = 64;
- pub const FAULT_FLAG_REMOTE: Type = 128;
- pub const FAULT_FLAG_INSTRUCTION: Type = 256;
- pub const FAULT_FLAG_INTERRUPTIBLE: Type = 512;
- pub const FAULT_FLAG_UNSHARE: Type = 1024;
- pub const FAULT_FLAG_ORIG_PTE_VALID: Type = 2048;
- pub const FAULT_FLAG_VMA_LOCK: Type = 4096;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct vm_fault {
- pub __bindgen_anon_1: vm_fault__bindgen_ty_1,
- pub flags: fault_flag::Type,
- pub pmd: *mut pmd_t,
- pub pud: *mut pud_t,
- pub __bindgen_anon_2: vm_fault__bindgen_ty_2,
- pub cow_page: *mut page,
- pub page: *mut page,
- pub pte: *mut pte_t,
- pub ptl: *mut spinlock_t,
- pub prealloc_pte: pgtable_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct vm_fault__bindgen_ty_1 {
- pub vma: *mut vm_area_struct,
- pub gfp_mask: gfp_t,
- pub pgoff: ::aya_ebpf::cty::c_ulong,
- pub address: ::aya_ebpf::cty::c_ulong,
- pub real_address: ::aya_ebpf::cty::c_ulong,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union vm_fault__bindgen_ty_2 {
- pub orig_pte: pte_t,
- pub orig_pmd: pmd_t,
-}
-pub type percpu_ref_func_t = ::core::option::Option;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct percpu_ref_data {
- pub count: atomic_long_t,
- pub release: percpu_ref_func_t,
- pub confirm_switch: percpu_ref_func_t,
- pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
- pub rcu: callback_head,
- pub ref_: *mut percpu_ref,
-}
-impl percpu_ref_data {
- #[inline]
- pub fn force_atomic(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
- }
- #[inline]
- pub fn set_force_atomic(&mut self, val: bool_) {
- unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(0usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn allow_reinit(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
- }
- #[inline]
- pub fn set_allow_reinit(&mut self, val: bool_) {
- unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(1usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn new_bitfield_1(
- force_atomic: bool_,
- allow_reinit: bool_,
- ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
- __bindgen_bitfield_unit.set(0usize, 1u8, {
- let force_atomic: u8 = unsafe { ::core::mem::transmute(force_atomic) };
- force_atomic as u64
- });
- __bindgen_bitfield_unit.set(1usize, 1u8, {
- let allow_reinit: u8 = unsafe { ::core::mem::transmute(allow_reinit) };
- allow_reinit as u64
- });
- __bindgen_bitfield_unit
- }
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct shrink_control {
- pub gfp_mask: gfp_t,
- pub nid: ::aya_ebpf::cty::c_int,
- pub nr_to_scan: ::aya_ebpf::cty::c_ulong,
- pub nr_scanned: ::aya_ebpf::cty::c_ulong,
- pub memcg: *mut mem_cgroup,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct shrinker {
- pub count_objects: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut shrinker,
- arg2: *mut shrink_control,
- ) -> ::aya_ebpf::cty::c_ulong,
- >,
- pub scan_objects: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut shrinker,
- arg2: *mut shrink_control,
- ) -> ::aya_ebpf::cty::c_ulong,
- >,
- pub batch: ::aya_ebpf::cty::c_long,
- pub seeks: ::aya_ebpf::cty::c_int,
- pub flags: ::aya_ebpf::cty::c_uint,
- pub refcount: refcount_t,
- pub done: completion,
- pub rcu: callback_head,
- pub private_data: *mut ::aya_ebpf::cty::c_void,
- pub list: list_head,
- pub id: ::aya_ebpf::cty::c_int,
- pub debugfs_id: ::aya_ebpf::cty::c_int,
- pub name: *const ::aya_ebpf::cty::c_char,
- pub debugfs_entry: *mut dentry,
- pub nr_deferred: *mut atomic_long_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct hlist_bl_node {
- pub next: *mut hlist_bl_node,
- pub pprev: *mut *mut hlist_bl_node,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct qstr {
- pub __bindgen_anon_1: qstr__bindgen_ty_1,
- pub name: *const ::aya_ebpf::cty::c_uchar,
+#[derive(Copy, Clone)]
+pub struct qstr {
+ pub __bindgen_anon_1: qstr__bindgen_ty_1,
+ pub name: *const ::aya_ebpf::cty::c_uchar,
}
#[repr(C)]
#[derive(Copy, Clone)]
@@ -5712,23 +6378,6 @@ pub struct qstr__bindgen_ty_1__bindgen_ty_1 {
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct lockref {
- pub __bindgen_anon_1: lockref__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union lockref__bindgen_ty_1 {
- pub lock_count: __u64,
- pub __bindgen_anon_1: lockref__bindgen_ty_1__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct lockref__bindgen_ty_1__bindgen_ty_1 {
- pub lock: spinlock_t,
- pub count: ::aya_ebpf::cty::c_int,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
pub struct dentry {
pub d_flags: ::aya_ebpf::cty::c_uint,
pub d_seq: seqcount_spinlock_t,
@@ -5760,25 +6409,14 @@ pub union dentry__bindgen_ty_2 {
pub d_in_lookup_hash: hlist_bl_node,
pub d_rcu: callback_head,
}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct dev_pagemap_ops {
- pub page_free: ::core::option::Option,
- pub migrate_to_ram:
- ::core::option::Option vm_fault_t>,
- pub memory_failure: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut dev_pagemap,
- arg2: ::aya_ebpf::cty::c_ulong,
- arg3: ::aya_ebpf::cty::c_ulong,
- arg4: ::aya_ebpf::cty::c_int,
- ) -> ::aya_ebpf::cty::c_int,
- >,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct hlist_bl_head {
- pub first: *mut hlist_bl_node,
+pub mod rw_hint {
+ pub type Type = ::aya_ebpf::cty::c_schar;
+ pub const WRITE_LIFE_NOT_SET: Type = 0;
+ pub const WRITE_LIFE_NONE: Type = 1;
+ pub const WRITE_LIFE_SHORT: Type = 2;
+ pub const WRITE_LIFE_MEDIUM: Type = 3;
+ pub const WRITE_LIFE_LONG: Type = 4;
+ pub const WRITE_LIFE_EXTREME: Type = 5;
}
#[repr(C)]
#[derive(Copy, Clone)]
@@ -5804,7 +6442,7 @@ pub struct inode {
pub i_lock: spinlock_t,
pub i_bytes: ::aya_ebpf::cty::c_ushort,
pub i_blkbits: u8_,
- pub i_write_hint: u8_,
+ pub i_write_hint: rw_hint::Type,
pub i_blocks: blkcnt_t,
pub i_state: ::aya_ebpf::cty::c_ulong,
pub i_rwsem: rw_semaphore,
@@ -5864,6 +6502,11 @@ pub union inode__bindgen_ty_4 {
pub i_link: *mut ::aya_ebpf::cty::c_char,
pub i_dir_seq: ::aya_ebpf::cty::c_uint,
}
+pub mod d_real_type {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const D_REAL_DATA: Type = 0;
+ pub const D_REAL_METADATA: Type = 1;
+}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct dentry_operations {
@@ -5909,7 +6552,7 @@ pub struct dentry_operations {
unsafe extern "C" fn(arg1: *const path, arg2: bool_) -> ::aya_ebpf::cty::c_int,
>,
pub d_real: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut dentry, arg2: *const inode) -> *mut dentry,
+ unsafe extern "C" fn(arg1: *mut dentry, arg2: d_real_type::Type) -> *mut dentry,
>,
pub _bitfield_align_1: [u8; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>,
@@ -5958,6 +6601,11 @@ pub struct rcu_sync {
pub cb_head: callback_head,
}
#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rcuwait {
+ pub task: *mut task_struct,
+}
+#[repr(C)]
#[derive(Copy, Clone)]
pub struct percpu_rw_semaphore {
pub rss: rcu_sync,
@@ -5981,15 +6629,6 @@ pub struct uuid_t {
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct list_lru {
- pub node: *mut list_lru_node,
- pub list: list_head,
- pub shrinker_id: ::aya_ebpf::cty::c_int,
- pub memcg_aware: bool_,
- pub xa: xarray,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
pub struct super_block {
pub s_list: list_head,
pub s_dev: dev_t,
@@ -6018,7 +6657,7 @@ pub struct super_block {
pub s_roots: hlist_bl_head,
pub s_mounts: list_head,
pub s_bdev: *mut block_device,
- pub s_bdev_handle: *mut bdev_handle,
+ pub s_bdev_file: *mut file,
pub s_bdi: *mut backing_dev_info,
pub s_mtd: *mut mtd_info,
pub s_instances: hlist_node,
@@ -6033,6 +6672,8 @@ pub struct super_block {
pub s_fsnotify_marks: *mut fsnotify_mark_connector,
pub s_id: [::aya_ebpf::cty::c_char; 32usize],
pub s_uuid: uuid_t,
+ pub s_uuid_len: u8_,
+ pub s_sysfs_name: [::aya_ebpf::cty::c_char; 37usize],
pub s_max_links: ::aya_ebpf::cty::c_uint,
pub s_vfs_rename_mutex: mutex,
pub s_subtype: *const ::aya_ebpf::cty::c_char,
@@ -6051,19 +6692,17 @@ pub struct super_block {
pub destroy_work: work_struct,
pub s_sync_lock: mutex,
pub s_stack_depth: ::aya_ebpf::cty::c_int,
- pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 40usize]>,
pub __bindgen_padding_0: u32,
pub s_inode_list_lock: spinlock_t,
pub s_inodes: list_head,
pub s_inode_wblist_lock: spinlock_t,
pub s_inodes_wb: list_head,
- pub _bitfield_align_2: [u8; 0],
- pub _bitfield_2: __BindgenBitfieldUnit<[u8; 16usize]>,
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16usize]>,
}
impl super_block {
#[inline]
- pub fn new_bitfield_2() -> __BindgenBitfieldUnit<[u8; 16usize]> {
+ pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 16usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 16usize]> = Default::default();
__bindgen_bitfield_unit
}
@@ -6078,28 +6717,41 @@ pub struct vfsmount {
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct kstat {
- pub result_mask: u32_,
- pub mode: umode_t,
- pub nlink: ::aya_ebpf::cty::c_uint,
- pub blksize: u32,
- pub attributes: u64_,
- pub attributes_mask: u64_,
- pub ino: u64_,
- pub dev: dev_t,
- pub rdev: dev_t,
- pub uid: kuid_t,
- pub gid: kgid_t,
- pub size: loff_t,
- pub atime: timespec64,
- pub mtime: timespec64,
- pub ctime: timespec64,
- pub btime: timespec64,
- pub blocks: u64_,
- pub mnt_id: u64_,
- pub dio_mem_align: u32_,
- pub dio_offset_align: u32_,
- pub change_cookie: u64_,
+pub struct shrink_control {
+ pub gfp_mask: gfp_t,
+ pub nid: ::aya_ebpf::cty::c_int,
+ pub nr_to_scan: ::aya_ebpf::cty::c_ulong,
+ pub nr_scanned: ::aya_ebpf::cty::c_ulong,
+ pub memcg: *mut mem_cgroup,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct shrinker {
+ pub count_objects: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut shrinker,
+ arg2: *mut shrink_control,
+ ) -> ::aya_ebpf::cty::c_ulong,
+ >,
+ pub scan_objects: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut shrinker,
+ arg2: *mut shrink_control,
+ ) -> ::aya_ebpf::cty::c_ulong,
+ >,
+ pub batch: ::aya_ebpf::cty::c_long,
+ pub seeks: ::aya_ebpf::cty::c_int,
+ pub flags: ::aya_ebpf::cty::c_uint,
+ pub refcount: refcount_t,
+ pub done: completion,
+ pub rcu: callback_head,
+ pub private_data: *mut ::aya_ebpf::cty::c_void,
+ pub list: list_head,
+ pub id: ::aya_ebpf::cty::c_int,
+ pub debugfs_id: ::aya_ebpf::cty::c_int,
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub debugfs_entry: *mut dentry,
+ pub nr_deferred: *mut atomic_long_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -6139,170 +6791,6 @@ pub struct exception_table_entry {
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct cgroup_subsys_state {
- pub cgroup: *mut cgroup,
- pub ss: *mut cgroup_subsys,
- pub refcnt: percpu_ref,
- pub sibling: list_head,
- pub children: list_head,
- pub rstat_css_node: list_head,
- pub id: ::aya_ebpf::cty::c_int,
- pub flags: ::aya_ebpf::cty::c_uint,
- pub serial_nr: u64_,
- pub online_cnt: atomic_t,
- pub destroy_work: work_struct,
- pub destroy_rwork: rcu_work,
- pub parent: *mut cgroup_subsys_state,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct cgroup_file {
- pub kn: *mut kernfs_node,
- pub notified_at: ::aya_ebpf::cty::c_ulong,
- pub notify_timer: timer_list,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct cgroup_base_stat {
- pub cputime: task_cputime,
- pub forceidle_sum: u64_,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct cgroup_bpf {
- pub effective: [*mut bpf_prog_array; 38usize],
- pub progs: [hlist_head; 38usize],
- pub flags: [u8_; 38usize],
- pub storages: list_head,
- pub inactive: *mut bpf_prog_array,
- pub refcnt: percpu_ref,
- pub release_work: work_struct,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct cgroup_freezer_state {
- pub freeze: bool_,
- pub e_freeze: ::aya_ebpf::cty::c_int,
- pub nr_frozen_descendants: ::aya_ebpf::cty::c_int,
- pub nr_frozen_tasks: ::aya_ebpf::cty::c_int,
-}
-#[repr(C)]
-pub struct cgroup {
- pub self_: cgroup_subsys_state,
- pub flags: ::aya_ebpf::cty::c_ulong,
- pub level: ::aya_ebpf::cty::c_int,
- pub max_depth: ::aya_ebpf::cty::c_int,
- pub nr_descendants: ::aya_ebpf::cty::c_int,
- pub nr_dying_descendants: ::aya_ebpf::cty::c_int,
- pub max_descendants: ::aya_ebpf::cty::c_int,
- pub nr_populated_csets: ::aya_ebpf::cty::c_int,
- pub nr_populated_domain_children: ::aya_ebpf::cty::c_int,
- pub nr_populated_threaded_children: ::aya_ebpf::cty::c_int,
- pub nr_threaded_children: ::aya_ebpf::cty::c_int,
- pub kn: *mut kernfs_node,
- pub procs_file: cgroup_file,
- pub events_file: cgroup_file,
- pub psi_files: [cgroup_file; 4usize],
- pub subtree_control: u16_,
- pub subtree_ss_mask: u16_,
- pub old_subtree_control: u16_,
- pub old_subtree_ss_mask: u16_,
- pub subsys: [*mut cgroup_subsys_state; 14usize],
- pub root: *mut cgroup_root,
- pub cset_links: list_head,
- pub e_csets: [list_head; 14usize],
- pub dom_cgrp: *mut cgroup,
- pub old_dom_cgrp: *mut cgroup,
- pub rstat_cpu: *mut cgroup_rstat_cpu,
- pub rstat_css_list: list_head,
- pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 24usize]>,
- pub _pad_: cacheline_padding,
- pub rstat_flush_next: *mut cgroup,
- pub last_bstat: cgroup_base_stat,
- pub bstat: cgroup_base_stat,
- pub prev_cputime: prev_cputime,
- pub pidlists: list_head,
- pub pidlist_mutex: mutex,
- pub offline_waitq: wait_queue_head_t,
- pub release_agent_work: work_struct,
- pub psi: *mut psi_group,
- pub bpf: cgroup_bpf,
- pub congestion_count: atomic_t,
- pub freezer: cgroup_freezer_state,
- pub bpf_cgrp_storage: *mut bpf_local_storage,
- pub ancestors: __IncompleteArrayField<*mut cgroup>,
-}
-impl cgroup {
- #[inline]
- pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 24usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 24usize]> = Default::default();
- __bindgen_bitfield_unit
- }
-}
-pub type proc_handler = ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ctl_table,
- arg2: ::aya_ebpf::cty::c_int,
- arg3: *mut ::aya_ebpf::cty::c_void,
- arg4: *mut usize,
- arg5: *mut loff_t,
- ) -> ::aya_ebpf::cty::c_int,
->;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ctl_table {
- pub procname: *const ::aya_ebpf::cty::c_char,
- pub data: *mut ::aya_ebpf::cty::c_void,
- pub maxlen: ::aya_ebpf::cty::c_int,
- pub mode: umode_t,
- pub type_: ctl_table__bindgen_ty_1::Type,
- pub proc_handler: proc_handler,
- pub poll: *mut ctl_table_poll,
- pub extra1: *mut ::aya_ebpf::cty::c_void,
- pub extra2: *mut ::aya_ebpf::cty::c_void,
-}
-pub mod ctl_table__bindgen_ty_1 {
- pub type Type = ::aya_ebpf::cty::c_uint;
- pub const SYSCTL_TABLE_TYPE_DEFAULT: Type = 0;
- pub const SYSCTL_TABLE_TYPE_PERMANENTLY_EMPTY: Type = 1;
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ctl_table_poll {
- pub event: atomic_t,
- pub wait: wait_queue_head_t,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct ctl_node {
- pub node: rb_node,
- pub header: *mut ctl_table_header,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct ctl_table_root {
- pub default_set: ctl_table_set,
- pub lookup: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut ctl_table_root) -> *mut ctl_table_set,
- >,
- pub set_ownership: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ctl_table_header,
- arg2: *mut ctl_table,
- arg3: *mut kuid_t,
- arg4: *mut kgid_t,
- ),
- >,
- pub permissions: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut ctl_table_header,
- arg2: *mut ctl_table,
- ) -> ::aya_ebpf::cty::c_int,
- >,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
pub struct key_tag {
pub rcu: callback_head,
pub usage: refcount_t,
@@ -6418,113 +6906,6 @@ pub struct group_info {
pub gid: __IncompleteArrayField,
}
#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct hrtimer_cpu_base {
- pub lock: raw_spinlock_t,
- pub cpu: ::aya_ebpf::cty::c_uint,
- pub active_bases: ::aya_ebpf::cty::c_uint,
- pub clock_was_set_seq: ::aya_ebpf::cty::c_uint,
- pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
- pub nr_events: ::aya_ebpf::cty::c_uint,
- pub nr_retries: ::aya_ebpf::cty::c_ushort,
- pub nr_hangs: ::aya_ebpf::cty::c_ushort,
- pub max_hang_time: ::aya_ebpf::cty::c_uint,
- pub expires_next: ktime_t,
- pub next_timer: *mut hrtimer,
- pub softirq_expires_next: ktime_t,
- pub softirq_next_timer: *mut hrtimer,
- pub clock_base: [hrtimer_clock_base; 8usize],
-}
-impl hrtimer_cpu_base {
- #[inline]
- pub fn hres_active(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_hres_active(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(0usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn in_hrtirq(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_in_hrtirq(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(1usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn hang_detected(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_hang_detected(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(2usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn softirq_activated(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_softirq_activated(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(3usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn online(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_online(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(4usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn new_bitfield_1(
- hres_active: ::aya_ebpf::cty::c_uint,
- in_hrtirq: ::aya_ebpf::cty::c_uint,
- hang_detected: ::aya_ebpf::cty::c_uint,
- softirq_activated: ::aya_ebpf::cty::c_uint,
- online: ::aya_ebpf::cty::c_uint,
- ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
- __bindgen_bitfield_unit.set(0usize, 1u8, {
- let hres_active: u32 = unsafe { ::core::mem::transmute(hres_active) };
- hres_active as u64
- });
- __bindgen_bitfield_unit.set(1usize, 1u8, {
- let in_hrtirq: u32 = unsafe { ::core::mem::transmute(in_hrtirq) };
- in_hrtirq as u64
- });
- __bindgen_bitfield_unit.set(2usize, 1u8, {
- let hang_detected: u32 = unsafe { ::core::mem::transmute(hang_detected) };
- hang_detected as u64
- });
- __bindgen_bitfield_unit.set(3usize, 1u8, {
- let softirq_activated: u32 = unsafe { ::core::mem::transmute(softirq_activated) };
- softirq_activated as u64
- });
- __bindgen_bitfield_unit.set(4usize, 1u8, {
- let online: u32 = unsafe { ::core::mem::transmute(online) };
- online as u64
- });
- __bindgen_bitfield_unit
- }
-}
-#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct core_thread {
pub task: *mut task_struct,
@@ -6538,65 +6919,92 @@ pub struct core_state {
pub startup: completion,
}
#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ld_semaphore {
+ pub count: atomic_long_t,
+ pub wait_lock: raw_spinlock_t,
+ pub wait_readers: ::aya_ebpf::cty::c_uint,
+ pub read_wait: list_head,
+ pub write_wait: list_head,
+}
+pub type tcflag_t = ::aya_ebpf::cty::c_uint;
+pub type cc_t = ::aya_ebpf::cty::c_uchar;
+pub type speed_t = ::aya_ebpf::cty::c_uint;
+#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct taskstats {
- pub version: __u16,
- pub ac_exitcode: __u32,
- pub ac_flag: __u8,
- pub ac_nice: __u8,
- pub cpu_count: __u64,
- pub cpu_delay_total: __u64,
- pub blkio_count: __u64,
- pub blkio_delay_total: __u64,
- pub swapin_count: __u64,
- pub swapin_delay_total: __u64,
- pub cpu_run_real_total: __u64,
- pub cpu_run_virtual_total: __u64,
- pub ac_comm: [::aya_ebpf::cty::c_char; 32usize],
- pub ac_sched: __u8,
- pub ac_pad: [__u8; 3usize],
- pub __bindgen_padding_0: u32,
- pub ac_uid: __u32,
- pub ac_gid: __u32,
- pub ac_pid: __u32,
- pub ac_ppid: __u32,
- pub ac_btime: __u32,
- pub ac_etime: __u64,
- pub ac_utime: __u64,
- pub ac_stime: __u64,
- pub ac_minflt: __u64,
- pub ac_majflt: __u64,
- pub coremem: __u64,
- pub virtmem: __u64,
- pub hiwater_rss: __u64,
- pub hiwater_vm: __u64,
- pub read_char: __u64,
- pub write_char: __u64,
- pub read_syscalls: __u64,
- pub write_syscalls: __u64,
- pub read_bytes: __u64,
- pub write_bytes: __u64,
- pub cancelled_write_bytes: __u64,
- pub nvcsw: __u64,
- pub nivcsw: __u64,
- pub ac_utimescaled: __u64,
- pub ac_stimescaled: __u64,
- pub cpu_scaled_run_real_total: __u64,
- pub freepages_count: __u64,
- pub freepages_delay_total: __u64,
- pub thrashing_count: __u64,
- pub thrashing_delay_total: __u64,
- pub ac_btime64: __u64,
- pub compact_count: __u64,
- pub compact_delay_total: __u64,
- pub ac_tgid: __u32,
- pub ac_tgetime: __u64,
- pub ac_exe_dev: __u64,
- pub ac_exe_inode: __u64,
- pub wpcopy_count: __u64,
- pub wpcopy_delay_total: __u64,
- pub irq_count: __u64,
- pub irq_delay_total: __u64,
+pub struct ktermios {
+ pub c_iflag: tcflag_t,
+ pub c_oflag: tcflag_t,
+ pub c_cflag: tcflag_t,
+ pub c_lflag: tcflag_t,
+ pub c_line: cc_t,
+ pub c_cc: [cc_t; 19usize],
+ pub c_ispeed: speed_t,
+ pub c_ospeed: speed_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct winsize {
+ pub ws_row: ::aya_ebpf::cty::c_ushort,
+ pub ws_col: ::aya_ebpf::cty::c_ushort,
+ pub ws_xpixel: ::aya_ebpf::cty::c_ushort,
+ pub ws_ypixel: ::aya_ebpf::cty::c_ushort,
+}
+#[repr(C)]
+pub struct tty_struct {
+ pub kref: kref,
+ pub index: ::aya_ebpf::cty::c_int,
+ pub dev: *mut device,
+ pub driver: *mut tty_driver,
+ pub port: *mut tty_port,
+ pub ops: *const tty_operations,
+ pub ldisc: *mut tty_ldisc,
+ pub ldisc_sem: ld_semaphore,
+ pub atomic_write_lock: mutex,
+ pub legacy_mutex: mutex,
+ pub throttle_mutex: mutex,
+ pub termios_rwsem: rw_semaphore,
+ pub winsize_mutex: mutex,
+ pub termios: ktermios,
+ pub termios_locked: ktermios,
+ pub name: [::aya_ebpf::cty::c_char; 64usize],
+ pub flags: ::aya_ebpf::cty::c_ulong,
+ pub count: ::aya_ebpf::cty::c_int,
+ pub receive_room: ::aya_ebpf::cty::c_uint,
+ pub winsize: winsize,
+ pub flow: tty_struct__bindgen_ty_1,
+ pub ctrl: tty_struct__bindgen_ty_2,
+ pub hw_stopped: bool_,
+ pub closing: bool_,
+ pub flow_change: ::aya_ebpf::cty::c_int,
+ pub link: *mut tty_struct,
+ pub fasync: *mut fasync_struct,
+ pub write_wait: wait_queue_head_t,
+ pub read_wait: wait_queue_head_t,
+ pub hangup_work: work_struct,
+ pub disc_data: *mut ::aya_ebpf::cty::c_void,
+ pub driver_data: *mut ::aya_ebpf::cty::c_void,
+ pub files_lock: spinlock_t,
+ pub write_cnt: ::aya_ebpf::cty::c_int,
+ pub write_buf: *mut u8_,
+ pub tty_files: list_head,
+ pub SAK_work: work_struct,
+}
+#[repr(C)]
+pub struct tty_struct__bindgen_ty_1 {
+ pub lock: spinlock_t,
+ pub stopped: bool_,
+ pub tco_stopped: bool_,
+ pub unused: __IncompleteArrayField<::aya_ebpf::cty::c_ulong>,
+}
+#[repr(C)]
+pub struct tty_struct__bindgen_ty_2 {
+ pub pgrp: *mut pid,
+ pub session: *mut pid,
+ pub lock: spinlock_t,
+ pub pktstatus: ::aya_ebpf::cty::c_uchar,
+ pub packet: bool_,
+ pub unused: __IncompleteArrayField<::aya_ebpf::cty::c_ulong>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -6637,26 +7045,6 @@ pub struct vfsgid_t {
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct kiocb {
- pub ki_filp: *mut file,
- pub ki_pos: loff_t,
- pub ki_complete: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut kiocb, arg2: ::aya_ebpf::cty::c_long),
- >,
- pub private: *mut ::aya_ebpf::cty::c_void,
- pub ki_flags: ::aya_ebpf::cty::c_int,
- pub ki_ioprio: u16_,
- pub __bindgen_anon_1: kiocb__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union kiocb__bindgen_ty_1 {
- pub ki_waitq: *mut wait_page_queue,
- pub dio_complete:
- ::core::option::Option isize>,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
pub struct iattr {
pub ia_valid: ::aya_ebpf::cty::c_uint,
pub ia_mode: umode_t,
@@ -7024,46 +7412,13 @@ pub struct address_space_operations {
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct iovec {
- pub iov_base: *mut ::aya_ebpf::cty::c_void,
- pub iov_len: __kernel_size_t,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct iov_iter {
- pub iter_type: u8_,
- pub nofault: bool_,
- pub data_source: bool_,
- pub iov_offset: usize,
- pub __bindgen_anon_1: iov_iter__bindgen_ty_1,
- pub __bindgen_anon_2: iov_iter__bindgen_ty_2,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union iov_iter__bindgen_ty_1 {
- pub __ubuf_iovec: iovec,
- pub __bindgen_anon_1: iov_iter__bindgen_ty_1__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct iov_iter__bindgen_ty_1__bindgen_ty_1 {
- pub __bindgen_anon_1: iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1,
- pub count: usize,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union iov_iter__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1 {
- pub __iov: *const iovec,
- pub kvec: *const kvec,
- pub bvec: *const bio_vec,
- pub xarray: *mut xarray,
- pub ubuf: *mut ::aya_ebpf::cty::c_void,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union iov_iter__bindgen_ty_2 {
- pub nr_segs: ::aya_ebpf::cty::c_ulong,
- pub xarray_start: loff_t,
+pub struct cdev {
+ pub kobj: kobject,
+ pub owner: *mut module,
+ pub ops: *const file_operations,
+ pub list: list_head,
+ pub dev: dev_t,
+ pub count: ::aya_ebpf::cty::c_uint,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
@@ -7599,40 +7954,11 @@ pub struct dir_context {
pub actor: filldir_t,
pub pos: loff_t,
}
-pub type poll_queue_proc = ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut file,
- arg2: *mut wait_queue_head_t,
- arg3: *mut poll_table_struct,
- ),
->;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct poll_table_struct {
- pub _qproc: poll_queue_proc,
- pub _key: __poll_t,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct seq_file {
- pub buf: *mut ::aya_ebpf::cty::c_char,
- pub size: usize,
- pub from: usize,
- pub count: usize,
- pub pad_until: usize,
- pub index: loff_t,
- pub read_pos: loff_t,
- pub lock: mutex,
- pub op: *const seq_operations,
- pub poll_event: ::aya_ebpf::cty::c_int,
- pub file: *const file,
- pub private: *mut ::aya_ebpf::cty::c_void,
-}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct offset_ctx {
- pub xa: xarray,
- pub next_offset: u32_,
+ pub mt: maple_tree,
+ pub next_offset: ::aya_ebpf::cty::c_ulong,
}
pub type fs_param_type = ::core::option::Option<
unsafe extern "C" fn(
@@ -7651,3407 +7977,3379 @@ pub struct fs_parameter_spec {
pub flags: ::aya_ebpf::cty::c_ushort,
pub data: *const ::aya_ebpf::cty::c_void,
}
+pub type Elf64_Addr = __u64;
+pub type Elf64_Half = __u16;
+pub type Elf64_Word = __u32;
+pub type Elf64_Xword = __u64;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct kvec {
- pub iov_base: *mut ::aya_ebpf::cty::c_void,
- pub iov_len: usize,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct bio_vec {
- pub bv_page: *mut page,
- pub bv_len: ::aya_ebpf::cty::c_uint,
- pub bv_offset: ::aya_ebpf::cty::c_uint,
+pub struct elf64_sym {
+ pub st_name: Elf64_Word,
+ pub st_info: ::aya_ebpf::cty::c_uchar,
+ pub st_other: ::aya_ebpf::cty::c_uchar,
+ pub st_shndx: Elf64_Half,
+ pub st_value: Elf64_Addr,
+ pub st_size: Elf64_Xword,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct linux_binprm {
- pub vma: *mut vm_area_struct,
- pub vma_pages: ::aya_ebpf::cty::c_ulong,
- pub mm: *mut mm_struct,
- pub p: ::aya_ebpf::cty::c_ulong,
- pub argmin: ::aya_ebpf::cty::c_ulong,
- pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
- pub executable: *mut file,
- pub interpreter: *mut file,
- pub file: *mut file,
- pub cred: *mut cred,
- pub unsafe_: ::aya_ebpf::cty::c_int,
- pub per_clear: ::aya_ebpf::cty::c_uint,
- pub argc: ::aya_ebpf::cty::c_int,
- pub envc: ::aya_ebpf::cty::c_int,
- pub filename: *const ::aya_ebpf::cty::c_char,
- pub interp: *const ::aya_ebpf::cty::c_char,
- pub fdpath: *const ::aya_ebpf::cty::c_char,
- pub interp_flags: ::aya_ebpf::cty::c_uint,
- pub execfd: ::aya_ebpf::cty::c_int,
- pub loader: ::aya_ebpf::cty::c_ulong,
- pub exec: ::aya_ebpf::cty::c_ulong,
- pub rlim_stack: rlimit,
- pub buf: [::aya_ebpf::cty::c_char; 256usize],
-}
-impl linux_binprm {
- #[inline]
- pub fn have_execfd(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_have_execfd(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(0usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn execfd_creds(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_execfd_creds(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(1usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn secureexec(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_secureexec(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(2usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn point_of_no_return(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_point_of_no_return(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(3usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn new_bitfield_1(
- have_execfd: ::aya_ebpf::cty::c_uint,
- execfd_creds: ::aya_ebpf::cty::c_uint,
- secureexec: ::aya_ebpf::cty::c_uint,
- point_of_no_return: ::aya_ebpf::cty::c_uint,
- ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
- __bindgen_bitfield_unit.set(0usize, 1u8, {
- let have_execfd: u32 = unsafe { ::core::mem::transmute(have_execfd) };
- have_execfd as u64
- });
- __bindgen_bitfield_unit.set(1usize, 1u8, {
- let execfd_creds: u32 = unsafe { ::core::mem::transmute(execfd_creds) };
- execfd_creds as u64
- });
- __bindgen_bitfield_unit.set(2usize, 1u8, {
- let secureexec: u32 = unsafe { ::core::mem::transmute(secureexec) };
- secureexec as u64
- });
- __bindgen_bitfield_unit.set(3usize, 1u8, {
- let point_of_no_return: u32 = unsafe { ::core::mem::transmute(point_of_no_return) };
- point_of_no_return as u64
- });
- __bindgen_bitfield_unit
- }
+#[derive(Copy, Clone)]
+pub struct kernel_param {
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub mod_: *mut module,
+ pub ops: *const kernel_param_ops,
+ pub perm: u16_,
+ pub level: s8,
+ pub flags: u8_,
+ pub __bindgen_anon_1: kernel_param__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct binfmt_misc {
- pub entries: list_head,
- pub entries_lock: rwlock_t,
- pub enabled: bool_,
+pub union kernel_param__bindgen_ty_1 {
+ pub arg: *mut ::aya_ebpf::cty::c_void,
+ pub str_: *const kparam_string,
+ pub arr: *const kparam_array,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct kernfs_elem_dir {
- pub subdirs: ::aya_ebpf::cty::c_ulong,
- pub children: rb_root,
- pub root: *mut kernfs_root,
- pub rev: ::aya_ebpf::cty::c_ulong,
+pub struct kparam_string {
+ pub maxlen: ::aya_ebpf::cty::c_uint,
+ pub string: *mut ::aya_ebpf::cty::c_char,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct kernfs_elem_symlink {
- pub target_kn: *mut kernfs_node,
+pub struct kparam_array {
+ pub max: ::aya_ebpf::cty::c_uint,
+ pub elemsize: ::aya_ebpf::cty::c_uint,
+ pub num: *mut ::aya_ebpf::cty::c_uint,
+ pub ops: *const kernel_param_ops,
+ pub elem: *mut ::aya_ebpf::cty::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct kernfs_elem_attr {
- pub ops: *const kernfs_ops,
- pub open: *mut kernfs_open_node,
- pub size: loff_t,
- pub notify_next: *mut kernfs_node,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct kernfs_node {
- pub count: atomic_t,
- pub active: atomic_t,
- pub parent: *mut kernfs_node,
- pub name: *const ::aya_ebpf::cty::c_char,
- pub rb: rb_node,
- pub ns: *const ::aya_ebpf::cty::c_void,
- pub hash: ::aya_ebpf::cty::c_uint,
- pub __bindgen_anon_1: kernfs_node__bindgen_ty_1,
- pub priv_: *mut ::aya_ebpf::cty::c_void,
- pub id: u64_,
- pub flags: ::aya_ebpf::cty::c_ushort,
- pub mode: umode_t,
- pub iattr: *mut kernfs_iattrs,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union kernfs_node__bindgen_ty_1 {
- pub dir: kernfs_elem_dir,
- pub symlink: kernfs_elem_symlink,
- pub attr: kernfs_elem_attr,
+pub struct error_injection_entry {
+ pub addr: ::aya_ebpf::cty::c_ulong,
+ pub etype: ::aya_ebpf::cty::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct kernfs_ops {
- pub open: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut kernfs_open_file) -> ::aya_ebpf::cty::c_int,
- >,
- pub release: ::core::option::Option,
- pub seq_show: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut seq_file,
- arg2: *mut ::aya_ebpf::cty::c_void,
- ) -> ::aya_ebpf::cty::c_int,
- >,
- pub seq_start: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut seq_file,
- arg2: *mut loff_t,
- ) -> *mut ::aya_ebpf::cty::c_void,
- >,
- pub seq_next: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut seq_file,
- arg2: *mut ::aya_ebpf::cty::c_void,
- arg3: *mut loff_t,
- ) -> *mut ::aya_ebpf::cty::c_void,
- >,
- pub seq_stop: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut seq_file, arg2: *mut ::aya_ebpf::cty::c_void),
- >,
- pub read: ::core::option::Option<
+pub struct module_attribute {
+ pub attr: attribute,
+ pub show: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *mut kernfs_open_file,
- arg2: *mut ::aya_ebpf::cty::c_char,
- arg3: usize,
- arg4: loff_t,
+ arg1: *mut module_attribute,
+ arg2: *mut module_kobject,
+ arg3: *mut ::aya_ebpf::cty::c_char,
) -> isize,
>,
- pub atomic_write_len: usize,
- pub prealloc: bool_,
- pub write: ::core::option::Option<
+ pub store: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *mut kernfs_open_file,
- arg2: *mut ::aya_ebpf::cty::c_char,
- arg3: usize,
- arg4: loff_t,
+ arg1: *mut module_attribute,
+ arg2: *mut module_kobject,
+ arg3: *const ::aya_ebpf::cty::c_char,
+ arg4: usize,
) -> isize,
>,
- pub poll: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut kernfs_open_file, arg2: *mut poll_table_struct) -> __poll_t,
- >,
- pub mmap: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut kernfs_open_file,
- arg2: *mut vm_area_struct,
- ) -> ::aya_ebpf::cty::c_int,
- >,
- pub llseek: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut kernfs_open_file,
- arg2: loff_t,
- arg3: ::aya_ebpf::cty::c_int,
- ) -> loff_t,
+ pub setup: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut module, arg2: *const ::aya_ebpf::cty::c_char),
>,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct kernfs_open_file {
- pub kn: *mut kernfs_node,
- pub file: *mut file,
- pub seq_file: *mut seq_file,
- pub priv_: *mut ::aya_ebpf::cty::c_void,
- pub mutex: mutex,
- pub prealloc_mutex: mutex,
- pub event: ::aya_ebpf::cty::c_int,
- pub list: list_head,
- pub prealloc_buf: *mut ::aya_ebpf::cty::c_char,
- pub atomic_write_len: usize,
- pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
- pub vm_ops: *const vm_operations_struct,
-}
-impl kernfs_open_file {
- #[inline]
- pub fn mmapped(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
- }
- #[inline]
- pub fn set_mmapped(&mut self, val: bool_) {
- unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(0usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn released(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
- }
- #[inline]
- pub fn set_released(&mut self, val: bool_) {
- unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(1usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn new_bitfield_1(mmapped: bool_, released: bool_) -> __BindgenBitfieldUnit<[u8; 1usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
- __bindgen_bitfield_unit.set(0usize, 1u8, {
- let mmapped: u8 = unsafe { ::core::mem::transmute(mmapped) };
- mmapped as u64
- });
- __bindgen_bitfield_unit.set(1usize, 1u8, {
- let released: u8 = unsafe { ::core::mem::transmute(released) };
- released as u64
- });
- __bindgen_bitfield_unit
- }
-}
-pub mod kobj_ns_type {
- pub type Type = ::aya_ebpf::cty::c_uint;
- pub const KOBJ_NS_TYPE_NONE: Type = 0;
- pub const KOBJ_NS_TYPE_NET: Type = 1;
- pub const KOBJ_NS_TYPES: Type = 2;
+ pub test:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub free: ::core::option::Option,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct kobj_ns_type_operations {
- pub type_: kobj_ns_type::Type,
- pub current_may_mount: ::core::option::Option bool_>,
- pub grab_current_ns:
- ::core::option::Option *mut ::aya_ebpf::cty::c_void>,
- pub netlink_ns: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut sock) -> *const ::aya_ebpf::cty::c_void,
- >,
- pub initial_ns:
- ::core::option::Option *const ::aya_ebpf::cty::c_void>,
- pub drop_ns: ::core::option::Option,
+pub struct kernel_symbol {
+ pub value_offset: ::aya_ebpf::cty::c_int,
+ pub name_offset: ::aya_ebpf::cty::c_int,
+ pub namespace_offset: ::aya_ebpf::cty::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct attribute {
- pub name: *const ::aya_ebpf::cty::c_char,
- pub mode: umode_t,
+pub struct of_device_id {
+ pub name: [::aya_ebpf::cty::c_char; 32usize],
+ pub type_: [::aya_ebpf::cty::c_char; 32usize],
+ pub compatible: [::aya_ebpf::cty::c_char; 128usize],
+ pub data: *const ::aya_ebpf::cty::c_void,
}
+pub type kernel_ulong_t = ::aya_ebpf::cty::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct bin_attribute {
- pub attr: attribute,
- pub size: usize,
- pub private: *mut ::aya_ebpf::cty::c_void,
- pub f_mapping: ::core::option::Option *mut address_space>,
- pub read: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut file,
- arg2: *mut kobject,
- arg3: *mut bin_attribute,
- arg4: *mut ::aya_ebpf::cty::c_char,
- arg5: loff_t,
- arg6: usize,
- ) -> isize,
- >,
- pub write: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut file,
- arg2: *mut kobject,
- arg3: *mut bin_attribute,
- arg4: *mut ::aya_ebpf::cty::c_char,
- arg5: loff_t,
- arg6: usize,
- ) -> isize,
- >,
- pub llseek: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut file,
- arg2: *mut kobject,
- arg3: *mut bin_attribute,
- arg4: loff_t,
- arg5: ::aya_ebpf::cty::c_int,
- ) -> loff_t,
- >,
- pub mmap: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut file,
- arg2: *mut kobject,
- arg3: *mut bin_attribute,
- arg4: *mut vm_area_struct,
- ) -> ::aya_ebpf::cty::c_int,
- >,
+pub struct acpi_device_id {
+ pub id: [__u8; 16usize],
+ pub driver_data: kernel_ulong_t,
+ pub cls: __u32,
+ pub cls_msk: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct sysfs_ops {
+pub struct device_attribute {
+ pub attr: attribute,
pub show: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *mut kobject,
- arg2: *mut attribute,
+ arg1: *mut device,
+ arg2: *mut device_attribute,
arg3: *mut ::aya_ebpf::cty::c_char,
) -> isize,
>,
pub store: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *mut kobject,
- arg2: *mut attribute,
+ arg1: *mut device,
+ arg2: *mut device_attribute,
arg3: *const ::aya_ebpf::cty::c_char,
arg4: usize,
) -> isize,
>,
}
#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct kset {
- pub list: list_head,
- pub list_lock: spinlock_t,
- pub kobj: kobject,
- pub uevent_ops: *const kset_uevent_ops,
-}
-#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct kobj_type {
- pub release: ::core::option::Option,
- pub sysfs_ops: *const sysfs_ops,
- pub default_groups: *mut *const attribute_group,
- pub child_ns_type: ::core::option::Option<
- unsafe extern "C" fn(arg1: *const kobject) -> *const kobj_ns_type_operations,
- >,
- pub namespace: ::core::option::Option<
- unsafe extern "C" fn(arg1: *const kobject) -> *const ::aya_ebpf::cty::c_void,
- >,
- pub get_ownership: ::core::option::Option<
- unsafe extern "C" fn(arg1: *const kobject, arg2: *mut kuid_t, arg3: *mut kgid_t),
- >,
+pub struct device_dma_parameters {
+ pub max_segment_size: ::aya_ebpf::cty::c_uint,
+ pub min_align_mask: ::aya_ebpf::cty::c_uint,
+ pub segment_boundary_mask: ::aya_ebpf::cty::c_ulong,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct kobj_uevent_env {
- pub argv: [*mut ::aya_ebpf::cty::c_char; 3usize],
- pub envp: [*mut ::aya_ebpf::cty::c_char; 64usize],
- pub envp_idx: ::aya_ebpf::cty::c_int,
- pub buf: [::aya_ebpf::cty::c_char; 2048usize],
- pub buflen: ::aya_ebpf::cty::c_int,
+#[derive(Copy, Clone)]
+pub struct msi_dev_domain {
+ pub store: xarray,
+ pub domain: *mut irq_domain,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct kset_uevent_ops {
- pub filter: ::core::option::Option<
- unsafe extern "C" fn(arg1: *const kobject) -> ::aya_ebpf::cty::c_int,
- >,
- pub name: ::core::option::Option<
- unsafe extern "C" fn(arg1: *const kobject) -> *const ::aya_ebpf::cty::c_char,
- >,
- pub uevent: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *const kobject,
- arg2: *mut kobj_uevent_env,
- ) -> ::aya_ebpf::cty::c_int,
- >,
+#[derive(Copy, Clone)]
+pub struct msi_device_data {
+ pub properties: ::aya_ebpf::cty::c_ulong,
+ pub platform_data: *mut platform_msi_priv_data,
+ pub mutex: mutex,
+ pub __domains: [msi_dev_domain; 2usize],
+ pub __iter_idx: ::aya_ebpf::cty::c_ulong,
}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct em_perf_state {
- pub frequency: ::aya_ebpf::cty::c_ulong,
- pub power: ::aya_ebpf::cty::c_ulong,
- pub cost: ::aya_ebpf::cty::c_ulong,
- pub flags: ::aya_ebpf::cty::c_ulong,
+pub mod device_physical_location_panel {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const DEVICE_PANEL_TOP: Type = 0;
+ pub const DEVICE_PANEL_BOTTOM: Type = 1;
+ pub const DEVICE_PANEL_LEFT: Type = 2;
+ pub const DEVICE_PANEL_RIGHT: Type = 3;
+ pub const DEVICE_PANEL_FRONT: Type = 4;
+ pub const DEVICE_PANEL_BACK: Type = 5;
+ pub const DEVICE_PANEL_UNKNOWN: Type = 6;
}
-#[repr(C)]
-#[derive(Debug)]
-pub struct em_perf_domain {
- pub table: *mut em_perf_state,
- pub nr_perf_states: ::aya_ebpf::cty::c_int,
- pub flags: ::aya_ebpf::cty::c_ulong,
- pub cpus: __IncompleteArrayField<::aya_ebpf::cty::c_ulong>,
+pub mod device_physical_location_vertical_position {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const DEVICE_VERT_POS_UPPER: Type = 0;
+ pub const DEVICE_VERT_POS_CENTER: Type = 1;
+ pub const DEVICE_VERT_POS_LOWER: Type = 2;
}
-pub mod dl_dev_state {
+pub mod device_physical_location_horizontal_position {
pub type Type = ::aya_ebpf::cty::c_uint;
- pub const DL_DEV_NO_DRIVER: Type = 0;
- pub const DL_DEV_PROBING: Type = 1;
- pub const DL_DEV_DRIVER_BOUND: Type = 2;
- pub const DL_DEV_UNBINDING: Type = 3;
+ pub const DEVICE_HORI_POS_LEFT: Type = 0;
+ pub const DEVICE_HORI_POS_CENTER: Type = 1;
+ pub const DEVICE_HORI_POS_RIGHT: Type = 2;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct dev_links_info {
+pub struct device_physical_location {
+ pub panel: device_physical_location_panel::Type,
+ pub vertical_position: device_physical_location_vertical_position::Type,
+ pub horizontal_position: device_physical_location_horizontal_position::Type,
+ pub dock: bool_,
+ pub lid: bool_,
+}
+pub type dma_addr_t = u64_;
+pub mod dma_data_direction {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const DMA_BIDIRECTIONAL: Type = 0;
+ pub const DMA_TO_DEVICE: Type = 1;
+ pub const DMA_FROM_DEVICE: Type = 2;
+ pub const DMA_NONE: Type = 3;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct dma_map_ops {
+ pub flags: ::aya_ebpf::cty::c_uint,
+ pub alloc: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: usize,
+ arg3: *mut dma_addr_t,
+ arg4: gfp_t,
+ arg5: ::aya_ebpf::cty::c_ulong,
+ ) -> *mut ::aya_ebpf::cty::c_void,
+ >,
+ pub free: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: usize,
+ arg3: *mut ::aya_ebpf::cty::c_void,
+ arg4: dma_addr_t,
+ arg5: ::aya_ebpf::cty::c_ulong,
+ ),
+ >,
+ pub alloc_pages: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: usize,
+ arg3: *mut dma_addr_t,
+ arg4: dma_data_direction::Type,
+ arg5: gfp_t,
+ ) -> *mut page,
+ >,
+ pub free_pages: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: usize,
+ arg3: *mut page,
+ arg4: dma_addr_t,
+ arg5: dma_data_direction::Type,
+ ),
+ >,
+ pub alloc_noncontiguous: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: usize,
+ arg3: dma_data_direction::Type,
+ arg4: gfp_t,
+ arg5: ::aya_ebpf::cty::c_ulong,
+ ) -> *mut sg_table,
+ >,
+ pub free_noncontiguous: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: usize,
+ arg3: *mut sg_table,
+ arg4: dma_data_direction::Type,
+ ),
+ >,
+ pub mmap: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: *mut vm_area_struct,
+ arg3: *mut ::aya_ebpf::cty::c_void,
+ arg4: dma_addr_t,
+ arg5: usize,
+ arg6: ::aya_ebpf::cty::c_ulong,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub get_sgtable: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: *mut sg_table,
+ arg3: *mut ::aya_ebpf::cty::c_void,
+ arg4: dma_addr_t,
+ arg5: usize,
+ arg6: ::aya_ebpf::cty::c_ulong,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub map_page: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: *mut page,
+ arg3: ::aya_ebpf::cty::c_ulong,
+ arg4: usize,
+ arg5: dma_data_direction::Type,
+ arg6: ::aya_ebpf::cty::c_ulong,
+ ) -> dma_addr_t,
+ >,
+ pub unmap_page: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: dma_addr_t,
+ arg3: usize,
+ arg4: dma_data_direction::Type,
+ arg5: ::aya_ebpf::cty::c_ulong,
+ ),
+ >,
+ pub map_sg: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: *mut scatterlist,
+ arg3: ::aya_ebpf::cty::c_int,
+ arg4: dma_data_direction::Type,
+ arg5: ::aya_ebpf::cty::c_ulong,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub unmap_sg: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: *mut scatterlist,
+ arg3: ::aya_ebpf::cty::c_int,
+ arg4: dma_data_direction::Type,
+ arg5: ::aya_ebpf::cty::c_ulong,
+ ),
+ >,
+ pub map_resource: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: phys_addr_t,
+ arg3: usize,
+ arg4: dma_data_direction::Type,
+ arg5: ::aya_ebpf::cty::c_ulong,
+ ) -> dma_addr_t,
+ >,
+ pub unmap_resource: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: dma_addr_t,
+ arg3: usize,
+ arg4: dma_data_direction::Type,
+ arg5: ::aya_ebpf::cty::c_ulong,
+ ),
+ >,
+ pub sync_single_for_cpu: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: dma_addr_t,
+ arg3: usize,
+ arg4: dma_data_direction::Type,
+ ),
+ >,
+ pub sync_single_for_device: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: dma_addr_t,
+ arg3: usize,
+ arg4: dma_data_direction::Type,
+ ),
+ >,
+ pub sync_sg_for_cpu: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: *mut scatterlist,
+ arg3: ::aya_ebpf::cty::c_int,
+ arg4: dma_data_direction::Type,
+ ),
+ >,
+ pub sync_sg_for_device: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: *mut scatterlist,
+ arg3: ::aya_ebpf::cty::c_int,
+ arg4: dma_data_direction::Type,
+ ),
+ >,
+ pub cache_sync: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut device,
+ arg2: *mut ::aya_ebpf::cty::c_void,
+ arg3: usize,
+ arg4: dma_data_direction::Type,
+ ),
+ >,
+ pub dma_supported: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut device, arg2: u64_) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub get_required_mask: ::core::option::Option u64_>,
+ pub max_mapping_size: ::core::option::Option usize>,
+ pub opt_mapping_size: ::core::option::Option usize>,
+ pub get_merge_boundary:
+ ::core::option::Option ::aya_ebpf::cty::c_ulong>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct bus_dma_region {
+ pub cpu_start: phys_addr_t,
+ pub dma_start: dma_addr_t,
+ pub size: u64_,
+}
+pub type phandle = u32_;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fwnode_handle {
+ pub secondary: *mut fwnode_handle,
+ pub ops: *const fwnode_operations,
+ pub dev: *mut device,
pub suppliers: list_head,
pub consumers: list_head,
- pub defer_sync: list_head,
- pub status: dl_dev_state::Type,
+ pub flags: u8_,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct pm_message {
- pub event: ::aya_ebpf::cty::c_int,
+pub struct device_node {
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub phandle: phandle,
+ pub full_name: *const ::aya_ebpf::cty::c_char,
+ pub fwnode: fwnode_handle,
+ pub properties: *mut property,
+ pub deadprops: *mut property,
+ pub parent: *mut device_node,
+ pub child: *mut device_node,
+ pub sibling: *mut device_node,
+ pub _flags: ::aya_ebpf::cty::c_ulong,
+ pub data: *mut ::aya_ebpf::cty::c_void,
}
-pub type pm_message_t = pm_message;
-pub mod rpm_request {
+pub mod dev_dma_attr {
pub type Type = ::aya_ebpf::cty::c_uint;
- pub const RPM_REQ_NONE: Type = 0;
- pub const RPM_REQ_IDLE: Type = 1;
- pub const RPM_REQ_SUSPEND: Type = 2;
- pub const RPM_REQ_AUTOSUSPEND: Type = 3;
- pub const RPM_REQ_RESUME: Type = 4;
+ pub const DEV_DMA_NOT_SUPPORTED: Type = 0;
+ pub const DEV_DMA_NON_COHERENT: Type = 1;
+ pub const DEV_DMA_COHERENT: Type = 2;
}
-pub mod rpm_status {
- pub type Type = ::aya_ebpf::cty::c_int;
- pub const RPM_INVALID: Type = -1;
- pub const RPM_ACTIVE: Type = 0;
- pub const RPM_RESUMING: Type = 1;
- pub const RPM_SUSPENDED: Type = 2;
- pub const RPM_SUSPENDING: Type = 3;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fwnode_operations {
+ pub get: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut fwnode_handle) -> *mut fwnode_handle,
+ >,
+ pub put: ::core::option::Option,
+ pub device_is_available:
+ ::core::option::Option bool_>,
+ pub device_get_match_data: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const fwnode_handle,
+ arg2: *const device,
+ ) -> *const ::aya_ebpf::cty::c_void,
+ >,
+ pub device_dma_supported:
+ ::core::option::Option bool_>,
+ pub device_get_dma_attr: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const fwnode_handle) -> dev_dma_attr::Type,
+ >,
+ pub property_present: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const fwnode_handle,
+ arg2: *const ::aya_ebpf::cty::c_char,
+ ) -> bool_,
+ >,
+ pub property_read_int_array: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const fwnode_handle,
+ arg2: *const ::aya_ebpf::cty::c_char,
+ arg3: ::aya_ebpf::cty::c_uint,
+ arg4: *mut ::aya_ebpf::cty::c_void,
+ arg5: usize,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub property_read_string_array: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const fwnode_handle,
+ arg2: *const ::aya_ebpf::cty::c_char,
+ arg3: *mut *const ::aya_ebpf::cty::c_char,
+ arg4: usize,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub get_name: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const fwnode_handle) -> *const ::aya_ebpf::cty::c_char,
+ >,
+ pub get_name_prefix: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const fwnode_handle) -> *const ::aya_ebpf::cty::c_char,
+ >,
+ pub get_parent: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const fwnode_handle) -> *mut fwnode_handle,
+ >,
+ pub get_next_child_node: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const fwnode_handle,
+ arg2: *mut fwnode_handle,
+ ) -> *mut fwnode_handle,
+ >,
+ pub get_named_child_node: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const fwnode_handle,
+ arg2: *const ::aya_ebpf::cty::c_char,
+ ) -> *mut fwnode_handle,
+ >,
+ pub get_reference_args: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const fwnode_handle,
+ arg2: *const ::aya_ebpf::cty::c_char,
+ arg3: *const ::aya_ebpf::cty::c_char,
+ arg4: ::aya_ebpf::cty::c_uint,
+ arg5: ::aya_ebpf::cty::c_uint,
+ arg6: *mut fwnode_reference_args,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub graph_get_next_endpoint: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const fwnode_handle,
+ arg2: *mut fwnode_handle,
+ ) -> *mut fwnode_handle,
+ >,
+ pub graph_get_remote_endpoint: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *const fwnode_handle) -> *mut fwnode_handle,
+ >,
+ pub graph_get_port_parent: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut fwnode_handle) -> *mut fwnode_handle,
+ >,
+ pub graph_parse_endpoint: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const fwnode_handle,
+ arg2: *mut fwnode_endpoint,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub iomap: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut fwnode_handle,
+ arg2: ::aya_ebpf::cty::c_int,
+ ) -> *mut ::aya_ebpf::cty::c_void,
+ >,
+ pub irq_get: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const fwnode_handle,
+ arg2: ::aya_ebpf::cty::c_uint,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub add_links: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut fwnode_handle) -> ::aya_ebpf::cty::c_int,
+ >,
}
#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct dev_pm_info {
- pub power_state: pm_message_t,
+#[derive(Debug, Copy, Clone)]
+pub struct fwnode_endpoint {
+ pub port: ::aya_ebpf::cty::c_uint,
+ pub id: ::aya_ebpf::cty::c_uint,
+ pub local_fwnode: *const fwnode_handle,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct fwnode_reference_args {
+ pub fwnode: *mut fwnode_handle,
+ pub nargs: ::aya_ebpf::cty::c_uint,
+ pub args: [u64_; 8usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct property {
+ pub name: *mut ::aya_ebpf::cty::c_char,
+ pub length: ::aya_ebpf::cty::c_int,
+ pub value: *mut ::aya_ebpf::cty::c_void,
+ pub next: *mut property,
+}
+pub mod irqreturn {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const IRQ_NONE: Type = 0;
+ pub const IRQ_HANDLED: Type = 1;
+ pub const IRQ_WAKE_THREAD: Type = 2;
+}
+pub use self::irqreturn::Type as irqreturn_t;
+pub type irq_handler_t = ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: ::aya_ebpf::cty::c_int,
+ arg2: *mut ::aya_ebpf::cty::c_void,
+ ) -> irqreturn_t,
+>;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct irqaction {
+ pub handler: irq_handler_t,
+ pub dev_id: *mut ::aya_ebpf::cty::c_void,
+ pub percpu_dev_id: *mut ::aya_ebpf::cty::c_void,
+ pub next: *mut irqaction,
+ pub thread_fn: irq_handler_t,
+ pub thread: *mut task_struct,
+ pub secondary: *mut irqaction,
+ pub irq: ::aya_ebpf::cty::c_uint,
+ pub flags: ::aya_ebpf::cty::c_uint,
+ pub thread_flags: ::aya_ebpf::cty::c_ulong,
+ pub thread_mask: ::aya_ebpf::cty::c_ulong,
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub dir: *mut proc_dir_entry,
pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
- pub driver_flags: u32_,
- pub lock: spinlock_t,
- pub entry: list_head,
- pub completion: completion,
- pub wakeup: *mut wakeup_source,
- pub _bitfield_align_2: [u8; 0],
- pub _bitfield_2: __BindgenBitfieldUnit<[u8; 1usize]>,
- pub suspend_timer: hrtimer,
- pub timer_expires: u64_,
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 32usize]>,
+}
+impl irqaction {
+ #[inline]
+ pub fn new_bitfield_1() -> __BindgenBitfieldUnit<[u8; 32usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 32usize]> = Default::default();
+ __bindgen_bitfield_unit
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct irq_affinity_notify {
+ pub irq: ::aya_ebpf::cty::c_uint,
+ pub kref: kref,
pub work: work_struct,
- pub wait_queue: wait_queue_head_t,
- pub wakeirq: *mut wake_irq,
- pub usage_count: atomic_t,
- pub child_count: atomic_t,
- pub _bitfield_align_3: [u8; 0],
- pub _bitfield_3: __BindgenBitfieldUnit<[u8; 2usize]>,
- pub links_count: ::aya_ebpf::cty::c_uint,
- pub request: rpm_request::Type,
- pub runtime_status: rpm_status::Type,
- pub last_status: rpm_status::Type,
- pub runtime_error: ::aya_ebpf::cty::c_int,
- pub autosuspend_delay: ::aya_ebpf::cty::c_int,
- pub last_busy: u64_,
- pub active_time: u64_,
- pub suspended_time: u64_,
- pub accounting_timestamp: u64_,
- pub subsys_data: *mut pm_subsys_data,
- pub set_latency_tolerance:
- ::core::option::Option,
- pub qos: *mut dev_pm_qos,
+ pub notify: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut irq_affinity_notify, arg2: *const cpumask_t),
+ >,
+ pub release: ::core::option::Option,
}
-impl dev_pm_info {
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct irq_affinity_desc {
+ pub mask: cpumask,
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
+ pub __bindgen_padding_0: [u8; 7usize],
+}
+impl irq_affinity_desc {
#[inline]
- pub fn can_wakeup(&self) -> ::aya_ebpf::cty::c_uint {
+ pub fn is_managed(&self) -> ::aya_ebpf::cty::c_uint {
unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
- pub fn set_can_wakeup(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_is_managed(&mut self, val: ::aya_ebpf::cty::c_uint) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
- pub fn async_suspend(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_async_suspend(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_1.set(1usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn in_dpm_list(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
- }
- #[inline]
- pub fn set_in_dpm_list(&mut self, val: bool_) {
- unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(2usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn is_prepared(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
- }
- #[inline]
- pub fn set_is_prepared(&mut self, val: bool_) {
- unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(3usize, 1u8, val as u64)
- }
+ pub fn new_bitfield_1(
+ is_managed: ::aya_ebpf::cty::c_uint,
+ ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 1u8, {
+ let is_managed: u32 = unsafe { ::core::mem::transmute(is_managed) };
+ is_managed as u64
+ });
+ __bindgen_bitfield_unit
}
- #[inline]
- pub fn is_suspended(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
+}
+pub mod irqchip_irq_state {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const IRQCHIP_STATE_PENDING: Type = 0;
+ pub const IRQCHIP_STATE_ACTIVE: Type = 1;
+ pub const IRQCHIP_STATE_MASKED: Type = 2;
+ pub const IRQCHIP_STATE_LINE_LEVEL: Type = 3;
+}
+pub type irq_flow_handler_t = ::core::option::Option;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct irq_common_data {
+ pub state_use_accessors: ::aya_ebpf::cty::c_uint,
+ pub node: ::aya_ebpf::cty::c_uint,
+ pub handler_data: *mut ::aya_ebpf::cty::c_void,
+ pub msi_desc: *mut msi_desc,
+ pub affinity: cpumask_var_t,
+ pub effective_affinity: cpumask_var_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct irq_data {
+ pub mask: u32_,
+ pub irq: ::aya_ebpf::cty::c_uint,
+ pub hwirq: irq_hw_number_t,
+ pub common: *mut irq_common_data,
+ pub chip: *mut irq_chip,
+ pub domain: *mut irq_domain,
+ pub parent_data: *mut irq_data,
+ pub chip_data: *mut ::aya_ebpf::cty::c_void,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct irq_desc {
+ pub irq_common_data: irq_common_data,
+ pub irq_data: irq_data,
+ pub kstat_irqs: *mut ::aya_ebpf::cty::c_uint,
+ pub handle_irq: irq_flow_handler_t,
+ pub action: *mut irqaction,
+ pub status_use_accessors: ::aya_ebpf::cty::c_uint,
+ pub core_internal_state__do_not_mess_with_it: ::aya_ebpf::cty::c_uint,
+ pub depth: ::aya_ebpf::cty::c_uint,
+ pub wake_depth: ::aya_ebpf::cty::c_uint,
+ pub tot_count: ::aya_ebpf::cty::c_uint,
+ pub irq_count: ::aya_ebpf::cty::c_uint,
+ pub last_unhandled: ::aya_ebpf::cty::c_ulong,
+ pub irqs_unhandled: ::aya_ebpf::cty::c_uint,
+ pub threads_handled: atomic_t,
+ pub threads_handled_last: ::aya_ebpf::cty::c_int,
+ pub lock: raw_spinlock_t,
+ pub percpu_enabled: *mut cpumask,
+ pub percpu_affinity: *const cpumask,
+ pub affinity_hint: *const cpumask,
+ pub affinity_notify: *mut irq_affinity_notify,
+ pub pending_mask: cpumask_var_t,
+ pub threads_oneshot: ::aya_ebpf::cty::c_ulong,
+ pub threads_active: atomic_t,
+ pub wait_for_threads: wait_queue_head_t,
+ pub nr_actions: ::aya_ebpf::cty::c_uint,
+ pub no_suspend_depth: ::aya_ebpf::cty::c_uint,
+ pub cond_suspend_depth: ::aya_ebpf::cty::c_uint,
+ pub force_resume_depth: ::aya_ebpf::cty::c_uint,
+ pub dir: *mut proc_dir_entry,
+ pub rcu: callback_head,
+ pub kobj: kobject,
+ pub request_mutex: mutex,
+ pub parent_irq: ::aya_ebpf::cty::c_int,
+ pub owner: *mut module,
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub resend_node: hlist_node,
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 56usize]>,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct x86_msi_addr_lo {
+ pub __bindgen_anon_1: x86_msi_addr_lo__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union x86_msi_addr_lo__bindgen_ty_1 {
+ pub __bindgen_anon_1: x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_1,
+ pub __bindgen_anon_2: x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_2,
+}
+#[repr(C)]
+#[repr(align(4))]
+#[derive(Debug, Copy, Clone)]
+pub struct x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_1 {
+ pub _bitfield_align_1: [u16; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
+}
+impl x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_1 {
+ #[inline]
+ pub fn reserved_0(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) }
}
#[inline]
- pub fn set_is_suspended(&mut self, val: bool_) {
+ pub fn set_reserved_0(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(4usize, 1u8, val as u64)
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 2u8, val as u64)
}
}
#[inline]
- pub fn is_noirq_suspended(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u8) }
+ pub fn dest_mode_logical(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
}
#[inline]
- pub fn set_is_noirq_suspended(&mut self, val: bool_) {
+ pub fn set_dest_mode_logical(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(5usize, 1u8, val as u64)
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(2usize, 1u8, val as u64)
}
}
#[inline]
- pub fn is_late_suspended(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u8) }
+ pub fn redirect_hint(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
}
#[inline]
- pub fn set_is_late_suspended(&mut self, val: bool_) {
+ pub fn set_redirect_hint(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(6usize, 1u8, val as u64)
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
- pub fn no_pm(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
+ pub fn reserved_1(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
}
#[inline]
- pub fn set_no_pm(&mut self, val: bool_) {
+ pub fn set_reserved_1(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(7usize, 1u8, val as u64)
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(4usize, 1u8, val as u64)
}
}
#[inline]
- pub fn early_init(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
+ pub fn virt_destid_8_14(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 7u8) as u32) }
}
#[inline]
- pub fn set_early_init(&mut self, val: bool_) {
+ pub fn set_virt_destid_8_14(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(8usize, 1u8, val as u64)
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(5usize, 7u8, val as u64)
}
}
#[inline]
- pub fn direct_complete(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) }
+ pub fn destid_0_7(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 8u8) as u32) }
}
#[inline]
- pub fn set_direct_complete(&mut self, val: bool_) {
+ pub fn set_destid_0_7(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(9usize, 1u8, val as u64)
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(12usize, 8u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn base_address(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) }
+ }
+ #[inline]
+ pub fn set_base_address(&mut self, val: u32_) {
+ unsafe {
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(20usize, 12u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
- can_wakeup: ::aya_ebpf::cty::c_uint,
- async_suspend: ::aya_ebpf::cty::c_uint,
- in_dpm_list: bool_,
- is_prepared: bool_,
- is_suspended: bool_,
- is_noirq_suspended: bool_,
- is_late_suspended: bool_,
- no_pm: bool_,
- early_init: bool_,
- direct_complete: bool_,
- ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
- __bindgen_bitfield_unit.set(0usize, 1u8, {
- let can_wakeup: u32 = unsafe { ::core::mem::transmute(can_wakeup) };
- can_wakeup as u64
- });
- __bindgen_bitfield_unit.set(1usize, 1u8, {
- let async_suspend: u32 = unsafe { ::core::mem::transmute(async_suspend) };
- async_suspend as u64
+ reserved_0: u32_,
+ dest_mode_logical: u32_,
+ redirect_hint: u32_,
+ reserved_1: u32_,
+ virt_destid_8_14: u32_,
+ destid_0_7: u32_,
+ base_address: u32_,
+ ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 2u8, {
+ let reserved_0: u32 = unsafe { ::core::mem::transmute(reserved_0) };
+ reserved_0 as u64
});
__bindgen_bitfield_unit.set(2usize, 1u8, {
- let in_dpm_list: u8 = unsafe { ::core::mem::transmute(in_dpm_list) };
- in_dpm_list as u64
+ let dest_mode_logical: u32 = unsafe { ::core::mem::transmute(dest_mode_logical) };
+ dest_mode_logical as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
- let is_prepared: u8 = unsafe { ::core::mem::transmute(is_prepared) };
- is_prepared as u64
+ let redirect_hint: u32 = unsafe { ::core::mem::transmute(redirect_hint) };
+ redirect_hint as u64
});
__bindgen_bitfield_unit.set(4usize, 1u8, {
- let is_suspended: u8 = unsafe { ::core::mem::transmute(is_suspended) };
- is_suspended as u64
- });
- __bindgen_bitfield_unit.set(5usize, 1u8, {
- let is_noirq_suspended: u8 = unsafe { ::core::mem::transmute(is_noirq_suspended) };
- is_noirq_suspended as u64
- });
- __bindgen_bitfield_unit.set(6usize, 1u8, {
- let is_late_suspended: u8 = unsafe { ::core::mem::transmute(is_late_suspended) };
- is_late_suspended as u64
+ let reserved_1: u32 = unsafe { ::core::mem::transmute(reserved_1) };
+ reserved_1 as u64
});
- __bindgen_bitfield_unit.set(7usize, 1u8, {
- let no_pm: u8 = unsafe { ::core::mem::transmute(no_pm) };
- no_pm as u64
+ __bindgen_bitfield_unit.set(5usize, 7u8, {
+ let virt_destid_8_14: u32 = unsafe { ::core::mem::transmute(virt_destid_8_14) };
+ virt_destid_8_14 as u64
});
- __bindgen_bitfield_unit.set(8usize, 1u8, {
- let early_init: u8 = unsafe { ::core::mem::transmute(early_init) };
- early_init as u64
+ __bindgen_bitfield_unit.set(12usize, 8u8, {
+ let destid_0_7: u32 = unsafe { ::core::mem::transmute(destid_0_7) };
+ destid_0_7 as u64
});
- __bindgen_bitfield_unit.set(9usize, 1u8, {
- let direct_complete: u8 = unsafe { ::core::mem::transmute(direct_complete) };
- direct_complete as u64
+ __bindgen_bitfield_unit.set(20usize, 12u8, {
+ let base_address: u32 = unsafe { ::core::mem::transmute(base_address) };
+ base_address as u64
});
__bindgen_bitfield_unit
}
+}
+#[repr(C)]
+#[repr(align(4))]
+#[derive(Debug, Copy, Clone)]
+pub struct x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_2 {
+ pub _bitfield_align_1: [u16; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
+}
+impl x86_msi_addr_lo__bindgen_ty_1__bindgen_ty_2 {
#[inline]
- pub fn wakeup_path(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_2.get(0usize, 1u8) as u8) }
+ pub fn dmar_reserved_0(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) }
}
#[inline]
- pub fn set_wakeup_path(&mut self, val: bool_) {
+ pub fn set_dmar_reserved_0(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_2.set(0usize, 1u8, val as u64)
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(0usize, 2u8, val as u64)
}
}
#[inline]
- pub fn syscore(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_2.get(1usize, 1u8) as u8) }
+ pub fn dmar_index_15(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
}
#[inline]
- pub fn set_syscore(&mut self, val: bool_) {
+ pub fn set_dmar_index_15(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_2.set(1usize, 1u8, val as u64)
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(2usize, 1u8, val as u64)
}
}
#[inline]
- pub fn no_pm_callbacks(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_2.get(2usize, 1u8) as u8) }
+ pub fn dmar_subhandle_valid(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
}
#[inline]
- pub fn set_no_pm_callbacks(&mut self, val: bool_) {
+ pub fn set_dmar_subhandle_valid(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_2.set(2usize, 1u8, val as u64)
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(3usize, 1u8, val as u64)
}
}
#[inline]
- pub fn async_in_progress(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_2.get(3usize, 1u8) as u8) }
+ pub fn dmar_format(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
}
#[inline]
- pub fn set_async_in_progress(&mut self, val: bool_) {
+ pub fn set_dmar_format(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_2.set(3usize, 1u8, val as u64)
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(4usize, 1u8, val as u64)
}
}
#[inline]
- pub fn must_resume(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_2.get(4usize, 1u8) as u32) }
+ pub fn dmar_index_0_14(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(5usize, 15u8) as u32) }
}
#[inline]
- pub fn set_must_resume(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_dmar_index_0_14(&mut self, val: u32_) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
- self._bitfield_2.set(4usize, 1u8, val as u64)
+ self._bitfield_1.set(5usize, 15u8, val as u64)
}
}
#[inline]
- pub fn may_skip_resume(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_2.get(5usize, 1u8) as u32) }
+ pub fn dmar_base_address(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(20usize, 12u8) as u32) }
}
#[inline]
- pub fn set_may_skip_resume(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_dmar_base_address(&mut self, val: u32_) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
- self._bitfield_2.set(5usize, 1u8, val as u64)
+ self._bitfield_1.set(20usize, 12u8, val as u64)
}
}
#[inline]
- pub fn new_bitfield_2(
- wakeup_path: bool_,
- syscore: bool_,
- no_pm_callbacks: bool_,
- async_in_progress: bool_,
- must_resume: ::aya_ebpf::cty::c_uint,
- may_skip_resume: ::aya_ebpf::cty::c_uint,
- ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
- __bindgen_bitfield_unit.set(0usize, 1u8, {
- let wakeup_path: u8 = unsafe { ::core::mem::transmute(wakeup_path) };
- wakeup_path as u64
- });
- __bindgen_bitfield_unit.set(1usize, 1u8, {
- let syscore: u8 = unsafe { ::core::mem::transmute(syscore) };
- syscore as u64
+ pub fn new_bitfield_1(
+ dmar_reserved_0: u32_,
+ dmar_index_15: u32_,
+ dmar_subhandle_valid: u32_,
+ dmar_format: u32_,
+ dmar_index_0_14: u32_,
+ dmar_base_address: u32_,
+ ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 2u8, {
+ let dmar_reserved_0: u32 = unsafe { ::core::mem::transmute(dmar_reserved_0) };
+ dmar_reserved_0 as u64
});
__bindgen_bitfield_unit.set(2usize, 1u8, {
- let no_pm_callbacks: u8 = unsafe { ::core::mem::transmute(no_pm_callbacks) };
- no_pm_callbacks as u64
+ let dmar_index_15: u32 = unsafe { ::core::mem::transmute(dmar_index_15) };
+ dmar_index_15 as u64
});
__bindgen_bitfield_unit.set(3usize, 1u8, {
- let async_in_progress: u8 = unsafe { ::core::mem::transmute(async_in_progress) };
- async_in_progress as u64
+ let dmar_subhandle_valid: u32 = unsafe { ::core::mem::transmute(dmar_subhandle_valid) };
+ dmar_subhandle_valid as u64
});
__bindgen_bitfield_unit.set(4usize, 1u8, {
- let must_resume: u32 = unsafe { ::core::mem::transmute(must_resume) };
- must_resume as u64
+ let dmar_format: u32 = unsafe { ::core::mem::transmute(dmar_format) };
+ dmar_format as u64
});
- __bindgen_bitfield_unit.set(5usize, 1u8, {
- let may_skip_resume: u32 = unsafe { ::core::mem::transmute(may_skip_resume) };
- may_skip_resume as u64
+ __bindgen_bitfield_unit.set(5usize, 15u8, {
+ let dmar_index_0_14: u32 = unsafe { ::core::mem::transmute(dmar_index_0_14) };
+ dmar_index_0_14 as u64
+ });
+ __bindgen_bitfield_unit.set(20usize, 12u8, {
+ let dmar_base_address: u32 = unsafe { ::core::mem::transmute(dmar_base_address) };
+ dmar_base_address as u64
});
__bindgen_bitfield_unit
}
+}
+pub type arch_msi_msg_addr_lo_t = x86_msi_addr_lo;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct x86_msi_addr_hi {
+ pub _bitfield_align_1: [u32; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
+}
+impl x86_msi_addr_hi {
#[inline]
- pub fn disable_depth(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(0usize, 3u8) as u32) }
- }
- #[inline]
- pub fn set_disable_depth(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(0usize, 3u8, val as u64)
- }
- }
- #[inline]
- pub fn idle_notification(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(3usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_idle_notification(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(3usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn request_pending(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(4usize, 1u8) as u32) }
+ pub fn reserved(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
}
#[inline]
- pub fn set_request_pending(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_reserved(&mut self, val: u32_) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(4usize, 1u8, val as u64)
+ self._bitfield_1.set(0usize, 8u8, val as u64)
}
}
#[inline]
- pub fn deferred_resume(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(5usize, 1u8) as u32) }
+ pub fn destid_8_31(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 24u8) as u32) }
}
#[inline]
- pub fn set_deferred_resume(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_destid_8_31(&mut self, val: u32_) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(5usize, 1u8, val as u64)
+ self._bitfield_1.set(8usize, 24u8, val as u64)
}
}
#[inline]
- pub fn needs_force_resume(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(6usize, 1u8) as u32) }
- }
- #[inline]
- pub fn set_needs_force_resume(&mut self, val: ::aya_ebpf::cty::c_uint) {
- unsafe {
- let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(6usize, 1u8, val as u64)
- }
+ pub fn new_bitfield_1(
+ reserved: u32_,
+ destid_8_31: u32_,
+ ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 8u8, {
+ let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
+ reserved as u64
+ });
+ __bindgen_bitfield_unit.set(8usize, 24u8, {
+ let destid_8_31: u32 = unsafe { ::core::mem::transmute(destid_8_31) };
+ destid_8_31 as u64
+ });
+ __bindgen_bitfield_unit
}
+}
+pub type arch_msi_msg_addr_hi_t = x86_msi_addr_hi;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct x86_msi_data {
+ pub __bindgen_anon_1: x86_msi_data__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union x86_msi_data__bindgen_ty_1 {
+ pub __bindgen_anon_1: x86_msi_data__bindgen_ty_1__bindgen_ty_1,
+ pub dmar_subhandle: u32_,
+}
+#[repr(C)]
+#[repr(align(4))]
+#[derive(Debug, Copy, Clone)]
+pub struct x86_msi_data__bindgen_ty_1__bindgen_ty_1 {
+ pub _bitfield_align_1: [u8; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
+ pub __bindgen_padding_0: u16,
+}
+impl x86_msi_data__bindgen_ty_1__bindgen_ty_1 {
#[inline]
- pub fn runtime_auto(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(7usize, 1u8) as u32) }
+ pub fn vector(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
}
#[inline]
- pub fn set_runtime_auto(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_vector(&mut self, val: u32_) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(7usize, 1u8, val as u64)
- }
- }
- #[inline]
- pub fn ignore_children(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(8usize, 1u8) as u8) }
- }
- #[inline]
- pub fn set_ignore_children(&mut self, val: bool_) {
- unsafe {
- let val: u8 = ::core::mem::transmute(val);
- self._bitfield_3.set(8usize, 1u8, val as u64)
+ self._bitfield_1.set(0usize, 8u8, val as u64)
}
}
#[inline]
- pub fn no_callbacks(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(9usize, 1u8) as u32) }
+ pub fn delivery_mode(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 3u8) as u32) }
}
#[inline]
- pub fn set_no_callbacks(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_delivery_mode(&mut self, val: u32_) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(9usize, 1u8, val as u64)
+ self._bitfield_1.set(8usize, 3u8, val as u64)
}
}
#[inline]
- pub fn irq_safe(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(10usize, 1u8) as u32) }
+ pub fn dest_mode_logical(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
}
#[inline]
- pub fn set_irq_safe(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_dest_mode_logical(&mut self, val: u32_) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(10usize, 1u8, val as u64)
+ self._bitfield_1.set(11usize, 1u8, val as u64)
}
}
#[inline]
- pub fn use_autosuspend(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(11usize, 1u8) as u32) }
+ pub fn reserved(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(12usize, 2u8) as u32) }
}
#[inline]
- pub fn set_use_autosuspend(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_reserved(&mut self, val: u32_) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(11usize, 1u8, val as u64)
+ self._bitfield_1.set(12usize, 2u8, val as u64)
}
}
#[inline]
- pub fn timer_autosuspends(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(12usize, 1u8) as u32) }
+ pub fn active_low(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(14usize, 1u8) as u32) }
}
#[inline]
- pub fn set_timer_autosuspends(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_active_low(&mut self, val: u32_) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(12usize, 1u8, val as u64)
+ self._bitfield_1.set(14usize, 1u8, val as u64)
}
}
#[inline]
- pub fn memalloc_noio(&self) -> ::aya_ebpf::cty::c_uint {
- unsafe { ::core::mem::transmute(self._bitfield_3.get(13usize, 1u8) as u32) }
+ pub fn is_level(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(15usize, 1u8) as u32) }
}
#[inline]
- pub fn set_memalloc_noio(&mut self, val: ::aya_ebpf::cty::c_uint) {
+ pub fn set_is_level(&mut self, val: u32_) {
unsafe {
let val: u32 = ::core::mem::transmute(val);
- self._bitfield_3.set(13usize, 1u8, val as u64)
+ self._bitfield_1.set(15usize, 1u8, val as u64)
}
}
#[inline]
- pub fn new_bitfield_3(
- disable_depth: ::aya_ebpf::cty::c_uint,
- idle_notification: ::aya_ebpf::cty::c_uint,
- request_pending: ::aya_ebpf::cty::c_uint,
- deferred_resume: ::aya_ebpf::cty::c_uint,
- needs_force_resume: ::aya_ebpf::cty::c_uint,
- runtime_auto: ::aya_ebpf::cty::c_uint,
- ignore_children: bool_,
- no_callbacks: ::aya_ebpf::cty::c_uint,
- irq_safe: ::aya_ebpf::cty::c_uint,
- use_autosuspend: ::aya_ebpf::cty::c_uint,
- timer_autosuspends: ::aya_ebpf::cty::c_uint,
- memalloc_noio: ::aya_ebpf::cty::c_uint,
+ pub fn new_bitfield_1(
+ vector: u32_,
+ delivery_mode: u32_,
+ dest_mode_logical: u32_,
+ reserved: u32_,
+ active_low: u32_,
+ is_level: u32_,
) -> __BindgenBitfieldUnit<[u8; 2usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
- __bindgen_bitfield_unit.set(0usize, 3u8, {
- let disable_depth: u32 = unsafe { ::core::mem::transmute(disable_depth) };
- disable_depth as u64
- });
- __bindgen_bitfield_unit.set(3usize, 1u8, {
- let idle_notification: u32 = unsafe { ::core::mem::transmute(idle_notification) };
- idle_notification as u64
- });
- __bindgen_bitfield_unit.set(4usize, 1u8, {
- let request_pending: u32 = unsafe { ::core::mem::transmute(request_pending) };
- request_pending as u64
- });
- __bindgen_bitfield_unit.set(5usize, 1u8, {
- let deferred_resume: u32 = unsafe { ::core::mem::transmute(deferred_resume) };
- deferred_resume as u64
- });
- __bindgen_bitfield_unit.set(6usize, 1u8, {
- let needs_force_resume: u32 = unsafe { ::core::mem::transmute(needs_force_resume) };
- needs_force_resume as u64
- });
- __bindgen_bitfield_unit.set(7usize, 1u8, {
- let runtime_auto: u32 = unsafe { ::core::mem::transmute(runtime_auto) };
- runtime_auto as u64
- });
- __bindgen_bitfield_unit.set(8usize, 1u8, {
- let ignore_children: u8 = unsafe { ::core::mem::transmute(ignore_children) };
- ignore_children as u64
- });
- __bindgen_bitfield_unit.set(9usize, 1u8, {
- let no_callbacks: u32 = unsafe { ::core::mem::transmute(no_callbacks) };
- no_callbacks as u64
+ __bindgen_bitfield_unit.set(0usize, 8u8, {
+ let vector: u32 = unsafe { ::core::mem::transmute(vector) };
+ vector as u64
});
- __bindgen_bitfield_unit.set(10usize, 1u8, {
- let irq_safe: u32 = unsafe { ::core::mem::transmute(irq_safe) };
- irq_safe as u64
+ __bindgen_bitfield_unit.set(8usize, 3u8, {
+ let delivery_mode: u32 = unsafe { ::core::mem::transmute(delivery_mode) };
+ delivery_mode as u64
});
__bindgen_bitfield_unit.set(11usize, 1u8, {
- let use_autosuspend: u32 = unsafe { ::core::mem::transmute(use_autosuspend) };
- use_autosuspend as u64
+ let dest_mode_logical: u32 = unsafe { ::core::mem::transmute(dest_mode_logical) };
+ dest_mode_logical as u64
});
- __bindgen_bitfield_unit.set(12usize, 1u8, {
- let timer_autosuspends: u32 = unsafe { ::core::mem::transmute(timer_autosuspends) };
- timer_autosuspends as u64
+ __bindgen_bitfield_unit.set(12usize, 2u8, {
+ let reserved: u32 = unsafe { ::core::mem::transmute(reserved) };
+ reserved as u64
});
- __bindgen_bitfield_unit.set(13usize, 1u8, {
- let memalloc_noio: u32 = unsafe { ::core::mem::transmute(memalloc_noio) };
- memalloc_noio as u64
+ __bindgen_bitfield_unit.set(14usize, 1u8, {
+ let active_low: u32 = unsafe { ::core::mem::transmute(active_low) };
+ active_low as u64
});
- __bindgen_bitfield_unit
+ __bindgen_bitfield_unit.set(15usize, 1u8, {
+ let is_level: u32 = unsafe { ::core::mem::transmute(is_level) };
+ is_level as u64
+ });
+ __bindgen_bitfield_unit
}
}
+pub type arch_msi_msg_data_t = x86_msi_data;
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct dev_msi_info {
- pub domain: *mut irq_domain,
- pub data: *mut msi_device_data,
+#[derive(Copy, Clone)]
+pub struct msi_msg {
+ pub __bindgen_anon_1: msi_msg__bindgen_ty_1,
+ pub __bindgen_anon_2: msi_msg__bindgen_ty_2,
+ pub __bindgen_anon_3: msi_msg__bindgen_ty_3,
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct dev_archdata {}
-pub mod device_removable {
- pub type Type = ::aya_ebpf::cty::c_uint;
- pub const DEVICE_REMOVABLE_NOT_SUPPORTED: Type = 0;
- pub const DEVICE_REMOVABLE_UNKNOWN: Type = 1;
- pub const DEVICE_FIXED: Type = 2;
- pub const DEVICE_REMOVABLE: Type = 3;
+#[derive(Copy, Clone)]
+pub union msi_msg__bindgen_ty_1 {
+ pub address_lo: u32_,
+ pub arch_addr_lo: arch_msi_msg_addr_lo_t,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct device {
- pub kobj: kobject,
- pub parent: *mut device,
- pub p: *mut device_private,
- pub init_name: *const ::aya_ebpf::cty::c_char,
- pub type_: *const device_type,
- pub bus: *const bus_type,
- pub driver: *mut device_driver,
- pub platform_data: *mut ::aya_ebpf::cty::c_void,
- pub driver_data: *mut ::aya_ebpf::cty::c_void,
- pub mutex: mutex,
- pub links: dev_links_info,
- pub power: dev_pm_info,
- pub pm_domain: *mut dev_pm_domain,
- pub em_pd: *mut em_perf_domain,
- pub pins: *mut dev_pin_info,
- pub msi: dev_msi_info,
- pub dma_ops: *const dma_map_ops,
- pub dma_mask: *mut u64_,
- pub coherent_dma_mask: u64_,
- pub bus_dma_limit: u64_,
- pub dma_range_map: *const bus_dma_region,
- pub dma_parms: *mut device_dma_parameters,
- pub dma_pools: list_head,
- pub cma_area: *mut cma,
- pub dma_io_tlb_mem: *mut io_tlb_mem,
- pub archdata: dev_archdata,
- pub of_node: *mut device_node,
- pub fwnode: *mut fwnode_handle,
- pub numa_node: ::aya_ebpf::cty::c_int,
- pub devt: dev_t,
- pub id: u32_,
- pub devres_lock: spinlock_t,
- pub devres_head: list_head,
- pub class: *const class,
- pub groups: *mut *const attribute_group,
- pub release: ::core::option::Option,
- pub iommu_group: *mut iommu_group,
- pub iommu: *mut dev_iommu,
- pub physical_location: *mut device_physical_location,
- pub removable: device_removable::Type,
+pub union msi_msg__bindgen_ty_2 {
+ pub address_hi: u32_,
+ pub arch_addr_hi: arch_msi_msg_addr_hi_t,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union msi_msg__bindgen_ty_3 {
+ pub data: u32_,
+ pub arch_data: arch_msi_msg_data_t,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct pci_msi_desc {
+ pub __bindgen_anon_1: pci_msi_desc__bindgen_ty_1,
+ pub msi_attrib: pci_msi_desc__bindgen_ty_2,
+ pub __bindgen_anon_2: pci_msi_desc__bindgen_ty_3,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pci_msi_desc__bindgen_ty_1 {
+ pub msi_mask: u32_,
+ pub msix_ctrl: u32_,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pci_msi_desc__bindgen_ty_2 {
pub _bitfield_align_1: [u8; 0],
- pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
- pub __bindgen_padding_0: [u8; 3usize],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
+ pub default_irq: ::aya_ebpf::cty::c_uint,
}
-impl device {
+impl pci_msi_desc__bindgen_ty_2 {
#[inline]
- pub fn offline_disabled(&self) -> bool_ {
+ pub fn is_msix(&self) -> u8_ {
unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
}
#[inline]
- pub fn set_offline_disabled(&mut self, val: bool_) {
+ pub fn set_is_msix(&mut self, val: u8_) {
unsafe {
let val: u8 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
- pub fn offline(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
+ pub fn multiple(&self) -> u8_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 3u8) as u8) }
}
#[inline]
- pub fn set_offline(&mut self, val: bool_) {
+ pub fn set_multiple(&mut self, val: u8_) {
unsafe {
let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(1usize, 1u8, val as u64)
+ self._bitfield_1.set(1usize, 3u8, val as u64)
}
}
#[inline]
- pub fn of_node_reused(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
+ pub fn multi_cap(&self) -> u8_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 3u8) as u8) }
}
#[inline]
- pub fn set_of_node_reused(&mut self, val: bool_) {
+ pub fn set_multi_cap(&mut self, val: u8_) {
unsafe {
let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(2usize, 1u8, val as u64)
+ self._bitfield_1.set(4usize, 3u8, val as u64)
}
}
#[inline]
- pub fn state_synced(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
+ pub fn can_mask(&self) -> u8_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u8) }
}
#[inline]
- pub fn set_state_synced(&mut self, val: bool_) {
+ pub fn set_can_mask(&mut self, val: u8_) {
unsafe {
let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(3usize, 1u8, val as u64)
+ self._bitfield_1.set(7usize, 1u8, val as u64)
}
}
#[inline]
- pub fn can_match(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
+ pub fn is_64(&self) -> u8_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
}
#[inline]
- pub fn set_can_match(&mut self, val: bool_) {
+ pub fn set_is_64(&mut self, val: u8_) {
unsafe {
let val: u8 = ::core::mem::transmute(val);
- self._bitfield_1.set(4usize, 1u8, val as u64)
+ self._bitfield_1.set(8usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn is_virtual(&self) -> u8_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) }
+ }
+ #[inline]
+ pub fn set_is_virtual(&mut self, val: u8_) {
+ unsafe {
+ let val: u8 = ::core::mem::transmute(val);
+ self._bitfield_1.set(9usize, 1u8, val as u64)
}
}
#[inline]
pub fn new_bitfield_1(
- offline_disabled: bool_,
- offline: bool_,
- of_node_reused: bool_,
- state_synced: bool_,
- can_match: bool_,
- ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
- let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
+ is_msix: u8_,
+ multiple: u8_,
+ multi_cap: u8_,
+ can_mask: u8_,
+ is_64: u8_,
+ is_virtual: u8_,
+ ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
- let offline_disabled: u8 = unsafe { ::core::mem::transmute(offline_disabled) };
- offline_disabled as u64
+ let is_msix: u8 = unsafe { ::core::mem::transmute(is_msix) };
+ is_msix as u64
});
- __bindgen_bitfield_unit.set(1usize, 1u8, {
- let offline: u8 = unsafe { ::core::mem::transmute(offline) };
- offline as u64
+ __bindgen_bitfield_unit.set(1usize, 3u8, {
+ let multiple: u8 = unsafe { ::core::mem::transmute(multiple) };
+ multiple as u64
});
- __bindgen_bitfield_unit.set(2usize, 1u8, {
- let of_node_reused: u8 = unsafe { ::core::mem::transmute(of_node_reused) };
- of_node_reused as u64
+ __bindgen_bitfield_unit.set(4usize, 3u8, {
+ let multi_cap: u8 = unsafe { ::core::mem::transmute(multi_cap) };
+ multi_cap as u64
});
- __bindgen_bitfield_unit.set(3usize, 1u8, {
- let state_synced: u8 = unsafe { ::core::mem::transmute(state_synced) };
- state_synced as u64
+ __bindgen_bitfield_unit.set(7usize, 1u8, {
+ let can_mask: u8 = unsafe { ::core::mem::transmute(can_mask) };
+ can_mask as u64
});
- __bindgen_bitfield_unit.set(4usize, 1u8, {
- let can_match: u8 = unsafe { ::core::mem::transmute(can_match) };
- can_match as u64
+ __bindgen_bitfield_unit.set(8usize, 1u8, {
+ let is_64: u8 = unsafe { ::core::mem::transmute(is_64) };
+ is_64 as u64
+ });
+ __bindgen_bitfield_unit.set(9usize, 1u8, {
+ let is_virtual: u8 = unsafe { ::core::mem::transmute(is_virtual) };
+ is_virtual as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct dev_pm_ops {
- pub prepare:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub complete: ::core::option::Option,
- pub suspend:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub resume:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub freeze:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub thaw:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub poweroff:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub restore:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub suspend_late:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub resume_early:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub freeze_late:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub thaw_early:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub poweroff_late:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub restore_early:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub suspend_noirq:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub resume_noirq:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub freeze_noirq:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub thaw_noirq:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub poweroff_noirq:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub restore_noirq:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub runtime_suspend:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub runtime_resume:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub runtime_idle:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
+#[derive(Copy, Clone)]
+pub union pci_msi_desc__bindgen_ty_3 {
+ pub mask_pos: u8_,
+ pub mask_base: *mut ::aya_ebpf::cty::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct pm_subsys_data {
- pub lock: spinlock_t,
- pub refcount: ::aya_ebpf::cty::c_uint,
- pub clock_op_might_sleep: ::aya_ebpf::cty::c_uint,
- pub clock_mutex: mutex,
- pub clock_list: list_head,
- pub domain_data: *mut pm_domain_data,
+pub union msi_domain_cookie {
+ pub value: u64_,
+ pub ptr: *mut ::aya_ebpf::cty::c_void,
+ pub iobase: *mut ::aya_ebpf::cty::c_void,
}
#[repr(C)]
#[derive(Copy, Clone)]
-pub struct wakeup_source {
- pub name: *const ::aya_ebpf::cty::c_char,
- pub id: ::aya_ebpf::cty::c_int,
- pub entry: list_head,
- pub lock: spinlock_t,
- pub wakeirq: *mut wake_irq,
- pub timer: timer_list,
- pub timer_expires: ::aya_ebpf::cty::c_ulong,
- pub total_time: ktime_t,
- pub max_time: ktime_t,
- pub last_time: ktime_t,
- pub start_prevent_time: ktime_t,
- pub prevent_sleep_time: ktime_t,
- pub event_count: ::aya_ebpf::cty::c_ulong,
- pub active_count: ::aya_ebpf::cty::c_ulong,
- pub relax_count: ::aya_ebpf::cty::c_ulong,
- pub expire_count: ::aya_ebpf::cty::c_ulong,
- pub wakeup_count: ::aya_ebpf::cty::c_ulong,
+pub union msi_instance_cookie {
+ pub value: u64_,
+ pub ptr: *mut ::aya_ebpf::cty::c_void,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct msi_desc_data {
+ pub dcookie: msi_domain_cookie,
+ pub icookie: msi_instance_cookie,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct msi_desc {
+ pub irq: ::aya_ebpf::cty::c_uint,
+ pub nvec_used: ::aya_ebpf::cty::c_uint,
pub dev: *mut device,
+ pub msg: msi_msg,
+ pub affinity: *mut irq_affinity_desc,
+ pub iommu_cookie: *const ::aya_ebpf::cty::c_void,
+ pub sysfs_attrs: *mut device_attribute,
+ pub write_msi_msg: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut msi_desc, arg2: *mut ::aya_ebpf::cty::c_void),
+ >,
+ pub write_msi_msg_data: *mut ::aya_ebpf::cty::c_void,
+ pub msi_index: u16_,
+ pub __bindgen_anon_1: msi_desc__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union msi_desc__bindgen_ty_1 {
+ pub pci: pci_msi_desc,
+ pub data: msi_desc_data,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct irq_chip {
+ pub name: *const ::aya_ebpf::cty::c_char,
+ pub irq_startup: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut irq_data) -> ::aya_ebpf::cty::c_uint,
+ >,
+ pub irq_shutdown: ::core::option::Option,
+ pub irq_enable: ::core::option::Option,
+ pub irq_disable: ::core::option::Option,
+ pub irq_ack: ::core::option::Option,
+ pub irq_mask: ::core::option::Option,
+ pub irq_mask_ack: ::core::option::Option,
+ pub irq_unmask: ::core::option::Option,
+ pub irq_eoi: ::core::option::Option,
+ pub irq_set_affinity: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut irq_data,
+ arg2: *const cpumask,
+ arg3: bool_,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub irq_retrigger:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub irq_set_type: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut irq_data,
+ arg2: ::aya_ebpf::cty::c_uint,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub irq_set_wake: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut irq_data,
+ arg2: ::aya_ebpf::cty::c_uint,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub irq_bus_lock: ::core::option::Option,
+ pub irq_bus_sync_unlock: ::core::option::Option,
+ pub irq_suspend: ::core::option::Option,
+ pub irq_resume: ::core::option::Option,
+ pub irq_pm_shutdown: ::core::option::Option,
+ pub irq_calc_mask: ::core::option::Option,
+ pub irq_print_chip:
+ ::core::option::Option,
+ pub irq_request_resources:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub irq_release_resources: ::core::option::Option,
+ pub irq_compose_msi_msg:
+ ::core::option::Option,
+ pub irq_write_msi_msg:
+ ::core::option::Option,
+ pub irq_get_irqchip_state: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut irq_data,
+ arg2: irqchip_irq_state::Type,
+ arg3: *mut bool_,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub irq_set_irqchip_state: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut irq_data,
+ arg2: irqchip_irq_state::Type,
+ arg3: bool_,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub irq_set_vcpu_affinity: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut irq_data,
+ arg2: *mut ::aya_ebpf::cty::c_void,
+ ) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub ipi_send_single: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut irq_data, arg2: ::aya_ebpf::cty::c_uint),
+ >,
+ pub ipi_send_mask:
+ ::core::option::Option,
+ pub irq_nmi_setup:
+ ::core::option::Option ::aya_ebpf::cty::c_int>,
+ pub irq_nmi_teardown: ::core::option::Option,
+ pub flags: ::aya_ebpf::cty::c_ulong,
+}
+pub mod irq_alloc_type {
+ pub type Type = ::aya_ebpf::cty::c_uint;
+ pub const X86_IRQ_ALLOC_TYPE_IOAPIC: Type = 1;
+ pub const X86_IRQ_ALLOC_TYPE_HPET: Type = 2;
+ pub const X86_IRQ_ALLOC_TYPE_PCI_MSI: Type = 3;
+ pub const X86_IRQ_ALLOC_TYPE_PCI_MSIX: Type = 4;
+ pub const X86_IRQ_ALLOC_TYPE_DMAR: Type = 5;
+ pub const X86_IRQ_ALLOC_TYPE_AMDVI: Type = 6;
+ pub const X86_IRQ_ALLOC_TYPE_UV: Type = 7;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ioapic_alloc_info {
+ pub pin: ::aya_ebpf::cty::c_int,
+ pub node: ::aya_ebpf::cty::c_int,
pub _bitfield_align_1: [u8; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
- pub __bindgen_padding_0: [u8; 7usize],
+ pub __bindgen_padding_0: [u8; 3usize],
}
-impl wakeup_source {
+impl ioapic_alloc_info {
#[inline]
- pub fn active(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
+ pub fn is_level(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
}
#[inline]
- pub fn set_active(&mut self, val: bool_) {
+ pub fn set_is_level(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
+ let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(0usize, 1u8, val as u64)
}
}
#[inline]
- pub fn autosleep_enabled(&self) -> bool_ {
- unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
+ pub fn active_low(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
}
#[inline]
- pub fn set_autosleep_enabled(&mut self, val: bool_) {
+ pub fn set_active_low(&mut self, val: u32_) {
unsafe {
- let val: u8 = ::core::mem::transmute(val);
+ let val: u32 = ::core::mem::transmute(val);
self._bitfield_1.set(1usize, 1u8, val as u64)
}
}
#[inline]
+ pub fn valid(&self) -> u32_ {
+ unsafe { ::core::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
+ }
+ #[inline]
+ pub fn set_valid(&mut self, val: u32_) {
+ unsafe {
+ let val: u32 = ::core::mem::transmute(val);
+ self._bitfield_1.set(2usize, 1u8, val as u64)
+ }
+ }
+ #[inline]
pub fn new_bitfield_1(
- active: bool_,
- autosleep_enabled: bool_,
+ is_level: u32_,
+ active_low: u32_,
+ valid: u32_,
) -> __BindgenBitfieldUnit<[u8; 1usize]> {
let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
__bindgen_bitfield_unit.set(0usize, 1u8, {
- let active: u8 = unsafe { ::core::mem::transmute(active) };
- active as u64
+ let is_level: u32 = unsafe { ::core::mem::transmute(is_level) };
+ is_level as u64
});
__bindgen_bitfield_unit.set(1usize, 1u8, {
- let autosleep_enabled: u8 = unsafe { ::core::mem::transmute(autosleep_enabled) };
- autosleep_enabled as u64
+ let active_low: u32 = unsafe { ::core::mem::transmute(active_low) };
+ active_low as u64
+ });
+ __bindgen_bitfield_unit.set(2usize, 1u8, {
+ let valid: u32 = unsafe { ::core::mem::transmute(valid) };
+ valid as u64
});
__bindgen_bitfield_unit
}
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct dev_pm_domain {
- pub ops: dev_pm_ops,
- pub start:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub detach: ::core::option::Option,
- pub activate:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub sync: ::core::option::Option,
- pub dismiss: ::core::option::Option,
- pub set_performance_state: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *mut device,
- arg2: ::aya_ebpf::cty::c_uint,
- ) -> ::aya_ebpf::cty::c_int,
- >,
+pub struct uv_alloc_info {
+ pub limit: ::aya_ebpf::cty::c_int,
+ pub blade: ::aya_ebpf::cty::c_int,
+ pub offset: ::aya_ebpf::cty::c_ulong,
+ pub name: *mut ::aya_ebpf::cty::c_char,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct irq_alloc_info {
+ pub type_: irq_alloc_type::Type,
+ pub flags: u32_,
+ pub devid: u32_,
+ pub hwirq: irq_hw_number_t,
+ pub mask: *const cpumask,
+ pub desc: *mut msi_desc,
+ pub data: *mut ::aya_ebpf::cty::c_void,
+ pub __bindgen_anon_1: irq_alloc_info__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union irq_alloc_info__bindgen_ty_1 {
+ pub ioapic: ioapic_alloc_info,
+ pub uv: uv_alloc_info,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct bus_type {
- pub name: *const ::aya_ebpf::cty::c_char,
- pub dev_name: *const ::aya_ebpf::cty::c_char,
- pub bus_groups: *mut *const attribute_group,
- pub dev_groups: *mut *const attribute_group,
- pub drv_groups: *mut *const attribute_group,
- pub match_: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut device, arg2: *mut device_driver) -> ::aya_ebpf::cty::c_int,
- >,
- pub uevent: ::core::option::Option<
- unsafe extern "C" fn(
- arg1: *const device,
- arg2: *mut kobj_uevent_env,
- ) -> ::aya_ebpf::cty::c_int,
- >,
- pub probe:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub sync_state: ::core::option::Option,
- pub remove: ::core::option::Option,
- pub shutdown: ::core::option::Option,
- pub online:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub offline:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub suspend: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut device, arg2: pm_message_t) -> ::aya_ebpf::cty::c_int,
+pub struct irq_chip_regs {
+ pub enable: ::aya_ebpf::cty::c_ulong,
+ pub disable: ::aya_ebpf::cty::c_ulong,
+ pub mask: ::aya_ebpf::cty::c_ulong,
+ pub ack: ::aya_ebpf::cty::c_ulong,
+ pub eoi: ::aya_ebpf::cty::c_ulong,
+ pub type_: ::aya_ebpf::cty::c_ulong,
+ pub polarity: ::aya_ebpf::cty::c_ulong,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct irq_chip_type {
+ pub chip: irq_chip,
+ pub regs: irq_chip_regs,
+ pub handler: irq_flow_handler_t,
+ pub type_: u32_,
+ pub mask_cache_priv: u32_,
+ pub mask_cache: *mut u32_,
+}
+#[repr(C)]
+pub struct irq_chip_generic {
+ pub lock: raw_spinlock_t,
+ pub reg_base: *mut ::aya_ebpf::cty::c_void,
+ pub reg_readl:
+ ::core::option::Option u32_>,
+ pub reg_writel: ::core::option::Option<
+ unsafe extern "C" fn(arg1: u32_, arg2: *mut ::aya_ebpf::cty::c_void),
>,
- pub resume:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub num_vf:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub dma_configure:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub dma_cleanup: ::core::option::Option,
- pub pm: *const dev_pm_ops,
- pub need_parent_lock: bool_,
+ pub suspend: ::core::option::Option,
+ pub resume: ::core::option::Option,
+ pub irq_base: ::aya_ebpf::cty::c_uint,
+ pub irq_cnt: ::aya_ebpf::cty::c_uint,
+ pub mask_cache: u32_,
+ pub type_cache: u32_,
+ pub polarity_cache: u32_,
+ pub wake_enabled: u32_,
+ pub wake_active: u32_,
+ pub num_ct: ::aya_ebpf::cty::c_uint,
+ pub private: *mut ::aya_ebpf::cty::c_void,
+ pub installed: ::aya_ebpf::cty::c_ulong,
+ pub unused: ::aya_ebpf::cty::c_ulong,
+ pub domain: *mut irq_domain,
+ pub list: list_head,
+ pub chip_types: __IncompleteArrayField,
}
-pub mod probe_type {
+pub mod irq_gc_flags {
pub type Type = ::aya_ebpf::cty::c_uint;
- pub const PROBE_DEFAULT_STRATEGY: Type = 0;
- pub const PROBE_PREFER_ASYNCHRONOUS: Type = 1;
- pub const PROBE_FORCE_SYNCHRONOUS: Type = 2;
+ pub const IRQ_GC_INIT_MASK_CACHE: Type = 1;
+ pub const IRQ_GC_INIT_NESTED_LOCK: Type = 2;
+ pub const IRQ_GC_MASK_CACHE_PER_TYPE: Type = 4;
+ pub const IRQ_GC_NO_MASK: Type = 8;
+ pub const IRQ_GC_BE_IO: Type = 16;
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct irq_domain_chip_generic {
+ pub irqs_per_chip: ::aya_ebpf::cty::c_uint,
+ pub num_chips: ::aya_ebpf::cty::c_uint,
+ pub irq_flags_to_clear: ::aya_ebpf::cty::c_uint,
+ pub irq_flags_to_set: ::aya_ebpf::cty::c_uint,
+ pub gc_flags: irq_gc_flags::Type,
+ pub gc: __IncompleteArrayField<*mut irq_chip_generic>,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct device_driver {
- pub name: *const ::aya_ebpf::cty::c_char,
- pub bus: *const bus_type,
- pub owner: *mut module,
- pub mod_name: *const ::aya_ebpf::cty::c_char,
- pub suppress_bind_attrs: bool_,
- pub probe_type: probe_type::Type,
- pub of_match_table: *const of_device_id,
- pub acpi_match_table: *const acpi_device_id,
- pub probe:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub sync_state: ::core::option::Option,
- pub remove:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub shutdown: ::core::option::Option,
- pub suspend: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut device, arg2: pm_message_t) -> ::aya_ebpf::cty::c_int,
+pub struct dev_pagemap_ops {
+ pub page_free: ::core::option::Option,
+ pub migrate_to_ram:
+ ::core::option::Option vm_fault_t>,
+ pub memory_failure: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut dev_pagemap,
+ arg2: ::aya_ebpf::cty::c_ulong,
+ arg3: ::aya_ebpf::cty::c_ulong,
+ arg4: ::aya_ebpf::cty::c_int,
+ ) -> ::aya_ebpf::cty::c_int,
>,
- pub resume:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub groups: *mut *const attribute_group,
- pub dev_groups: *mut *const attribute_group,
- pub pm: *const dev_pm_ops,
- pub coredump: ::core::option::Option,
- pub p: *mut driver_private,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
-pub struct class {
+pub struct tty_driver {
+ pub kref: kref,
+ pub cdevs: *mut *mut cdev,
+ pub owner: *mut module,
+ pub driver_name: *const ::aya_ebpf::cty::c_char,
pub name: *const ::aya_ebpf::cty::c_char,
- pub class_groups: *mut *const attribute_group,
- pub dev_groups: *mut *const attribute_group,
- pub dev_uevent: ::core::option::Option<
+ pub name_base: ::aya_ebpf::cty::c_int,
+ pub major: ::aya_ebpf::cty::c_int,
+ pub minor_start: ::aya_ebpf::cty::c_int,
+ pub num: ::aya_ebpf::cty::c_uint,
+ pub type_: ::aya_ebpf::cty::c_short,
+ pub subtype: ::aya_ebpf::cty::c_short,
+ pub init_termios: ktermios,
+ pub flags: ::aya_ebpf::cty::c_ulong,
+ pub proc_entry: *mut proc_dir_entry,
+ pub other: *mut tty_driver,
+ pub ttys: *mut *mut tty_struct,
+ pub ports: *mut *mut tty_port,
+ pub termios: *mut *mut ktermios,
+ pub driver_state: *mut ::aya_ebpf::cty::c_void,
+ pub ops: *const tty_operations,
+ pub tty_drivers: list_head,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tty_operations {
+ pub lookup: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *const device,
- arg2: *mut kobj_uevent_env,
+ arg1: *mut tty_driver,
+ arg2: *mut file,
+ arg3: ::aya_ebpf::cty::c_int,
+ ) -> *mut tty_struct,
+ >,
+ pub install: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut tty_driver,
+ arg2: *mut tty_struct,
) -> ::aya_ebpf::cty::c_int,
>,
- pub devnode: ::core::option::Option<
+ pub remove:
+ ::core::option::Option,
+ pub open: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut tty_struct, arg2: *mut file) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub close: ::core::option::Option,
+ pub shutdown: ::core::option::Option,
+ pub cleanup: ::core::option::Option,
+ pub write: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut tty_struct, arg2: *const u8_, arg3: usize) -> isize,
+ >,
+ pub put_char: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut tty_struct, arg2: u8_) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub flush_chars: ::core::option::Option,
+ pub write_room: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut tty_struct) -> ::aya_ebpf::cty::c_uint,
+ >,
+ pub chars_in_buffer: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut tty_struct) -> ::aya_ebpf::cty::c_uint,
+ >,
+ pub ioctl: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *const device,
- arg2: *mut umode_t,
- ) -> *mut ::aya_ebpf::cty::c_char,
+ arg1: *mut tty_struct,
+ arg2: ::aya_ebpf::cty::c_uint,
+ arg3: ::aya_ebpf::cty::c_ulong,
+ ) -> ::aya_ebpf::cty::c_int,
>,
- pub class_release: ::core::option::Option,
- pub dev_release: ::core::option::Option,
- pub shutdown_pre:
- ::core::option::Option ::aya_ebpf::cty::c_int>,
- pub ns_type: *const kobj_ns_type_operations,
- pub namespace: ::core::option::Option<
- unsafe extern "C" fn(arg1: *const device) -> *const ::aya_ebpf::cty::c_void,
+ pub compat_ioctl: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut tty_struct,
+ arg2: ::aya_ebpf::cty::c_uint,
+ arg3: ::aya_ebpf::cty::c_ulong,
+ ) -> ::aya_ebpf::cty::c_long,
>,
- pub get_ownership: ::core::option::Option<
- unsafe extern "C" fn(arg1: *const device, arg2: *mut kuid_t, arg3: *mut kgid_t),
+ pub set_termios:
+ ::core::option::Option,
+ pub throttle: ::core::option::Option,
+ pub unthrottle: ::core::option::Option,
+ pub stop: ::core::option::Option,
+ pub start: ::core::option::Option,
+ pub hangup: ::core::option::Option,
+ pub break_ctl: ::core::option::Option<
+ unsafe extern "C" fn(
+ arg1: *mut tty_struct,
+ arg2: ::aya_ebpf::cty::c_int,
+ ) -> ::aya_ebpf::cty::c_int,
>,
- pub pm: *const dev_pm_ops,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct device_type {
- pub name: *const ::aya_ebpf::cty::c_char,
- pub groups: *mut *const attribute_group,
- pub uevent: ::core::option::Option<
+ pub flush_buffer: ::core::option::Option,
+ pub set_ldisc: ::core::option::Option,
+ pub wait_until_sent: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut tty_struct, arg2: ::aya_ebpf::cty::c_int),
+ >,
+ pub send_xchar: ::core::option::Option,
+ pub tiocmget: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut tty_struct) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub tiocmset: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *const device,
- arg2: *mut kobj_uevent_env,
+ arg1: *mut tty_struct,
+ arg2: ::aya_ebpf::cty::c_uint,
+ arg3: ::aya_ebpf::cty::c_uint,
) -> ::aya_ebpf::cty::c_int,
>,
- pub devnode: ::core::option::Option<
+ pub resize: ::core::option::Option<
+ unsafe extern "C" fn(arg1: *mut tty_struct, arg2: *mut winsize) -> ::aya_ebpf::cty::c_int,
+ >,
+ pub get_icount: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *const device,
- arg2: *mut umode_t,
- arg3: *mut kuid_t,
- arg4: *mut kgid_t,
- ) -> *mut ::aya_ebpf::cty::c_char,
+ arg1: *mut tty_struct,
+ arg2: *mut serial_icounter_struct,
+ ) -> ::aya_ebpf::cty::c_int,
>,
- pub release: ::core::option::Option,
- pub pm: *const dev_pm_ops,
-}
-pub type Elf64_Addr = __u64;
-pub type Elf64_Half = __u16;
-pub type Elf64_Word = __u32;
-pub type Elf64_Xword = __u64;
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct elf64_sym {
- pub st_name: Elf64_Word,
- pub st_info: ::aya_ebpf::cty::c_uchar,
- pub st_other: ::aya_ebpf::cty::c_uchar,
- pub st_shndx: Elf64_Half,
- pub st_value: Elf64_Addr,
- pub st_size: Elf64_Xword,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub struct kernel_param {
- pub name: *const ::aya_ebpf::cty::c_char,
- pub mod_: *mut module,
- pub ops: *const kernel_param_ops,
- pub perm: u16_,
- pub level: s8,
- pub flags: u8_,
- pub __bindgen_anon_1: kernel_param__bindgen_ty_1,
-}
-#[repr(C)]
-#[derive(Copy, Clone)]
-pub union kernel_param__bindgen_ty_1 {
- pub arg: *mut ::aya_ebpf::cty::c_void,
- pub str_: *const kparam_string,
- pub arr: *const kparam_array,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct kparam_string {
- pub maxlen: ::aya_ebpf::cty::c_uint,
- pub string: *mut ::aya_ebpf::cty::c_char,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct kparam_array {
- pub max: ::aya_ebpf::cty::c_uint,
- pub elemsize: ::aya_ebpf::cty::c_uint,
- pub num: *mut ::aya_ebpf::cty::c_uint,
- pub ops: *const kernel_param_ops,
- pub elem: *mut ::aya_ebpf::cty::c_void,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct error_injection_entry {
- pub addr: ::aya_ebpf::cty::c_ulong,
- pub etype: ::aya_ebpf::cty::c_int,
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct module_attribute {
- pub attr: attribute,
- pub show: ::core::option::Option<
+ pub get_serial: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *mut module_attribute,
- arg2: *mut module_kobject,
- arg3: *mut ::aya_ebpf::cty::c_char,
- ) -> isize,
+ arg1: *mut tty_struct,
+ arg2: *mut serial_struct,
+ ) -> ::aya_ebpf::cty::c_int,
>,
- pub store: ::core::option::Option<
+ pub set_serial: ::core::option::Option<
unsafe extern "C" fn(
- arg1: *mut module_attribute,
- arg2: *mut module_kobject,
- arg3: *const ::aya_ebpf::cty::c_char,
- arg4: usize,
- ) -> isize,
+ arg1: *mut tty_struct,
+ arg2: *mut serial_struct,
+ ) -> ::aya_ebpf::cty::c_int,
>,
- pub setup: ::core::option::Option<
- unsafe extern "C" fn(arg1: *mut module, arg2: *const ::aya_ebpf::cty::c_char),
+ pub show_fdinfo:
+ ::core::option::Option