From 20050c615a8c59eb6fa352fc2b10bd3879c8b75f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Philipp=20T=C3=B6lke?= Date: Fri, 8 Oct 2010 07:36:36 +0000 Subject: [PATCH] prototype for a dns-block --- src/vpn/gnunet-block-dns.h | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/vpn/gnunet-block-dns.h diff --git a/src/vpn/gnunet-block-dns.h b/src/vpn/gnunet-block-dns.h new file mode 100644 index 000000000..d8f3fa50e --- /dev/null +++ b/src/vpn/gnunet-block-dns.h @@ -0,0 +1,49 @@ +#ifndef _GNVPN_BLOCKDNS_H_ +#define _GNVPN_BLOCKDNS_H_ + +#include "gnunet_common.h" + +/** + * Bitmask describing what ip-services are supported by services + * It is 2 bytes long + */ +struct GNUNET_ipservices { + unsigned UDP:1 GNUNET_PACKED; + unsigned TCP:1 GNUNET_PACKED; + unsigned RESERVED:14 GNUNET_PACKED; +}; + +/** + * This is the structure describing an dns-record such as www.gnunet. + */ +struct GNUNET_DNS_Record +{ + /** + * The peer providing this service + */ + struct GNUNET_PeerIdentity peer; + + /** + * The descriptor for the service + * (a peer may provide more than one service) + */ + GNUNET_HashCode service_descriptor; + + /** + * What connection-types (UDP, TCP, ...) are supported by the service + */ + struct GNUNET_ipservices connectiontypes; + + /** + * The length of the name of the service + */ + unsigned char namelen; + + /** + * The name of the service + * This is namelen bytes + */ + char name[1]; +}; + +#endif -- 2.25.1