Changeset a2e3ee6 in mainline for uspace/lib/c/include


Ignore:
Timestamp:
2013-06-20T16:45:58Z (12 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)

Location:
uspace/lib/c/include/inet
Files:
1 deleted
5 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
  • uspace/lib/c/include/inet/dnsr.h

    r19a4f73 ra2e3ee6  
    3737
    3838#include <inet/inet.h>
    39 #include <inet/addr2.h>
     39#include <inet/addr.h>
    4040
    4141enum {
     
    4747        char *cname;
    4848        /** Host address */
    49         inet2_addr_t addr;
     49        inet_addr_t addr;
    5050} dnsr_hostinfo_t;
    5151
     
    5353extern int dnsr_name2host(const char *, dnsr_hostinfo_t **);
    5454extern void dnsr_hostinfo_destroy(dnsr_hostinfo_t *);
    55 extern int dnsr_get_srvaddr(inet2_addr_t *);
    56 extern int dnsr_set_srvaddr(inet2_addr_t *);
     55extern int dnsr_get_srvaddr(inet_addr_t *);
     56extern int dnsr_set_srvaddr(inet_addr_t *);
    5757
    5858#endif
  • uspace/lib/c/include/inet/inet.h

    r19a4f73 ra2e3ee6  
    3737
    3838#include <inet/addr.h>
    39 #include <inet/addr2.h>
    4039#include <sys/types.h>
    4140
     
    6160extern int inet_send(inet_dgram_t *, uint8_t, inet_df_t);
    6261extern int inet_get_srcaddr(inet_addr_t *, uint8_t, inet_addr_t *);
    63 extern int inet2_get_srcaddr(inet2_addr_t *, uint8_t, inet2_addr_t *);
    6462
    6563#endif
  • uspace/lib/c/include/inet/iplink.h

    r19a4f73 ra2e3ee6  
    3838#include <async.h>
    3939#include <sys/types.h>
     40#include <inet/addr.h>
    4041
    4142struct iplink_ev_ops;
     
    4647} iplink_t;
    4748
    48 typedef struct {
    49         uint32_t ipv4;
    50 } iplink_addr_t;
    51 
    52 /** IP link Service Data Unit */
     49/** IPv4 link Service Data Unit */
    5350typedef struct {
    5451        /** Local source address */
    55         iplink_addr_t lsrc;
     52        uint32_t lsrc;
    5653        /** Local destination address */
    57         iplink_addr_t ldest;
     54        uint32_t ldest;
    5855        /** Serialized IP packet */
    5956        void *data;
     
    6158        size_t size;
    6259} iplink_sdu_t;
     60
     61/** IPv6 link Service Data Unit */
     62typedef struct {
     63        /** Target MAC address */
     64        uint64_t hwaddr;
     65        /** Serialized IP packet */
     66        void *data;
     67        /** Size of @c data in bytes */
     68        size_t size;
     69} iplink_sdu6_t;
    6370
    6471typedef struct iplink_ev_ops {
     
    6976extern void iplink_close(iplink_t *);
    7077extern int iplink_send(iplink_t *, iplink_sdu_t *);
    71 extern int iplink_addr_add(iplink_t *, iplink_addr_t *);
    72 extern int iplink_addr_remove(iplink_t *, iplink_addr_t *);
     78extern int iplink_addr_add(iplink_t *, inet_addr_t *);
     79extern int iplink_addr_remove(iplink_t *, inet_addr_t *);
    7380extern int iplink_get_mtu(iplink_t *, size_t *);
    7481
  • uspace/lib/c/include/inet/iplink_srv.h

    r19a4f73 ra2e3ee6  
    5151} iplink_srv_t;
    5252
    53 typedef struct {
    54         uint32_t ipv4;
    55 } iplink_srv_addr_t;
    56 
    5753/** IP link Service Data Unit */
    5854typedef struct {
    5955        /** Local source address */
    60         iplink_srv_addr_t lsrc;
     56        uint32_t lsrc;
    6157        /** Local destination address */
    62         iplink_srv_addr_t ldest;
     58        uint32_t ldest;
    6359        /** Serialized IP packet */
    6460        void *data;
     
    7268        int (*send)(iplink_srv_t *, iplink_srv_sdu_t *);
    7369        int (*get_mtu)(iplink_srv_t *, size_t *);
    74         int (*addr_add)(iplink_srv_t *, iplink_srv_addr_t *);
    75         int (*addr_remove)(iplink_srv_t *, iplink_srv_addr_t *);
     70        int (*addr_add)(iplink_srv_t *, uint32_t);
     71        int (*addr_remove)(iplink_srv_t *, uint32_t);
    7672} iplink_ops_t;
    7773
Note: See TracChangeset for help on using the changeset viewer.