Changes in uspace/lib/socket/include/net_messages.h [2aa15d4:14f1db0] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/socket/include/net_messages.h
r2aa15d4 r14f1db0 39 39 40 40 #include <async.h> 41 41 42 #include <ipc/ipc.h> 42 43 #include <ipc/services.h> … … 45 46 #include <adt/measured_strings.h> 46 47 #include <packet/packet.h> 48 49 /** Returns a value indicating whether the value is in the interval. 50 * @param[in] item The value to be checked. 51 * @param[in] first_inclusive The first value in the interval inclusive. 52 * @param[in] last_exclusive The first value after the interval. 53 */ 54 #define IS_IN_INTERVAL(item, first_inclusive, last_exclusive) (((item) >= (first_inclusive)) && ((item) < (last_exclusive))) 55 56 /** @name Networking message counts 57 */ 58 /*@{*/ 59 60 /** The number of ARP messages. 61 */ 62 #define NET_ARP_COUNT 5 63 64 /** The number of Ethernet messages. 65 */ 66 #define NET_ETH_COUNT 0 67 68 /** The number of ICMP messages. 69 */ 70 #define NET_ICMP_COUNT 6 71 72 /** The number of inter-network messages. 73 */ 74 #define NET_IL_COUNT 6 75 76 /** The number of IP messages. 77 */ 78 #define NET_IP_COUNT 4 79 80 /** The number of general networking messages. 81 */ 82 #define NET_NET_COUNT 3 83 84 /** The number of network interface driver messages. 85 */ 86 #define NET_NETIF_COUNT 6 87 88 /** The number of network interface layer messages. 89 */ 90 #define NET_NIL_COUNT 7 91 92 /** The number of packet management system messages. 93 */ 94 #define NET_PACKET_COUNT 5 95 96 /** The number of socket messages. 97 */ 98 #define NET_SOCKET_COUNT 14 99 100 /** The number of TCP messages. 101 */ 102 #define NET_TCP_COUNT 0 103 104 /** The number of transport layer messages. 105 */ 106 #define NET_TL_COUNT 1 107 108 /** The number of UDP messages. 109 */ 110 #define NET_UDP_COUNT 0 111 112 /*@}*/ 113 114 /** @name Networking message intervals 115 */ 116 /*@{*/ 117 118 /** The first networking message. 119 */ 120 #define NET_FIRST 2000 121 122 /** The first network interface layer message. 123 */ 124 #define NET_NETIF_FIRST NET_FIRST 125 126 /** The last network interface layer message. 127 */ 128 #define NET_NETIF_LAST (NET_NETIF_FIRST + NET_NETIF_COUNT) 129 130 /** The first general networking message. 131 */ 132 #define NET_NET_FIRST (NET_NETIF_LAST + 0) 133 134 /** The last general networking message. 135 */ 136 #define NET_NET_LAST (NET_NET_FIRST + NET_NET_COUNT) 137 138 /** The first network interface layer message. 139 */ 140 #define NET_NIL_FIRST (NET_NET_LAST + 0) 141 142 /** The last network interface layer message. 143 */ 144 #define NET_NIL_LAST (NET_NIL_FIRST + NET_NIL_COUNT) 145 146 /** The first Ethernet message. 147 */ 148 #define NET_ETH_FIRST (NET_NIL_LAST + 0) 149 150 /** The last Ethernet message. 151 */ 152 #define NET_ETH_LAST (NET_ETH_FIRST + NET_ETH_COUNT) 153 154 /** The first inter-network message. 155 */ 156 #define NET_IL_FIRST (NET_ETH_LAST + 0) 157 158 /** The last inter-network message. 159 */ 160 #define NET_IL_LAST (NET_IL_FIRST + NET_IL_COUNT) 161 162 /** The first IP message. 163 */ 164 #define NET_IP_FIRST (NET_IL_LAST + 0) 165 166 /** The last IP message. 167 */ 168 #define NET_IP_LAST (NET_IP_FIRST + NET_IP_COUNT) 169 170 /** The first ARP message. 171 */ 172 #define NET_ARP_FIRST (NET_IP_LAST + 0) 173 174 /** The last ARP message. 175 */ 176 #define NET_ARP_LAST (NET_ARP_FIRST + NET_ARP_COUNT) 177 178 /** The first ICMP message. 179 */ 180 #define NET_ICMP_FIRST (NET_ARP_LAST + 0) 181 182 /** The last ICMP message. 183 */ 184 #define NET_ICMP_LAST (NET_ICMP_FIRST + NET_ICMP_COUNT) 185 186 /** The first ICMP message. 187 */ 188 #define NET_TL_FIRST (NET_ICMP_LAST + 0) 189 190 /** The last ICMP message. 191 */ 192 #define NET_TL_LAST (NET_TL_FIRST + NET_TL_COUNT) 193 194 /** The first UDP message. 195 */ 196 #define NET_UDP_FIRST (NET_TL_LAST + 0) 197 198 /** The last UDP message. 199 */ 200 #define NET_UDP_LAST (NET_UDP_FIRST + NET_UDP_COUNT) 201 202 /** The first TCP message. 203 */ 204 #define NET_TCP_FIRST (NET_UDP_LAST + 0) 205 206 /** The last TCP message. 207 */ 208 #define NET_TCP_LAST (NET_TCP_FIRST + NET_TCP_COUNT) 209 210 /** The first socket message. 211 */ 212 #define NET_SOCKET_FIRST (NET_TCP_LAST + 0) 213 214 /** The last socket message. 215 */ 216 #define NET_SOCKET_LAST (NET_SOCKET_FIRST + NET_SOCKET_COUNT) 217 218 /** The first packet management system message. 219 */ 220 #define NET_PACKET_FIRST (NET_SOCKET_LAST + 0) 221 222 /** The last packet management system message. 223 */ 224 #define NET_PACKET_LAST (NET_PACKET_FIRST + NET_PACKET_COUNT) 225 226 /** The last networking message. 227 */ 228 #define NET_LAST NET_PACKET_LAST 229 230 /** The number of networking messages. 231 */ 232 #define NET_COUNT (NET_LAST - NET_FIRST) 233 234 /** Returns a value indicating whether the IPC call is a generic networking message. 235 * @param[in] call The IPC call to be checked. 236 */ 237 #define IS_NET_MESSAGE(call) \ 238 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_FIRST, NET_LAST) 239 240 /** Returns a value indicating whether the IPC call is an ARP message. 241 * @param[in] call The IPC call to be checked. 242 */ 243 #define IS_NET_ARP_MESSAGE(call) \ 244 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_ARP_FIRST, NET_ARP_LAST) 245 246 /** Returns a value indicating whether the IPC call is an Ethernet message. 247 * @param[in] call The IPC call to be checked. 248 */ 249 #define IS_NET_ETH_MESSAGE(call) \ 250 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_ETH_FIRST, NET_ETH_LAST) 251 252 /** Returns a value indicating whether the IPC call is an ICMP message. 253 * @param[in] call The IPC call to be checked. 254 */ 255 #define IS_NET_ICMP_MESSAGE(call) \ 256 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_ICMP_FIRST, NET_ICMP_LAST) 257 258 /** Returns a value indicating whether the IPC call is an inter-network layer message. 259 * @param[in] call The IPC call to be checked. 260 */ 261 #define IS_NET_IL_MESSAGE(call) \ 262 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_IL_FIRST, NET_IL_LAST) 263 264 /** Returns a value indicating whether the IPC call is an IP message. 265 * @param[in] call The IPC call to be checked. 266 */ 267 #define IS_NET_IP_MESSAGE(call) \ 268 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_IP_FIRST, NET_IP_LAST) 269 270 /** Returns a value indicating whether the IPC call is a generic networking message. 271 * @param[in] call The IPC call to be checked. 272 */ 273 #define IS_NET_NET_MESSAGE(call) \ 274 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_NET_FIRST, NET_NET_LAST) 275 276 /** Returns a value indicating whether the IPC call is a network interface layer message. 277 * @param[in] call The IPC call to be checked. 278 */ 279 #define IS_NET_NIL_MESSAGE(call) \ 280 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_NIL_FIRST, NET_NIL_LAST) 281 282 /** Returns a value indicating whether the IPC call is a packet manaagement system message. 283 * @param[in] call The IPC call to be checked. 284 */ 285 #define IS_NET_PACKET_MESSAGE(call) \ 286 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_PACKET_FIRST, NET_PACKET_LAST) 287 288 /** Returns a value indicating whether the IPC call is a socket message. 289 * @param[in] call The IPC call to be checked. 290 */ 291 #define IS_NET_SOCKET_MESSAGE(call) \ 292 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_SOCKET_FIRST, NET_SOCKET_LAST) 293 294 /** Returns a value indicating whether the IPC call is a TCP message. 295 * @param[in] call The IPC call to be checked. 296 */ 297 #define IS_NET_TCP_MESSAGE(call) \ 298 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_TCP_FIRST, NET_TCP_LAST) 299 300 /** Returns a value indicating whether the IPC call is a transport layer message. 301 * @param[in] call The IPC call to be checked. 302 */ 303 #define IS_NET_TL_MESSAGE(call) \ 304 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_TL_FIRST, NET_TL_LAST) 305 306 /** Returns a value indicating whether the IPC call is a UDP message. 307 * @param[in] call The IPC call to be checked. 308 */ 309 #define IS_NET_UDP_MESSAGE(call) \ 310 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_UDP_FIRST, NET_UDP_LAST) 311 312 /*@}*/ 47 313 48 314 /** @name Networking specific message arguments definitions
Note:
See TracChangeset
for help on using the changeset viewer.