summaryrefslogtreecommitdiff
path: root/src/socket/socket_internal.h
blob: 7086d397160bf49dbce8cf6d10ccd52cfc41f340 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#include <al/str.h>

#include "socket.h"

static str ipany = al_str_c("0.0.0.0");
static inline str *nn_socket_display_addr(str *addr)
{
    return addr ? addr : &ipany;
}

#define nn_addr_x(addr) al_str_x(nn_socket_display_addr(addr))

static inline void nn_socket_apply_flags(struct nn_socket *sock, s32 flags)
{
    if (flags & NNWT_SOCKET_NONBLOCKING) nn_socket_set_blocking(sock, false);
    if (flags & NNWT_SOCKET_NODELAY) nn_socket_set_nodelay(sock, 1);
    if (flags & NNWT_SOCKET_REUSE_ADDR) nn_socket_set_reuse_addr(sock, 1);
}