authorgravatar for johnnymarler@gmail.comJonathan Marler <johnnymarler@gmail.com> 2022-06-02 15:51:22-06:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-06-07 15:23:44-04:00
log523fae420bd569dc79153eb3a9adb176e18a115c
tree5012af9a953e6f24a88b77ca513b8bc367b7b38d
parente9fc58eab77d60dfb02155ff17178b496d75d035

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.

14 files changed, 26 insertions(+), 26 deletions(-)

lib/std/c/netbsd.zig+2-2
...@@ -266,13 +266,13 @@ pub const msghdr_const = extern struct {...@@ -266,13 +266,13 @@ pub const msghdr_const = extern struct {
266 msg_namelen: socklen_t,266 msg_namelen: socklen_t,
267267
268 /// scatter/gather array268 /// scatter/gather array
269 msg_iov: [*]iovec_const,269 msg_iov: [*]const iovec_const,
270270
271 /// # elements in msg_iov271 /// # elements in msg_iov
272 msg_iovlen: i32,272 msg_iovlen: i32,
273273
274 /// ancillary data274 /// ancillary data
275 msg_control: ?*anyopaque,275 msg_control: ?*const anyopaque,
276276
277 /// ancillary data buffer len277 /// ancillary data buffer len
278 msg_controllen: socklen_t,278 msg_controllen: socklen_t,
lib/std/c/openbsd.zig+2-2
...@@ -279,13 +279,13 @@ pub const msghdr_const = extern struct {...@@ -279,13 +279,13 @@ pub const msghdr_const = extern struct {
279 msg_namelen: socklen_t,279 msg_namelen: socklen_t,
280280
281 /// scatter/gather array281 /// scatter/gather array
282 msg_iov: [*]iovec_const,282 msg_iov: [*]const iovec_const,
283283
284 /// # elements in msg_iov284 /// # elements in msg_iov
285 msg_iovlen: c_uint,285 msg_iovlen: c_uint,
286286
287 /// ancillary data287 /// ancillary data
288 msg_control: ?*anyopaque,288 msg_control: ?*const anyopaque,
289289
290 /// ancillary data buffer len290 /// ancillary data buffer len
291 msg_controllen: socklen_t,291 msg_controllen: socklen_t,
lib/std/c/solaris.zig+2-2
...@@ -202,11 +202,11 @@ pub const msghdr_const = extern struct {...@@ -202,11 +202,11 @@ pub const msghdr_const = extern struct {
202 /// size of address202 /// size of address
203 msg_namelen: socklen_t,203 msg_namelen: socklen_t,
204 /// scatter/gather array204 /// scatter/gather array
205 msg_iov: [*]iovec_const,205 msg_iov: [*]const iovec_const,
206 /// # elements in msg_iov206 /// # elements in msg_iov
207 msg_iovlen: i32,207 msg_iovlen: i32,
208 /// ancillary data208 /// ancillary data
209 msg_control: ?*anyopaque,209 msg_control: ?*const anyopaque,
210 /// ancillary data buffer len210 /// ancillary data buffer len
211 msg_controllen: socklen_t,211 msg_controllen: socklen_t,
212 /// flags on received message212 /// flags on received message
lib/std/os/linux/arm-eabi.zig+2-2
...@@ -253,9 +253,9 @@ pub const msghdr = extern struct {...@@ -253,9 +253,9 @@ pub const msghdr = extern struct {
253pub const msghdr_const = extern struct {253pub const msghdr_const = extern struct {
254 name: ?*const sockaddr,254 name: ?*const sockaddr,
255 namelen: socklen_t,255 namelen: socklen_t,
256 iov: [*]iovec_const,256 iov: [*]const iovec_const,
257 iovlen: i32,257 iovlen: i32,
258 control: ?*anyopaque,258 control: ?*const anyopaque,
259 controllen: socklen_t,259 controllen: socklen_t,
260 flags: i32,260 flags: i32,
261};261};
lib/std/os/linux/arm64.zig+2-2
...@@ -209,10 +209,10 @@ pub const msghdr = extern struct {...@@ -209,10 +209,10 @@ pub const msghdr = extern struct {
209pub const msghdr_const = extern struct {209pub const msghdr_const = extern struct {
210 name: ?*const sockaddr,210 name: ?*const sockaddr,
211 namelen: socklen_t,211 namelen: socklen_t,
212 iov: [*]iovec_const,212 iov: [*]const iovec_const,
213 iovlen: i32,213 iovlen: i32,
214 __pad1: i32 = 0,214 __pad1: i32 = 0,
215 control: ?*anyopaque,215 control: ?*const anyopaque,
216 controllen: socklen_t,216 controllen: socklen_t,
217 __pad2: socklen_t = 0,217 __pad2: socklen_t = 0,
218 flags: i32,218 flags: i32,
lib/std/os/linux/i386.zig+2-2
...@@ -228,9 +228,9 @@ pub const msghdr = extern struct {...@@ -228,9 +228,9 @@ pub const msghdr = extern struct {
228pub const msghdr_const = extern struct {228pub const msghdr_const = extern struct {
229 name: ?*const sockaddr,229 name: ?*const sockaddr,
230 namelen: socklen_t,230 namelen: socklen_t,
231 iov: [*]iovec_const,231 iov: [*]const iovec_const,
232 iovlen: i32,232 iovlen: i32,
233 control: ?*anyopaque,233 control: ?*const anyopaque,
234 controllen: socklen_t,234 controllen: socklen_t,
235 flags: i32,235 flags: i32,
236};236};
lib/std/os/linux/io_uring.zig+1-1
...@@ -2029,7 +2029,7 @@ test "sendmsg/recvmsg" {...@@ -2029,7 +2029,7 @@ test "sendmsg/recvmsg" {
2029 defer os.close(client);2029 defer os.close(client);
20302030
2031 const buffer_send = [_]u8{42} ** 128;2031 const buffer_send = [_]u8{42} ** 128;
2032 var iovecs_send = [_]os.iovec_const{2032 const iovecs_send = [_]os.iovec_const{
2033 os.iovec_const{ .iov_base = &buffer_send, .iov_len = buffer_send.len },2033 os.iovec_const{ .iov_base = &buffer_send, .iov_len = buffer_send.len },
2034 };2034 };
2035 const msg_send = os.msghdr_const{2035 const msg_send = os.msghdr_const{
lib/std/os/linux/mips.zig+2-2
...@@ -304,9 +304,9 @@ pub const msghdr = extern struct {...@@ -304,9 +304,9 @@ pub const msghdr = extern struct {
304pub const msghdr_const = extern struct {304pub const msghdr_const = extern struct {
305 name: ?*const sockaddr,305 name: ?*const sockaddr,
306 namelen: socklen_t,306 namelen: socklen_t,
307 iov: [*]iovec_const,307 iov: [*]const iovec_const,
308 iovlen: i32,308 iovlen: i32,
309 control: ?*anyopaque,309 control: ?*const anyopaque,
310 controllen: socklen_t,310 controllen: socklen_t,
311 flags: i32,311 flags: i32,
312};312};
lib/std/os/linux/powerpc.zig+2-2
...@@ -234,9 +234,9 @@ pub const msghdr = extern struct {...@@ -234,9 +234,9 @@ pub const msghdr = extern struct {
234pub const msghdr_const = extern struct {234pub const msghdr_const = extern struct {
235 name: ?*const sockaddr,235 name: ?*const sockaddr,
236 namelen: socklen_t,236 namelen: socklen_t,
237 iov: [*]iovec_const,237 iov: [*]const iovec_const,
238 iovlen: usize,238 iovlen: usize,
239 control: ?*anyopaque,239 control: ?*const anyopaque,
240 controllen: socklen_t,240 controllen: socklen_t,
241 flags: i32,241 flags: i32,
242};242};
lib/std/os/linux/powerpc64.zig+2-2
...@@ -235,9 +235,9 @@ pub const msghdr = extern struct {...@@ -235,9 +235,9 @@ pub const msghdr = extern struct {
235pub const msghdr_const = extern struct {235pub const msghdr_const = extern struct {
236 name: ?*const sockaddr,236 name: ?*const sockaddr,
237 namelen: socklen_t,237 namelen: socklen_t,
238 iov: [*]iovec_const,238 iov: [*]const iovec_const,
239 iovlen: usize,239 iovlen: usize,
240 control: ?*anyopaque,240 control: ?*const anyopaque,
241 controllen: usize,241 controllen: usize,
242 flags: i32,242 flags: i32,
243};243};
lib/std/os/linux/riscv64.zig+2-2
...@@ -199,10 +199,10 @@ pub const msghdr = extern struct {...@@ -199,10 +199,10 @@ pub const msghdr = extern struct {
199pub const msghdr_const = extern struct {199pub const msghdr_const = extern struct {
200 name: ?*const sockaddr,200 name: ?*const sockaddr,
201 namelen: socklen_t,201 namelen: socklen_t,
202 iov: [*]iovec_const,202 iov: [*]const iovec_const,
203 iovlen: i32,203 iovlen: i32,
204 __pad1: i32 = 0,204 __pad1: i32 = 0,
205 control: ?*anyopaque,205 control: ?*const anyopaque,
206 controllen: socklen_t,206 controllen: socklen_t,
207 __pad2: socklen_t = 0,207 __pad2: socklen_t = 0,
208 flags: i32,208 flags: i32,
lib/std/os/linux/sparc64.zig+2-2
...@@ -285,9 +285,9 @@ pub const msghdr = extern struct {...@@ -285,9 +285,9 @@ pub const msghdr = extern struct {
285pub const msghdr_const = extern struct {285pub const msghdr_const = extern struct {
286 name: ?*const sockaddr,286 name: ?*const sockaddr,
287 namelen: socklen_t,287 namelen: socklen_t,
288 iov: [*]iovec_const,288 iov: [*]const iovec_const,
289 iovlen: u64,289 iovlen: u64,
290 control: ?*anyopaque,290 control: ?*const anyopaque,
291 controllen: u64,291 controllen: u64,
292 flags: i32,292 flags: i32,
293};293};
lib/std/os/linux/x86_64.zig+2-2
...@@ -256,10 +256,10 @@ pub const msghdr = extern struct {...@@ -256,10 +256,10 @@ pub const msghdr = extern struct {
256pub const msghdr_const = extern struct {256pub const msghdr_const = extern struct {
257 name: ?*const sockaddr,257 name: ?*const sockaddr,
258 namelen: socklen_t,258 namelen: socklen_t,
259 iov: [*]iovec_const,259 iov: [*]const iovec_const,
260 iovlen: i32,260 iovlen: i32,
261 __pad1: i32 = 0,261 __pad1: i32 = 0,
262 control: ?*anyopaque,262 control: ?*const anyopaque,
263 controllen: socklen_t,263 controllen: socklen_t,
264 __pad2: socklen_t = 0,264 __pad2: socklen_t = 0,
265 flags: i32,265 flags: i32,
lib/std/os/windows/ws2_32.zig+1-1
...@@ -1143,7 +1143,7 @@ pub const msghdr_const = WSAMSG_const;...@@ -1143,7 +1143,7 @@ pub const msghdr_const = WSAMSG_const;
1143pub const WSAMSG_const = extern struct {1143pub const WSAMSG_const = extern struct {
1144 name: *const sockaddr,1144 name: *const sockaddr,
1145 namelen: INT,1145 namelen: INT,
1146 lpBuffers: [*]WSABUF,1146 lpBuffers: [*]const WSABUF,
1147 dwBufferCount: DWORD,1147 dwBufferCount: DWORD,
1148 Control: WSABUF,1148 Control: WSABUF,
1149 dwFlags: DWORD,1149 dwFlags: DWORD,