authorgravatar for kenta@lithdew.netlithdew <kenta@lithdew.net> 2021-05-14 15:50:09+09:00
committergravatar for kenta@lithdew.netKenta Iwasaki <kenta@lithdew.net> 2021-06-01 18:22:58+09:00
log9ba65592d64f53d886b00402659cfce775ea77d3
treebba1088fb7bfc6dad9e6911d0f8d01ba90721e8b
parent12650bcda4584828799d837388a7b728f7f650ec

os: have sendmsg, recvmsg flags be c_int


4 files changed, 6 insertions(+), 6 deletions(-)

lib/std/c.zig+2-2
...@@ -166,7 +166,7 @@ pub extern "c" fn sendto(...@@ -166,7 +166,7 @@ pub extern "c" fn sendto(
166 dest_addr: ?*const sockaddr,166 dest_addr: ?*const sockaddr,
167 addrlen: socklen_t,167 addrlen: socklen_t,
168) isize;168) isize;
169pub extern "c" fn sendmsg(sockfd: fd_t, msg: *const std.x.os.Socket.Message, flags: u32) isize;169pub extern "c" fn sendmsg(sockfd: fd_t, msg: *const std.x.os.Socket.Message, flags: c_int) isize;
170170
171pub extern "c" fn recv(sockfd: fd_t, arg1: ?*c_void, arg2: usize, arg3: c_int) isize;171pub extern "c" fn recv(sockfd: fd_t, arg1: ?*c_void, arg2: usize, arg3: c_int) isize;
172pub extern "c" fn recvfrom(172pub extern "c" fn recvfrom(
...@@ -177,7 +177,7 @@ pub extern "c" fn recvfrom(...@@ -177,7 +177,7 @@ pub extern "c" fn recvfrom(
177 noalias src_addr: ?*sockaddr,177 noalias src_addr: ?*sockaddr,
178 noalias addrlen: ?*socklen_t,178 noalias addrlen: ?*socklen_t,
179) isize;179) isize;
180pub extern "c" fn recvmsg(sockfd: fd_t, msg: *std.x.os.Socket.Message, flags: u32) isize;180pub extern "c" fn recvmsg(sockfd: fd_t, msg: *std.x.os.Socket.Message, flags: c_int) isize;
181181
182pub usingnamespace switch (builtin.os.tag) {182pub usingnamespace switch (builtin.os.tag) {
183 .netbsd => struct {183 .netbsd => struct {
lib/std/os.zig+1-1
...@@ -4998,7 +4998,7 @@ pub fn sendmsg(...@@ -4998,7 +4998,7 @@ pub fn sendmsg(
4998 flags: u32,4998 flags: u32,
4999) SendMsgError!usize {4999) SendMsgError!usize {
5000 while (true) {5000 while (true) {
5001 const rc = system.sendmsg(sockfd, &msg, flags);5001 const rc = system.sendmsg(sockfd, &msg, @intCast(c_int, flags));
5002 if (builtin.os.tag == .windows) {5002 if (builtin.os.tag == .windows) {
5003 if (rc == windows.ws2_32.SOCKET_ERROR) {5003 if (rc == windows.ws2_32.SOCKET_ERROR) {
5004 switch (windows.ws2_32.WSAGetLastError()) {5004 switch (windows.ws2_32.WSAGetLastError()) {
lib/std/os/linux.zig+2-2
...@@ -1004,7 +1004,7 @@ pub fn sendmsg(fd: i32, msg: *const msghdr_const, flags: u32) usize {...@@ -1004,7 +1004,7 @@ pub fn sendmsg(fd: i32, msg: *const msghdr_const, flags: u32) usize {
1004 if (native_arch == .i386) {1004 if (native_arch == .i386) {
1005 return socketcall(SC_sendmsg, &[3]usize{ @bitCast(usize, @as(isize, fd)), @ptrToInt(msg), flags });1005 return socketcall(SC_sendmsg, &[3]usize{ @bitCast(usize, @as(isize, fd)), @ptrToInt(msg), flags });
1006 }1006 }
1007 return syscall3(.sendmsg, @bitCast(usize, @as(isize, fd)), @ptrToInt(msg), flags);1007 return syscall3(.sendmsg, @bitCast(usize, @as(isize, fd)), @ptrToInt(msg), @bitCast(usize, @as(isize, flags)));
1008}1008}
10091009
1010pub fn sendmmsg(fd: i32, msgvec: [*]mmsghdr_const, vlen: u32, flags: u32) usize {1010pub fn sendmmsg(fd: i32, msgvec: [*]mmsghdr_const, vlen: u32, flags: u32) usize {
...@@ -1058,7 +1058,7 @@ pub fn recvmsg(fd: i32, msg: *msghdr, flags: u32) usize {...@@ -1058,7 +1058,7 @@ pub fn recvmsg(fd: i32, msg: *msghdr, flags: u32) usize {
1058 if (native_arch == .i386) {1058 if (native_arch == .i386) {
1059 return socketcall(SC_recvmsg, &[3]usize{ @bitCast(usize, @as(isize, fd)), @ptrToInt(msg), flags });1059 return socketcall(SC_recvmsg, &[3]usize{ @bitCast(usize, @as(isize, fd)), @ptrToInt(msg), flags });
1060 }1060 }
1061 return syscall3(.recvmsg, @bitCast(usize, @as(isize, fd)), @ptrToInt(msg), flags);1061 return syscall3(.recvmsg, @bitCast(usize, @as(isize, fd)), @ptrToInt(msg), @bitCast(usize, @as(isize, flags)));
1062}1062}
10631063
1064pub fn recvfrom(fd: i32, noalias buf: [*]u8, len: usize, flags: u32, noalias addr: ?*sockaddr, noalias alen: ?*socklen_t) usize {1064pub fn recvfrom(fd: i32, noalias buf: [*]u8, len: usize, flags: u32, noalias addr: ?*sockaddr, noalias alen: ?*socklen_t) usize {
lib/std/x/os/socket_posix.zig+1-1
...@@ -87,7 +87,7 @@ pub fn Mixin(comptime Socket: type) type {...@@ -87,7 +87,7 @@ pub fn Mixin(comptime Socket: type) type {
87 /// read into the buffer provided.87 /// read into the buffer provided.
88 pub fn readVectorized(self: Socket, msg: *Socket.Message, flags: u32) !usize {88 pub fn readVectorized(self: Socket, msg: *Socket.Message, flags: u32) !usize {
89 while (true) {89 while (true) {
90 const rc = os.system.recvmsg(self.fd, msg, flags);90 const rc = os.system.recvmsg(self.fd, msg, @intCast(c_int, flags));
91 return switch (os.errno(rc)) {91 return switch (os.errno(rc)) {
92 0 => @intCast(usize, rc),92 0 => @intCast(usize, rc),
93 os.EBADF => unreachable, // always a race condition93 os.EBADF => unreachable, // always a race condition