Subversion Repositories HelenOS

Rev

Rev 4715 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4715 Rev 4720
Line 49... Line 49...
49
#include "socket_codes.h"
49
#include "socket_codes.h"
50
 
50
 
51
#include "icmp_codes.h"
51
#include "icmp_codes.h"
52
#include "icmp_common.h"
52
#include "icmp_common.h"
53
 
53
 
-
 
54
/** Miliseconds type definition.
-
 
55
 */
-
 
56
typedef size_t  mseconds_t;
-
 
57
 
54
/** @name ICMP module application interface
58
/** @name ICMP module application interface
55
 *  This interface is used by other application modules.
59
 *  This interface is used by other application modules.
56
 */
60
 */
57
/*@{*/
61
/*@{*/
58
 
62
 
59
/** \todo
63
/** Requests an echo message.
60
 */
-
 
61
int icmp_echo_msg( int icmp_phone, size_t size, suseconds_t timeout, ip_ttl_t ttl, ip_tos_t tos, int dont_fragment, const struct sockaddr * addr, socklen_t addrlen );
64
 *  Sends a packet with specified parameters to the target host and waits for the reply upto the given timeout.
62
 
-
 
-
 
65
 *  Blocks the caller until the reply or the timeout occurres.
-
 
66
 *  @param icmp_phone The ICMP module phone used for (semi)remote calls. Input parameter.
-
 
67
 *  @param size The message data length in bytes. Input parameter.
-
 
68
 *  @param timeout The timeout in miliseconds. Input parameter.
63
/** Connects to the ICMP module.
69
 *  @param ttl The time to live. Input parameter.
64
 *  @param service The ICMP module service. Ignored parameter.
70
 *  @param tos The type of service. Input parameter.
-
 
71
 *  @param dont_fragment The value indicating whether the datagram must not be fragmented. Is used as a MTU discovery. Input parameter.
-
 
72
 *  @param addr The target host address. Input parameter.
-
 
73
 *  @param addrlen The torget host address length. Input parameter.
65
 *  @returns The ICMP module phone on success.
74
 *  @returns ICMP_ECHO on success.
-
 
75
 *  @returns ETIMEOUT if the reply has not arrived before the timeout.
-
 
76
 *  @returns ICMP type of the received error notification.
-
 
77
 *  @returns EINVAL if the addrlen parameter is less or equal to zero (<=0).
66
 *  @returns 0 if called by the bundle module.
78
 *  @returns ENOMEM if there is not enough memory left.
-
 
79
 *  @returns EPARTY if there was an internal error.
67
 */
80
 */
68
int icmp_connect_module( services_t service );
81
int icmp_echo_msg( int icmp_phone, size_t size, mseconds_t timeout, ip_ttl_t ttl, ip_tos_t tos, int dont_fragment, const struct sockaddr * addr, socklen_t addrlen );
69
 
82
 
70
/*@}*/
83
/*@}*/
71
 
84
 
72
#endif
85
#endif
73
 
86