Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/inetsrv/addrobj.c

    r8a637a4 r30c5d13  
    4242#include <stdlib.h>
    4343#include <str.h>
     44#include <net/socket_codes.h>
    4445#include "addrobj.h"
    4546#include "inetsrv.h"
     
    8788                /* Duplicate address name */
    8889                fibril_mutex_unlock(&addr_list_lock);
    89                 return EEXIST;
     90                return EEXISTS;
    9091        }
    9192
     
    114115        fibril_mutex_lock(&addr_list_lock);
    115116       
    116         list_foreach(addr_list, addr_list, inet_addrobj_t, naddr) {
     117        list_foreach(addr_list, link) {
     118                inet_addrobj_t *naddr = list_get_instance(link,
     119                    inet_addrobj_t, addr_list);
     120               
    117121                switch (find) {
    118122                case iaf_net:
     
    154158            name, ilink->svc_name);
    155159
    156         list_foreach(addr_list, addr_list, inet_addrobj_t, naddr) {
     160        list_foreach(addr_list, link) {
     161                inet_addrobj_t *naddr = list_get_instance(link,
     162                    inet_addrobj_t, addr_list);
     163
    157164                if (naddr->ilink == ilink && str_cmp(naddr->name, name) == 0) {
    158165                        log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_addrobj_find_by_name_locked: found %p",
     
    199206        fibril_mutex_lock(&addr_list_lock);
    200207
    201         list_foreach(addr_list, addr_list, inet_addrobj_t, naddr) {
     208        list_foreach(addr_list, link) {
     209                inet_addrobj_t *naddr = list_get_instance(link,
     210                    inet_addrobj_t, addr_list);
     211
    202212                if (naddr->id == id) {
    203213                        fibril_mutex_unlock(&addr_list_lock);
     
    217227        inet_addr_t lsrc_addr;
    218228        inet_naddr_addr(&addr->naddr, &lsrc_addr);
    219 
     229       
    220230        addr32_t lsrc_v4;
    221231        addr128_t lsrc_v6;
    222         ip_ver_t lsrc_ver = inet_addr_get(&lsrc_addr, &lsrc_v4, &lsrc_v6);
    223 
     232        uint16_t lsrc_af = inet_addr_get(&lsrc_addr, &lsrc_v4, &lsrc_v6);
     233       
    224234        addr32_t ldest_v4;
    225235        addr128_t ldest_v6;
    226         ip_ver_t ldest_ver = inet_addr_get(ldest, &ldest_v4, &ldest_v6);
    227 
    228         if (lsrc_ver != ldest_ver)
     236        uint16_t ldest_af = inet_addr_get(ldest, &ldest_v4, &ldest_v6);
     237       
     238        if (lsrc_af != ldest_af)
    229239                return EINVAL;
    230 
     240       
    231241        int rc;
    232242        addr48_t ldest_mac;
    233 
    234         switch (ldest_ver) {
    235         case ip_v4:
     243       
     244        switch (ldest_af) {
     245        case AF_INET:
    236246                return inet_link_send_dgram(addr->ilink, lsrc_v4, ldest_v4,
    237247                    dgram, proto, ttl, df);
    238         case ip_v6:
     248        case AF_INET6:
    239249                /*
    240250                 * Translate local destination IPv6 address.
     
    243253                if (rc != EOK)
    244254                        return rc;
    245 
     255               
    246256                return inet_link_send_dgram6(addr->ilink, ldest_mac, dgram,
    247257                    proto, ttl, df);
    248         default:
    249                 assert(false);
    250                 break;
    251         }
    252 
     258        }
     259       
    253260        return ENOTSUP;
    254261}
     
    270277
    271278        i = 0;
    272         list_foreach(addr_list, addr_list, inet_addrobj_t, addr) {
     279        list_foreach(addr_list, link) {
     280                inet_addrobj_t *addr = list_get_instance(link,
     281                    inet_addrobj_t, addr_list);
     282
    273283                id_list[i++] = addr->id;
    274284        }
Note: See TracChangeset for help on using the changeset viewer.