Rev 4723 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4723 | Rev 4756 | ||
|---|---|---|---|
| Line 50... | Line 50... | ||
| 50 | /*@{*/ |
50 | /*@{*/ |
| 51 | 51 | ||
| 52 | /** Registers the new device and the requesting protocol service. |
52 | /** Registers the new device and the requesting protocol service. |
| 53 | * Connects to the network interface layer service. |
53 | * Connects to the network interface layer service. |
| 54 | * Determines the device broadcast address, its address lengths and packet size. |
54 | * Determines the device broadcast address, its address lengths and packet size. |
| 55 | * @param arp_phone The ARP module phone used for (semi)remote calls. Input parameter. |
55 | * @param[in] arp_phone The ARP module phone used for (semi)remote calls. |
| 56 | * @param device_id The new device identifier. Input parameter. |
56 | * @param[in] device_id The new device identifier. |
| 57 | * @param protocol The requesting protocol service. Input parameter. |
57 | * @param[in] protocol The requesting protocol service. |
| 58 | * @param netif The underlying device network interface layer service. Input parameter. |
58 | * @param[in] netif The underlying device network interface layer service. |
| 59 | * @param address The local requesting protocol address of the device. Input parameter. |
59 | * @param[in] address The local requesting protocol address of the device. |
| 60 | * @returns EOK on success. |
60 | * @returns EOK on success. |
| 61 | * @returns EEXIST if the device is already used. |
61 | * @returns EEXIST if the device is already used. |
| 62 | * @returns ENOMEM if there is not enough memory left. |
62 | * @returns ENOMEM if there is not enough memory left. |
| 63 | * @returns ENOENT if the network interface service is not known. |
63 | * @returns ENOENT if the network interface service is not known. |
| 64 | * @returns EREFUSED if the network interface service is not responding. |
64 | * @returns EREFUSED if the network interface service is not responding. |
| Line 69... | Line 69... | ||
| 69 | int arp_device_req( int arp_phone, device_id_t device_id, services_t protocol, services_t netif, measured_string_ref address ); |
69 | int arp_device_req( int arp_phone, device_id_t device_id, services_t protocol, services_t netif, measured_string_ref address ); |
| 70 | 70 | ||
| 71 | /** Translates the given protocol address to the network interface address. |
71 | /** Translates the given protocol address to the network interface address. |
| 72 | * Broadcasts the ARP request if the mapping is not found. |
72 | * Broadcasts the ARP request if the mapping is not found. |
| 73 | * Allocates and returns the needed memory block as the data parameter. |
73 | * Allocates and returns the needed memory block as the data parameter. |
| 74 | * @param arp_phone The ARP module phone used for (semi)remote calls. Input parameter. |
74 | * @param[in] arp_phone The ARP module phone used for (semi)remote calls. |
| 75 | * @param device_id The device identifier. Input parameter. |
75 | * @param[in] device_id The device identifier. |
| 76 | * @param protocol The requesting protocol service. Input parameter. |
76 | * @param[in] protocol The requesting protocol service. |
| 77 | * @param address The local requesting protocol address. Input parameter. |
77 | * @param[in] address The local requesting protocol address. |
| 78 | * @param translation The translation of the local protocol address. Output parameter. |
78 | * @param[out] translation The translation of the local protocol address. |
| 79 | * @param data The allocated raw translation data container. Output parameter. |
79 | * @param[out] data The allocated raw translation data container. |
| 80 | * @returns EOK on success. |
80 | * @returns EOK on success. |
| 81 | * @returns EINVAL if the configuration parameter is NULL. |
81 | * @returns EINVAL if the address parameter is NULL. |
| 82 | * @returns EINVAL if the count parameter is zero (0). |
- | |
| 83 | * @returns EBADMEM if the translation or the data parameters are NULL. |
82 | * @returns EBADMEM if the translation or the data parameters are NULL. |
| 84 | * @returns ENOENT if the mapping is not found. |
83 | * @returns ENOENT if the mapping is not found. |
| 85 | */ |
84 | */ |
| 86 | 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 ); |
85 | 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 ); |
| 87 | 86 | ||
| 88 | /** Clears the device cache. |
87 | /** Clears the device cache. |
| 89 | * @param arp_phone The ARP module phone used for (semi)remote calls. Input parameter. |
88 | * @param[in] arp_phone The ARP module phone used for (semi)remote calls. |
| 90 | * @param device_id The device identifier. Input parameter. |
89 | * @param[in] device_id The device identifier. |
| 91 | * @returns EOK on success. |
90 | * @returns EOK on success. |
| 92 | * @returns ENOENT if the device is not found. |
91 | * @returns ENOENT if the device is not found. |
| 93 | */ |
92 | */ |
| 94 | int arp_clear_device_req( int arp_phone, device_id_t device_id ); |
93 | int arp_clear_device_req( int arp_phone, device_id_t device_id ); |
| 95 | 94 | ||
| 96 | /** Clears the given protocol address from the cache. |
95 | /** Clears the given protocol address from the cache. |
| 97 | * @param arp_phone The ARP module phone used for (semi)remote calls. Input parameter. |
96 | * @param[in] arp_phone The ARP module phone used for (semi)remote calls. |
| 98 | * @param device_id The device identifier. Input parameter. |
97 | * @param[in] device_id The device identifier. |
| 99 | * @param protocol The requesting protocol service. Input parameter. |
98 | * @param[in] protocol The requesting protocol service. |
| 100 | * @param address The protocol address to be cleared. Input parameter. |
99 | * @param[in] address The protocol address to be cleared. |
| 101 | * @returns EOK on success. |
100 | * @returns EOK on success. |
| 102 | * @returns ENOENT if the mapping is not found. |
101 | * @returns ENOENT if the mapping is not found. |
| 103 | */ |
102 | */ |
| 104 | int arp_clear_address_req( int arp_phone, device_id_t device_id, services_t protocol, measured_string_ref address ); |
103 | int arp_clear_address_req( int arp_phone, device_id_t device_id, services_t protocol, measured_string_ref address ); |
| 105 | 104 | ||
| 106 | /** Cleans the cache. |
105 | /** Cleans the cache. |
| 107 | * @param arp_phone The ARP module phone used for (semi)remote calls. Input parameter. |
106 | * @param[in] arp_phone The ARP module phone used for (semi)remote calls. |
| 108 | * @returns EOK on success. |
107 | * @returns EOK on success. |
| 109 | */ |
108 | */ |
| 110 | int arp_clean_cache_req( int arp_phone ); |
109 | int arp_clean_cache_req( int arp_phone ); |
| 111 | 110 | ||
| 112 | /** Connects to the ARP module. |
111 | /** Connects to the ARP module. |