~jakub/helenos/ia64-revival

« back to all changes in this revision

Viewing changes to uspace/lib/net/include/icmp_remote.h

  • Committer: Jakub Jermar
  • Date: 2011-04-13 14:45:41 UTC
  • mfrom: (527.1.397 main-clone)
  • Revision ID: jakub@jermar.eu-20110413144541-x0j3r1zxqhsljx1o
MergeĀ mainlineĀ changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
27
 */
28
28
 
29
 
/** @addtogroup icmp
 
29
/** @addtogroup libnet
30
30
 *  @{
31
31
 */
32
32
 
33
 
#ifndef __NET_ICMP_INTERFACE_H__
34
 
#define __NET_ICMP_INTERFACE_H__
 
33
#ifndef LIBNET_ICMP_REMOTE_H_
 
34
#define LIBNET_ICMP_REMOTE_H_
35
35
 
 
36
#include <net/socket_codes.h>
36
37
#include <sys/types.h>
37
38
 
38
 
#include <net_device.h>
 
39
#include <net/device.h>
39
40
#include <adt/measured_strings.h>
40
 
#include <packet/packet.h>
41
 
#include <inet.h>
42
 
#include <ip_codes.h>
43
 
#include <socket_codes.h>
44
 
#include <icmp_codes.h>
45
 
#include <icmp_common.h>
 
41
#include <net/packet.h>
 
42
#include <net/inet.h>
 
43
#include <net/ip_codes.h>
 
44
#include <net/icmp_codes.h>
 
45
#include <net/icmp_common.h>
46
46
 
47
47
/** @name ICMP module interface
48
 
 *  This interface is used by other modules.
 
48
 * This interface is used by other modules.
49
49
 */
50
50
/*@{*/
51
51
 
52
 
/** Sends the Destination Unreachable error notification packet.
53
 
 *  Beginning of the packet is sent as the notification packet data.
54
 
 *  The source and the destination addresses should be set in the original packet.
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
 
extern int icmp_destination_unreachable_msg(int icmp_phone, icmp_code_t code, icmp_param_t mtu, packet_t packet);
64
 
 
65
 
/** Sends the Source Quench error notification packet.
66
 
 *  Beginning of the packet is sent as the notification packet data.
67
 
 *  The source and the destination addresses should be set in the original packet.
68
 
 *  @param[in] icmp_phone The ICMP module phone used for (semi)remote calls.
69
 
 *  @param[in] packet The original packet.
70
 
 *  @returns EOK on success.
71
 
 *  @returns EPERM if the ICMP error notifications are disabled.
72
 
 *  @returns ENOMEM if there is not enough memory left.
73
 
 */
74
 
extern int icmp_source_quench_msg(int icmp_phone, packet_t packet);
75
 
 
76
 
/** Sends the Time Exceeded error notification packet.
77
 
 *  Beginning of the packet is sent as the notification packet data.
78
 
 *  The source and the destination addresses should be set in the original packet.
79
 
 *  @param[in] icmp_phone The ICMP module phone used for (semi)remote calls.
80
 
 *  @param[in] code The error specific code.
81
 
 *  @param[in] packet The original packet.
82
 
 *  @returns EOK on success.
83
 
 *  @returns EPERM if the ICMP error notifications are disabled.
84
 
 *  @returns ENOMEM if there is not enough memory left.
85
 
 */
86
 
extern int icmp_time_exceeded_msg(int icmp_phone, icmp_code_t code, packet_t packet);
87
 
 
88
 
/** Sends the Parameter Problem error notification packet.
89
 
 *  Beginning of the packet is sent as the notification packet data.
90
 
 *  The source and the destination addresses should be set in the original packet.
91
 
 *  @param[in] icmp_phone The ICMP module phone used for (semi)remote calls.
92
 
 *  @param[in] code The error specific code.
93
 
 *  @param[in] pointer The problematic parameter offset.
94
 
 *  @param[in] packet The original packet.
95
 
 *  @returns EOK on success.
96
 
 *  @returns EPERM if the ICMP error notifications are disabled.
97
 
 *  @returns ENOMEM if there is not enough memory left.
98
 
 */
99
 
extern int icmp_parameter_problem_msg(int icmp_phone, icmp_code_t code, icmp_param_t pointer, packet_t packet);
 
52
extern int icmp_destination_unreachable_msg(int, icmp_code_t, icmp_param_t,
 
53
    packet_t *);
 
54
extern int icmp_source_quench_msg(int, packet_t *);
 
55
extern int icmp_time_exceeded_msg(int, icmp_code_t, packet_t *);
 
56
extern int icmp_parameter_problem_msg(int, icmp_code_t, icmp_param_t,
 
57
    packet_t *);
100
58
 
101
59
/*@}*/
102
60