#include "gnunet-service-dns-p.h"
#include "gnunet-vpn-packet.h"
+struct query_packet_list *head;
+struct query_packet_list *tail;
+struct GNUNET_CLIENT_Connection *dns_connection;
+unsigned char restart_hijack;
+struct answer_packet_list *answer_proc_head;
+struct answer_packet_list *answer_proc_tail;
+
/**
* Callback called by notify_transmit_ready; sends dns-queries or rehijack-messages
* to the service-dns
/**
* a list of outgoing dns-query-packets
*/
-struct query_packet_list *head;
+extern struct query_packet_list *head;
/**
* The last element of the list of outgoing dns-query-packets
*/
-struct query_packet_list *tail;
+extern struct query_packet_list *tail;
/**
* Callback called by notify_transmit_ready; sends dns-queries or rehijack-messages
/**
* The connection to the service-dns
*/
-struct GNUNET_CLIENT_Connection *dns_connection;
+extern struct GNUNET_CLIENT_Connection *dns_connection;
/**
* A flag to show that the service-dns has to rehijack the outbound dns-packets
* This gets set when the helper restarts as the routing-tables are flushed when
* the interface vanishes.
*/
-unsigned char restart_hijack;
+extern unsigned char restart_hijack;
/**
* A list of processed dns-responses.
* "processed" means that the packet is complete and can be sent out via udp
* directly
*/
-struct answer_packet_list *answer_proc_head;
+extern struct answer_packet_list *answer_proc_head;
/**
* The last element of the list of processed dns-responses.
*/
-struct answer_packet_list *answer_proc_tail;
+extern struct answer_packet_list *answer_proc_tail;
#endif /* end of include guard: GNUNET-DAEMON-VPN-DNS_H */
#include "gnunet-service-dns-p.h"
#include "gnunet-vpn-packet.h"
+struct GNUNET_VPN_HELPER_Handle *helper_handle;
+
/**
* Start the helper-process
*
/**
* Handle to the helper. contains filedescriptors and such
*/
-struct GNUNET_VPN_HELPER_Handle *helper_handle;
+extern struct GNUNET_VPN_HELPER_Handle *helper_handle;
/**
* Start the helper-process
#include "gnunet-daemon-vpn.h"
+const struct GNUNET_CONFIGURATION_Handle *cfg;
+struct GNUNET_MESH_Handle *mesh_handle;
+struct GNUNET_CONTAINER_MultiHashMap* hashmap;
+
/**
* Final status code.
*/
/**
* The configuration to use
*/
-const struct GNUNET_CONFIGURATION_Handle *cfg;
+extern const struct GNUNET_CONFIGURATION_Handle *cfg;
/**
* The handle to mesh
*/
-struct GNUNET_MESH_Handle *mesh_handle;
+extern struct GNUNET_MESH_Handle *mesh_handle;
/**
* The hashmap containing the mappings from ipv6-addresses to gnunet-descriptors
*/
-struct GNUNET_CONTAINER_MultiHashMap* hashmap;
+extern struct GNUNET_CONTAINER_MultiHashMap* hashmap;
struct map_entry {
struct GNUNET_vpn_service_descriptor desc;