ARP module implementation. More...
#include <async.h>#include <malloc.h>#include <mem.h>#include <fibril_synch.h>#include <stdio.h>#include <string.h>#include <task.h>#include <ipc/ipc.h>#include <ipc/services.h>#include "../../err.h"#include "../../messages.h"#include "../../modules.h"#include "../../include/byteorder.h"#include "../../include/device.h"#include "../../include/arp_interface.h"#include "../../include/nil_interface.h"#include "../../include/protocol_map.h"#include "../../structures/measured_strings.h"#include "../../structures/packet/packet.h"#include "../../structures/packet/packet_client.h"#include "../il_messages.h"#include "arp.h"#include "arp_header.h"#include "arp_oc.h"#include "arp_module.h"#include "arp_messages.h"
Functions | |
| void | arp_clear_device (arp_device_ref device) |
| Clears the device specific data. | |
| int | arp_proto_create (arp_proto_ref *proto, services_t service, measured_string_ref address) |
| Creates new protocol specific data. | |
| int | arp_initialize (async_client_conn_t client_connection) |
| Initializes the ARP module. | |
| int | arp_message (ipc_callid_t callid, ipc_call_t *call, ipc_call_t *answer, int *answer_count) |
| Processes the ARP message. | |
Message processing functions | |
| int | arp_device_message (device_id_t device_id, services_t service, services_t protocol, measured_string_ref address) |
| Registers the device. | |
| int | arp_mtu_changed_message (device_id_t device_id, size_t mtu) |
| Updates the device content length according to the new MTU value. | |
| int | arp_receive_message (device_id_t device_id, packet_t packet) |
| Processes the received ARP packet. | |
| measured_string_ref | arp_translate_message (device_id_t device_id, services_t protocol, measured_string_ref target) |
| Returns the hardware address for the given protocol address. | |
ARP module interface | |
| int | arp_clean_cache_req (int arp_phone) |
| Cleans the cache. | |
| int | arp_clear_address_req (int arp_phone, device_id_t device_id, services_t protocol, measured_string_ref address) |
| Clears the given protocol address from the cache. | |
| int | arp_clear_device_req (int arp_phone, device_id_t device_id) |
| Clears the device cache. | |
| int | arp_connect_module (services_t service) |
| Connects to the ARP module. | |
| int | arp_device_req (int arp_phone, device_id_t device_id, services_t protocol, services_t netif, measured_string_ref address) |
| Registers the new device and the requesting protocol service. | |
| task_id_t | arp_task_get_id (void) |
| Returns the ARP task identifier. | |
| int | arp_translate_req (int arp_phone, device_id_t device_id, services_t protocol, measured_string_ref address, measured_string_ref *translation, char **data) |
| Translates the given protocol address to the network interface address. | |
Variables | |
| arp_globals_t | arp_globals |
| ARP global data. | |
ARP module implementation.
1.6.1