Changeset 0b749a3 in mainline for uspace/lib/c/include/ipc
- Timestamp:
- 2010-11-22T15:39:53Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0eddb76, aae339e9
- Parents:
- 9a1d8ab (diff), 8cd1aa5e (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. - Location:
- uspace/lib/c/include/ipc
- Files:
-
- 5 added
- 2 edited
- 10 moved
-
arp.h (moved) (moved from uspace/lib/net/include/arp_messages.h ) (1 diff)
-
dev_iface.h (added)
-
devman.h (added)
-
devmap.h (modified) (2 diffs)
-
driver.h (added)
-
icmp.h (moved) (moved from uspace/lib/socket/include/icmp_messages.h ) (1 diff)
-
il.h (moved) (moved from uspace/lib/net/include/il_messages.h ) (2 diffs)
-
ip.h (moved) (moved from uspace/lib/net/include/ip_messages.h ) (1 diff)
-
net.h (added)
-
net_net.h (moved) (moved from uspace/lib/net/include/net_net_messages.h ) (1 diff)
-
netif.h (moved) (moved from uspace/lib/net/include/netif_messages.h ) (4 diffs)
-
nil.h (moved) (moved from uspace/lib/net/include/nil_messages.h ) (2 diffs)
-
packet.h (moved) (moved from uspace/lib/socket/include/packet/packet_messages.h ) (2 diffs)
-
serial_ctl.h (added)
-
services.h (modified) (2 diffs)
-
socket.h (moved) (moved from uspace/lib/socket/include/socket_messages.h ) (2 diffs)
-
tl.h (moved) (moved from uspace/lib/net/include/tl_messages.h ) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/ipc/arp.h
r9a1d8ab r0b749a3 27 27 */ 28 28 29 /** @addtogroup arp30 * @{29 /** @addtogroup libc 30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * ARP module messages.35 * @see arp_interface.h34 * ARP module messages. 35 * @see arp_interface.h 36 36 */ 37 37 38 #ifndef __NET_ARP_MESSAGES__39 #define __NET_ARP_MESSAGES__38 #ifndef LIBC_ARP_MESSAGES_ 39 #define LIBC_ARP_MESSAGES_ 40 40 41 41 #include <ipc/ipc.h> 42 #include <ipc/net.h> 42 43 43 #include <net_messages.h> 44 45 /** ARP module messages. 46 */ 47 typedef enum{ 44 /** ARP module messages. */ 45 typedef enum { 48 46 /** Clean cache message. 49 * @see arp_clean_cache()47 * @see arp_clean_cache() 50 48 */ 51 49 NET_ARP_CLEAN_CACHE = NET_ARP_FIRST, 52 50 /** Clear address cache message. 53 * @see arp_clear_address_msg()51 * @see arp_clear_address_msg() 54 52 */ 55 53 NET_ARP_CLEAR_ADDRESS, 56 54 /** Clear device cache message. 57 * @see arp_clear_device_req()55 * @see arp_clear_device_req() 58 56 */ 59 57 NET_ARP_CLEAR_DEVICE, 60 58 /** New device message. 61 * @see arp_device_req()59 * @see arp_device_req() 62 60 */ 63 61 NET_ARP_DEVICE, 64 62 /** Address translation message. 65 * @see arp_translate_req()63 * @see arp_translate_req() 66 64 */ 67 65 NET_ARP_TRANSLATE 68 66 } arp_messages; 69 67 70 /** @name ARP specific message parameters definitions 71 */ 68 /** @name ARP specific message parameters definitions */ 72 69 /*@{*/ 73 70 74 71 /** Returns the protocol service message parameter. 75 * @param[in] call The message call structure.72 * @param[in] call The message call structure. 76 73 */ 77 74 #define ARP_GET_NETIF(call) \ 78 ({services_t service = (services_t) IPC_GET_ARG2(*call); service;}) 75 ({ \ 76 services_t service = (services_t) IPC_GET_ARG2(*call); \ 77 service; \ 78 }) 79 79 80 80 /*@}*/ -
uspace/lib/c/include/ipc/devmap.h
r9a1d8ab r0b749a3 40 40 #define DEVMAP_NAME_MAXLEN 255 41 41 42 typedef ipcarg_t dev _handle_t;42 typedef ipcarg_t devmap_handle_t; 43 43 44 44 typedef enum { … … 81 81 82 82 typedef struct { 83 dev _handle_t handle;83 devmap_handle_t handle; 84 84 char name[DEVMAP_NAME_MAXLEN + 1]; 85 85 } dev_desc_t; -
uspace/lib/c/include/ipc/icmp.h
r9a1d8ab r0b749a3 27 27 */ 28 28 29 /** @addtogroup icmp30 * @{29 /** @addtogroup libc 30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * ICMP module messages.35 * @see icmp_interface.h34 * ICMP module messages. 35 * @see icmp_interface.h 36 36 */ 37 37 38 #ifndef __NET_ICMP_MESSAGES__39 #define __NET_ICMP_MESSAGES__38 #ifndef LIBC_ICMP_MESSAGES_ 39 #define LIBC_ICMP_MESSAGES_ 40 40 41 41 #include <ipc/ipc.h> 42 #include <ipc/net.h> 42 43 #include <sys/types.h> 44 #include <sys/time.h> 43 45 44 #include <icmp_codes.h> 45 #include <net_messages.h> 46 #include <net/icmp_codes.h> 46 47 47 /** ICMP module messages. 48 */ 49 typedef enum{ 50 /** Sends echo request. 51 * @see icmp_echo() 52 */ 48 /** ICMP module messages. */ 49 typedef enum { 50 /** Sends echo request. @see icmp_echo() */ 53 51 NET_ICMP_ECHO = NET_ICMP_FIRST, 54 /** Sends destination unreachable error message. 55 * @see icmp_destination_unreachable_msg() 52 53 /** 54 * Sends destination unreachable error message. 55 * @see icmp_destination_unreachable_msg() 56 56 */ 57 57 NET_ICMP_DEST_UNREACH, 58 /** Sends source quench error message. 59 * @see icmp_source_quench_msg() 58 59 /** 60 * Sends source quench error message. 61 * @see icmp_source_quench_msg() 60 62 */ 61 63 NET_ICMP_SOURCE_QUENCH, 62 /** Sends time exceeded error message. 63 * @see icmp_time_exceeded_msg() 64 65 /** 66 * Sends time exceeded error message. 67 * @see icmp_time_exceeded_msg() 64 68 */ 65 69 NET_ICMP_TIME_EXCEEDED, 66 /** Sends parameter problem error message. 67 * @see icmp_parameter_problem_msg() 70 71 /** 72 * Sends parameter problem error message. 73 * @see icmp_parameter_problem_msg() 68 74 */ 69 75 NET_ICMP_PARAMETERPROB, 70 /** Initializes new connection.71 */76 77 /** Initializes new connection. */ 72 78 NET_ICMP_INIT 73 79 } icmp_messages; 74 80 75 /** @name ICMP specific message parameters definitions 76 */ 81 /** @name ICMP specific message parameters definitions */ 77 82 /*@{*/ 78 83 79 84 /** Returns the ICMP code message parameter. 80 * @param[in] call The message call structure. 85 * 86 * @param[in] call The message call structure. 81 87 */ 82 88 #define ICMP_GET_CODE(call) \ 83 ({icmp_code_t code = (icmp_code_t) IPC_GET_ARG1(*call); code;}) 89 ({ \ 90 icmp_code_t code = (icmp_code_t) IPC_GET_ARG1(*call); \ 91 code; \ 92 }) 84 93 85 94 /** Returns the ICMP link MTU message parameter. 86 * @param[in] call The message call structure. 95 * 96 * @param[in] call The message call structure. 87 97 */ 88 98 #define ICMP_GET_MTU(call) \ 89 ({icmp_param_t mtu = (icmp_param_t) IPC_GET_ARG3(*call); mtu;}) 99 ({ \ 100 icmp_param_t mtu = (icmp_param_t) IPC_GET_ARG3(*call); \ 101 mtu; \ 102 }) 90 103 91 104 /** Returns the pointer message parameter. 92 * @param[in] call The message call structure. 105 * 106 * @param[in] call The message call structure. 93 107 */ 94 108 #define ICMP_GET_POINTER(call) \ 95 ({icmp_param_t pointer = (icmp_param_t) IPC_GET_ARG3(*call); pointer;}) 109 ({ \ 110 icmp_param_t pointer = (icmp_param_t) IPC_GET_ARG3(*call); \ 111 pointer; \ 112 }) 96 113 97 114 /** Returns the size message parameter. 98 * @param[in] call The message call structure. 115 * 116 * @param[in] call The message call structure. 99 117 */ 100 118 #define ICMP_GET_SIZE(call) \ 101 ({size_t size = (size_t) IPC_GET_ARG1(call); size;}) 119 ({ \ 120 size_t size = (size_t) IPC_GET_ARG1(call); \ 121 size; \ 122 }) 102 123 103 124 /** Returns the timeout message parameter. 104 * @param[in] call The message call structure. 125 * 126 * @param[in] call The message call structure. 105 127 */ 106 128 #define ICMP_GET_TIMEOUT(call) \ 107 (({suseconds_t timeout = (suseconds_t) IPC_GET_ARG2(call); timeout;})) 129 ({ \ 130 suseconds_t timeout = (suseconds_t) IPC_GET_ARG2(call); \ 131 timeout; \ 132 }) 108 133 109 134 /** Returns the time to live message parameter. 110 * @param[in] call The message call structure. 135 * 136 * @param[in] call The message call structure. 111 137 */ 112 138 #define ICMP_GET_TTL(call) \ 113 ({ip_ttl_t ttl = (ip_ttl_t) IPC_GET_ARG3(call); ttl;}) 139 ({ \ 140 ip_ttl_t ttl = (ip_ttl_t) IPC_GET_ARG3(call); \ 141 ttl; \ 142 }) 114 143 115 144 /** Returns the type of service message parameter. 116 * @param[in] call The message call structure. 145 * 146 * @param[in] call The message call structure. 117 147 */ 118 148 #define ICMP_GET_TOS(call) \ 119 ({ip_tos_t tos = (ip_tos_t) IPC_GET_ARG4(call); tos;}) 149 ({ \ 150 ip_tos_t tos = (ip_tos_t) IPC_GET_ARG4(call); \ 151 tos; \ 152 }) 120 153 121 154 /** Returns the dont fragment message parameter. 122 * @param[in] call The message call structure. 155 * 156 * @param[in] call The message call structure. 123 157 */ 124 158 #define ICMP_GET_DONT_FRAGMENT(call) \ 125 ({int dont_fragment = (int) IPC_GET_ARG5(call); dont_fragment;}) 159 ({ \ 160 int dont_fragment = (int) IPC_GET_ARG5(call); \ 161 dont_fragment; \ 162 }) 126 163 127 164 /*@}*/ -
uspace/lib/c/include/ipc/il.h
r9a1d8ab r0b749a3 27 27 */ 28 28 29 /** @addtogroup net_il29 /** @addtogroup libc 30 30 * @{ 31 31 */ … … 37 37 */ 38 38 39 #ifndef __NET_IL_MESSAGES_H__40 #define __NET_IL_MESSAGES_H__39 #ifndef LIBC_IL_MESSAGES_H_ 40 #define LIBC_IL_MESSAGES_H_ 41 41 42 42 #include <ipc/ipc.h> 43 #include <ipc/net.h> 43 44 44 /** Internet layer modules messages. 45 */ 45 /** Internet layer modules messages. */ 46 46 typedef enum { 47 47 /** New device message. 48 * @see ip_device_req()48 * @see ip_device_req() 49 49 */ 50 50 NET_IL_DEVICE = NET_IL_FIRST, 51 51 /** Device state changed message. 52 * @see il_device_state_msg()52 * @see il_device_state_msg() 53 53 */ 54 54 NET_IL_DEVICE_STATE, 55 55 /** Device MTU changed message. 56 * @see il_mtu_changed_msg()56 * @see il_mtu_changed_msg() 57 57 */ 58 58 NET_IL_MTU_CHANGED, 59 59 /** Packet size message. 60 * @see il_packet_size_req()60 * @see il_packet_size_req() 61 61 */ 62 62 NET_IL_PACKET_SPACE, 63 63 /** Packet received message. 64 * @see il_received_msg()64 * @see il_received_msg() 65 65 */ 66 66 NET_IL_RECEIVED, 67 67 /** Packet send message. 68 * @see il_send_msg()68 * @see il_send_msg() 69 69 */ 70 70 NET_IL_SEND 71 71 } il_messages; 72 72 73 /** @name Internetwork layer specific message parameters definitions 74 * 75 */ 73 /** @name Internetwork layer specific message parameters definitions */ 76 74 /*@{*/ 77 75 78 76 /** Return the protocol number message parameter. 79 77 * @param[in] call The message call structure. 80 *81 78 */ 82 #define IL_GET_PROTO(call) (int) IPC_GET_ARG1(*call)79 #define IL_GET_PROTO(call) (int) IPC_GET_ARG1(*call) 83 80 84 81 /** Return the registering service message parameter. 85 82 * @param[in] call The message call structure. 86 *87 83 */ 88 #define IL_GET_SERVICE(call) (services_t) IPC_GET_ARG2(*call)84 #define IL_GET_SERVICE(call) (services_t) IPC_GET_ARG2(*call) 89 85 90 86 /*@}*/ -
uspace/lib/c/include/ipc/ip.h
r9a1d8ab r0b749a3 27 27 */ 28 28 29 /** @addtogroup ip30 * @{29 /** @addtogroup libc 30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * IP module messages.35 * @see ip_interface.h34 * IP module messages. 35 * @see ip_interface.h 36 36 */ 37 37 38 #ifndef __NET_IP_MESSAGES_H__39 #define __NET_IP_MESSAGES_H__38 #ifndef LIBC_IP_MESSAGES_H_ 39 #define LIBC_IP_MESSAGES_H_ 40 40 41 41 #include <ipc/ipc.h> 42 #include <ipc/net.h> 42 43 43 #include < in.h>44 #include < ip_codes.h>44 #include <net/in.h> 45 #include <net/ip_codes.h> 45 46 46 /** IP module messages. 47 */ 48 typedef enum{ 47 /** IP module messages. */ 48 typedef enum { 49 49 /** Adds the routing entry. 50 * @see ip_add_route()50 * @see ip_add_route() 51 51 */ 52 52 NET_IP_ADD_ROUTE = NET_IP_FIRST, 53 53 /** Gets the actual route information. 54 * @see ip_get_route()54 * @see ip_get_route() 55 55 */ 56 56 NET_IP_GET_ROUTE, 57 57 /** Processes the received error notification. 58 * @see ip_received_error_msg()58 * @see ip_received_error_msg() 59 59 */ 60 60 NET_IP_RECEIVED_ERROR, 61 61 /** Sets the default gateway. 62 * @see ip_set_default_gateway()62 * @see ip_set_default_gateway() 63 63 */ 64 64 NET_IP_SET_GATEWAY 65 65 } ip_messages; 66 66 67 /** @name IP specific message parameters definitions 68 */ 67 /** @name IP specific message parameters definitions */ 69 68 /*@{*/ 70 69 71 70 /** Returns the address message parameter. 72 * @param[in] call The message call structure.71 * @param[in] call The message call structure. 73 72 */ 74 73 #define IP_GET_ADDRESS(call) \ 75 ({in_addr_t addr; addr.s_addr = IPC_GET_ARG3(*call); addr;}) 74 ({ \ 75 in_addr_t addr; \ 76 addr.s_addr = IPC_GET_ARG3(*call); \ 77 addr; \ 78 }) 76 79 77 80 /** Returns the gateway message parameter. 78 * @param[in] call The message call structure.81 * @param[in] call The message call structure. 79 82 */ 80 83 #define IP_GET_GATEWAY(call) \ 81 ({in_addr_t addr; addr.s_addr = IPC_GET_ARG2(*call); addr;}) 84 ({ \ 85 in_addr_t addr; \ 86 addr.s_addr = IPC_GET_ARG2(*call); \ 87 addr; \ 88 }) 82 89 83 90 /** Sets the header length in the message answer. 84 * @param[out] answer The message answer structure.91 * @param[out] answer The message answer structure. 85 92 */ 86 93 #define IP_SET_HEADERLEN(answer, value) \ 87 {ipcarg_t argument = (ipcarg_t) (value); IPC_SET_ARG2(*answer, argument);} 94 do { \ 95 ipcarg_t argument = (ipcarg_t) (value); \ 96 IPC_SET_ARG2(*answer, argument); \ 97 } while (0) 88 98 89 99 /** Returns the network mask message parameter. 90 * @param[in] call The message call structure.100 * @param[in] call The message call structure. 91 101 */ 92 102 #define IP_GET_NETMASK(call) \ 93 ({in_addr_t addr; addr.s_addr = IPC_GET_ARG4(*call); addr;}) 103 ({ \ 104 in_addr_t addr; \ 105 addr.s_addr = IPC_GET_ARG4(*call); \ 106 addr; \ 107 }) 94 108 95 109 /** Returns the protocol message parameter. 96 * @param[in] call The message call structure.110 * @param[in] call The message call structure. 97 111 */ 98 112 #define IP_GET_PROTOCOL(call) \ 99 ({ip_protocol_t protocol = (ip_protocol_t) IPC_GET_ARG1(*call); protocol;}) 113 ({ \ 114 ip_protocol_t protocol = (ip_protocol_t) IPC_GET_ARG1(*call); \ 115 protocol; \ 116 }) 100 117 101 118 /*@}*/ -
uspace/lib/c/include/ipc/net_net.h
r9a1d8ab r0b749a3 27 27 */ 28 28 29 /** @addtogroup net30 * @{29 /** @addtogroup libc 30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * Networking subsystem central module messages.35 * @see net_interface.h34 * Networking subsystem central module messages. 35 * @see net_interface.h 36 36 */ 37 37 38 #ifndef __NET_NET_MESSAGES_H__39 #define __NET_NET_MESSAGES_H__38 #ifndef LIBC_NET_NET_MESSAGES_H_ 39 #define LIBC_NET_NET_MESSAGES_H_ 40 40 41 41 #include <ipc/ipc.h> 42 #include <ipc/net.h> 42 43 43 #include <net_messages.h> 44 45 /** Networking subsystem central module messages. 46 */ 47 typedef enum{ 44 /** Networking subsystem central module messages. */ 45 typedef enum { 48 46 /** Returns the general configuration 49 * @see net_get_conf_req()47 * @see net_get_conf_req() 50 48 */ 51 49 NET_NET_GET_CONF = NET_FIRST, 52 50 /** Returns the device specific configuration 53 * @see net_get_device_conf_req()51 * @see net_get_device_conf_req() 54 52 */ 55 53 NET_NET_GET_DEVICE_CONF, 56 /** Starts the networking stack. 57 */ 54 /** Starts the networking stack. */ 58 55 NET_NET_STARTUP, 59 56 } net_messages; -
uspace/lib/c/include/ipc/netif.h
r9a1d8ab r0b749a3 27 27 */ 28 28 29 /** @addtogroup netif29 /** @addtogroup libc 30 30 * @{ 31 31 */ … … 35 35 */ 36 36 37 #ifndef __NET_NETIF_MESSAGES_H__38 #define __NET_NETIF_MESSAGES_H__37 #ifndef LIBC_NETIF_MESSAGES_H_ 38 #define LIBC_NETIF_MESSAGES_H_ 39 39 40 40 #include <ipc/ipc.h> 41 #include <ipc/net.h> 41 42 42 #include <net_messages.h> 43 44 /** Network interface common module messages. 45 */ 43 /** Network interface common module messages. */ 46 44 typedef enum { 47 45 /** Probe device message. 48 * @see netif_probe_req()46 * @see netif_probe_req() 49 47 */ 50 48 NET_NETIF_PROBE = NET_NETIF_FIRST, 51 49 /** Send packet message. 52 * @see netif_send_msg()50 * @see netif_send_msg() 53 51 */ 54 52 NET_NETIF_SEND, 55 53 /** Start device message. 56 * @see netif_start_req()54 * @see netif_start_req() 57 55 */ 58 56 NET_NETIF_START, 59 57 /** Get device usage statistics message. 60 * @see netif_stats_req()58 * @see netif_stats_req() 61 59 */ 62 60 NET_NETIF_STATS, 63 61 /** Stop device message. 64 * @see netif_stop_req()62 * @see netif_stop_req() 65 63 */ 66 64 NET_NETIF_STOP, 67 65 /** Get device address message. 68 * @see netif_get_addr_req()66 * @see netif_get_addr_req() 69 67 */ 70 68 NET_NETIF_GET_ADDR, 71 69 } netif_messages; 72 70 73 /** @name Network interface specific message parameters definitions 74 */ 71 /** @name Network interface specific message parameters definitions */ 75 72 /*@{*/ 76 73 … … 79 76 */ 80 77 #define NETIF_GET_IRQ(call) \ 81 ({int irq = (int) IPC_GET_ARG2(*call); irq;}) 78 ({ \ 79 int irq = (int) IPC_GET_ARG2(*call); \ 80 irq; \ 81 }) 82 82 83 83 /** Return the input/output address message parameter. … … 85 85 */ 86 86 #define NETIF_GET_IO(call) \ 87 ({int io = (int) IPC_GET_ARG3(*call); io;}) 87 ({ \ 88 int io = (int) IPC_GET_ARG3(*call); \ 89 io; \ 90 }) 88 91 89 92 /*@}*/ -
uspace/lib/c/include/ipc/nil.h
r9a1d8ab r0b749a3 27 27 */ 28 28 29 /** @addtogroup net_nil29 /** @addtogroup libc 30 30 * @{ 31 31 */ … … 35 35 */ 36 36 37 #ifndef __NET_NIL_MESSAGES_H__38 #define __NET_NIL_MESSAGES_H__37 #ifndef LIBC_NIL_MESSAGES_H_ 38 #define LIBC_NIL_MESSAGES_H_ 39 39 40 40 #include <ipc/ipc.h> 41 #include <ipc/net.h> 41 42 42 #include <net_messages.h> 43 44 /** Network interface layer module messages. 45 */ 43 /** Network interface layer module messages. */ 46 44 typedef enum { 47 45 /** New device or update MTU message. 48 * @see nil_device_req()46 * @see nil_device_req() 49 47 */ 50 48 NET_NIL_DEVICE = NET_NIL_FIRST, 51 49 /** New device state message. 52 * @see nil_device_state_msg()50 * @see nil_device_state_msg() 53 51 */ 54 52 NET_NIL_DEVICE_STATE, 55 53 /** Received packet queue message. 56 * @see nil_received_msg()54 * @see nil_received_msg() 57 55 */ 58 56 NET_NIL_RECEIVED, 59 57 /** Send packet queue message. 60 * @see nil_send_msg()58 * @see nil_send_msg() 61 59 */ 62 60 NET_NIL_SEND, 63 61 /** Packet size message. 64 * @see nil_packet_size_req()62 * @see nil_packet_size_req() 65 63 */ 66 64 NET_NIL_PACKET_SPACE, 67 65 /** Device local hardware address message. 68 * @see nil_get_addr()66 * @see nil_get_addr() 69 67 */ 70 68 NET_NIL_ADDR, 71 69 /** Device broadcast hardware address message. 72 * @see nil_get_broadcast_addr()70 * @see nil_get_broadcast_addr() 73 71 */ 74 72 NET_NIL_BROADCAST_ADDR, 75 73 } nil_messages; 76 74 77 /** @name Network interface layer specific message parameters definitions 78 */ 75 /** @name Network interface layer specific message parameters definitions */ 79 76 /*@{*/ 80 77 81 /** Return the protocol service message parameter. 82 */ 78 /** Return the protocol service message parameter. */ 83 79 #define NIL_GET_PROTO(call) \ 84 ({services_t service = (services_t) IPC_GET_ARG2(*call); service;}) 80 ({ \ 81 services_t service = (services_t) IPC_GET_ARG2(*call); \ 82 service; \ 83 }) 85 84 86 85 /*@}*/ -
uspace/lib/c/include/ipc/packet.h
r9a1d8ab r0b749a3 27 27 */ 28 28 29 /** @addtogroup packet29 /** @addtogroup libc 30 30 * @{ 31 31 */ … … 35 35 */ 36 36 37 #ifndef __NET_PACKET_MESSAGES__38 #define __NET_PACKET_MESSAGES__37 #ifndef LIBC_PACKET_MESSAGES_ 38 #define LIBC_PACKET_MESSAGES_ 39 39 40 40 #include <ipc/ipc.h> 41 #include <ipc/net.h> 41 42 42 #include <net_messages.h> 43 44 /** Packet server module messages. 45 */ 43 /** Packet server module messages. */ 46 44 typedef enum { 47 45 /** Create packet message with specified content length. 48 * @see packet_get_1()46 * @see packet_get_1() 49 47 */ 50 48 NET_PACKET_CREATE_1 = NET_PACKET_FIRST, 51 /** Create packet message with specified address length, prefix, content and suffix. 52 * @see packet_get_4() 49 50 /** 51 * Create packet message with specified address length, prefix, content 52 * and suffix. 53 * @see packet_get_4() 53 54 */ 54 55 NET_PACKET_CREATE_4, 56 55 57 /** Get packet message. 56 * @see packet_return() 57 */ 58 * @see packet_return() */ 58 59 NET_PACKET_GET, 60 59 61 /** Get packet size message. 60 * @see packet_translate()62 * @see packet_translate() 61 63 */ 62 64 NET_PACKET_GET_SIZE, 65 63 66 /** Release packet message. 64 * @see pq_release()67 * @see pq_release() 65 68 */ 66 69 NET_PACKET_RELEASE 67 70 } packet_messages; 68 71 69 /** Returns the protocol service message parameter. 70 */ 71 #define ARP_GET_PROTO(call) (services_t) IPC_GET_ARG2(*call) 72 /** Returns the protocol service message parameter. */ 73 #define ARP_GET_PROTO(call) (services_t) IPC_GET_ARG2(*call) 72 74 73 /** Returns the packet identifier message parameter. 74 */ 75 #define IPC_GET_ID(call) (packet_id_t) IPC_GET_ARG1(*call) 75 /** Returns the packet identifier message parameter. */ 76 #define IPC_GET_ID(call) (packet_id_t) IPC_GET_ARG1(*call) 76 77 77 /** Returns the maximal content length message parameter. 78 */ 79 #define IPC_GET_CONTENT(call) (size_t) IPC_GET_ARG1(*call) 78 /** Returns the maximal content length message parameter. */ 79 #define IPC_GET_CONTENT(call) (size_t) IPC_GET_ARG1(*call) 80 80 81 /** Returns the maximal address length message parameter. 82 */ 81 /** Returns the maximal address length message parameter. */ 83 82 #define IPC_GET_ADDR_LEN(call) (size_t) IPC_GET_ARG2(*call) 84 83 85 /** Returns the maximal prefix length message parameter. 86 */ 87 #define IPC_GET_PREFIX(call) (size_t) IPC_GET_ARG3(*call) 84 /** Returns the maximal prefix length message parameter. */ 85 #define IPC_GET_PREFIX(call) (size_t) IPC_GET_ARG3(*call) 88 86 89 /** Returns the maximal suffix length message parameter. 90 */ 91 #define IPC_GET_SUFFIX(call) (size_t) IPC_GET_ARG4(*call) 87 /** Returns the maximal suffix length message parameter. */ 88 #define IPC_GET_SUFFIX(call) (size_t) IPC_GET_ARG4(*call) 92 89 93 90 #endif -
uspace/lib/c/include/ipc/services.h
r9a1d8ab r0b749a3 39 39 40 40 typedef enum { 41 SERVICE_LOAD = 1, 41 SERVICE_NONE = 0, 42 SERVICE_LOAD, 42 43 SERVICE_PCI, 43 44 SERVICE_VIDEO, … … 45 46 SERVICE_VFS, 46 47 SERVICE_DEVMAP, 48 SERVICE_DEVMAN, 47 49 SERVICE_FHC, 48 50 SERVICE_OBIO, -
uspace/lib/c/include/ipc/socket.h
r9a1d8ab r0b749a3 27 27 */ 28 28 29 /** @addtogroup socket30 * @{29 /** @addtogroup libc 30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * Socket messages. 35 * @see socket.h 36 */ 37 38 39 #ifndef __NET_SOCKET_MESSAGES_H__ 40 #define __NET_SOCKET_MESSAGES_H__ 34 * Socket messages. 35 */ 36 37 #ifndef LIBC_SOCKET_MESSAGES_H_ 38 #define LIBC_SOCKET_MESSAGES_H_ 41 39 42 40 #include <ipc/ipc.h> 43 44 #include <net_messages.h> 45 #include <socket_codes.h> 46 47 /** Socket client messages. 48 */ 49 typedef enum{ 50 /** Creates a new socket. 51 * @see socket() 52 */ 41 #include <ipc/net.h> 42 43 /** Socket client messages. */ 44 typedef enum { 45 /** Creates a new socket. @see socket() */ 53 46 NET_SOCKET = NET_SOCKET_FIRST, 54 /** Binds the socket. 55 * @see bind() 56 */ 47 /** Binds the socket. @see bind() */ 57 48 NET_SOCKET_BIND, 58 /** Creates a new socket. 59 * @see socket() 60 */ 49 /** Creates a new socket. @see socket() */ 61 50 NET_SOCKET_LISTEN, 62 /** Accepts an incomming connection. 63 * @see accept() 64 */ 51 /** Accepts an incomming connection. @see accept() */ 65 52 NET_SOCKET_ACCEPT, 66 /** Connects the socket. 67 * @see connect() 68 */ 53 /** Connects the socket. @see connect() */ 69 54 NET_SOCKET_CONNECT, 70 /** Closes the socket. 71 * @see closesocket() 72 */ 55 /** Closes the socket. @see closesocket() */ 73 56 NET_SOCKET_CLOSE, 74 /** Sends data via the stream socket. 75 * @see send() 76 */ 57 /** Sends data via the stream socket. @see send() */ 77 58 NET_SOCKET_SEND, 78 /** Sends data via the datagram socket. 79 * @see sendto() 80 */ 59 /** Sends data via the datagram socket. @see sendto() */ 81 60 NET_SOCKET_SENDTO, 82 /** Receives data from the stream socket. 83 * @see socket() 84 */ 61 /** Receives data from the stream socket. @see socket() */ 85 62 NET_SOCKET_RECV, 86 /** Receives data from the datagram socket. 87 * @see socket() 88 */ 63 /** Receives data from the datagram socket. @see socket() */ 89 64 NET_SOCKET_RECVFROM, 90 /** Gets the socket option. 91 * @see getsockopt() 92 */ 65 /** Gets the socket option. @see getsockopt() */ 93 66 NET_SOCKET_GETSOCKOPT, 94 /** Sets the socket option. 95 * @see setsockopt() 96 */ 67 /** Sets the socket option. @see setsockopt() */ 97 68 NET_SOCKET_SETSOCKOPT, 98 /** New socket for acceptence notification message. 99 */ 69 /** New socket for acceptence notification message. */ 100 70 NET_SOCKET_ACCEPTED, 101 /** New data received notification message. 102 */ 71 /** New data received notification message. */ 103 72 NET_SOCKET_RECEIVED, 104 /** New socket data fragment size notification message. 105 */ 73 /** New socket data fragment size notification message. */ 106 74 NET_SOCKET_DATA_FRAGMENT_SIZE 107 75 } socket_messages; … … 112 80 113 81 /** Sets the socket identifier in the message answer. 114 * @param[out] answerThe message answer structure.82 * @param[out] answer The message answer structure. 115 83 */ 116 84 #define SOCKET_SET_SOCKET_ID(answer, value) \ 117 {ipcarg_t argument = (ipcarg_t) (value); IPC_SET_ARG1(answer, argument);} 85 do { \ 86 ipcarg_t argument = (ipcarg_t) (value); \ 87 IPC_SET_ARG1(answer, argument); \ 88 } while (0) 118 89 119 90 /** Returns the socket identifier message parameter. 120 * @param[in] callThe message call structure.91 * @param[in] call The message call structure. 121 92 */ 122 93 #define SOCKET_GET_SOCKET_ID(call) \ 123 ({int socket_id = (int) IPC_GET_ARG1(call); socket_id;}) 94 ({ \ 95 int socket_id = (int) IPC_GET_ARG1(call); \ 96 socket_id; \ 97 }) 124 98 125 99 /** Sets the read data length in the message answer. 126 * @param[out] answerThe message answer structure.100 * @param[out] answer The message answer structure. 127 101 */ 128 102 #define SOCKET_SET_READ_DATA_LENGTH(answer, value) \ 129 {ipcarg_t argument = (ipcarg_t) (value); IPC_SET_ARG1(answer, argument);} 103 do { \ 104 ipcarg_t argument = (ipcarg_t) (value); \ 105 IPC_SET_ARG1(answer, argument); \ 106 } while (0) 130 107 131 108 /** Returns the read data length message parameter. 132 * @param[in] callThe message call structure.109 * @param[in] call The message call structure. 133 110 */ 134 111 #define SOCKET_GET_READ_DATA_LENGTH(call) \ 135 ({int data_length = (int) IPC_GET_ARG1(call); data_length;}) 112 ({ \ 113 int data_length = (int) IPC_GET_ARG1(call); \ 114 data_length; \ 115 }) 136 116 137 117 /** Returns the backlog message parameter. 138 * @param[in] callThe message call structure.118 * @param[in] call The message call structure. 139 119 */ 140 120 #define SOCKET_GET_BACKLOG(call) \ 141 ({int backlog = (int) IPC_GET_ARG2(call); backlog;}) 121 ({ \ 122 int backlog = (int) IPC_GET_ARG2(call); \ 123 backlog; \ 124 }) 142 125 143 126 /** Returns the option level message parameter. 144 * @param[in] callThe message call structure.127 * @param[in] call The message call structure. 145 128 */ 146 129 #define SOCKET_GET_OPT_LEVEL(call) \ 147 ({int opt_level = (int) IPC_GET_ARG2(call); opt_level;}) 130 ({ \ 131 int opt_level = (int) IPC_GET_ARG2(call); \ 132 opt_level; \ 133 }) 148 134 149 135 /** Returns the data fragment size message parameter. 150 * @param[in] callThe message call structure.136 * @param[in] call The message call structure. 151 137 */ 152 138 #define SOCKET_GET_DATA_FRAGMENT_SIZE(call) \ 153 ({size_t size = (size_t) IPC_GET_ARG2(call); size;}) 139 ({ \ 140 size_t size = (size_t) IPC_GET_ARG2(call); \ 141 size; \ 142 }) 154 143 155 144 /** Sets the data fragment size in the message answer. 156 * @param[out] answerThe message answer structure.145 * @param[out] answer The message answer structure. 157 146 */ 158 147 #define SOCKET_SET_DATA_FRAGMENT_SIZE(answer, value) \ 159 {ipcarg_t argument = (ipcarg_t) (value); IPC_SET_ARG2(answer, argument);} 148 do { \ 149 ipcarg_t argument = (ipcarg_t) (value); \ 150 IPC_SET_ARG2(answer, argument); \ 151 } while (0) 160 152 161 153 /** Sets the address length in the message answer. 162 * @param[out] answerThe message answer structure.154 * @param[out] answer The message answer structure. 163 155 */ 164 156 #define SOCKET_SET_ADDRESS_LENGTH(answer, value) \ 165 {ipcarg_t argument = (ipcarg_t) (value); IPC_SET_ARG3(answer, argument);} 157 do { \ 158 ipcarg_t argument = (ipcarg_t) (value); \ 159 IPC_SET_ARG3(answer, argument);\ 160 } while (0) 166 161 167 162 /** Returns the address length message parameter. 168 * @param[in] callThe message call structure.163 * @param[in] call The message call structure. 169 164 */ 170 165 #define SOCKET_GET_ADDRESS_LENGTH(call) \ 171 ({socklen_t address_length = (socklen_t) IPC_GET_ARG3(call); address_length;}) 166 ({ \ 167 socklen_t address_length = (socklen_t) IPC_GET_ARG3(call); \ 168 address_length; \ 169 }) 172 170 173 171 /** Sets the header size in the message answer. 174 * @param[out] answerThe message answer structure.172 * @param[out] answer The message answer structure. 175 173 */ 176 174 #define SOCKET_SET_HEADER_SIZE(answer, value) \ 177 \ 178 {ipcarg_t argument = (ipcarg_t) (value); IPC_SET_ARG3(answer, argument);} 175 do { \ 176 ipcarg_t argument = (ipcarg_t) (value); \ 177 IPC_SET_ARG3(answer, argument); \ 178 } while (0) 179 179 180 180 /** Returns the header size message parameter. 181 * @param[in] call The message call structure.181 * @param[in] call The message call structure. 182 182 */ 183 183 #define SOCKET_GET_HEADER_SIZE(call) \ 184 ({size_t size = (size_t) IPC_GET_ARG3(call); size;}) 184 ({ \ 185 size_t size = (size_t) IPC_GET_ARG3(call); \ 186 size; \ 187 }) 185 188 186 189 /** Returns the flags message parameter. 187 * @param[in] call The message call structure.190 * @param[in] call The message call structure. 188 191 */ 189 192 #define SOCKET_GET_FLAGS(call) \ 190 ({int flags = (int) IPC_GET_ARG4(call); flags;}) 193 ({ \ 194 int flags = (int) IPC_GET_ARG4(call); \ 195 flags; \ 196 }) 191 197 192 198 /** Returns the option name message parameter. 193 * @param[in] call The message call structure.199 * @param[in] call The message call structure. 194 200 */ 195 201 #define SOCKET_GET_OPT_NAME(call) \ 196 ({int opt_name = (int) IPC_GET_ARG4(call); opt_name;}) 202 ({ \ 203 int opt_name = (int) IPC_GET_ARG4(call); \ 204 opt_name; \ 205 }) 197 206 198 207 /** Returns the data fragments message parameter. 199 * @param[in] call The message call structure.208 * @param[in] call The message call structure. 200 209 */ 201 210 #define SOCKET_GET_DATA_FRAGMENTS(call) \ 202 ({int fragments = (int) IPC_GET_ARG5(call); fragments;}) 211 ({ \ 212 int fragments = (int) IPC_GET_ARG5(call); \ 213 fragments; \ 214 }) 203 215 204 216 /** Returns the new socket identifier message parameter. 205 * @param[in] call The message call structure.217 * @param[in] call The message call structure. 206 218 */ 207 219 #define SOCKET_GET_NEW_SOCKET_ID(call) \ 208 ({int socket_id = (int) IPC_GET_ARG5(call); socket_id;}) 220 ({ \ 221 int socket_id = (int) IPC_GET_ARG5(call); \ 222 socket_id; \ 223 }) 209 224 210 225 /*@}*/ -
uspace/lib/c/include/ipc/tl.h
r9a1d8ab r0b749a3 27 27 */ 28 28 29 /** @addtogroup net_tl30 * @{29 /** @addtogroup libc 30 * @{ 31 31 */ 32 32 33 33 /** @file 34 * Transport layer modules messages.35 * @see tl_interface.h34 * Transport layer modules messages. 35 * @see tl_interface.h 36 36 */ 37 37 38 #ifndef __NET_TL_MESSAGES_H__39 #define __NET_TL_MESSAGES_H__38 #ifndef LIBC_TL_MESSAGES_H_ 39 #define LIBC_TL_MESSAGES_H_ 40 40 41 41 #include <ipc/ipc.h> 42 #include <ipc/net.h> 42 43 43 #include <net_messages.h> 44 45 /** Transport layer modules messages. 46 */ 47 typedef enum{ 44 /** Transport layer modules messages. */ 45 typedef enum { 48 46 /** Packet received message. 49 * @see tl_received_msg()47 * @see tl_received_msg() 50 48 */ 51 49 NET_TL_RECEIVED = NET_TL_FIRST
Note:
See TracChangeset
for help on using the changeset viewer.
