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