Skip to content

Commit

Permalink
Fix a few other array size hacks
Browse files Browse the repository at this point in the history
Sources:

* FreeBSD `__reserve_pad`: [1]
* NetBSD `accept_filter_arg`: https://man.netbsd.org/setsockopt.2

[1]: https://github.com/freebsd/freebsd-src/blob/4b4e88d9425b59a377a71ffeb553376b1c60a80e/sys/netinet/sctp_uio.h#L110-L146

(apply <rust-lang#4062> to `main`)
(cherry picked from commit d63be8b)
  • Loading branch information
tgross35 committed Nov 17, 2024
1 parent 1f63381 commit 094a24d
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 3 deletions.
9 changes: 7 additions & 2 deletions src/unix/bsd/freebsdlike/freebsd/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1153,7 +1153,7 @@ s! {
pub sinfo_assoc_id: ::sctp_assoc_t,
pub sinfo_keynumber: u16,
pub sinfo_keynumber_valid: u16,
pub __reserve_pad: [[u8; 23]; 4],
pub __reserve_pad: [u8; SCTP_ALIGN_RESV_PAD],
}

pub struct sctp_extrcvinfo {
Expand All @@ -1173,7 +1173,7 @@ s! {
pub serinfo_next_ppid: u32,
pub sinfo_keynumber: u16,
pub sinfo_keynumber_valid: u16,
pub __reserve_pad: [[u8; 19]; 4],
pub __reserve_pad: [u8; SCTP_ALIGN_RESV_PAD_SHORT],
}

pub struct sctp_sndinfo {
Expand Down Expand Up @@ -4881,6 +4881,11 @@ pub const SCTP_ASSOC_RESET_FAILED: ::c_int = 0x0008;
pub const SCTP_STREAM_CHANGE_DENIED: ::c_int = 0x0004;
pub const SCTP_STREAM_CHANGE_FAILED: ::c_int = 0x0008;

// sctp_uio.h

pub const SCTP_ALIGN_RESV_PAD: usize = 92;
pub const SCTP_ALIGN_RESV_PAD_SHORT: usize = 76;

pub const KENV_DUMP_LOADER: ::c_int = 4;
pub const KENV_DUMP_STATIC: ::c_int = 5;

Expand Down
2 changes: 1 addition & 1 deletion src/unix/bsd/netbsdlike/netbsd/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -512,7 +512,7 @@ s! {

pub struct accept_filter_arg {
pub af_name: [::c_char; 16],
af_arg: [[::c_char; 10]; 24],
pub af_arg: [::c_char; 256 - 16],
}

pub struct ki_sigset_t {
Expand Down

0 comments on commit 094a24d

Please sign in to comment.