Changeset a2e3ee6 in mainline for uspace/lib/c/include/inet/addr.h


Ignore:
Timestamp:
2013-06-20T16:45:58Z (11 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
08bb73b
Parents:
19a4f73
Message:

use new network address infrastructure (towards IPv6 support)

File:
1 edited

Legend:

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

    r19a4f73 ra2e3ee6  
    3737
    3838#include <stdint.h>
     39#include <net/in.h>
     40
     41#define INET_ADDR_SIZE  16
    3942
    4043/** Node address */
    4144typedef struct {
    42         uint32_t ipv4;
     45        uint16_t family;
     46        uint8_t addr[INET_ADDR_SIZE];
    4347} inet_addr_t;
    4448
    4549/** Network address */
    4650typedef struct {
     51        /** Address family */
     52        uint16_t family;
     53       
    4754        /** Address */
    48         uint32_t ipv4;
    49         /** Number of valid bits in @c ipv4 */
    50         int bits;
     55        uint8_t addr[INET_ADDR_SIZE];
     56       
     57        /** Number of valid bits */
     58        uint8_t prefix;
    5159} inet_naddr_t;
    5260
     61extern int inet_addr_family(const char *, uint16_t *);
     62
     63extern int inet_addr_parse(const char *, inet_addr_t *);
    5364extern int inet_naddr_parse(const char *, inet_naddr_t *);
    54 extern int inet_addr_parse(const char *, inet_addr_t *);
     65
     66extern int inet_addr_format(inet_addr_t *, char **);
    5567extern int inet_naddr_format(inet_naddr_t *, char **);
    56 extern int inet_addr_format(inet_addr_t *, char **);
     68
     69extern int inet_addr_pack(inet_addr_t *, uint32_t *);
     70extern int inet_naddr_pack(inet_naddr_t *, uint32_t *, uint8_t *);
     71
     72extern void inet_addr_unpack(uint32_t, inet_addr_t *);
     73extern void inet_naddr_unpack(uint32_t, uint8_t, inet_naddr_t *);
     74
     75extern int inet_addr_sockaddr_in(inet_addr_t *, sockaddr_in_t *);
     76extern void inet_naddr_addr(inet_naddr_t *, inet_addr_t *);
     77
     78extern void inet_addr(inet_addr_t *, uint8_t, uint8_t, uint8_t, uint8_t);
     79extern void inet_naddr(inet_naddr_t *, uint8_t, uint8_t, uint8_t, uint8_t,
     80    uint8_t);
     81
     82extern void inet_addr_any(inet_addr_t *);
     83extern void inet_naddr_any(inet_naddr_t *);
     84
     85extern int inet_addr_compare(inet_addr_t *, inet_addr_t *);
     86extern int inet_addr_is_any(inet_addr_t *);
    5787
    5888#endif
Note: See TracChangeset for help on using the changeset viewer.