26#ifndef PROTOCORE_NET_ADDR_H
27#define PROTOCORE_NET_ADDR_H
39 const protocore_net_ip *
addr;
75 void (*
const to_ip)(uint8_t *work);
76 void (*
const from_ip)(uint8_t *work);
Layer 3 (Network) - a family-tagged IP address (IPv4 or IPv6) with RFC-faithful text parsing,...
void protocore_net_addr_to_ip(const protocore_net_ip *a, protocore_ip *out)
Read the stack's address into out, network-order bytes preserved.
NetAddrNs NetAddr
The one symbol this module exports.
proto_bool protocore_net_addr_from_ip(const protocore_ip *a, protocore_net_ip *out)
Write a into the stack's own address type; false when it cannot be represented.
Inbound: the stack's address, and the library address it lands in.
protocore_ip * out_ip
where a read lands
const protocore_net_ip * addr
the stack's address a read starts from
NetAddrOutArgs out
what a write carries across
NetAddrInArgs in
what a read carries across
Outbound: the library address, and the stack address it lands in.
const protocore_ip * ip
the library address a write starts from
protocore_net_ip * out_addr
where a write lands
A v4 or v6 address in network (big-endian) byte order.
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS