Rev 4722 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4722 | Rev 4743 | ||
---|---|---|---|
Line 46... | Line 46... | ||
46 | 46 | ||
47 | #include "structures/measured_strings.h" |
47 | #include "structures/measured_strings.h" |
48 | #include "structures/packet/packet.h" |
48 | #include "structures/packet/packet.h" |
49 | 49 | ||
50 | #define NET_NETIF_COUNT 6 |
50 | #define NET_NETIF_COUNT 6 |
51 | #define NET_NET_COUNT 9 |
51 | #define NET_NET_COUNT 3 |
52 | #define NET_NIL_COUNT 7 |
52 | #define NET_NIL_COUNT 7 |
53 | #define NET_ETH_COUNT 0 |
53 | #define NET_ETH_COUNT 0 |
54 | #define NET_IL_COUNT 6 |
54 | #define NET_IL_COUNT 6 |
55 | #define NET_IP_COUNT 4 |
55 | #define NET_IP_COUNT 4 |
56 | #define NET_ARP_COUNT 5 |
56 | #define NET_ARP_COUNT 5 |
57 | #define NET_RARP_COUNT 0 |
- | |
58 | #define NET_ICMP_COUNT 7 |
57 | #define NET_ICMP_COUNT 6 |
59 | #define NET_TL_COUNT 1 |
58 | #define NET_TL_COUNT 1 |
60 | #define NET_UDP_COUNT 0 |
59 | #define NET_UDP_COUNT 0 |
61 | #define NET_TCP_COUNT 0 |
60 | #define NET_TCP_COUNT 0 |
62 | #define NET_PACKET_COUNT 5 |
61 | #define NET_PACKET_COUNT 5 |
63 | #define NET_SOCKET_COUNT 14 |
62 | #define NET_SOCKET_COUNT 14 |
Line 80... | Line 79... | ||
80 | #define NET_IP_FIRST ( NET_IL_LAST + 0 ) |
79 | #define NET_IP_FIRST ( NET_IL_LAST + 0 ) |
81 | #define NET_IP_LAST ( NET_IP_FIRST + NET_IP_COUNT ) |
80 | #define NET_IP_LAST ( NET_IP_FIRST + NET_IP_COUNT ) |
82 | 81 | ||
83 | #define NET_ARP_FIRST ( NET_IP_LAST + 0 ) |
82 | #define NET_ARP_FIRST ( NET_IP_LAST + 0 ) |
84 | #define NET_ARP_LAST ( NET_ARP_FIRST + NET_ARP_COUNT ) |
83 | #define NET_ARP_LAST ( NET_ARP_FIRST + NET_ARP_COUNT ) |
85 | #define NET_RARP_FIRST ( NET_ARP_LAST + 0 ) |
- | |
86 | #define NET_RARP_LAST ( NET_RARP_FIRST + NET_RARP_COUNT ) |
- | |
87 | #define NET_ICMP_FIRST ( NET_RARP_LAST + 0 ) |
84 | #define NET_ICMP_FIRST ( NET_ARP_LAST + 0 ) |
88 | #define NET_ICMP_LAST ( NET_ICMP_FIRST + NET_ICMP_COUNT ) |
85 | #define NET_ICMP_LAST ( NET_ICMP_FIRST + NET_ICMP_COUNT ) |
89 | 86 | ||
90 | #define NET_TL_FIRST ( NET_ICMP_LAST + 0 ) |
87 | #define NET_TL_FIRST ( NET_ICMP_LAST + 0 ) |
91 | #define NET_TL_LAST ( NET_TL_FIRST + NET_TL_COUNT ) |
88 | #define NET_TL_LAST ( NET_TL_FIRST + NET_TL_COUNT ) |
92 | #define NET_UDP_FIRST ( NET_TL_LAST + 0 ) |
89 | #define NET_UDP_FIRST ( NET_TL_LAST + 0 ) |
Line 111... | Line 108... | ||
111 | #define IS_NET_NIL_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_NIL_FIRST, NET_NIL_LAST ) |
108 | #define IS_NET_NIL_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_NIL_FIRST, NET_NIL_LAST ) |
112 | #define IS_NET_ETH_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_ETH_FIRST, NET_ETH_LAST ) |
109 | #define IS_NET_ETH_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_ETH_FIRST, NET_ETH_LAST ) |
113 | #define IS_NET_IL_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_IL_FIRST, NET_IL_LAST ) |
110 | #define IS_NET_IL_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_IL_FIRST, NET_IL_LAST ) |
114 | #define IS_NET_IP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_IP_FIRST, NET_IP_LAST ) |
111 | #define IS_NET_IP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_IP_FIRST, NET_IP_LAST ) |
115 | #define IS_NET_ARP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_ARP_FIRST, NET_ARP_LAST ) |
112 | #define IS_NET_ARP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_ARP_FIRST, NET_ARP_LAST ) |
116 | #define IS_NET_RARP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_RARP_FIRST, NET_RARP_LAST ) |
- | |
117 | #define IS_NET_ICMP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_ICMP_FIRST, NET_ICMP_LAST ) |
113 | #define IS_NET_ICMP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_ICMP_FIRST, NET_ICMP_LAST ) |
118 | #define IS_NET_TL_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_TL_FIRST, NET_TL_LAST ) |
114 | #define IS_NET_TL_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_TL_FIRST, NET_TL_LAST ) |
119 | #define IS_NET_UDP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_UDP_FIRST, NET_UDP_LAST ) |
115 | #define IS_NET_UDP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_UDP_FIRST, NET_UDP_LAST ) |
120 | #define IS_NET_TCP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_TCP_FIRST, NET_TCP_LAST ) |
116 | #define IS_NET_TCP_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_TCP_FIRST, NET_TCP_LAST ) |
121 | #define IS_NET_SOCKET_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_SOCKET_FIRST, NET_SOCKET_LAST ) |
117 | #define IS_NET_SOCKET_MESSAGE( call ) IS_IN_INTERVAL( IPC_GET_METHOD( * call ), NET_SOCKET_FIRST, NET_SOCKET_LAST ) |
Line 150... | Line 146... | ||
150 | #define IPC_SET_ADDR( answer ) (( size_t * ) & IPC_GET_ARG1( * answer )) |
146 | #define IPC_SET_ADDR( answer ) (( size_t * ) & IPC_GET_ARG1( * answer )) |
151 | #define IPC_SET_PREFIX( answer ) (( size_t * ) & IPC_GET_ARG2( * answer )) |
147 | #define IPC_SET_PREFIX( answer ) (( size_t * ) & IPC_GET_ARG2( * answer )) |
152 | #define IPC_SET_CONTENT( answer ) (( size_t * ) & IPC_GET_ARG3( * answer )) |
148 | #define IPC_SET_CONTENT( answer ) (( size_t * ) & IPC_GET_ARG3( * answer )) |
153 | #define IPC_SET_SUFFIX( answer ) (( size_t * ) & IPC_GET_ARG4( * answer )) |
149 | #define IPC_SET_SUFFIX( answer ) (( size_t * ) & IPC_GET_ARG4( * answer )) |
154 | 150 | ||
155 | typedef enum { |
- | |
156 | /* () not supported, registers new device */ |
- | |
157 | NET_NET_DEVICE = NET_NET_FIRST, |
- | |
158 | /* ( NULL, count ), measured_strings_send( names ), measured_strings_return( values ) */ |
- | |
159 | NET_NET_GET_CONF, |
- | |
160 | /* ( device_id, count ), measured_strings_send( names ), measured_strings_return( values ) */ |
- | |
161 | NET_NET_GET_DEVICE_CONF, |
- | |
162 | /* () not supported, measured_strings_send( names ), measured_strings_send( values ) */ |
- | |
163 | NET_NET_SET_CONF, |
- | |
164 | /* ( device_id, count ) not supported, measured_strings_send( names ), measured_strings_send( values ) */ |
- | |
165 | NET_NET_SET_DEVICE_CONF, |
- | |
166 | /* () */ |
- | |
167 | NET_NET_STARTUP, |
- | |
168 | /* ( device_id ) */ |
- | |
169 | NET_NET_START, |
- | |
170 | /* ( device_id ) */ |
- | |
171 | NET_NET_STOP, |
- | |
172 | /* ( device_id ) ipc_data_read( stats ) */ |
- | |
173 | NET_NET_STATS, |
- | |
174 | } net_messages; |
- | |
175 | - | ||
176 | static inline int generic_get_addr( int phone, int message, device_id_t device_id, measured_string_ref * address, char ** data ){ |
151 | static inline int generic_get_addr_req( int phone, int message, device_id_t device_id, measured_string_ref * address, char ** data ){ |
177 | aid_t message_id; |
152 | aid_t message_id; |
178 | ipcarg_t result; |
153 | ipcarg_t result; |
179 | int string; |
154 | int string; |
180 | 155 | ||
181 | if( !( address && data )) return EBADMEM; |
156 | if( !( address && data )) return EBADMEM; |