Skip to content

Commit 34c43b6

Browse files
Merge pull request #25 from andrewdavidmackenzie/update_libc_types
Updated to newer version of libc and removed warnings due to deprecated types
2 parents 43a7000 + 6e3ee77 commit 34c43b6

File tree

10 files changed

+234
-238
lines changed

10 files changed

+234
-238
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ edition = "2018"
1010

1111
[dependencies]
1212
errno = "^0.1.8"
13-
libc = "^0.2.15"
13+
libc = "^0.2.62"
1414

1515
[lib]
1616
name = "libproc"

src/libproc/bsd_info.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
extern crate libc;
22

3-
use self::libc::{uint32_t, int32_t, uint64_t, c_char, uid_t, gid_t};
3+
use self::libc::{c_char, uid_t, gid_t};
44

55
use crate::libproc::proc_pid::{PIDInfo, PidInfoFlavor};
66

@@ -10,28 +10,28 @@ const MAXCOMLEN : usize = 16;
1010
#[repr(C)]
1111
#[derive(Default)]
1212
pub struct BSDInfo {
13-
pub pbi_flags : uint32_t, // 64bit; emulated etc
14-
pub pbi_status : uint32_t,
15-
pub pbi_xstatus : uint32_t,
16-
pub pbi_pid : uint32_t,
17-
pub pbi_ppid : uint32_t,
13+
pub pbi_flags : u32, // 64bit; emulated etc
14+
pub pbi_status : u32,
15+
pub pbi_xstatus : u32,
16+
pub pbi_pid : u32,
17+
pub pbi_ppid : u32,
1818
pub pbi_uid : uid_t,
1919
pub pbi_gid : gid_t,
2020
pub pbi_ruid : uid_t,
2121
pub pbi_rgid : gid_t,
2222
pub pbi_svuid : uid_t,
2323
pub pbi_svgid : gid_t,
24-
pub rfu_1 : uint32_t, // reserved
24+
pub rfu_1 : u32, // reserved
2525
pub pbi_comm : [c_char; MAXCOMLEN],
2626
pub pbi_name : [c_char; 2 * MAXCOMLEN], // empty if no name is registered
27-
pub pbi_nfiles : uint32_t,
28-
pub pbi_pgid : uint32_t,
29-
pub pbi_pjobc : uint32_t,
30-
pub e_tdev : uint32_t, // controlling tty dev
31-
pub e_tpgid : uint32_t, // tty process group id
32-
pub pbi_nice : int32_t,
33-
pub pbi_start_tvsec : uint64_t,
34-
pub pbi_start_tvusec : uint64_t
27+
pub pbi_nfiles : u32,
28+
pub pbi_pgid : u32,
29+
pub pbi_pjobc : u32,
30+
pub e_tdev : u32, // controlling tty dev
31+
pub e_tpgid : u32, // tty process group id
32+
pub pbi_nice : u32,
33+
pub pbi_start_tvsec : u64,
34+
pub pbi_start_tvusec : u64
3535
}
3636

