Skip to content

Commit f62f2d4

Browse files
committed
Relocate nto net headers to src/new
1 parent 9aec841 commit f62f2d4

File tree

5 files changed

+123
-107
lines changed

5 files changed

+123
-107
lines changed

src/new/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,9 @@ cfg_if! {
193193
pub use utmpx_::*;
194194
} else if #[cfg(target_os = "openbsd")] {
195195
pub use sys::ipc::*;
196+
} else if #[cfg(target_os = "nto")] {
197+
pub use net::bpf::*;
198+
pub use net::if_::*;
196199
}
197200
}
198201

src/new/nto/mod.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,8 @@
22
// FIXME(nto): link to manpages needed.
33

44
pub(crate) mod unistd;
5+
6+
pub(crate) mod net {
7+
pub(crate) mod bpf;
8+
pub(crate) mod if_;
9+
}

src/new/nto/net/bpf.rs

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
use crate::bpf_insn;
2+
3+
pub const BPF_LD: u16 = 0x00;
4+
pub const BPF_LDX: u16 = 0x01;
5+
pub const BPF_ST: u16 = 0x02;
6+
pub const BPF_STX: u16 = 0x03;
7+
pub const BPF_ALU: u16 = 0x04;
8+
pub const BPF_JMP: u16 = 0x05;
9+
pub const BPF_RET: u16 = 0x06;
10+
pub const BPF_MISC: u16 = 0x07;
11+
pub const BPF_W: u16 = 0x00;
12+
pub const BPF_H: u16 = 0x08;
13+
pub const BPF_B: u16 = 0x10;
14+
pub const BPF_IMM: u16 = 0x00;
15+
pub const BPF_ABS: u16 = 0x20;
16+
pub const BPF_IND: u16 = 0x40;
17+
pub const BPF_MEM: u16 = 0x60;
18+
pub const BPF_LEN: u16 = 0x80;
19+
pub const BPF_MSH: u16 = 0xa0;
20+
pub const BPF_ADD: u16 = 0x00;
21+
pub const BPF_SUB: u16 = 0x10;
22+
pub const BPF_MUL: u16 = 0x20;
23+
pub const BPF_DIV: u16 = 0x30;
24+
pub const BPF_OR: u16 = 0x40;
25+
pub const BPF_AND: u16 = 0x50;
26+
pub const BPF_LSH: u16 = 0x60;
27+
pub const BPF_RSH: u16 = 0x70;
28+
pub const BPF_NEG: u16 = 0x80;
29+
pub const BPF_MOD: u16 = 0x90;
30+
pub const BPF_XOR: u16 = 0xa0;
31+
pub const BPF_JA: u16 = 0x00;
32+
pub const BPF_JEQ: u16 = 0x10;
33+
pub const BPF_JGT: u16 = 0x20;
34+
pub const BPF_JGE: u16 = 0x30;
35+
pub const BPF_JSET: u16 = 0x40;
36+
pub const BPF_K: u16 = 0x00;
37+
pub const BPF_X: u16 = 0x08;
38+
pub const BPF_A: u16 = 0x10;
39+
pub const BPF_TAX: u16 = 0x00;
40+
pub const BPF_TXA: u16 = 0x80;
41+
42+
43+
pub fn BPF_CLASS(code: u32) -> u32 {
44+
code & 0x07
45+
}
46+
47+
pub fn BPF_SIZE(code: u32) -> u32 {
48+
code & 0x18
49+
}
50+
51+
pub fn BPF_MODE(code: u32) -> u32 {
52+
code & 0xe0
53+
}
54+
55+
pub fn BPF_OP(code: u32) -> u32 {
56+
code & 0xf0
57+
}
58+
59+
pub fn BPF_SRC(code: u32) -> u32 {
60+
code & 0x08
61+
}
62+
63+
pub fn BPF_RVAL(code: u32) -> u32 {
64+
code & 0x18
65+
}
66+
67+
pub fn BPF_MISCOP(code: u32) -> u32 {
68+
code & 0xf8
69+
}
70+
71+
pub fn BPF_STMT(code: u16, k: u32) -> bpf_insn {
72+
bpf_insn {
73+
code,
74+
jt: 0,
75+
jf: 0,
76+
k,
77+
}
78+
}
79+
80+
pub fn BPF_JUMP(code: u16, k: u32, jt: u8, jf: u8) -> bpf_insn {
81+
bpf_insn { code, jt, jf, k }
82+
}

