add const to msghdr_const iov and control pointers

alongside the typical msghdr struct, Zig has added a msghdr_const
type that can be used with sendmsg which allows const data to
be provided.  I believe that data pointed to by the iov and control
fields in msghdr are also left unmodified, in which case they can
be marked const as well.
This commit is contained in:
Jonathan Marler 2022-06-02 15:51:22 -06:00 committed by Andrew Kelley
parent e9fc58eab7
commit 523fae420b
14 changed files with 26 additions and 26 deletions

View File

@ -266,13 +266,13 @@ pub const msghdr_const = extern struct {
msg_namelen: socklen_t,
/// scatter/gather array
msg_iov: [*]iovec_const,
msg_iov: [*]const iovec_const,
/// # elements in msg_iov
msg_iovlen: i32,
/// ancillary data
msg_control: ?*anyopaque,
msg_control: ?*const anyopaque,
/// ancillary data buffer len
msg_controllen: socklen_t,

View File

@ -279,13 +279,13 @@ pub const msghdr_const = extern struct {
msg_namelen: socklen_t,
/// scatter/gather array
msg_iov: [*]iovec_const,
msg_iov: [*]const iovec_const,
/// # elements in msg_iov
msg_iovlen: c_uint,
/// ancillary data
msg_control: ?*anyopaque,
msg_control: ?*const anyopaque,
/// ancillary data buffer len
msg_controllen: socklen_t,

View File

@ -202,11 +202,11 @@ pub const msghdr_const = extern struct {
/// size of address
msg_namelen: socklen_t,
/// scatter/gather array
msg_iov: [*]iovec_const,
msg_iov: [*]const iovec_const,
/// # elements in msg_iov
msg_iovlen: i32,
/// ancillary data
msg_control: ?*anyopaque,
msg_control: ?*const anyopaque,
/// ancillary data buffer len
msg_controllen: socklen_t,
/// flags on received message

View File

@ -253,9 +253,9 @@ pub const msghdr = extern struct {
pub const msghdr_const = extern struct {
name: ?*const sockaddr,
namelen: socklen_t,
iov: [*]iovec_const,
iov: [*]const iovec_const,
iovlen: i32,
control: ?*anyopaque,
control: ?*const anyopaque,
controllen: socklen_t,
flags: i32,
};

View File

@ -209,10 +209,10 @@ pub const msghdr = extern struct {
pub const msghdr_const = extern struct {
name: ?*const sockaddr,
namelen: socklen_t,
iov: [*]iovec_const,
iov: [*]const iovec_const,
iovlen: i32,
__pad1: i32 = 0,
control: ?*anyopaque,
control: ?*const anyopaque,
controllen: socklen_t,
__pad2: socklen_t = 0,
flags: i32,

View File

@ -228,9 +228,9 @@ pub const msghdr = extern struct {
pub const msghdr_const = extern struct {
name: ?*const sockaddr,
namelen: socklen_t,
iov: [*]iovec_const,
iov: [*]const iovec_const,
iovlen: i32,
control: ?*anyopaque,
control: ?*const anyopaque,
controllen: socklen_t,
flags: i32,
};

View File

@ -2029,7 +2029,7 @@ test "sendmsg/recvmsg" {
defer os.close(client);
const buffer_send = [_]u8{42} ** 128;
var iovecs_send = [_]os.iovec_const{
const iovecs_send = [_]os.iovec_const{
os.iovec_const{ .iov_base = &buffer_send, .iov_len = buffer_send.len },
};
const msg_send = os.msghdr_const{

View File

@ -304,9 +304,9 @@ pub const msghdr = extern struct {
pub const msghdr_const = extern struct {
name: ?*const sockaddr,
namelen: socklen_t,
iov: [*]iovec_const,
iov: [*]const iovec_const,
iovlen: i32,
control: ?*anyopaque,
control: ?*const anyopaque,
controllen: socklen_t,
flags: i32,
};

View File

@ -234,9 +234,9 @@ pub const msghdr = extern struct {
pub const msghdr_const = extern struct {
name: ?*const sockaddr,
namelen: socklen_t,
iov: [*]iovec_const,
iov: [*]const iovec_const,
iovlen: usize,
control: ?*anyopaque,
control: ?*const anyopaque,
controllen: socklen_t,
flags: i32,
};

View File

@ -235,9 +235,9 @@ pub const msghdr = extern struct {
pub const msghdr_const = extern struct {
name: ?*const sockaddr,
namelen: socklen_t,
iov: [*]iovec_const,
iov: [*]const iovec_const,
iovlen: usize,
control: ?*anyopaque,
control: ?*const anyopaque,
controllen: usize,
flags: i32,
};

View File

@ -199,10 +199,10 @@ pub const msghdr = extern struct {
pub const msghdr_const = extern struct {
name: ?*const sockaddr,
namelen: socklen_t,
iov: [*]iovec_const,
iov: [*]const iovec_const,
iovlen: i32,
__pad1: i32 = 0,
control: ?*anyopaque,
control: ?*const anyopaque,
controllen: socklen_t,
__pad2: socklen_t = 0,
flags: i32,

View File

@ -285,9 +285,9 @@ pub const msghdr = extern struct {
pub const msghdr_const = extern struct {
name: ?*const sockaddr,
namelen: socklen_t,
iov: [*]iovec_const,
iov: [*]const iovec_const,
iovlen: u64,
control: ?*anyopaque,
control: ?*const anyopaque,
controllen: u64,
flags: i32,
};

View File

@ -256,10 +256,10 @@ pub const msghdr = extern struct {
pub const msghdr_const = extern struct {
name: ?*const sockaddr,
namelen: socklen_t,
iov: [*]iovec_const,
iov: [*]const iovec_const,
iovlen: i32,
__pad1: i32 = 0,
control: ?*anyopaque,
control: ?*const anyopaque,
controllen: socklen_t,
__pad2: socklen_t = 0,
flags: i32,

View File

@ -1143,7 +1143,7 @@ pub const msghdr_const = WSAMSG_const;
pub const WSAMSG_const = extern struct {
name: *const sockaddr,
namelen: INT,
lpBuffers: [*]WSABUF,
lpBuffers: [*]const WSABUF,
dwBufferCount: DWORD,
Control: WSABUF,
dwFlags: DWORD,