From 523fae420bd569dc79153eb3a9adb176e18a115c Mon Sep 17 00:00:00 2001 From: Jonathan Marler Date: Thu, 2 Jun 2022 15:51:22 -0600 Subject: [PATCH] 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. --- lib/std/c/netbsd.zig | 4 ++-- lib/std/c/openbsd.zig | 4 ++-- lib/std/c/solaris.zig | 4 ++-- lib/std/os/linux/arm-eabi.zig | 4 ++-- lib/std/os/linux/arm64.zig | 4 ++-- lib/std/os/linux/i386.zig | 4 ++-- lib/std/os/linux/io_uring.zig | 2 +- lib/std/os/linux/mips.zig | 4 ++-- lib/std/os/linux/powerpc.zig | 4 ++-- lib/std/os/linux/powerpc64.zig | 4 ++-- lib/std/os/linux/riscv64.zig | 4 ++-- lib/std/os/linux/sparc64.zig | 4 ++-- lib/std/os/linux/x86_64.zig | 4 ++-- lib/std/os/windows/ws2_32.zig | 2 +- 14 files changed, 26 insertions(+), 26 deletions(-) diff --git a/lib/std/c/netbsd.zig b/lib/std/c/netbsd.zig index d52568d03a7160518f954f47ed22d14e8c56f915..5739e6fac98e8960eacc2180684be7c398939c55 100644 --- a/lib/std/c/netbsd.zig +++ b/lib/std/c/netbsd.zig @@ -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, diff --git a/lib/std/c/openbsd.zig b/lib/std/c/openbsd.zig index 71c9d21ce35254660a969ea9b85be34f64f14fcf..3ef2be4628d36695a33b767075353100f839cb47 100644 --- a/lib/std/c/openbsd.zig +++ b/lib/std/c/openbsd.zig @@ -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, diff --git a/lib/std/c/solaris.zig b/lib/std/c/solaris.zig index 7026cf5dc4786c3ee51c2f807fdecd51b9e625c7..14f5bcf1c8f0a472ebf6bdd7a7892b03cac27ee1 100644 --- a/lib/std/c/solaris.zig +++ b/lib/std/c/solaris.zig @@ -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 diff --git a/lib/std/os/linux/arm-eabi.zig b/lib/std/os/linux/arm-eabi.zig index c3a94312a0dfb1229d5cbf8f5933a2a0a4d4126a..cd7509d26535dae32d78804766744bbcb3f34692 100644 --- a/lib/std/os/linux/arm-eabi.zig +++ b/lib/std/os/linux/arm-eabi.zig @@ -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, }; diff --git a/lib/std/os/linux/arm64.zig b/lib/std/os/linux/arm64.zig index 9bc0e32c19e51d2813e7f85cb58f00046e93867b..dc6c7077ba2ae671a999dfd669a2262dc709581c 100644 --- a/lib/std/os/linux/arm64.zig +++ b/lib/std/os/linux/arm64.zig @@ -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, diff --git a/lib/std/os/linux/i386.zig b/lib/std/os/linux/i386.zig index 6149997a045fec496ace41cd3ee0c4138096c3c2..a85f6c713be9c69d1e6a74248f0a273fade14010 100644 --- a/lib/std/os/linux/i386.zig +++ b/lib/std/os/linux/i386.zig @@ -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, }; diff --git a/lib/std/os/linux/io_uring.zig b/lib/std/os/linux/io_uring.zig index 3672a94c6916cb465924768d485f6a99390298aa..144927771f0bc9bc40db3300de12861a1dbed67e 100644 --- a/lib/std/os/linux/io_uring.zig +++ b/lib/std/os/linux/io_uring.zig @@ -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{ diff --git a/lib/std/os/linux/mips.zig b/lib/std/os/linux/mips.zig index 95b73396b048149f3df1e3298664f7bc83b2cd94..4341949b2f7c7dd9e8d523a16d61353e57883638 100644 --- a/lib/std/os/linux/mips.zig +++ b/lib/std/os/linux/mips.zig @@ -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, }; diff --git a/lib/std/os/linux/powerpc.zig b/lib/std/os/linux/powerpc.zig index bd4d172d442d58a72802e7ec6b07b4d151ca48eb..c25f520ba25eae8b447fa38276441850157a0bf7 100644 --- a/lib/std/os/linux/powerpc.zig +++ b/lib/std/os/linux/powerpc.zig @@ -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, }; diff --git a/lib/std/os/linux/powerpc64.zig b/lib/std/os/linux/powerpc64.zig index 4f838f6086ef715d30350f78d7ce855840983bc9..221fd935f21594b675885f686e7d5631d0dc65ad 100644 --- a/lib/std/os/linux/powerpc64.zig +++ b/lib/std/os/linux/powerpc64.zig @@ -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, }; diff --git a/lib/std/os/linux/riscv64.zig b/lib/std/os/linux/riscv64.zig index 30b725a85d955e194c67e2c1e92b3d80d878cb17..079d501c32421426bcd54c1a5d1abbe4bc715f2b 100644 --- a/lib/std/os/linux/riscv64.zig +++ b/lib/std/os/linux/riscv64.zig @@ -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, diff --git a/lib/std/os/linux/sparc64.zig b/lib/std/os/linux/sparc64.zig index 351dd1413bfd0ef8cbcd06f6eff02d87d1684330..d7b74d95eb345a210fab0e18edaf512f45a95180 100644 --- a/lib/std/os/linux/sparc64.zig +++ b/lib/std/os/linux/sparc64.zig @@ -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, }; diff --git a/lib/std/os/linux/x86_64.zig b/lib/std/os/linux/x86_64.zig index 60fbb295576cf99cb09f53fa2b5749c432d4f79c..3653c3158470f4f9212ce1af10e5d30e13d3c509 100644 --- a/lib/std/os/linux/x86_64.zig +++ b/lib/std/os/linux/x86_64.zig @@ -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, diff --git a/lib/std/os/windows/ws2_32.zig b/lib/std/os/windows/ws2_32.zig index a9562429807110500830936a1b4eab66ad9954bc..4caf64de361ab76c5d7e4eb33005d3ba3d791d86 100644 --- a/lib/std/os/windows/ws2_32.zig +++ b/lib/std/os/windows/ws2_32.zig @@ -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, -- 2.54.0