src/new/nto/net/if_.rs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
use crate::prelude::*;
2+
3+
s! {
4+
pub struct ifreq {
5+
/// if name, e.g. "en0"
6+
pub ifr_name: [c_char; crate::IFNAMSIZ],
7+
pub ifr_ifru: __c_anonymous_ifr_ifru,
8+
}
9+
pub struct ifreq_buffer {
10+
pub length: size_t,
11+
pub buffer: *mut c_void,
12+
}
13+
}
14+
15+
s_no_extra_traits! {
16+
pub union __c_anonymous_ifr_ifru {
17+
pub ifru_addr: crate::sockaddr,
18+
pub ifru_dstaddr: crate::sockaddr,
19+
pub ifru_broadaddr: crate::sockaddr,
20+
pub ifru_buffer: ifreq_buffer,
21+
pub ifru_flags: [c_short; 2],
22+
pub ifru_index: c_short,
23+
pub ifru_jid: c_int,
24+
pub ifru_metric: c_int,
25+
pub ifru_mtu: c_int,
26+
pub ifru_phys: c_int,
27+
pub ifru_media: c_int,
28+
pub ifru_data: *mut c_char,
29+
pub ifru_cap: [c_int; 2],
30+
pub ifru_fib: c_uint,
31+
pub ifru_vlan_pcp: c_uchar,
32+
}
33+
}

src/unix/nto/mod.rs

Lines changed: 0 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -670,10 +670,6 @@ s! {
670670
pub uc_stack: stack_t,
671671
pub uc_mcontext: mcontext_t,
672672
}
673-
pub struct ifreq_buffer {
674-
pub length: size_t,
675-
pub buffer: *mut c_void,
676-
}
677673
}
678674

679675
s_no_extra_traits! {
@@ -802,30 +798,6 @@ s_no_extra_traits! {
802798
pub __owner: c_uint,
803799
pub __spare: c_uint,
804800
}
805-
806-
pub union __c_anonymous_ifr_ifru {
807-
pub ifru_addr: crate::sockaddr,
808-
pub ifru_dstaddr: crate::sockaddr,
809-
pub ifru_broadaddr: crate::sockaddr,
810-
pub ifru_buffer: ifreq_buffer,
811-
pub ifru_flags: [c_short; 2],
812-
pub ifru_index: c_short,
813-
pub ifru_jid: c_int,
814-
pub ifru_metric: c_int,
815-
pub ifru_mtu: c_int,
816-
pub ifru_phys: c_int,
817-
pub ifru_media: c_int,
818-
pub ifru_data: *mut c_char,
819-
pub ifru_cap: [c_int; 2],
820-
pub ifru_fib: c_uint,
821-
pub ifru_vlan_pcp: c_uchar,
822-
}
823-
824-
pub struct ifreq {
825-
/// if name, e.g. "en0"
826-
pub ifr_name: [c_char; crate::IFNAMSIZ],
827-
pub ifr_ifru: __c_anonymous_ifr_ifru,
828-
}
829801
}
830802

