diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-01-20 23:54:16 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-01-20 23:54:16 +0000 |
commit | a53a186e50dc5c18513b1e10c3c044c4865d5994 (patch) | |
tree | c07c234ce637bd8c5c0d11c7dda6a661cd9a4ca9 /src/exit/exit.h | |
parent | 5e442d9cf826adb58d4595722c7dd7b2532096c9 (diff) | |
download | gnunet-a53a186e50dc5c18513b1e10c3c044c4865d5994.tar.gz gnunet-a53a186e50dc5c18513b1e10c3c044c4865d5994.zip |
-adding ICMP support to exit daemon
Diffstat (limited to 'src/exit/exit.h')
-rw-r--r-- | src/exit/exit.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/src/exit/exit.h b/src/exit/exit.h index 3cd4292bd..92918b92a 100644 --- a/src/exit/exit.h +++ b/src/exit/exit.h | |||
@@ -206,4 +206,87 @@ struct GNUNET_EXIT_UdpReplyMessage | |||
206 | }; | 206 | }; |
207 | 207 | ||
208 | 208 | ||
209 | /** | ||
210 | * Message send via mesh to an exit daemon to send | ||
211 | * ICMP data to a local service. | ||
212 | */ | ||
213 | struct GNUNET_EXIT_IcmpServiceMessage | ||
214 | { | ||
215 | /** | ||
216 | * Type is GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_SERVICE | ||
217 | */ | ||
218 | struct GNUNET_MessageHeader header; | ||
219 | |||
220 | /** | ||
221 | * Address family, AF_INET or AF_INET6, in network byte order. | ||
222 | */ | ||
223 | int32_t af; | ||
224 | |||
225 | /** | ||
226 | * Identification for the desired service. | ||
227 | */ | ||
228 | GNUNET_HashCode service_descriptor; | ||
229 | |||
230 | /** | ||
231 | * ICMP header to use. | ||
232 | */ | ||
233 | struct GNUNET_TUN_IcmpHeader icmp_header; | ||
234 | |||
235 | /* followed by ICMP payload */ | ||
236 | }; | ||
237 | |||
238 | |||
239 | /** | ||
240 | * Message send via mesh to an exit daemon to forward | ||
241 | * ICMP data to the Internet. | ||
242 | */ | ||
243 | struct GNUNET_EXIT_IcmpInternetMessage | ||
244 | { | ||
245 | /** | ||
246 | * Type is GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_INTERNET | ||
247 | */ | ||
248 | struct GNUNET_MessageHeader header; | ||
249 | |||
250 | /** | ||
251 | * Address family, AF_INET or AF_INET6, in network byte order. | ||
252 | */ | ||
253 | int32_t af; | ||
254 | |||
255 | /** | ||
256 | * ICMP header to use. | ||
257 | */ | ||
258 | struct GNUNET_TUN_IcmpHeader icmp_header; | ||
259 | |||
260 | /* followed by IP address of the destination; either | ||
261 | 'struct in_addr' or 'struct in6_addr', depending on af */ | ||
262 | |||
263 | /* followed by ICMP payload */ | ||
264 | }; | ||
265 | |||
266 | |||
267 | /** | ||
268 | * Message send via mesh to the vpn service to send | ||
269 | * ICMP data to the VPN's TUN interface. | ||
270 | */ | ||
271 | struct GNUNET_EXIT_IcmpToVPNMessage | ||
272 | { | ||
273 | /** | ||
274 | * Type is GNUNET_MESSAGE_TYPE_VPN_ICMP_TO_VPN | ||
275 | */ | ||
276 | struct GNUNET_MessageHeader header; | ||
277 | |||
278 | /** | ||
279 | * Address family, AF_INET or AF_INET6, in network byte order. | ||
280 | */ | ||
281 | int32_t af; | ||
282 | |||
283 | /** | ||
284 | * ICMP header to use. | ||
285 | */ | ||
286 | struct GNUNET_TUN_IcmpHeader icmp_header; | ||
287 | |||
288 | /* followed by ICMP payload */ | ||
289 | }; | ||
290 | |||
291 | |||
209 | #endif | 292 | #endif |