aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os/bits/linux.zig
diff options
context:
space:
mode:
authorlithdew <kenta@lithdew.net>2021-05-12 22:43:34 +0900
committerKenta Iwasaki <kenta@lithdew.net>2021-06-01 18:22:57 +0900
commit3600508fe18ecc61ea889a65127a2641a76c2933 (patch)
treedcb1d00874c9abe2b465055dffba9c2cca69e896 /lib/std/os/bits/linux.zig
parentd496400cff8b025dea262a9544e1b20482233089 (diff)
downloadzig-3600508fe18ecc61ea889a65127a2641a76c2933.tar.gz
zig-3600508fe18ecc61ea889a65127a2641a76c2933.zip
x/io, x/os: async i/o reactor, cross-platform socket syscalls and bits
Cross-platform versions of msghdr, sendmsg, recvmsg, linger, and iovec were provided based on findings from glibc, musl, and Microsoft's documentation. Implemented initial Reactor interface for epoll (linux) which wraps around I/O reactor subsystems such as epoll, kqueue, select, etc. across different platforms. The Reactor interface allows for driving async I/O in Zig applications. A test was added for the Reactor interface to drive a TCP client/listener socket pair. A greatest-common-subset of possible socket initialization flags (close socket on exec syscalls, initialize socket to be non-blocking) were implemented. A test was added for using sendmsg/recvmsg syscalls across different platforms for a TCP client/listener socket pair.
Diffstat (limited to 'lib/std/os/bits/linux.zig')
-rw-r--r--lib/std/os/bits/linux.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/std/os/bits/linux.zig b/lib/std/os/bits/linux.zig
index 72ea62c32c..5ecdcf24a3 100644
--- a/lib/std/os/bits/linux.zig
+++ b/lib/std/os/bits/linux.zig
@@ -1180,12 +1180,12 @@ pub const sockaddr_un = extern struct {
};
pub const mmsghdr = extern struct {
- msg_hdr: msghdr,
+ msg_hdr: std.x.os.Socket.Message,
msg_len: u32,
};
pub const mmsghdr_const = extern struct {
- msg_hdr: msghdr_const,
+ msg_hdr: std.x.os.Socket.Message,
msg_len: u32,
};