3737
impl PIDInfo for BSDInfo {

src/libproc/file_info.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use std::mem;
55
use crate::libproc::helpers;
66
use crate::libproc::proc_pid::{ListPIDInfo, PidInfoFlavor};
77

8-
use self::libc::{c_int, c_void, int32_t, uint32_t};
8+
use self::libc::{c_int, c_void};
99

1010
// this extern block links to the libproc library
1111
// Original signatures of functions can be found at http://opensource.apple.com/source/Libc/Libc-594.9.4/darwin/libproc.c
@@ -34,8 +34,8 @@ impl ListPIDInfo for ListFDs {
3434

3535
#[repr(C)]
3636
pub struct ProcFDInfo {
37-
pub proc_fd: int32_t,
38-
pub proc_fdtype: uint32_t,
37+
pub proc_fd: i32,
38+
pub proc_fdtype: u32,
3939
}
4040

4141
#[derive(Copy, Clone, Debug)]
@@ -60,8 +60,8 @@ pub enum ProcFDType {
6060
Unknown,
6161
}
6262

63-
impl From<uint32_t> for ProcFDType {
64-
fn from(value: uint32_t) -> ProcFDType {
63+
impl From<u32> for ProcFDType {
64+
fn from(value: u32) -> ProcFDType {
6565
match value {
6666
0 => ProcFDType::ATalk ,
6767
1 => ProcFDType::VNode ,
@@ -139,7 +139,7 @@ pub trait PIDFDInfo: Default {
139139
/// }
140140
/// ```
141141
///
142-
pub fn pidfdinfo<T: PIDFDInfo>(pid : i32, fd: int32_t) -> Result<T, String> {
142+
pub fn pidfdinfo<T: PIDFDInfo>(pid : i32, fd: i32) -> Result<T, String> {
143143
let flavor = T::flavor() as i32;
144144
let buffer_size = mem::size_of::<T>() as i32;
145145
let mut pidinfo = T::default();

src/libproc/kmesg_buffer.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
extern crate libc;
22
extern crate errno;
33

4-
use self::libc::{uint32_t, c_int};
4+
use self::libc::{c_int};
55

66
use std::{ptr, mem};
77
use std::fmt;
@@ -49,7 +49,7 @@ impl fmt::Debug for MessageBuffer {
4949
// Original signatures of functions can be found at http://opensource.apple.com/source/Libc/Libc-594.9.4/darwin/libproc.c
5050
#[link(name = "proc", kind = "dylib")]
5151
extern {
52-
fn proc_kmsgbuf(buffer : *mut MessageBuffer, buffersize : uint32_t) -> c_int;
52+
fn proc_kmsgbuf(buffer : *mut MessageBuffer, buffersize : u32) -> c_int;
5353
}
5454

5555
/// Get upto buffersize bytes from the the kernel message buffer - as used by dmesg

src/libproc/net_info.rs

Lines changed: 56 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ extern crate libc;
33
use crate::libproc::file_info::{PIDFDInfo, PIDFDInfoFlavor};
44

55
use self::libc::{c_char, c_int, c_short, c_uchar, c_ushort, gid_t, IF_NAMESIZE, in6_addr, in_addr,
6-
int32_t, int64_t, off_t, SOCK_MAXADDRLEN, sockaddr_un, uid_t, uint16_t, uint32_t,
7-
uint64_t, uint8_t};
6+
off_t, SOCK_MAXADDRLEN, sockaddr_un, uid_t};
87

98
#[repr(C)]
109
#[derive(Default)]
@@ -16,11 +15,11 @@ pub struct SocketFDInfo {
1615
#[repr(C)]
1716
#[derive(Default)]
1817
pub struct ProcFileInfo {
19-
pub fi_openflags: uint32_t,
20-
pub fi_status : uint32_t,
18+
pub fi_openflags: u32,
19+
pub fi_status : u32,
2120
pub fi_offset : off_t,
22-
pub fi_type : int32_t,
23-
pub rfu_1 : int32_t,
21+
pub fi_type : i32,
22+
pub rfu_1 : i32,
2423
}
2524

2625
impl PIDFDInfo for SocketFDInfo {
@@ -65,8 +64,8 @@ impl From<c_int> for SocketInfoKind {
6564
#[derive(Default)]
6665
pub struct SocketInfo {
6766
pub soi_stat: VInfoStat,
68-
pub soi_so: uint64_t,
69-
pub soi_pcb: uint64_t,
67+
pub soi_so: u64,
68+
pub soi_pcb: u64,
7069
pub soi_type: c_int,
7170
pub soi_protocol: c_int,
7271
pub soi_family: c_int,
@@ -78,48 +77,48 @@ pub struct SocketInfo {
7877
pub soi_qlimit: c_short,
7978
pub soi_timeo: c_short,
8079
pub soi_error: c_ushort,
81-
pub soi_oobmark: uint32_t,
80+
pub soi_oobmark: u32,
8281
pub soi_rcv: SockBufInfo,
8382
pub soi_snd: SockBufInfo,
8483
pub soi_kind: c_int,
85-
pub rfu_1: uint32_t,
84+
pub rfu_1: u32,
8685
pub soi_proto: SocketInfoProto,
8786
}
8887

8988
#[repr(C)]
9089
#[derive(Default)]
9190
pub struct VInfoStat {
92-
pub vst_dev: uint32_t,
93-
pub vst_mode: uint16_t,
94-
pub vst_nlink: uint16_t,
95-
pub vst_ino: uint64_t,
91+
pub vst_dev: u32,
92+
pub vst_mode: u16,
93+
pub vst_nlink: u16,
94+
pub vst_ino: u64,
9695
pub vst_uid: uid_t,
9796
pub vst_gid: gid_t,
98-
pub vst_atime: int64_t,
99-
pub vst_atimensec: int64_t,
100-
pub vst_mtime: int64_t,
101-
pub vst_mtimensec: int64_t,
102-
pub vst_ctime: int64_t,
103-
pub vst_ctimensec: int64_t,
104-
pub vst_birthtime: int64_t,
105-
pub vst_birthtimensec: int64_t,
97+
pub vst_atime: i64,
98+
pub vst_atimensec: i64,
99+
pub vst_mtime: i64,
100+
pub vst_mtimensec: i64,
101+
pub vst_ctime: i64,
102+
pub vst_ctimensec: i64,
103+
pub vst_birthtime: i64,
104+
pub vst_birthtimensec: i64,
106105
pub vst_size: off_t,
107-
pub vst_blocks: int64_t,
108-
pub vst_blksize: int32_t,
109-
pub vst_flags: uint32_t,
110-
pub vst_gen: uint32_t,
111-
pub vst_rdev: uint32_t,
112-
pub vst_qspare: [int64_t; 2],
106+
pub vst_blocks: i64,
107+
pub vst_blksize: i32,
108+
pub vst_flags: u32,
109+
pub vst_gen: u32,
110+
pub vst_rdev: u32,
111+
pub vst_qspare: [i64; 2],
113112
}
114113

115114
#[repr(C)]
116115
#[derive(Default)]
117116
pub struct SockBufInfo {
118-
pub sbi_cc: uint32_t,
119-
pub sbi_hiwat: uint32_t,
120-
pub sbi_mbcnt: uint32_t,
121-
pub sbi_mbmax: uint32_t,
122-
pub sbi_lowat: uint32_t,
117+
pub sbi_cc: u32,
118+
pub sbi_hiwat: u32,
119+
pub sbi_mbcnt: u32,
120+
pub sbi_mbmax: u32,
121+
pub sbi_lowat: u32,
123122
pub sbi_flags: c_short,
124123
pub sbi_timeo: c_short,
125124
}
@@ -145,7 +144,7 @@ impl Default for SocketInfoProto {
145144
#[repr(C)]
146145
#[derive(Copy, Clone)]
147146
pub struct In4In6Addr {
148-
pub i46a_pad32: [uint32_t; 3],
147+
pub i46a_pad32: [u32; 3],
149148
pub i46a_addr4: in_addr,
150149
}
151150

@@ -163,12 +162,12 @@ impl Default for In4In6Addr {
163162
pub struct InSockInfo {
164163
pub insi_fport: c_int,
165164
pub insi_lport: c_int,
166-
pub insi_gencnt: uint64_t,
167-
pub insi_flags: uint32_t,
168-
pub insi_flow: uint32_t,
169-
pub insi_vflag: uint8_t,
170-
pub insi_ip_ttl: uint8_t,
171-
pub rfu_1: uint32_t,
165+
pub insi_gencnt: u64,
166+
pub insi_flags: u32,
167+
pub insi_flow: u32,
168+
pub insi_vflag: u8,
169+
pub insi_ip_ttl: u8,
170+
pub rfu_1: u32,
172171
pub insi_faddr: InSIAddr,
173172
pub insi_laddr: InSIAddr,
174173
pub insi_v4: InSIV4,
@@ -184,7 +183,7 @@ pub struct InSIV4 {
184183
#[repr(C)]
185184
#[derive(Copy, Clone, Default)]
186185
pub struct InSIV6 {
187-
pub in6_hlim: uint8_t,
186+
pub in6_hlim: u8,
188187
pub in6_cksum: c_int,
189188
pub in6_ifindex: c_ushort,
190189
pub in6_hops: c_short,
@@ -264,16 +263,16 @@ pub struct TcpSockInfo {
264263
pub tcpsi_state: c_int,
265264
pub tcpsi_timer: [c_int; TSI_T_NTIMERS],
266265
pub tcpsi_mss: c_int,
267-
pub tcpsi_flags: uint32_t,
268-
pub rfu_1: uint32_t,
269-
pub tcpsi_tp: uint64_t,
266+
pub tcpsi_flags: u32,
267+
pub rfu_1: u32,
268+
pub tcpsi_tp: u64,
270269
}
271270

272271
#[repr(C)]
273272
#[derive(Copy, Clone, Default)]
274273
pub struct UnSockInfo {
275-
pub unsi_conn_so: uint64_t,
276-
pub unsi_conn_pcb: uint64_t,
274+
pub unsi_conn_so: u64,
275+
pub unsi_conn_pcb: u64,
277276
pub unsi_addr: UnSIAddr,
278277
pub unsi_caddr: UnSIAddr,
279278
}
@@ -296,30 +295,30 @@ impl Default for UnSIAddr {
296295
#[repr(C)]
297296
#[derive(Copy, Clone, Default)]
298297
pub struct NdrvInfo {
299-
pub ndrvsi_if_family: uint32_t,
300-
pub ndrvsi_if_unit: uint32_t,
298+
pub ndrvsi_if_family: u32,
299+
pub ndrvsi_if_unit: u32,
301300
pub ndrvsi_if_name: [c_char; IF_NAMESIZE],
302301
}
303302

304303
#[repr(C)]
305304
#[derive(Copy, Clone, Default)]
306305
pub struct KernEventInfo {
307-
pub kesi_vendor_code_filter: uint32_t,
308-
pub kesi_class_filter: uint32_t,
309-
pub kesi_subclass_filter: uint32_t,
306+
pub kesi_vendor_code_filter: u32,
307+
pub kesi_class_filter: u32,
308+
pub kesi_subclass_filter: u32,
310309
}
311310

312311
const MAX_KCTL_NAME: usize = 96;
313312

314313
#[repr(C)]
315314
#[derive(Copy, Clone)]
316315
pub struct KernCtlInfo {
317-
pub kcsi_id: uint32_t,
318-
pub kcsi_reg_unit: uint32_t,
319-
pub kcsi_flags: uint32_t,
320-
pub kcsi_recvbufsize: uint32_t,
321-
pub kcsi_sendbufsize: uint32_t,
322-
pub kcsi_unit: uint32_t,
316+
pub kcsi_id: u32,
317+
pub kcsi_reg_unit: u32,
318+
pub kcsi_flags: u32,
319+
pub kcsi_recvbufsize: u32,
320+
pub kcsi_sendbufsize: u32,
321+
pub kcsi_unit: u32,
323322
pub kcsi_name: [c_char; MAX_KCTL_NAME],
324323
}
325324

0 commit comments

Comments
 (0)