Ignore:
File:
1 edited

Legend:

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

    r02a09ed r1c7ba2d  
    3737
    3838#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];
    4539
    4640/** Node address */
    4741typedef struct {
    48         uint16_t family;
    49         union {
    50                 addr32_t addr;
    51                 addr128_t addr6;
    52         };
     42        uint32_t ipv4;
    5343} inet_addr_t;
    5444
    5545/** Network address */
    5646typedef struct {
    57         /** Address family */
    58         uint16_t family;
    59        
    6047        /** 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;
    6851} inet_naddr_t;
    6952
    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 void host2addr128_t_be(const addr128_t, addr128_t);
    76 extern void addr128_t_be2host(const addr128_t, addr128_t);
    77 
    78 extern void inet_addr(inet_addr_t *, uint8_t, uint8_t, uint8_t, uint8_t);
    79 extern void inet_naddr(inet_naddr_t *, uint8_t, uint8_t, uint8_t, uint8_t,
    80     uint8_t);
    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 
    90 extern void inet_addr_any(inet_addr_t *);
    91 extern void inet_naddr_any(inet_naddr_t *);
    92 
    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 
     53extern int inet_naddr_parse(const char *, inet_naddr_t *);
    9854extern 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 *);
     55extern int inet_naddr_format(inet_naddr_t *, char **);
     56extern int inet_addr_format(inet_addr_t *, char **);
    11857
    11958#endif
Note: See TracChangeset for help on using the changeset viewer.