1 | | - | use aya_tool::generate::InputFile; |
2 | | - | use std::{fs::File, io::Write, path::PathBuf}; |
3 | | - | |
4 | | - | pub fn generate() -> Result<(), anyhow::Error> { |
5 | | - | let dir = PathBuf::from("guardity-ebpf/src"); |
6 | | - | let names: Vec<&str> = vec![ |
7 | | - | "cred", |
8 | | - | "sock", |
9 | | - | "sockaddr", |
10 | | - | "sockaddr_in", |
11 | | - | "sockaddr_in6", |
12 | | - | "task_struct", |
13 | | - | ]; |
14 | | - | let bindings = aya_tool::generate( |
15 | | - | InputFile::Btf(PathBuf::from("/sys/kernel/btf/vmlinux")), |
16 | | - | &names, |
17 | | - | &[], |
18 | | - | )?; |
19 | | - | // Write the bindings to the $OUT_DIR/bindings.rs file. |
20 | | - | let mut out = File::create(dir.join("vmlinux.rs"))?; |
21 | | - | write!(out, "{}", bindings)?; |
22 | | - | Ok(()) |
23 | | - | } |
24 | | - | |