| ... | ... | @@ -1154,7 +1154,7 @@ pub fn WSASocketW( |
| 1154 | 1154 | } |
| 1155 | 1155 | |
| 1156 | 1156 | pub fn bind(s: ws2_32.SOCKET, name: *const ws2_32.sockaddr, namelen: ws2_32.socklen_t) i32 { |
| 1157 | | return ws2_32.bind(s, name, namelen); |
| 1157 | return ws2_32.bind(s, name, @intCast(i32, namelen)); |
| 1158 | 1158 | } |
| 1159 | 1159 | |
| 1160 | 1160 | pub fn listen(s: ws2_32.SOCKET, backlog: u31) i32 { |
| ... | ... | @@ -1173,27 +1173,17 @@ pub fn closesocket(s: ws2_32.SOCKET) !void { |
| 1173 | 1173 | |
| 1174 | 1174 | pub fn accept(s: ws2_32.SOCKET, name: ?*ws2_32.sockaddr, namelen: ?*ws2_32.socklen_t) ws2_32.SOCKET { |
| 1175 | 1175 | assert((name == null) == (namelen == null)); |
| 1176 | | if (namelen) |name_length| { |
| 1177 | | var os_namelen: c_int = name_length.*; |
| 1178 | | const sock = ws2_32.accept(s, name, &os_namelen); |
| 1179 | | name_length.* = @intCast(ws2_32.socklen_t, os_namelen); |
| 1180 | | return sock; |
| 1181 | | } else { |
| 1182 | | return ws2_32.accept(s, null, null); |
| 1183 | | } |
| 1176 | return ws2_32.accept(s, name, @ptrCast(?*i32, namelen)); |
| 1184 | 1177 | } |
| 1185 | 1178 | |
| 1186 | 1179 | pub fn getsockname(s: ws2_32.SOCKET, name: *ws2_32.sockaddr, namelen: *ws2_32.socklen_t) i32 { |
| 1187 | | var os_namelen: c_int = namelen.*; |
| 1188 | | const rc = ws2_32.getsockname(s, name, &os_namelen); |
| 1189 | | namelen.* = @intCast(ws2_32.socklen_t, os_namelen); |
| 1190 | | return rc; |
| 1180 | return ws2_32.getsockname(s, name, @ptrCast(*i32, namelen)); |
| 1191 | 1181 | } |
| 1192 | 1182 | |
| 1193 | 1183 | pub fn sendto(s: ws2_32.SOCKET, buf: [*]const u8, len: usize, flags: u32, to: ?*const ws2_32.sockaddr, to_len: ws2_32.socklen_t) i32 { |
| 1194 | 1184 | var buffer = ws2_32.WSABUF{ .len = @truncate(u31, len), .buf = @intToPtr([*]u8, @ptrToInt(buf)) }; |
| 1195 | 1185 | var bytes_send: DWORD = undefined; |
| 1196 | | if (ws2_32.WSASendTo(s, @ptrCast([*]ws2_32.WSABUF, &buffer), 1, &bytes_send, flags, to, to_len, null, null) == ws2_32.SOCKET_ERROR) { |
| 1186 | if (ws2_32.WSASendTo(s, @ptrCast([*]ws2_32.WSABUF, &buffer), 1, &bytes_send, flags, to, @intCast(i32, to_len), null, null) == ws2_32.SOCKET_ERROR) { |
| 1197 | 1187 | return ws2_32.SOCKET_ERROR; |
| 1198 | 1188 | } else { |
| 1199 | 1189 | return @as(i32, @intCast(u31, bytes_send)); |