flgs |= MSG_PEEK;
}
- if (!(flags & SOCKET_FLAG_BLOCK)) {
- flgs |= MSG_DONTWAIT;
- }
-
if (flags & SOCKET_FLAG_BLOCK) {
flgs |= MSG_WAITALL;
}
}
static NTSTATUS ipv4_tcp_send(struct socket_context *sock, TALLOC_CTX *mem_ctx,
- const DATA_BLOB *blob, size_t *sendlen, uint32_t flags)
+ const DATA_BLOB *blob, size_t *sendlen, uint32_t flags)
{
ssize_t len;
int flgs = 0;
- /* TODO: we need to map all flags here */
- if (!(flags & SOCKET_FLAG_BLOCK)) {
- flgs |= MSG_DONTWAIT;
- }
-
len = send(sock->fd, blob->data, blob->length, flgs);
if (len == -1) {
return map_nt_error_from_unix(errno);
flgs |= MSG_PEEK;
}
- if (!(flags & SOCKET_FLAG_BLOCK)) {
- flgs |= MSG_DONTWAIT;
- }
-
if (flags & SOCKET_FLAG_BLOCK) {
flgs |= MSG_WAITALL;
}
*sendlen = 0;
- /* TODO: we need to map all flags here */
- if (!(flags & SOCKET_FLAG_BLOCK)) {
- flgs |= MSG_DONTWAIT;
- }
-
len = send(sock->fd, blob->data, blob->length, flgs);
if (len == -1) {
return unixdom_error(errno);