| author | |
| committer | |
| log | a500651370b3ca60f0fe8fba67d0124f136f0ec0 |
| tree | ca92e85115e11842594a04856e51415d5f5be96c |
| parent | bf00eb3006a358bbb1da694fb6d725eb6a8eeaaa |
Macos uses the BSD definition of msghdr
All linux architectures share a single msghdr definition. Many
architectures had manually inserted padding fields that were endian
specific and some had fields with different integers. This unifies all
architectures to use a single correct msghdr definition.12 files changed, 20 insertions(+), 238 deletions(-)
lib/std/os/linux.zig+20-2| ... | ... | @@ -103,8 +103,6 @@ pub const dev_t = arch_bits.dev_t; |
| 103 | 103 | pub const ino_t = arch_bits.ino_t; |
| 104 | 104 | pub const mcontext_t = arch_bits.mcontext_t; |
| 105 | 105 | pub const mode_t = arch_bits.mode_t; |
| 106 | pub const msghdr = arch_bits.msghdr; | |
| 107 | pub const msghdr_const = arch_bits.msghdr_const; | |
| 108 | 106 | pub const nlink_t = arch_bits.nlink_t; |
| 109 | 107 | pub const off_t = arch_bits.off_t; |
| 110 | 108 | pub const time_t = arch_bits.time_t; |
| ... | ... | @@ -9403,3 +9401,23 @@ pub const SHADOW_STACK = struct { |
| 9403 | 9401 | /// Set up a restore token in the shadow stack. |
| 9404 | 9402 | pub const SET_TOKEN: u64 = 1 << 0; |
| 9405 | 9403 | }; |
| 9404 | ||
| 9405 | pub const msghdr = extern struct { | |
| 9406 | name: ?*sockaddr, | |
| 9407 | namelen: socklen_t, | |
| 9408 | iov: [*]iovec, | |
| 9409 | iovlen: usize, | |
| 9410 | control: ?*anyopaque, | |
| 9411 | controllen: usize, | |
| 9412 | flags: u32, | |
| 9413 | }; | |
| 9414 | ||
| 9415 | pub const msghdr_const = extern struct { | |
| 9416 | name: ?*const sockaddr, | |
| 9417 | namelen: socklen_t, | |
| 9418 | iov: [*]const iovec_const, | |
| 9419 | iovlen: usize, | |
| 9420 | control: ?*const anyopaque, | |
| 9421 | controllen: usize, | |
| 9422 | flags: u32, | |
| 9423 | }; | |
| \ No newline at end of file |
lib/std/os/linux/aarch64.zig-24| ... | ... | @@ -199,30 +199,6 @@ pub const Flock = extern struct { |
| 199 | 199 | __unused: [4]u8, |
| 200 | 200 | }; |
| 201 | 201 | |
| 202 | pub const msghdr = extern struct { | |
| 203 | name: ?*sockaddr, | |
| 204 | namelen: socklen_t, | |
| 205 | iov: [*]iovec, | |
| 206 | iovlen: i32, | |
| 207 | __pad1: i32 = 0, | |
| 208 | control: ?*anyopaque, | |
| 209 | controllen: socklen_t, | |
| 210 | __pad2: socklen_t = 0, | |
| 211 | flags: i32, | |
| 212 | }; | |
| 213 | ||
| 214 | pub const msghdr_const = extern struct { | |
| 215 | name: ?*const sockaddr, | |
| 216 | namelen: socklen_t, | |
| 217 | iov: [*]const iovec_const, | |
| 218 | iovlen: i32, | |
| 219 | __pad1: i32 = 0, | |
| 220 | control: ?*const anyopaque, | |
| 221 | controllen: socklen_t, | |
| 222 | __pad2: socklen_t = 0, | |
| 223 | flags: i32, | |
| 224 | }; | |
| 225 | ||
| 226 | 202 | pub const blksize_t = i32; |
| 227 | 203 | pub const nlink_t = u32; |
| 228 | 204 | pub const time_t = isize; |
lib/std/os/linux/arm.zig-20| ... | ... | @@ -237,26 +237,6 @@ pub const Flock = extern struct { |
| 237 | 237 | __unused: [4]u8, |
| 238 | 238 | }; |
| 239 | 239 | |
| 240 | pub const msghdr = extern struct { | |
| 241 | name: ?*sockaddr, | |
| 242 | namelen: socklen_t, | |
| 243 | iov: [*]iovec, | |
| 244 | iovlen: i32, | |
| 245 | control: ?*anyopaque, | |
| 246 | controllen: socklen_t, | |
| 247 | flags: i32, | |
| 248 | }; | |
| 249 | ||
| 250 | pub const msghdr_const = extern struct { | |
| 251 | name: ?*const sockaddr, | |
| 252 | namelen: socklen_t, | |
| 253 | iov: [*]const iovec_const, | |
| 254 | iovlen: i32, | |
| 255 | control: ?*const anyopaque, | |
| 256 | controllen: socklen_t, | |
| 257 | flags: i32, | |
| 258 | }; | |
| 259 | ||
| 260 | 240 | pub const blksize_t = i32; |
| 261 | 241 | pub const nlink_t = u32; |
| 262 | 242 | pub const time_t = isize; |
lib/std/os/linux/mips.zig-20| ... | ... | @@ -309,26 +309,6 @@ pub const Flock = extern struct { |
| 309 | 309 | __unused: [4]u8, |
| 310 | 310 | }; |
| 311 | 311 | |
| 312 | pub const msghdr = extern struct { | |
| 313 | name: ?*sockaddr, | |
| 314 | namelen: socklen_t, | |
| 315 | iov: [*]iovec, | |
| 316 | iovlen: i32, | |
| 317 | control: ?*anyopaque, | |
| 318 | controllen: socklen_t, | |
| 319 | flags: i32, | |
| 320 | }; | |
| 321 | ||
| 322 | pub const msghdr_const = extern struct { | |
| 323 | name: ?*const sockaddr, | |
| 324 | namelen: socklen_t, | |
| 325 | iov: [*]const iovec_const, | |
| 326 | iovlen: i32, | |
| 327 | control: ?*const anyopaque, | |
| 328 | controllen: socklen_t, | |
| 329 | flags: i32, | |
| 330 | }; | |
| 331 | ||
| 332 | 312 | pub const blksize_t = u32; |
| 333 | 313 | pub const nlink_t = u32; |
| 334 | 314 | pub const time_t = i32; |
lib/std/os/linux/mips64.zig-20| ... | ... | @@ -288,26 +288,6 @@ pub const Flock = extern struct { |
| 288 | 288 | __unused: [4]u8, |
| 289 | 289 | }; |
| 290 | 290 | |
| 291 | pub const msghdr = extern struct { | |
| 292 | name: ?*sockaddr, | |
| 293 | namelen: socklen_t, | |
| 294 | iov: [*]iovec, | |
| 295 | iovlen: i32, | |
| 296 | control: ?*anyopaque, | |
| 297 | controllen: socklen_t, | |
| 298 | flags: i32, | |
| 299 | }; | |
| 300 | ||
| 301 | pub const msghdr_const = extern struct { | |
| 302 | name: ?*const sockaddr, | |
| 303 | namelen: socklen_t, | |
| 304 | iov: [*]const iovec_const, | |
| 305 | iovlen: i32, | |
| 306 | control: ?*const anyopaque, | |
| 307 | controllen: socklen_t, | |
| 308 | flags: i32, | |
| 309 | }; | |
| 310 | ||
| 311 | 291 | pub const blksize_t = u32; |
| 312 | 292 | pub const nlink_t = u32; |
| 313 | 293 | pub const time_t = i32; |
lib/std/os/linux/powerpc.zig-20| ... | ... | @@ -247,26 +247,6 @@ pub const Flock = extern struct { |
| 247 | 247 | pid: pid_t, |
| 248 | 248 | }; |
| 249 | 249 | |
| 250 | pub const msghdr = extern struct { | |
| 251 | name: ?*sockaddr, | |
| 252 | namelen: socklen_t, | |
| 253 | iov: [*]iovec, | |
| 254 | iovlen: usize, | |
| 255 | control: ?*anyopaque, | |
| 256 | controllen: socklen_t, | |
| 257 | flags: i32, | |
| 258 | }; | |
| 259 | ||
| 260 | pub const msghdr_const = extern struct { | |
| 261 | name: ?*const sockaddr, | |
| 262 | namelen: socklen_t, | |
| 263 | iov: [*]const iovec_const, | |
| 264 | iovlen: usize, | |
| 265 | control: ?*const anyopaque, | |
| 266 | controllen: socklen_t, | |
| 267 | flags: i32, | |
| 268 | }; | |
| 269 | ||
| 270 | 250 | pub const blksize_t = i32; |
| 271 | 251 | pub const nlink_t = u32; |
| 272 | 252 | pub const time_t = isize; |
lib/std/os/linux/powerpc64.zig-20| ... | ... | @@ -233,26 +233,6 @@ pub const Flock = extern struct { |
| 233 | 233 | __unused: [4]u8, |
| 234 | 234 | }; |
| 235 | 235 | |
| 236 | pub const msghdr = extern struct { | |
| 237 | name: ?*sockaddr, | |
| 238 | namelen: socklen_t, | |
| 239 | iov: [*]iovec, | |
| 240 | iovlen: usize, | |
| 241 | control: ?*anyopaque, | |
| 242 | controllen: usize, | |
| 243 | flags: i32, | |
| 244 | }; | |
| 245 | ||
| 246 | pub const msghdr_const = extern struct { | |
| 247 | name: ?*const sockaddr, | |
| 248 | namelen: socklen_t, | |
| 249 | iov: [*]const iovec_const, | |
| 250 | iovlen: usize, | |
| 251 | control: ?*const anyopaque, | |
| 252 | controllen: usize, | |
| 253 | flags: i32, | |
| 254 | }; | |
| 255 | ||
| 256 | 236 | pub const blksize_t = i64; |
| 257 | 237 | pub const nlink_t = u64; |
| 258 | 238 | pub const time_t = i64; |
lib/std/os/linux/riscv32.zig-24| ... | ... | @@ -198,30 +198,6 @@ pub const Flock = extern struct { |
| 198 | 198 | __unused: [4]u8, |
| 199 | 199 | }; |
| 200 | 200 | |
| 201 | pub const msghdr = extern struct { | |
| 202 | name: ?*sockaddr, | |
| 203 | namelen: socklen_t, | |
| 204 | iov: [*]iovec, | |
| 205 | iovlen: i32, | |
| 206 | __pad1: i32 = 0, | |
| 207 | control: ?*anyopaque, | |
| 208 | controllen: socklen_t, | |
| 209 | __pad2: socklen_t = 0, | |
| 210 | flags: i32, | |
| 211 | }; | |
| 212 | ||
| 213 | pub const msghdr_const = extern struct { | |
| 214 | name: ?*const sockaddr, | |
| 215 | namelen: socklen_t, | |
| 216 | iov: [*]const iovec_const, | |
| 217 | iovlen: i32, | |
| 218 | __pad1: i32 = 0, | |
| 219 | control: ?*const anyopaque, | |
| 220 | controllen: socklen_t, | |
| 221 | __pad2: socklen_t = 0, | |
| 222 | flags: i32, | |
| 223 | }; | |
| 224 | ||
| 225 | 201 | // The `stat` definition used by the Linux kernel. |
| 226 | 202 | pub const Stat = extern struct { |
| 227 | 203 | dev: dev_t, |
lib/std/os/linux/riscv64.zig-24| ... | ... | @@ -198,30 +198,6 @@ pub const Flock = extern struct { |
| 198 | 198 | __unused: [4]u8, |
| 199 | 199 | }; |
| 200 | 200 | |
| 201 | pub const msghdr = extern struct { | |
| 202 | name: ?*sockaddr, | |
| 203 | namelen: socklen_t, | |
| 204 | iov: [*]iovec, | |
| 205 | iovlen: i32, | |
| 206 | __pad1: i32 = 0, | |
| 207 | control: ?*anyopaque, | |
| 208 | controllen: socklen_t, | |
| 209 | __pad2: socklen_t = 0, | |
| 210 | flags: i32, | |
| 211 | }; | |
| 212 | ||
| 213 | pub const msghdr_const = extern struct { | |
| 214 | name: ?*const sockaddr, | |
| 215 | namelen: socklen_t, | |
| 216 | iov: [*]const iovec_const, | |
| 217 | iovlen: i32, | |
| 218 | __pad1: i32 = 0, | |
| 219 | control: ?*const anyopaque, | |
| 220 | controllen: socklen_t, | |
| 221 | __pad2: socklen_t = 0, | |
| 222 | flags: i32, | |
| 223 | }; | |
| 224 | ||
| 225 | 201 | // The `stat` definition used by the Linux kernel. |
| 226 | 202 | pub const Stat = extern struct { |
| 227 | 203 | dev: dev_t, |
lib/std/os/linux/sparc64.zig-20| ... | ... | @@ -282,26 +282,6 @@ pub const Flock = extern struct { |
| 282 | 282 | pid: pid_t, |
| 283 | 283 | }; |
| 284 | 284 | |
| 285 | pub const msghdr = extern struct { | |
| 286 | name: ?*sockaddr, | |
| 287 | namelen: socklen_t, | |
| 288 | iov: [*]iovec, | |
| 289 | iovlen: u64, | |
| 290 | control: ?*anyopaque, | |
| 291 | controllen: u64, | |
| 292 | flags: i32, | |
| 293 | }; | |
| 294 | ||
| 295 | pub const msghdr_const = extern struct { | |
| 296 | name: ?*const sockaddr, | |
| 297 | namelen: socklen_t, | |
| 298 | iov: [*]const iovec_const, | |
| 299 | iovlen: u64, | |
| 300 | control: ?*const anyopaque, | |
| 301 | controllen: u64, | |
| 302 | flags: i32, | |
| 303 | }; | |
| 304 | ||
| 305 | 285 | pub const off_t = i64; |
| 306 | 286 | pub const ino_t = u64; |
| 307 | 287 | pub const time_t = isize; |
lib/std/os/linux/x86.zig-20| ... | ... | @@ -245,26 +245,6 @@ pub const Flock = extern struct { |
| 245 | 245 | pid: pid_t, |
| 246 | 246 | }; |
| 247 | 247 | |
| 248 | pub const msghdr = extern struct { | |
| 249 | name: ?*sockaddr, | |
| 250 | namelen: socklen_t, | |
| 251 | iov: [*]iovec, | |
| 252 | iovlen: i32, | |
| 253 | control: ?*anyopaque, | |
| 254 | controllen: socklen_t, | |
| 255 | flags: i32, | |
| 256 | }; | |
| 257 | ||
| 258 | pub const msghdr_const = extern struct { | |
| 259 | name: ?*const sockaddr, | |
| 260 | namelen: socklen_t, | |
| 261 | iov: [*]const iovec_const, | |
| 262 | iovlen: i32, | |
| 263 | control: ?*const anyopaque, | |
| 264 | controllen: socklen_t, | |
| 265 | flags: i32, | |
| 266 | }; | |
| 267 | ||
| 268 | 248 | pub const blksize_t = i32; |
| 269 | 249 | pub const nlink_t = u32; |
| 270 | 250 | pub const time_t = isize; |
lib/std/os/linux/x86_64.zig-24| ... | ... | @@ -233,30 +233,6 @@ pub const Flock = extern struct { |
| 233 | 233 | pid: pid_t, |
| 234 | 234 | }; |
| 235 | 235 | |
| 236 | pub const msghdr = extern struct { | |
| 237 | name: ?*sockaddr, | |
| 238 | namelen: socklen_t, | |
| 239 | iov: [*]iovec, | |
| 240 | iovlen: i32, | |
| 241 | __pad1: i32 = 0, | |
| 242 | control: ?*anyopaque, | |
| 243 | controllen: socklen_t, | |
| 244 | __pad2: socklen_t = 0, | |
| 245 | flags: i32, | |
| 246 | }; | |
| 247 | ||
| 248 | pub const msghdr_const = extern struct { | |
| 249 | name: ?*const sockaddr, | |
| 250 | namelen: socklen_t, | |
| 251 | iov: [*]const iovec_const, | |
| 252 | iovlen: i32, | |
| 253 | __pad1: i32 = 0, | |
| 254 | control: ?*const anyopaque, | |
| 255 | controllen: socklen_t, | |
| 256 | __pad2: socklen_t = 0, | |
| 257 | flags: i32, | |
| 258 | }; | |
| 259 | ||
| 260 | 236 | pub const off_t = i64; |
| 261 | 237 | pub const ino_t = u64; |
| 262 | 238 | pub const dev_t = u64; |