831803
cfg_if! {
@@ -2333,44 +2305,6 @@ pub const BIOCSRTIMEOUT: c_int = -2146418067;
23332305
pub const BIOCVERSION: c_int = 1074020977;
23342306

23352307
pub const BPF_ALIGNMENT: usize = size_of::<c_long>();
2336-
pub const BPF_LD: u16 = 0x00;
2337-
pub const BPF_LDX: u16 = 0x01;
2338-
pub const BPF_ST: u16 = 0x02;
2339-
pub const BPF_STX: u16 = 0x03;
2340-
pub const BPF_ALU: u16 = 0x04;
2341-
pub const BPF_JMP: u16 = 0x05;
2342-
pub const BPF_RET: u16 = 0x06;
2343-
pub const BPF_MISC: u16 = 0x07;
2344-
pub const BPF_W: u16 = 0x00;
2345-
pub const BPF_H: u16 = 0x08;
2346-
pub const BPF_B: u16 = 0x10;
2347-
pub const BPF_IMM: u16 = 0x00;
2348-
pub const BPF_ABS: u16 = 0x20;
2349-
pub const BPF_IND: u16 = 0x40;
2350-
pub const BPF_MEM: u16 = 0x60;
2351-
pub const BPF_LEN: u16 = 0x80;
2352-
pub const BPF_MSH: u16 = 0xa0;
2353-
pub const BPF_ADD: u16 = 0x00;
2354-
pub const BPF_SUB: u16 = 0x10;
2355-
pub const BPF_MUL: u16 = 0x20;
2356-
pub const BPF_DIV: u16 = 0x30;
2357-
pub const BPF_OR: u16 = 0x40;
2358-
pub const BPF_AND: u16 = 0x50;
2359-
pub const BPF_LSH: u16 = 0x60;
2360-
pub const BPF_RSH: u16 = 0x70;
2361-
pub const BPF_NEG: u16 = 0x80;
2362-
pub const BPF_MOD: u16 = 0x90;
2363-
pub const BPF_XOR: u16 = 0xa0;
2364-
pub const BPF_JA: u16 = 0x00;
2365-
pub const BPF_JEQ: u16 = 0x10;
2366-
pub const BPF_JGT: u16 = 0x20;
2367-
pub const BPF_JGE: u16 = 0x30;
2368-
pub const BPF_JSET: u16 = 0x40;
2369-
pub const BPF_K: u16 = 0x00;
2370-
pub const BPF_X: u16 = 0x08;
2371-
pub const BPF_A: u16 = 0x10;
2372-
pub const BPF_TAX: u16 = 0x00;
2373-
pub const BPF_TXA: u16 = 0x80;
23742308
pub const CHAR_BIT: usize = 8;
23752309
pub const CODESET: crate::nl_item = 1;
23762310
pub const CRNCYSTR: crate::nl_item = 55;
@@ -2761,47 +2695,6 @@ f! {
27612695
let ngrps = if ngrps > 0 { ngrps - 1 } else { 0 };
27622696
size_of::<sockcred>() + size_of::<crate::gid_t>() * ngrps
27632697
}
2764-
2765-
pub fn BPF_CLASS(code: u32) -> u32 {
2766-
code & 0x07
2767-
}
2768-
2769-
pub fn BPF_SIZE(code: u32) -> u32 {
2770-
code & 0x18
2771-
}
2772-
2773-
pub fn BPF_MODE(code: u32) -> u32 {
2774-
code & 0xe0
2775-
}
2776-
2777-
pub fn BPF_OP(code: u32) -> u32 {
2778-
code & 0xf0
2779-
}
2780-
2781-
pub fn BPF_SRC(code: u32) -> u32 {
2782-
code & 0x08
2783-
}
2784-
2785-
pub fn BPF_RVAL(code: u32) -> u32 {
2786-
code & 0x18
2787-
}
2788-
2789-
pub fn BPF_MISCOP(code: u32) -> u32 {
2790-
code & 0xf8
2791-
}
2792-
2793-
pub fn BPF_STMT(code: u16, k: u32) -> bpf_insn {
2794-
bpf_insn {
2795-
code,
2796-
jt: 0,
2797-
jf: 0,
2798-
k,
2799-
}
2800-
}
2801-
2802-
pub fn BPF_JUMP(code: u16, k: u32, jt: u8, jf: u8) -> bpf_insn {
2803-
bpf_insn { code, jt, jf, k }
2804-
}
28052698
}
28062699

28072700
safe_f! {

0 commit comments

Comments
 (0)