Changeset 02a09ed in mainline for uspace/lib/c/include/inet/addr.h
- Timestamp:
- 2013-06-28T20:20:03Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1d24ad3
- Parents:
- edf0d27
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/inet/addr.h
redf0d27 r02a09ed 38 38 #include <stdint.h> 39 39 #include <net/in.h> 40 #include <net/in6.h> 40 41 41 #define INET_ADDR_SIZE 16 42 typedef uint32_t addr32_t; 43 typedef uint8_t addr48_t[6]; 44 typedef uint8_t addr128_t[16]; 42 45 43 46 /** Node address */ 44 47 typedef struct { 45 48 uint16_t family; 46 uint8_t addr[INET_ADDR_SIZE]; 49 union { 50 addr32_t addr; 51 addr128_t addr6; 52 }; 47 53 } inet_addr_t; 48 54 … … 53 59 54 60 /** Address */ 55 uint8_t addr[INET_ADDR_SIZE]; 61 union { 62 addr32_t addr; 63 addr128_t addr6; 64 }; 56 65 57 66 /** Number of valid bits */ … … 59 68 } inet_naddr_t; 60 69 61 extern int inet_addr_family(const char *, uint16_t *);70 extern const addr48_t addr48_broadcast; 62 71 63 extern int inet_addr_parse(const char *, inet_addr_t *);64 extern int inet_naddr_parse(const char *, inet_naddr_t *);72 extern void addr48(const addr48_t, addr48_t); 73 extern void addr128(const addr128_t, addr128_t); 65 74 66 extern int inet_addr_format(inet_addr_t *, char **); 67 extern int inet_naddr_format(inet_naddr_t *, char **); 68 69 extern int inet_addr_pack(inet_addr_t *, uint32_t *); 70 extern int inet_naddr_pack(inet_naddr_t *, uint32_t *, uint8_t *); 71 72 extern void inet_addr_unpack(uint32_t, inet_addr_t *); 73 extern void inet_naddr_unpack(uint32_t, uint8_t, inet_naddr_t *); 74 75 extern int inet_addr_sockaddr_in(inet_addr_t *, sockaddr_in_t *); 76 extern void inet_naddr_addr(inet_naddr_t *, inet_addr_t *); 75 extern void host2addr128_t_be(const addr128_t, addr128_t); 76 extern void addr128_t_be2host(const addr128_t, addr128_t); 77 77 78 78 extern void inet_addr(inet_addr_t *, uint8_t, uint8_t, uint8_t, uint8_t); … … 80 80 uint8_t); 81 81 82 extern void inet_addr6(inet_addr_t *, uint16_t, uint16_t, uint16_t, uint16_t, 83 uint16_t, uint16_t, uint16_t, uint16_t); 84 extern void inet_naddr6(inet_naddr_t *, uint16_t, uint16_t, uint16_t, uint16_t, 85 uint16_t, uint16_t, uint16_t, uint16_t, uint8_t); 86 87 extern int inet_addr_family(const char *, uint16_t *); 88 extern void inet_naddr_addr(const inet_naddr_t *, inet_addr_t *); 89 82 90 extern void inet_addr_any(inet_addr_t *); 83 91 extern void inet_naddr_any(inet_naddr_t *); 84 92 85 extern int inet_addr_compare(inet_addr_t *, inet_addr_t *); 86 extern int inet_addr_is_any(inet_addr_t *); 93 extern int inet_addr_compare(const inet_addr_t *, const inet_addr_t *); 94 extern int inet_addr_is_any(const inet_addr_t *); 95 96 extern int inet_naddr_compare_mask(const inet_naddr_t *, const inet_addr_t *); 97 98 extern int inet_addr_parse(const char *, inet_addr_t *); 99 extern int inet_naddr_parse(const char *, inet_naddr_t *); 100 101 extern int inet_addr_format(const inet_addr_t *, char **); 102 extern int inet_naddr_format(const inet_naddr_t *, char **); 103 104 extern uint16_t inet_addr_get(const inet_addr_t *, addr32_t *, addr128_t *); 105 extern uint16_t inet_naddr_get(const inet_naddr_t *, addr32_t *, addr128_t *, 106 uint8_t *); 107 108 extern void inet_addr_set(addr32_t, inet_addr_t *); 109 extern void inet_naddr_set(addr32_t, uint8_t, inet_naddr_t *); 110 extern void inet_sockaddr_in_addr(const sockaddr_in_t *, inet_addr_t *); 111 112 extern void inet_addr_set6(addr128_t, inet_addr_t *); 113 extern void inet_naddr_set6(addr128_t, uint8_t, inet_naddr_t *); 114 extern void inet_sockaddr_in6_addr(const sockaddr_in6_t *, inet_addr_t *); 115 116 extern uint16_t inet_addr_sockaddr_in(const inet_addr_t *, sockaddr_in_t *, 117 sockaddr_in6_t *); 87 118 88 119 #endif
Note:
See TracChangeset
for help on using the changeset viewer.