prototype for a dns-block
authorPhilipp Tölke <toelke@in.tum.de>
Fri, 8 Oct 2010 07:36:36 +0000 (07:36 +0000)
committerPhilipp Tölke <toelke@in.tum.de>
Fri, 8 Oct 2010 07:36:36 +0000 (07:36 +0000)
src/vpn/gnunet-block-dns.h [new file with mode: 0644]

diff --git a/src/vpn/gnunet-block-dns.h b/src/vpn/gnunet-block-dns.h
new file mode 100644 (file)
index 0000000..d8f3fa5
--- /dev/null
@@ -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