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 |