Changeset b40bfac in mainline for uspace/srv/net/tl/icmp/icmp.h
- Timestamp:
- 2010-11-08T07:13:25Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 63a1e60
- Parents:
- d70a463 (diff), 3da12d74 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/tl/icmp/icmp.h
rd70a463 rb40bfac 28 28 29 29 /** @addtogroup icmp 30 * 30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * 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> 43 44 #include <adt/int_map.h> 44 45 #include <icmp_header.h> 45 46 46 47 /** Type definition of the ICMP reply data. 47 * 48 * @see icmp_reply 48 49 */ 49 typedef struct icmp_reply 50 typedef struct icmp_reply icmp_reply_t; 50 51 51 52 /** Type definition of the ICMP reply data pointer. 52 * 53 * @see icmp_reply 53 54 */ 54 typedef icmp_reply_t * 55 typedef icmp_reply_t *icmp_reply_ref; 55 56 56 57 /** Type definition of the ICMP global data. 57 * 58 * @see icmp_globals 58 59 */ 59 typedef struct icmp_globals 60 typedef struct icmp_globals icmp_globals_t; 60 61 61 62 /** Pending replies map. 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. 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. 65 68 */ 66 69 INT_MAP_DECLARE(icmp_replies, icmp_reply_t); 67 70 68 71 /** Echo specific data map. 69 * The identifier is used in the future semi-remote calls instead of the ICMP phone. 72 * 73 * The identifier is used in the future semi-remote calls instead of the ICMP 74 * phone. 70 75 */ 71 76 INT_MAP_DECLARE(icmp_echo_data, icmp_echo_t); 72 77 73 /** ICMP reply data. 74 */ 75 struct icmp_reply{ 76 /** Reply result. 77 */ 78 /** ICMP reply data. */ 79 struct icmp_reply { 80 /** Reply result. */ 78 81 int result; 79 /** Safety lock. 80 */ 82 /** Safety lock. */ 81 83 fibril_mutex_t mutex; 82 /** Received or timeouted reply signaling. 83 */ 84 /** Received or timeouted reply signaling. */ 84 85 fibril_condvar_t condvar; 85 86 }; 86 87 87 /** ICMP global data. 88 */ 89 struct icmp_globals{ 90 /** IP module phone. 91 */ 88 /** ICMP global data. */ 89 struct icmp_globals { 90 /** IP module phone. */ 92 91 int ip_phone; 93 /** Packet dimension. 94 */ 92 /** Packet dimension. */ 95 93 packet_dimension_t packet_dimension; 96 /** Networking module phone. 97 */ 94 /** Networking module phone. */ 98 95 int net_phone; 99 /** Indicates whether ICMP error reporting is enabled. 100 */ 96 /** Indicates whether ICMP error reporting is enabled. */ 101 97 int error_reporting; 102 /** Indicates whether ICMP echo replying (ping) is enabled. 103 */ 98 /** Indicates whether ICMP echo replying (ping) is enabled. */ 104 99 int echo_replying; 105 /** The last used identifier number. 106 */ 100 /** The last used identifier number. */ 107 101 icmp_param_t last_used_id; 108 /** The budled modules assigned echo specific data. 109 */ 102 /** The budled modules assigned echo specific data. */ 110 103 icmp_echo_data_t echo_data; 111 /** Echo timeout locks. 112 */ 104 /** Echo timeout locks. */ 113 105 icmp_replies_t replies; 114 /** Safety lock. 115 */ 106 /** Safety lock. */ 116 107 fibril_rwlock_t lock; 117 108 }; … … 121 112 /** @} 122 113 */ 123
Note:
See TracChangeset
for help on using the changeset viewer.