Changes in uspace/srv/net/tl/icmp/icmp.h [edc5a985:753bca3] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/tl/icmp/icmp.h
redc5a985 r753bca3 28 28 29 29 /** @addtogroup icmp 30 * @{30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * ICMP module.34 * ICMP module. 35 35 */ 36 36 37 #ifndef NET_ICMP_H_38 #define NET_ICMP_H_37 #ifndef __NET_ICMP_H__ 38 #define __NET_ICMP_H__ 39 39 40 40 #include <fibril_synch.h> 41 41 42 42 #include <net/icmp_codes.h> 43 #include <net/packet.h>44 43 #include <adt/int_map.h> 45 44 #include <icmp_header.h> 46 45 47 46 /** Type definition of the ICMP reply data. 48 * @see icmp_reply47 * @see icmp_reply 49 48 */ 50 typedef struct icmp_reply 49 typedef struct icmp_reply icmp_reply_t; 51 50 52 51 /** Type definition of the ICMP reply data pointer. 53 * @see icmp_reply52 * @see icmp_reply 54 53 */ 55 typedef icmp_reply_t * icmp_reply_ref;54 typedef icmp_reply_t * icmp_reply_ref; 56 55 57 56 /** Type definition of the ICMP global data. 58 * @see icmp_globals57 * @see icmp_globals 59 58 */ 60 typedef struct icmp_globals 59 typedef struct icmp_globals icmp_globals_t; 61 60 62 61 /** Pending replies map. 63 * 64 * Maps message identifiers to the pending replies. 65 * Sending fibril waits for its associated reply event. 66 * Receiving fibril sets the associated reply with the return value and signals 67 * the event. 62 * Maps message identifiers to the pending replies. 63 * Sending fibril waits for its associated reply event. 64 * Receiving fibril sets the associated reply with the return value and signals the event. 68 65 */ 69 66 INT_MAP_DECLARE(icmp_replies, icmp_reply_t); 70 67 71 68 /** Echo specific data map. 72 * 73 * The identifier is used in the future semi-remote calls instead of the ICMP 74 * phone. 69 * The identifier is used in the future semi-remote calls instead of the ICMP phone. 75 70 */ 76 71 INT_MAP_DECLARE(icmp_echo_data, icmp_echo_t); 77 72 78 /** ICMP reply data. */ 79 struct icmp_reply { 80 /** Reply result. */ 73 /** ICMP reply data. 74 */ 75 struct icmp_reply{ 76 /** Reply result. 77 */ 81 78 int result; 82 /** Safety lock. */ 79 /** Safety lock. 80 */ 83 81 fibril_mutex_t mutex; 84 /** Received or timeouted reply signaling. */ 82 /** Received or timeouted reply signaling. 83 */ 85 84 fibril_condvar_t condvar; 86 85 }; 87 86 88 /** ICMP global data. */ 89 struct icmp_globals { 90 /** IP module phone. */ 87 /** ICMP global data. 88 */ 89 struct icmp_globals{ 90 /** IP module phone. 91 */ 91 92 int ip_phone; 92 /** Packet dimension. */ 93 /** Packet dimension. 94 */ 93 95 packet_dimension_t packet_dimension; 94 /** Networking module phone. */ 96 /** Networking module phone. 97 */ 95 98 int net_phone; 96 /** Indicates whether ICMP error reporting is enabled. */ 99 /** Indicates whether ICMP error reporting is enabled. 100 */ 97 101 int error_reporting; 98 /** Indicates whether ICMP echo replying (ping) is enabled. */ 102 /** Indicates whether ICMP echo replying (ping) is enabled. 103 */ 99 104 int echo_replying; 100 /** The last used identifier number. */ 105 /** The last used identifier number. 106 */ 101 107 icmp_param_t last_used_id; 102 /** The budled modules assigned echo specific data. */ 108 /** The budled modules assigned echo specific data. 109 */ 103 110 icmp_echo_data_t echo_data; 104 /** Echo timeout locks. */ 111 /** Echo timeout locks. 112 */ 105 113 icmp_replies_t replies; 106 /** Safety lock. */ 114 /** Safety lock. 115 */ 107 116 fibril_rwlock_t lock; 108 117 }; … … 112 121 /** @} 113 122 */ 123
Note:
See TracChangeset
for help on using the changeset viewer.