Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/il/arp/arp.c

    r1b44433c rc69d327  
    227227        printf("Device %d cleared\n", device_id);
    228228        fibril_rwlock_write_unlock(&arp_globals.lock);
     229        return EOK;
     230}
     231
     232int arp_connect_module(services_t service){
     233        if(service != SERVICE_ARP){
     234                return EINVAL;
     235        }
    229236        return EOK;
    230237}
     
    596603        nil_send_msg(device->phone, device_id, packet, SERVICE_ARP);
    597604        return NULL;
     605}
     606
     607int arp_translate_req(int arp_phone, device_id_t device_id, services_t protocol, measured_string_ref address, measured_string_ref * translation, char ** data){
     608        measured_string_ref tmp;
     609
     610        fibril_rwlock_read_lock(&arp_globals.lock);
     611        tmp = arp_translate_message(device_id, protocol, address);
     612        if(tmp){
     613                *translation = measured_string_copy(tmp);
     614                fibril_rwlock_read_unlock(&arp_globals.lock);
     615                if(*translation){
     616                        *data = (** translation).value;
     617                        return EOK;
     618                }else{
     619                        return ENOMEM;
     620                }
     621        }else{
     622                fibril_rwlock_read_unlock(&arp_globals.lock);
     623                return ENOENT;
     624        }
    598625}
    599626
Note: See TracChangeset for help on using the changeset viewer.