3#include <cx/net/net_private.h>
4#include <cx/platform/unix.h>
11bool netAddrToSockaddr(_In_
const NetAddr* addr, _Out_
struct sockaddr_storage* sa,
19bool netAddrFromSockaddr(_Out_
NetAddr* addr, _In_
const struct sockaddr* sa);
25#define NET_CMSG_SPACE 128
30void _netCmsgToPktInfo(_Inout_
struct msghdr* mh, _Out_
NetPktInfo* info);
36typedef struct iovec NetPlatIov;
44#if defined(NET_MAX_IOV)
47#if defined(IOV_MAX) && IOV_MAX < 64
48#define NET_MAX_IOV IOV_MAX
72_meta_inline
size_t netIovToPlatform(_Out_writes_(count) NetPlatIov* out,
73 _In_reads_(count)
const BufIov* iov,
size_t count)
75 for (
size_t i = 0; i < count; ++i) {
76 out[i].iov_base = iov[i].data;
77 out[i].iov_len = iov[i].len;
Simple buffer management.
Per-datagram information the IP layer carries alongside the payload.