Ignore:
File:
1 edited

Legend:

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

    r30c5d13 ra62ceaf  
    3737
    3838#include <stdint.h>
    39 #include <net/in.h>
    40 #include <net/in6.h>
    4139
    4240typedef uint32_t addr32_t;
     
    4442typedef uint8_t addr128_t[16];
    4543
     44typedef enum {
     45        /** Any IP protocol version */
     46        ip_any,
     47        /** IPv4 */
     48        ip_v4,
     49        /** IPv6 */
     50        ip_v6
     51} ip_ver_t;
     52
    4653/** Node address */
    4754typedef struct {
    48         uint16_t family;
     55        /** IP version */
     56        ip_ver_t version;
    4957        union {
    5058                addr32_t addr;
     
    5563/** Network address */
    5664typedef struct {
    57         /** Address family */
    58         uint16_t family;
     65        /** IP version */
     66        ip_ver_t version;
    5967       
    6068        /** Address */
     
    6876} inet_naddr_t;
    6977
     78extern const addr32_t addr32_broadcast_all_hosts;
    7079extern const addr48_t addr48_broadcast;
    7180
     
    7382extern void addr128(const addr128_t, addr128_t);
    7483
     84extern int addr48_compare(const addr48_t, const addr48_t);
    7585extern int addr128_compare(const addr128_t, const addr128_t);
     86
     87extern void addr48_solicited_node(const addr128_t, addr48_t);
    7688
    7789extern void host2addr128_t_be(const addr128_t, addr128_t);
     
    8799    uint16_t, uint16_t, uint16_t, uint16_t, uint8_t);
    88100
    89 extern int inet_addr_family(const char *, uint16_t *);
    90101extern void inet_naddr_addr(const inet_naddr_t *, inet_addr_t *);
    91102extern void inet_addr_naddr(const inet_addr_t *, uint8_t, inet_naddr_t *);
     
    100111extern int inet_naddr_compare_mask(const inet_naddr_t *, const inet_addr_t *);
    101112
    102 extern int inet_addr_parse(const char *, inet_addr_t *);
    103 extern int inet_naddr_parse(const char *, inet_naddr_t *);
     113extern int inet_addr_parse(const char *, inet_addr_t *, char **);
     114extern int inet_naddr_parse(const char *, inet_naddr_t *, char **);
    104115
    105116extern int inet_addr_format(const inet_addr_t *, char **);
    106117extern int inet_naddr_format(const inet_naddr_t *, char **);
    107118
    108 extern uint16_t inet_addr_get(const inet_addr_t *, addr32_t *, addr128_t *);
    109 extern uint16_t inet_naddr_get(const inet_naddr_t *, addr32_t *, addr128_t *,
     119extern ip_ver_t inet_addr_get(const inet_addr_t *, addr32_t *, addr128_t *);
     120extern ip_ver_t inet_naddr_get(const inet_naddr_t *, addr32_t *, addr128_t *,
    110121    uint8_t *);
    111122
    112123extern void inet_addr_set(addr32_t, inet_addr_t *);
    113124extern void inet_naddr_set(addr32_t, uint8_t, inet_naddr_t *);
    114 extern void inet_sockaddr_in_addr(const sockaddr_in_t *, inet_addr_t *);
    115125
    116126extern void inet_addr_set6(addr128_t, inet_addr_t *);
    117127extern void inet_naddr_set6(addr128_t, uint8_t, inet_naddr_t *);
    118 extern void inet_sockaddr_in6_addr(const sockaddr_in6_t *, inet_addr_t *);
    119 
    120 extern uint16_t inet_addr_sockaddr_in(const inet_addr_t *, sockaddr_in_t *,
    121     sockaddr_in6_t *);
    122128
    123129#endif
Note: See TracChangeset for help on using the changeset viewer.