Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/inet/addr.h

    ra62ceaf r30c5d13  
    3737
    3838#include <stdint.h>
     39#include <net/in.h>
     40#include <net/in6.h>
    3941
    4042typedef uint32_t addr32_t;
     
    4244typedef uint8_t addr128_t[16];
    4345
    44 typedef enum {
    45         /** Any IP protocol version */
    46         ip_any,
    47         /** IPv4 */
    48         ip_v4,
    49         /** IPv6 */
    50         ip_v6
    51 } ip_ver_t;
    52 
    5346/** Node address */
    5447typedef struct {
    55         /** IP version */
    56         ip_ver_t version;
     48        uint16_t family;
    5749        union {
    5850                addr32_t addr;
     
    6355/** Network address */
    6456typedef struct {
    65         /** IP version */
    66         ip_ver_t version;
     57        /** Address family */
     58        uint16_t family;
    6759       
    6860        /** Address */
     
    7668} inet_naddr_t;
    7769
    78 extern const addr32_t addr32_broadcast_all_hosts;
    7970extern const addr48_t addr48_broadcast;
    8071
     
    8273extern void addr128(const addr128_t, addr128_t);
    8374
    84 extern int addr48_compare(const addr48_t, const addr48_t);
    8575extern int addr128_compare(const addr128_t, const addr128_t);
    86 
    87 extern void addr48_solicited_node(const addr128_t, addr48_t);
    8876
    8977extern void host2addr128_t_be(const addr128_t, addr128_t);
     
    9987    uint16_t, uint16_t, uint16_t, uint16_t, uint8_t);
    10088
     89extern int inet_addr_family(const char *, uint16_t *);
    10190extern void inet_naddr_addr(const inet_naddr_t *, inet_addr_t *);
    10291extern void inet_addr_naddr(const inet_addr_t *, uint8_t, inet_naddr_t *);
     
    111100extern int inet_naddr_compare_mask(const inet_naddr_t *, const inet_addr_t *);
    112101
    113 extern int inet_addr_parse(const char *, inet_addr_t *, char **);
    114 extern int inet_naddr_parse(const char *, inet_naddr_t *, char **);
     102extern int inet_addr_parse(const char *, inet_addr_t *);
     103extern int inet_naddr_parse(const char *, inet_naddr_t *);
    115104
    116105extern int inet_addr_format(const inet_addr_t *, char **);
    117106extern int inet_naddr_format(const inet_naddr_t *, char **);
    118107
    119 extern ip_ver_t inet_addr_get(const inet_addr_t *, addr32_t *, addr128_t *);
    120 extern ip_ver_t inet_naddr_get(const inet_naddr_t *, addr32_t *, addr128_t *,
     108extern uint16_t inet_addr_get(const inet_addr_t *, addr32_t *, addr128_t *);
     109extern uint16_t inet_naddr_get(const inet_naddr_t *, addr32_t *, addr128_t *,
    121110    uint8_t *);
    122111
    123112extern void inet_addr_set(addr32_t, inet_addr_t *);
    124113extern void inet_naddr_set(addr32_t, uint8_t, inet_naddr_t *);
     114extern void inet_sockaddr_in_addr(const sockaddr_in_t *, inet_addr_t *);
    125115
    126116extern void inet_addr_set6(addr128_t, inet_addr_t *);
    127117extern void inet_naddr_set6(addr128_t, uint8_t, inet_naddr_t *);
     118extern void inet_sockaddr_in6_addr(const sockaddr_in6_t *, inet_addr_t *);
     119
     120extern uint16_t inet_addr_sockaddr_in(const inet_addr_t *, sockaddr_in_t *,
     121    sockaddr_in6_t *);
    128122
    129123#endif
Note: See TracChangeset for help on using the changeset viewer.