Browse Source

aya-gen: add bindgen builder for userspace code

Alessandro Decina 4 years ago
parent
commit
08d4b1aeda
2 changed files with 11 additions and 2 deletions
  1. 10 1
      aya-gen/src/bindgen.rs
  2. 1 1
      aya-gen/src/btf_types.rs

+ 10 - 1
aya-gen/src/bindgen.rs

@@ -1,6 +1,15 @@
 use bindgen::{self, Builder, EnumVariation};
 
-pub fn builder() -> Builder {
+pub fn user_builder() -> Builder {
+    let bindgen = bindgen::builder()
+        .layout_tests(false)
+        .default_enum_style(EnumVariation::ModuleConsts)
+        .prepend_enum_name(false);
+
+    bindgen
+}
+
+pub fn bpf_builder() -> Builder {
     let bindgen = bindgen::builder()
         .use_core()
         .ctypes_prefix("::aya_bpf_cty")

+ 1 - 1
aya-gen/src/btf_types.rs

@@ -28,7 +28,7 @@ pub fn generate<T: AsRef<str>>(
     types: &[T],
     probe_read_getters: bool,
 ) -> Result<String, Error> {
-    let mut bindgen = bindgen::builder();
+    let mut bindgen = bindgen::bpf_builder();
 
     let c_header = c_header_from_btf(btf_file)?;
     bindgen = bindgen.header_contents("kernel_types.h", &c_header);