xref: /minix/minix/net/lwip/addr.h (revision fb9c64b2)
1 #ifndef MINIX_NET_LWIP_ADDR_H
2 #define MINIX_NET_LWIP_ADDR_H
3 
4 int addr_is_unspec(const struct sockaddr * addr, socklen_t addr_len);
5 
6 int addr_is_valid_multicast(const ip_addr_t * ipaddr);
7 
8 int addr_get_inet(const struct sockaddr * addr, socklen_t addr_len,
9 	uint8_t type, ip_addr_t * ipaddr, int kame, uint16_t * port);
10 void addr_put_inet(struct sockaddr * addr, socklen_t * addr_len,
11 	const ip_addr_t * ipaddr, int kame, uint16_t port);
12 
13 int addr_get_link(const struct sockaddr * addr, socklen_t addr_len,
14 	char * name, size_t name_max, uint8_t * hwaddr, size_t hwaddr_len);
15 void addr_put_link(struct sockaddr * addr, socklen_t * addr_len,
16 	uint32_t ifindex, uint32_t type, const char * name,
17 	const uint8_t * hwaddr, size_t hwaddr_len);
18 
19 int addr_get_netmask(const struct sockaddr * addr, socklen_t addr_len,
20 	uint8_t type, unsigned int * prefix, ip_addr_t * ipaddr);
21 void addr_make_netmask(uint8_t * addr, socklen_t addr_len,
22 	unsigned int prefix);
23 void addr_put_netmask(struct sockaddr * addr, socklen_t * addr_len,
24 	uint8_t type, unsigned int prefix);
25 
26 void addr_normalize(ip_addr_t * dst, const ip_addr_t * src,
27 	unsigned int prefix);
28 unsigned int addr_get_common_bits(const ip_addr_t * addr1,
29 	const ip_addr_t * addr2, unsigned int max);
30 
31 void addr_make_v4mapped_v6(ip_addr_t * dst, const ip4_addr_t * src);
32 
33 #endif /* !MINIX_NET_LWIP_ADDR_H */
34