Browse Source

Merge pull request #811 from tamird/libc

aya: import types from std::ffi rather than libc
Tamir Duberstein 1 year ago
parent
commit
b7ceee4f51

+ 2 - 2
aya/src/maps/mod.rs

@@ -49,7 +49,7 @@
 //! implement the [Pod] trait.
 use std::{
     borrow::BorrowMut,
-    ffi::CString,
+    ffi::{c_long, CString},
     fmt, io,
     marker::PhantomData,
     mem,
@@ -122,7 +122,7 @@ pub enum MapError {
         /// Map name
         name: String,
         /// Error code
-        code: libc::c_long,
+        code: c_long,
         #[source]
         /// Original io::Error
         io_error: io::Error,

+ 2 - 2
aya/src/maps/perf/perf_buffer.rs

@@ -1,5 +1,5 @@
 use std::{
-    ffi::c_void,
+    ffi::{c_int, c_void},
     io, mem,
     os::fd::{AsFd, AsRawFd, BorrowedFd, OwnedFd, RawFd},
     ptr, slice,
@@ -7,7 +7,7 @@ use std::{
 };
 
 use bytes::BytesMut;
-use libc::{c_int, munmap, MAP_FAILED, MAP_SHARED, PROT_READ, PROT_WRITE};
+use libc::{munmap, MAP_FAILED, MAP_SHARED, PROT_READ, PROT_WRITE};
 use thiserror::Error;
 
 use crate::{

+ 2 - 2
aya/src/sys/bpf.rs

@@ -1,6 +1,6 @@
 use std::{
     cmp,
-    ffi::{CStr, CString},
+    ffi::{c_char, c_long, CStr, CString},
     io, iter,
     mem::{self, MaybeUninit},
     os::fd::{AsFd as _, AsRawFd as _, BorrowedFd, FromRawFd as _, OwnedFd, RawFd},
@@ -8,7 +8,7 @@ use std::{
 };
 
 use assert_matches::assert_matches;
-use libc::{c_char, c_long, ENOENT, ENOSPC};
+use libc::{ENOENT, ENOSPC};
 use obj::{
     btf::{BtfEnum64, Enum64},
     maps::{bpf_map_def, LegacyMap},

+ 5 - 3
aya/src/sys/fake.rs

@@ -1,6 +1,8 @@
-use std::{cell::RefCell, ffi::c_long, io, ptr};
-
-use libc::c_void;
+use std::{
+    cell::RefCell,
+    ffi::{c_long, c_void},
+    io, ptr,
+};
 
 use super::{SysResult, Syscall};
 

+ 2 - 1
aya/src/sys/mod.rs

@@ -6,6 +6,7 @@ mod perf_event;
 mod fake;
 
 use std::{
+    ffi::{c_int, c_long},
     io, mem,
     os::fd::{AsRawFd as _, BorrowedFd},
 };
@@ -13,7 +14,7 @@ use std::{
 pub(crate) use bpf::*;
 #[cfg(test)]
 pub(crate) use fake::*;
-use libc::{c_int, c_long, pid_t, SYS_bpf, SYS_perf_event_open};
+use libc::{pid_t, SYS_bpf, SYS_perf_event_open};
 #[doc(hidden)]
 pub use netlink::netlink_set_link_up;
 pub(crate) use netlink::*;

+ 2 - 2
aya/src/sys/perf_event.rs

@@ -1,10 +1,10 @@
 use std::{
-    ffi::{c_long, CString, OsStr},
+    ffi::{c_int, c_long, CString, OsStr},
     io, mem,
     os::fd::{BorrowedFd, FromRawFd as _, OwnedFd},
 };
 
-use libc::{c_int, pid_t};
+use libc::pid_t;
 
 use super::{syscall, SysResult, Syscall};
 use crate::generated::{

+ 1 - 1
xtask/public-api/aya.txt

@@ -1219,7 +1219,7 @@ impl<T> core::convert::From<T> for aya::maps::Map
 pub fn aya::maps::Map::from(t: T) -> T
 pub enum aya::maps::MapError
 pub aya::maps::MapError::CreateError
-pub aya::maps::MapError::CreateError::code: libc::unix::linux_like::linux::gnu::b64::x86_64::not_x32::c_long
+pub aya::maps::MapError::CreateError::code: core::ffi::c_long
 pub aya::maps::MapError::CreateError::io_error: std::io::error::Error
 pub aya::maps::MapError::CreateError::name: alloc::string::String
 pub aya::maps::MapError::ElementNotFound