Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/net/il/arp_remote.c

    raf7638e r514ee46  
    2727 */
    2828
    29 /** @addtogroup libnet
    30  * @{
     29/** @addtogroup arp
     30 *  @{
    3131 */
    3232
    3333/** @file
    34  * ARP interface implementation for remote modules.
    35  * @see arp_interface.h
     34 *  ARP interface implementation for remote modules.
     35 *  @see arp_interface.h
    3636 */
    3737
    3838#include <arp_interface.h>
     39#include <arp_messages.h>
    3940#include <generic.h>
    4041
     
    4344#include <ipc/ipc.h>
    4445#include <ipc/services.h>
    45 #include <ipc/arp.h>
    4646
    4747#include <net/modules.h>
     
    4949#include <adt/measured_strings.h>
    5050
    51 /** Connects to the ARP module.
    52  *
    53  * @param service       The ARP module service. Ignored parameter.
    54  * @returns             The ARP module phone on success.
    55  */
    56 int arp_connect_module(services_t service)
    57 {
    58         if (service != SERVICE_ARP)
     51int arp_connect_module(services_t service){
     52        if(service != SERVICE_ARP){
    5953                return EINVAL;
    60 
     54        }
    6155        return connect_to_service(SERVICE_ARP);
    6256}
    6357
    64 /** Cleans the cache.
    65  *
    66  * @param[in] arp_phone The ARP module phone used for (semi)remote calls.
    67  * @returns             EOK on success.
    68  */
    69 int arp_clean_cache_req(int arp_phone)
    70 {
     58int arp_clean_cache_req(int arp_phone){
    7159        return (int) async_req_0_0(arp_phone, NET_ARP_CLEAN_CACHE);
    7260}
    7361
    74 /** Clears the given protocol address from the cache.
    75  *
    76  * @param[in] arp_phone The ARP module phone used for (semi)remote calls.
    77  * @param[in] device_id The device identifier.
    78  * @param[in] protocol  The requesting protocol service.
    79  * @param[in] address   The protocol address to be cleared.
    80  * @returns             EOK on success.
    81  * @returns             ENOENT if the mapping is not found.
    82  */
    83 int
    84 arp_clear_address_req(int arp_phone, device_id_t device_id, services_t protocol,
    85     measured_string_ref address)
    86 {
     62int arp_clear_address_req(int arp_phone, device_id_t device_id, services_t protocol, measured_string_ref address){
    8763        aid_t message_id;
    8864        ipcarg_t result;
    8965
    90         message_id = async_send_2(arp_phone, NET_ARP_CLEAR_ADDRESS,
    91             (ipcarg_t) device_id, protocol, NULL);
     66        message_id = async_send_2(arp_phone, NET_ARP_CLEAR_ADDRESS, (ipcarg_t) device_id, protocol, NULL);
    9267        measured_strings_send(arp_phone, address, 1);
    9368        async_wait_for(message_id, &result);
    94 
    9569        return (int) result;
    9670}
    9771
    98 /** Clears the device cache.
    99  *
    100  * @param[in] arp_phone The ARP module phone used for (semi)remote calls.
    101  * @param[in] device_id The device identifier.
    102  * @returns             EOK on success.
    103  * @returns             ENOENT if the device is not found.
    104  */
    105 int arp_clear_device_req(int arp_phone, device_id_t device_id)
    106 {
    107         return (int) async_req_1_0(arp_phone, NET_ARP_CLEAR_DEVICE,
    108             (ipcarg_t) device_id);
     72int arp_clear_device_req(int arp_phone, device_id_t device_id){
     73        return (int) async_req_1_0(arp_phone, NET_ARP_CLEAR_DEVICE, (ipcarg_t) device_id);
    10974}
    11075
    111 /** Registers the new device and the requesting protocol service.
    112  *
    113  * Connects to the network interface layer service.
    114  * Determines the device broadcast address, its address lengths and packet size.
    115  *
    116  * @param[in] arp_phone The ARP module phone used for (semi)remote calls.
    117  * @param[in] device_id The new device identifier.
    118  * @param[in] protocol  The requesting protocol service.
    119  * @param[in] netif     The underlying device network interface layer service.
    120  * @param[in] address   The local requesting protocol address of the device.
    121  * @returns             EOK on success.
    122  * @returns             EEXIST if the device is already used.
    123  * @returns             ENOMEM if there is not enough memory left.
    124  * @returns             ENOENT if the network interface service is not known.
    125  * @returns             EREFUSED if the network interface service is not
    126  *                      responding.
    127  * @returns             Other error codes as defined for the
    128  *                      nil_packet_get_size() function.
    129  * @returns             Other error codes as defined for the nil_get_addr()
    130  *                      function.
    131  * @returns             Other error codes as defined for the
    132  *                      nil_get_broadcast_addr() function.
    133  */
    134 int arp_device_req(int arp_phone, device_id_t device_id, services_t protocol,
    135     services_t netif, measured_string_ref address)
    136 {
     76int arp_device_req(int arp_phone, device_id_t device_id, services_t protocol, services_t netif, measured_string_ref address){
    13777        aid_t message_id;
    13878        ipcarg_t result;
    13979
    140         message_id = async_send_3(arp_phone, NET_ARP_DEVICE,
    141             (ipcarg_t) device_id, protocol, netif, NULL);
     80        message_id = async_send_3(arp_phone, NET_ARP_DEVICE, (ipcarg_t) device_id, protocol, netif, NULL);
    14281        measured_strings_send(arp_phone, address, 1);
    14382        async_wait_for(message_id, &result);
    144 
    14583        return (int) result;
    14684}
    14785
    148 /** Translates the given protocol address to the network interface address.
    149  *
    150  * Broadcasts the ARP request if the mapping is not found.
    151  * Allocates and returns the needed memory block as the data parameter.
    152  *
    153  * @param[in] arp_phone The ARP module phone used for (semi)remote calls.
    154  * @param[in] device_id The device identifier.
    155  * @param[in] protocol  The requesting protocol service.
    156  * @param[in] address   The local requesting protocol address.
    157  * @param[out] translation The translation of the local protocol address.
    158  * @param[out] data     The allocated raw translation data container.
    159  * @returns             EOK on success.
    160  * @returns             EINVAL if the address parameter is NULL.
    161  * @returns             EBADMEM if the translation or the data parameters are
    162  *                      NULL.
    163  * @returns             ENOENT if the mapping is not found.
    164  */
    165 int
    166 arp_translate_req(int arp_phone, device_id_t device_id, services_t protocol,
    167     measured_string_ref address, measured_string_ref *translation, char **data)
    168 {
    169         return generic_translate_req(arp_phone, NET_ARP_TRANSLATE, device_id,
    170             protocol, address, 1, translation, data);
     86task_id_t arp_task_get_id(void){
     87        return 0;
     88}
     89
     90int arp_translate_req(int arp_phone, device_id_t device_id, services_t protocol, measured_string_ref address, measured_string_ref * translation, char ** data){
     91        return generic_translate_req(arp_phone, NET_ARP_TRANSLATE, device_id, protocol, address, 1, translation, data);
    17192}
    17293
Note: See TracChangeset for help on using the changeset viewer.