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