From: Philipp Tölke Date: Fri, 8 Oct 2010 07:36:36 +0000 (+0000) Subject: prototype for a dns-block X-Git-Tag: initial-import-from-subversion-38251~20123 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=20050c615a8c59eb6fa352fc2b10bd3879c8b75f;p=oweals%2Fgnunet.git prototype for a dns-block --- 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