Changes in uspace/lib/net/tl/icmp_remote.c [a26b9e3:514ee46] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/net/tl/icmp_remote.c
ra26b9e3 r514ee46 27 27 */ 28 28 29 /** @addtogroup libnet29 /** @addtogroup icmp 30 30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * ICMP interface implementation for remote modules.35 * @see icmp_interface.h34 * ICMP interface implementation for remote modules. 35 * @see icmp_interface.h 36 36 */ 37 38 #include <icmp_interface.h>39 #include <net/modules.h>40 #include <packet_client.h>41 37 42 38 #include <async.h> … … 47 43 #include <sys/types.h> 48 44 49 /** Sends the Destination Unreachable error notification packet. 50 * 51 * Beginning of the packet is sent as the notification packet data. 52 * The source and the destination addresses should be set in the original 53 * packet. 54 * 55 * @param[in] icmp_phone The ICMP module phone used for (semi)remote calls. 56 * @param[in] code The error specific code. 57 * @param[in] mtu The error MTU value. 58 * @param[in] packet The original packet. 59 * @returns EOK on success. 60 * @returns EPERM if the ICMP error notifications are disabled. 61 * @returns ENOMEM if there is not enough memory left. 62 */ 63 int 64 icmp_destination_unreachable_msg(int icmp_phone, icmp_code_t code, 65 icmp_param_t mtu, packet_t packet) 66 { 67 async_msg_3(icmp_phone, NET_ICMP_DEST_UNREACH, (ipcarg_t) code, 68 (ipcarg_t) packet_get_id(packet), (ipcarg_t) mtu); 45 #include <net/modules.h> 46 #include <icmp_interface.h> 47 #include <packet_client.h> 48 49 int icmp_destination_unreachable_msg(int icmp_phone, icmp_code_t code, icmp_param_t mtu, packet_t packet){ 50 async_msg_3(icmp_phone, NET_ICMP_DEST_UNREACH, (ipcarg_t) code, (ipcarg_t) packet_get_id(packet), (ipcarg_t) mtu); 69 51 return EOK; 70 52 } 71 53 72 /** Sends the Source Quench error notification packet. 73 * 74 * Beginning of the packet is sent as the notification packet data. 75 * The source and the destination addresses should be set in the original 76 * packet. 77 * 78 * @param[in] icmp_phone The ICMP module phone used for (semi)remote calls. 79 * @param[in] packet The original packet. 80 * @returns EOK on success. 81 * @returns EPERM if the ICMP error notifications are disabled. 82 * @returns ENOMEM if there is not enough memory left. 83 */ 84 int icmp_source_quench_msg(int icmp_phone, packet_t packet) 85 { 86 async_msg_2(icmp_phone, NET_ICMP_SOURCE_QUENCH, 0, 87 (ipcarg_t) packet_get_id(packet)); 54 int icmp_source_quench_msg(int icmp_phone, packet_t packet){ 55 async_msg_2(icmp_phone, NET_ICMP_SOURCE_QUENCH, 0, (ipcarg_t) packet_get_id(packet)); 88 56 return EOK; 89 57 } 90 58 91 /** Sends the Time Exceeded error notification packet. 92 * 93 * Beginning of the packet is sent as the notification packet data. 94 * The source and the destination addresses should be set in the original 95 * packet. 96 * 97 * @param[in] icmp_phone The ICMP module phone used for (semi)remote calls. 98 * @param[in] code The error specific code. 99 * @param[in] packet The original packet. 100 * @returns EOK on success. 101 * @returns EPERM if the ICMP error notifications are disabled. 102 * @returns ENOMEM if there is not enough memory left. 103 */ 104 int icmp_time_exceeded_msg(int icmp_phone, icmp_code_t code, packet_t packet) 105 { 106 async_msg_2(icmp_phone, NET_ICMP_TIME_EXCEEDED, (ipcarg_t) code, 107 (ipcarg_t) packet_get_id(packet)); 59 int icmp_time_exceeded_msg(int icmp_phone, icmp_code_t code, packet_t packet){ 60 async_msg_2(icmp_phone, NET_ICMP_TIME_EXCEEDED, (ipcarg_t) code, (ipcarg_t) packet_get_id(packet)); 108 61 return EOK; 109 62 } 110 63 111 /** Sends the Parameter Problem error notification packet. 112 * 113 * Beginning of the packet is sent as the notification packet data. 114 * The source and the destination addresses should be set in the original 115 * packet. 116 * 117 * @param[in] icmp_phone The ICMP module phone used for (semi)remote calls. 118 * @param[in] code The error specific code. 119 * @param[in] pointer The problematic parameter offset. 120 * @param[in] packet The original packet. 121 * @returns EOK on success. 122 * @returns EPERM if the ICMP error notifications are disabled. 123 * @returns ENOMEM if there is not enough memory left. 124 */ 125 int icmp_parameter_problem_msg(int icmp_phone, icmp_code_t code, 126 icmp_param_t pointer, packet_t packet) 127 { 128 async_msg_3(icmp_phone, NET_ICMP_PARAMETERPROB, (ipcarg_t) code, 129 (ipcarg_t) packet_get_id(packet), (ipcarg_t) pointer); 64 int icmp_parameter_problem_msg(int icmp_phone, icmp_code_t code, icmp_param_t pointer, packet_t packet){ 65 async_msg_3(icmp_phone, NET_ICMP_PARAMETERPROB, (ipcarg_t) code, (ipcarg_t) packet_get_id(packet), (ipcarg_t) pointer); 130 66 return EOK; 131 67 } … … 133 69 /** @} 134 70 */ 135
Note:
See TracChangeset
for help on using the changeset viewer.