Changeset b5e68c8 in mainline for uspace/lib/c/include/ipc/net.h
- Timestamp:
- 2011-05-12T16:49:44Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f36787d7
- Parents:
- e80329d6 (diff), 750636a (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/lib/c/include/ipc/net.h
re80329d6 rb5e68c8 38 38 #define LIBC_NET_MESSAGES_H_ 39 39 40 #include <ipc/ipc.h>41 40 #include <ipc/services.h> 42 43 41 #include <net/device.h> 44 42 #include <net/packet.h> 45 43 46 /** Returns a value indicating whether the value is in the interval. 47 * @param[in] item The value to be checked. 48 * @param[in] first_inclusive The first value in the interval inclusive. 49 * @param[in] last_exclusive The first value after the interval. 44 /** Return a value indicating whether the value is in the interval. 45 * 46 * @param[in] item Value to be checked. 47 * @param[in] first_inclusive First value in the interval inclusive. 48 * @param[in] last_exclusive First value after the interval. 49 * 50 50 */ 51 51 #define IS_IN_INTERVAL(item, first_inclusive, last_exclusive) \ … … 55 55 /*@{*/ 56 56 57 /** The number of ARP messages. */ 58 #define NET_ARP_COUNT 5 59 60 /** The number of Ethernet messages. */ 61 #define NET_ETH_COUNT 0 62 63 /** The number of ICMP messages. */ 64 #define NET_ICMP_COUNT 6 65 66 /** The number of inter-network messages. */ 67 #define NET_IL_COUNT 6 68 69 /** The number of IP messages. */ 70 #define NET_IP_COUNT 4 71 72 /** The number of general networking messages. */ 73 #define NET_NET_COUNT 3 74 75 /** The number of network interface driver messages. */ 76 #define NET_NETIF_COUNT 6 77 78 /** The number of network interface layer messages. */ 79 #define NET_NIL_COUNT 7 80 81 /** The number of packet management system messages. */ 82 #define NET_PACKET_COUNT 5 83 84 /** The number of socket messages. */ 85 #define NET_SOCKET_COUNT 14 86 87 /** The number of TCP messages. */ 88 #define NET_TCP_COUNT 0 89 90 /** The number of transport layer messages. */ 91 #define NET_TL_COUNT 1 92 93 /** The number of UDP messages. */ 94 #define NET_UDP_COUNT 0 57 #define NET_ARP_COUNT 5 /**< Number of ARP messages. */ 58 #define NET_ETH_COUNT 0 /**< Number of Ethernet messages. */ 59 #define NET_ICMP_COUNT 6 /**< Number of ICMP messages. */ 60 #define NET_IL_COUNT 6 /**< Number of inter-network messages. */ 61 #define NET_IP_COUNT 4 /**< Number of IP messages. */ 62 #define NET_NET_COUNT 3 /**< Number of general networking messages. */ 63 #define NET_NETIF_COUNT 6 /**< Number of network interface driver messages. */ 64 #define NET_NIL_COUNT 7 /**< Number of network interface layer messages. */ 65 #define NET_PACKET_COUNT 5 /**< Number of packet management system messages. */ 66 #define NET_SOCKET_COUNT 14 /**< Number of socket messages. */ 67 #define NET_TCP_COUNT 0 /**< Number of TCP messages. */ 68 #define NET_TL_COUNT 1 /**< Number of transport layer messages. */ 69 #define NET_UDP_COUNT 0 /**< Number of UDP messages. */ 95 70 96 71 /*@}*/ … … 100 75 /*@{*/ 101 76 102 /** The first networking message. */ 103 #define NET_FIRST 2000 104 105 /** The first network interface layer message. */ 106 #define NET_NETIF_FIRST NET_FIRST 107 108 /** The last network interface layer message. */ 109 #define NET_NETIF_LAST (NET_NETIF_FIRST + NET_NETIF_COUNT) 110 111 /** The first general networking message. */ 112 #define NET_NET_FIRST (NET_NETIF_LAST + 0) 113 114 /** The last general networking message. */ 115 #define NET_NET_LAST (NET_NET_FIRST + NET_NET_COUNT) 116 117 /** The first network interface layer message. */ 118 #define NET_NIL_FIRST (NET_NET_LAST + 0) 119 120 /** The last network interface layer message. */ 121 #define NET_NIL_LAST (NET_NIL_FIRST + NET_NIL_COUNT) 122 123 /** The first Ethernet message. */ 124 #define NET_ETH_FIRST (NET_NIL_LAST + 0) 125 126 /** The last Ethernet message. */ 127 #define NET_ETH_LAST (NET_ETH_FIRST + NET_ETH_COUNT) 128 129 /** The first inter-network message. */ 130 #define NET_IL_FIRST (NET_ETH_LAST + 0) 131 132 /** The last inter-network message. */ 133 #define NET_IL_LAST (NET_IL_FIRST + NET_IL_COUNT) 134 135 /** The first IP message. */ 136 #define NET_IP_FIRST (NET_IL_LAST + 0) 137 138 /** The last IP message. */ 139 #define NET_IP_LAST (NET_IP_FIRST + NET_IP_COUNT) 140 141 /** The first ARP message. */ 142 #define NET_ARP_FIRST (NET_IP_LAST + 0) 143 144 /** The last ARP message. */ 145 #define NET_ARP_LAST (NET_ARP_FIRST + NET_ARP_COUNT) 146 147 /** The first ICMP message. */ 148 #define NET_ICMP_FIRST (NET_ARP_LAST + 0) 149 150 /** The last ICMP message. */ 151 #define NET_ICMP_LAST (NET_ICMP_FIRST + NET_ICMP_COUNT) 152 153 /** The first ICMP message. */ 154 #define NET_TL_FIRST (NET_ICMP_LAST + 0) 155 156 /** The last ICMP message. */ 157 #define NET_TL_LAST (NET_TL_FIRST + NET_TL_COUNT) 158 159 /** The first UDP message. */ 160 #define NET_UDP_FIRST (NET_TL_LAST + 0) 161 162 /** The last UDP message. */ 163 #define NET_UDP_LAST (NET_UDP_FIRST + NET_UDP_COUNT) 164 165 /** The first TCP message. */ 166 #define NET_TCP_FIRST (NET_UDP_LAST + 0) 167 168 /** The last TCP message. */ 169 #define NET_TCP_LAST (NET_TCP_FIRST + NET_TCP_COUNT) 170 171 /** The first socket message. */ 172 #define NET_SOCKET_FIRST (NET_TCP_LAST + 0) 173 174 /** The last socket message. */ 175 #define NET_SOCKET_LAST (NET_SOCKET_FIRST + NET_SOCKET_COUNT) 176 177 /** The first packet management system message. */ 178 #define NET_PACKET_FIRST (NET_SOCKET_LAST + 0) 179 180 /** The last packet management system message. */ 181 #define NET_PACKET_LAST (NET_PACKET_FIRST + NET_PACKET_COUNT) 182 183 /** The last networking message. */ 184 #define NET_LAST NET_PACKET_LAST 185 186 /** The number of networking messages. */ 187 #define NET_COUNT (NET_LAST - NET_FIRST) 188 189 /** Returns a value indicating whether the IPC call is a generic networking 190 * message. 191 * @param[in] call The IPC call to be checked. 77 78 /** First networking message. */ 79 #define NET_FIRST 2000 80 81 /** First network interface layer message. */ 82 #define NET_NETIF_FIRST NET_FIRST 83 84 /** Last network interface layer message. */ 85 #define NET_NETIF_LAST (NET_NETIF_FIRST + NET_NETIF_COUNT) 86 87 /** First general networking message. */ 88 #define NET_NET_FIRST (NET_NETIF_LAST + 0) 89 90 /** Last general networking message. */ 91 #define NET_NET_LAST (NET_NET_FIRST + NET_NET_COUNT) 92 93 /** First network interface layer message. */ 94 #define NET_NIL_FIRST (NET_NET_LAST + 0) 95 96 /** Last network interface layer message. */ 97 #define NET_NIL_LAST (NET_NIL_FIRST + NET_NIL_COUNT) 98 99 /** First Ethernet message. */ 100 #define NET_ETH_FIRST (NET_NIL_LAST + 0) 101 102 /** Last Ethernet message. */ 103 #define NET_ETH_LAST (NET_ETH_FIRST + NET_ETH_COUNT) 104 105 /** First inter-network message. */ 106 #define NET_IL_FIRST (NET_ETH_LAST + 0) 107 108 /** Last inter-network message. */ 109 #define NET_IL_LAST (NET_IL_FIRST + NET_IL_COUNT) 110 111 /** First IP message. */ 112 #define NET_IP_FIRST (NET_IL_LAST + 0) 113 114 /** Last IP message. */ 115 #define NET_IP_LAST (NET_IP_FIRST + NET_IP_COUNT) 116 117 /** First ARP message. */ 118 #define NET_ARP_FIRST (NET_IP_LAST + 0) 119 120 /** Last ARP message. */ 121 #define NET_ARP_LAST (NET_ARP_FIRST + NET_ARP_COUNT) 122 123 /** First ICMP message. */ 124 #define NET_ICMP_FIRST (NET_ARP_LAST + 0) 125 126 /** Last ICMP message. */ 127 #define NET_ICMP_LAST (NET_ICMP_FIRST + NET_ICMP_COUNT) 128 129 /** First ICMP message. */ 130 #define NET_TL_FIRST (NET_ICMP_LAST + 0) 131 132 /** Last ICMP message. */ 133 #define NET_TL_LAST (NET_TL_FIRST + NET_TL_COUNT) 134 135 /** First UDP message. */ 136 #define NET_UDP_FIRST (NET_TL_LAST + 0) 137 138 /** Last UDP message. */ 139 #define NET_UDP_LAST (NET_UDP_FIRST + NET_UDP_COUNT) 140 141 /** First TCP message. */ 142 #define NET_TCP_FIRST (NET_UDP_LAST + 0) 143 144 /** Last TCP message. */ 145 #define NET_TCP_LAST (NET_TCP_FIRST + NET_TCP_COUNT) 146 147 /** First socket message. */ 148 #define NET_SOCKET_FIRST (NET_TCP_LAST + 0) 149 150 /** Last socket message. */ 151 #define NET_SOCKET_LAST (NET_SOCKET_FIRST + NET_SOCKET_COUNT) 152 153 /** First packet management system message. */ 154 #define NET_PACKET_FIRST (NET_SOCKET_LAST + 0) 155 156 /** Last packet management system message. */ 157 #define NET_PACKET_LAST (NET_PACKET_FIRST + NET_PACKET_COUNT) 158 159 /** Last networking message. */ 160 #define NET_LAST NET_PACKET_LAST 161 162 /** Number of networking messages. */ 163 #define NET_COUNT (NET_LAST - NET_FIRST) 164 165 /** Check if the IPC call is a generic networking message. 166 * 167 * @param[in] call IPC call to be checked. 168 * 192 169 */ 193 170 #define IS_NET_MESSAGE(call) \ 194 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_FIRST, NET_LAST) 195 196 /** Returns a value indicating whether the IPC call is an ARP message. 197 * @param[in] call The IPC call to be checked. 171 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_FIRST, NET_LAST) 172 173 /** Check if the IPC call is an ARP message. 174 * 175 * @param[in] call IPC call to be checked. 176 * 198 177 */ 199 178 #define IS_NET_ARP_MESSAGE(call) \ 200 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_ARP_FIRST, NET_ARP_LAST) 201 202 /** Returns a value indicating whether the IPC call is an Ethernet message. 203 * @param[in] call The IPC call to be checked. 179 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_ARP_FIRST, NET_ARP_LAST) 180 181 /** Check if the IPC call is an Ethernet message. 182 * 183 * @param[in] call IPC call to be checked. 184 * 204 185 */ 205 186 #define IS_NET_ETH_MESSAGE(call) \ 206 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_ETH_FIRST, NET_ETH_LAST) 207 208 /** Returns a value indicating whether the IPC call is an ICMP message. 209 * @param[in] call The IPC call to be checked. 187 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_ETH_FIRST, NET_ETH_LAST) 188 189 /** Check if the IPC call is an ICMP message. 190 * 191 * @param[in] call IPC call to be checked. 192 * 210 193 */ 211 194 #define IS_NET_ICMP_MESSAGE(call) \ 212 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_ICMP_FIRST, NET_ICMP_LAST) 213 214 /** Returns a value indicating whether the IPC call is an inter-network layer 215 * message. 216 * @param[in] call The IPC call to be checked. 195 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_ICMP_FIRST, NET_ICMP_LAST) 196 197 /** Check if the IPC call is an inter-network layer message. 198 * 199 * @param[in] call IPC call to be checked. 200 * 217 201 */ 218 202 #define IS_NET_IL_MESSAGE(call) \ 219 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_IL_FIRST, NET_IL_LAST) 220 221 /** Returns a value indicating whether the IPC call is an IP message. 222 * @param[in] call The IPC call to be checked. 203 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_IL_FIRST, NET_IL_LAST) 204 205 /** Check if the IPC call is an IP message. 206 * 207 * @param[in] call IPC call to be checked. 208 * 223 209 */ 224 210 #define IS_NET_IP_MESSAGE(call) \ 225 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_IP_FIRST, NET_IP_LAST) 226 227 /** Returns a value indicating whether the IPC call is a generic networking 228 * message. 229 * @param[in] call The IPC call to be checked. 211 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_IP_FIRST, NET_IP_LAST) 212 213 /** Check if the IPC call is a generic networking message. 214 * 215 * @param[in] call IPC call to be checked. 216 * 230 217 */ 231 218 #define IS_NET_NET_MESSAGE(call) \ 232 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_NET_FIRST, NET_NET_LAST) 233 234 /** Returns a value indicating whether the IPC call is a network interface layer 235 * message. 236 * @param[in] call The IPC call to be checked. 219 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_NET_FIRST, NET_NET_LAST) 220 221 /** Check if the IPC call is a network interface layer message. 222 * 223 * @param[in] call IPC call to be checked. 224 * 237 225 */ 238 226 #define IS_NET_NIL_MESSAGE(call) \ 239 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_NIL_FIRST, NET_NIL_LAST) 240 241 /** Returns a value indicating whether the IPC call is a packet manaagement 242 * system message. 243 * @param[in] call The IPC call to be checked. 227 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_NIL_FIRST, NET_NIL_LAST) 228 229 /** Check if the IPC call is a packet manaagement system message. 230 * 231 * @param[in] call IPC call to be checked. 232 * 244 233 */ 245 234 #define IS_NET_PACKET_MESSAGE(call) \ 246 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_PACKET_FIRST, NET_PACKET_LAST) 247 248 /** Returns a value indicating whether the IPC call is a socket message. 249 * @param[in] call The IPC call to be checked. 235 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_PACKET_FIRST, NET_PACKET_LAST) 236 237 /** Check if the IPC call is a socket message. 238 * 239 * @param[in] call IPC call to be checked. 240 * 250 241 */ 251 242 #define IS_NET_SOCKET_MESSAGE(call) \ 252 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_SOCKET_FIRST, NET_SOCKET_LAST) 253 254 /** Returns a value indicating whether the IPC call is a TCP message. 255 * @param[in] call The IPC call to be checked. 243 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_SOCKET_FIRST, NET_SOCKET_LAST) 244 245 /** Check if the IPC call is a TCP message. 246 * 247 * @param[in] call IPC call to be checked. 248 * 256 249 */ 257 250 #define IS_NET_TCP_MESSAGE(call) \ 258 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_TCP_FIRST, NET_TCP_LAST) 259 260 /** Returns a value indicating whether the IPC call is a transport layer message. 261 * @param[in] call The IPC call to be checked. 251 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_TCP_FIRST, NET_TCP_LAST) 252 253 /** Check if the IPC call is a transport layer message. 254 * 255 * @param[in] call IPC call to be checked. 256 * 262 257 */ 263 258 #define IS_NET_TL_MESSAGE(call) \ 264 IS_IN_INTERVAL(IPC_GET_METHOD(*call), NET_TL_FIRST, NET_TL_LAST) 265 266 /** Returns a value indicating whether the IPC call is a UDP message. 267 * @param[in] call The IPC call to be checked. 259 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_TL_FIRST, NET_TL_LAST) 260 261 /** Check if the IPC call is a UDP message. 262 * 263 * @param[in] call IPC call to be checked. 264 * 268 265 */ 269 266 #define IS_NET_UDP_MESSAGE(call) \ 270 IS_IN_INTERVAL(IPC_GET_ METHOD(*call), NET_UDP_FIRST, NET_UDP_LAST)267 IS_IN_INTERVAL(IPC_GET_IMETHOD(call), NET_UDP_FIRST, NET_UDP_LAST) 271 268 272 269 /*@}*/ … … 275 272 /*@{*/ 276 273 277 /** Returns the device identifier message argument. 278 * @param[in] call The message call structure. 279 */ 280 #define IPC_GET_DEVICE(call) \ 281 ({ \ 282 device_id_t device_id = (device_id_t) IPC_GET_ARG1(*call); \ 283 device_id; \ 284 }) 285 286 /** Returns the packet identifier message argument. 287 * @param[in] call The message call structure. 288 */ 289 #define IPC_GET_PACKET(call) \ 290 ({ \ 291 packet_id_t packet_id = (packet_id_t) IPC_GET_ARG2(*call); \ 292 packet_id; \ 293 }) 294 295 /** Returns the count message argument. 296 * @param[in] call The message call structure. 297 */ 298 #define IPC_GET_COUNT(call) \ 299 ({ \ 300 size_t size = (size_t) IPC_GET_ARG2(*call); \ 301 size; \ 302 }) 303 304 /** Returns the device state message argument. 305 * @param[in] call The message call structure. 306 */ 307 #define IPC_GET_STATE(call) \ 308 ({ \ 309 device_state_t state = (device_state_t) IPC_GET_ARG2(*call); \ 310 state; \ 311 }) 312 313 /** Returns the maximum transmission unit message argument. 314 * @param[in] call The message call structure. 315 */ 316 #define IPC_GET_MTU(call) \ 317 ({ \ 318 size_t size = (size_t) IPC_GET_ARG2(*call); \ 319 size; \ 320 }) 321 322 /** Returns the device driver service message argument. 323 * @param[in] call The message call structure. 324 */ 325 #define IPC_GET_SERVICE(call) \ 326 ({ \ 327 services_t service = (services_t) IPC_GET_ARG3(*call); \ 328 service; \ 329 }) 330 331 /** Returns the target service message argument. 332 * @param[in] call The message call structure. 333 */ 334 #define IPC_GET_TARGET(call) \ 335 ({ \ 336 services_t service = (services_t) IPC_GET_ARG3(*call); \ 337 service; \ 338 }) 339 340 /** Returns the sender service message argument. 341 * @param[in] call The message call structure. 342 */ 343 #define IPC_GET_SENDER(call) \ 344 ({ \ 345 services_t service = (services_t) IPC_GET_ARG3(*call); \ 346 service; \ 347 }) 348 349 /** Returns the error service message argument. 350 * @param[in] call The message call structure. 351 */ 352 #define IPC_GET_ERROR(call) \ 353 ({ \ 354 services_t service = (services_t) IPC_GET_ARG4(*call); \ 355 service; \ 356 }) 357 358 /** Returns the phone message argument. 359 * @param[in] call The message call structure. 360 */ 361 #define IPC_GET_PHONE(call) \ 362 ({ \ 363 int phone = (int) IPC_GET_ARG5(*call); \ 364 phone; \ 365 }) 366 367 /** Sets the device identifier in the message answer. 368 * @param[out] answer The message answer structure. 369 */ 370 #define IPC_SET_DEVICE(answer, value) \ 371 do { \ 372 ipcarg_t argument = (ipcarg_t) (value); \ 373 IPC_SET_ARG1(*answer, argument); \ 374 } while (0) 375 376 /** Sets the minimum address length in the message answer. 377 * @param[out] answer The message answer structure. 378 */ 379 #define IPC_SET_ADDR(answer, value) \ 380 do { \ 381 ipcarg_t argument = (ipcarg_t) (value); \ 382 IPC_SET_ARG1(*answer, argument); \ 383 } while (0) 384 385 /** Sets the minimum prefix size in the message answer. 386 * @param[out] answer The message answer structure. 387 */ 388 #define IPC_SET_PREFIX(answer, value) \ 389 do { \ 390 ipcarg_t argument = (ipcarg_t) (value); \ 391 IPC_SET_ARG2(*answer, argument); \ 392 } while (0) 393 394 /** Sets the maximum content size in the message answer. 395 * @param[out] answer The message answer structure. 396 */ 397 #define IPC_SET_CONTENT(answer, value) \ 398 do { \ 399 ipcarg_t argument = (ipcarg_t) (value); \ 400 IPC_SET_ARG3(*answer, argument); \ 401 } while (0) 402 403 /** Sets the minimum suffix size in the message answer. 404 * @param[out] answer The message answer structure. 405 */ 406 #define IPC_SET_SUFFIX(answer, value) \ 407 do { \ 408 ipcarg_t argument = (ipcarg_t) (value); \ 409 IPC_SET_ARG4(*answer, argument); \ 410 } while (0) 274 /** Return the device identifier message argument. 275 * 276 * @param[in] call Message call structure. 277 * 278 */ 279 #define IPC_GET_DEVICE(call) ((device_id_t) IPC_GET_ARG1(call)) 280 281 /** Return the packet identifier message argument. 282 * 283 * @param[in] call Message call structure. 284 * 285 */ 286 #define IPC_GET_PACKET(call) ((packet_id_t) IPC_GET_ARG2(call)) 287 288 /** Return the count message argument. 289 * 290 * @param[in] call Message call structure. 291 * 292 */ 293 #define IPC_GET_COUNT(call) ((size_t) IPC_GET_ARG2(call)) 294 295 /** Return the device state message argument. 296 * 297 * @param[in] call Message call structure. 298 * 299 */ 300 #define IPC_GET_STATE(call) ((device_state_t) IPC_GET_ARG2(call)) 301 302 /** Return the maximum transmission unit message argument. 303 * 304 * @param[in] call Message call structure. 305 * 306 */ 307 #define IPC_GET_MTU(call) ((size_t) IPC_GET_ARG2(call)) 308 309 /** Return the device driver service message argument. 310 * 311 * @param[in] call Message call structure. 312 * 313 */ 314 #define IPC_GET_SERVICE(call) ((services_t) IPC_GET_ARG3(call)) 315 316 /** Return the target service message argument. 317 * 318 * @param[in] call Message call structure. 319 * 320 */ 321 #define IPC_GET_TARGET(call) ((services_t) IPC_GET_ARG3(call)) 322 323 /** Return the sender service message argument. 324 * 325 * @param[in] call Message call structure. 326 * 327 */ 328 #define IPC_GET_SENDER(call) ((services_t) IPC_GET_ARG3(call)) 329 330 /** Return the error service message argument. 331 & 332 * @param[in] call Message call structure. 333 * 334 */ 335 #define IPC_GET_ERROR(call) ((services_t) IPC_GET_ARG4(call)) 336 337 /** Return the phone message argument. 338 * 339 * @param[in] call Message call structure. 340 * 341 */ 342 #define IPC_GET_PHONE(call) ((int) IPC_GET_ARG5(call)) 343 344 /** Set the device identifier in the message answer. 345 * 346 * @param[out] answer Message answer structure. 347 * @param[in] value Value to set. 348 * 349 */ 350 #define IPC_SET_DEVICE(answer, value) IPC_SET_ARG1(answer, (sysarg_t) (value)) 351 352 /** Set the minimum address length in the message answer. 353 * 354 * @param[out] answer Message answer structure. 355 * @param[in] value Value to set. 356 * 357 */ 358 #define IPC_SET_ADDR(answer, value) IPC_SET_ARG1(answer, (sysarg_t) (value)) 359 360 /** Set the minimum prefix size in the message answer. 361 * 362 * @param[out] answer Message answer structure. 363 * @param[in] value Value to set. 364 * 365 */ 366 #define IPC_SET_PREFIX(answer, value) IPC_SET_ARG2(answer, (sysarg_t) (value)) 367 368 /** Set the maximum content size in the message answer. 369 * 370 * @param[out] answer Message answer structure. 371 * @param[in] value Value to set. 372 * 373 */ 374 #define IPC_SET_CONTENT(answer, value) IPC_SET_ARG3(answer, (sysarg_t) (value)) 375 376 /** Set the minimum suffix size in the message answer. 377 * 378 * @param[out] answer Message answer structure. 379 * @param[in] value Value to set. 380 * 381 */ 382 #define IPC_SET_SUFFIX(answer, value) IPC_SET_ARG4(answer, (sysarg_t) (value)) 411 383 412 384 /*@}*/
Note:
See TracChangeset
for help on using the changeset viewer.