Changes in uspace/lib/c/include/inet/addr.h [1c7ba2da:83781a22] in mainline
- File:
-
- 1 edited
-
uspace/lib/c/include/inet/addr.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/inet/addr.h
r1c7ba2da r83781a22 37 37 38 38 #include <stdint.h> 39 #include <net/in.h> 40 #include <net/in6.h> 41 42 typedef uint32_t addr32_t; 43 typedef uint8_t addr48_t[6]; 44 typedef uint8_t addr128_t[16]; 39 45 40 46 /** Node address */ 41 47 typedef struct { 42 uint32_t ipv4; 48 uint16_t family; 49 union { 50 addr32_t addr; 51 addr128_t addr6; 52 }; 43 53 } inet_addr_t; 44 54 45 55 /** Network address */ 46 56 typedef struct { 57 /** Address family */ 58 uint16_t family; 59 47 60 /** Address */ 48 uint32_t ipv4; 49 /** Number of valid bits in @c ipv4 */ 50 int bits; 61 union { 62 addr32_t addr; 63 addr128_t addr6; 64 }; 65 66 /** Number of valid bits */ 67 uint8_t prefix; 51 68 } inet_naddr_t; 52 69 70 extern const addr48_t addr48_broadcast; 71 72 extern void addr48(const addr48_t, addr48_t); 73 extern void addr128(const addr128_t, addr128_t); 74 75 extern int addr48_compare(const addr48_t, const addr48_t); 76 extern int addr128_compare(const addr128_t, const addr128_t); 77 78 extern void addr48_solicited_node(const addr128_t, addr48_t); 79 80 extern void host2addr128_t_be(const addr128_t, addr128_t); 81 extern void addr128_t_be2host(const addr128_t, addr128_t); 82 83 extern void inet_addr(inet_addr_t *, uint8_t, uint8_t, uint8_t, uint8_t); 84 extern void inet_naddr(inet_naddr_t *, uint8_t, uint8_t, uint8_t, uint8_t, 85 uint8_t); 86 87 extern void inet_addr6(inet_addr_t *, uint16_t, uint16_t, uint16_t, uint16_t, 88 uint16_t, uint16_t, uint16_t, uint16_t); 89 extern void inet_naddr6(inet_naddr_t *, uint16_t, uint16_t, uint16_t, uint16_t, 90 uint16_t, uint16_t, uint16_t, uint16_t, uint8_t); 91 92 extern int inet_addr_family(const char *, uint16_t *); 93 extern void inet_naddr_addr(const inet_naddr_t *, inet_addr_t *); 94 extern void inet_addr_naddr(const inet_addr_t *, uint8_t, inet_naddr_t *); 95 96 extern void inet_addr_any(inet_addr_t *); 97 extern void inet_naddr_any(inet_naddr_t *); 98 99 extern int inet_addr_compare(const inet_addr_t *, const inet_addr_t *); 100 extern int inet_addr_is_any(const inet_addr_t *); 101 102 extern int inet_naddr_compare(const inet_naddr_t *, const inet_addr_t *); 103 extern int inet_naddr_compare_mask(const inet_naddr_t *, const inet_addr_t *); 104 105 extern int inet_addr_parse(const char *, inet_addr_t *); 53 106 extern int inet_naddr_parse(const char *, inet_naddr_t *); 54 extern int inet_addr_parse(const char *, inet_addr_t *); 55 extern int inet_naddr_format(inet_naddr_t *, char **); 56 extern int inet_addr_format(inet_addr_t *, char **); 107 108 extern int inet_addr_format(const inet_addr_t *, char **); 109 extern int inet_naddr_format(const inet_naddr_t *, char **); 110 111 extern uint16_t inet_addr_get(const inet_addr_t *, addr32_t *, addr128_t *); 112 extern uint16_t inet_naddr_get(const inet_naddr_t *, addr32_t *, addr128_t *, 113 uint8_t *); 114 115 extern void inet_addr_set(addr32_t, inet_addr_t *); 116 extern void inet_naddr_set(addr32_t, uint8_t, inet_naddr_t *); 117 extern void inet_sockaddr_in_addr(const sockaddr_in_t *, inet_addr_t *); 118 119 extern void inet_addr_set6(addr128_t, inet_addr_t *); 120 extern void inet_naddr_set6(addr128_t, uint8_t, inet_naddr_t *); 121 extern void inet_sockaddr_in6_addr(const sockaddr_in6_t *, inet_addr_t *); 122 123 extern uint16_t inet_addr_sockaddr_in(const inet_addr_t *, sockaddr_in_t *, 124 sockaddr_in6_t *); 57 125 58 126 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
