- mark old API calls used for previous VPN implementation as deprecated
[oweals/gnunet.git] / src / include / gnunet_gns_service.h
index 4d04addf9cff84845a0cfbed801585cf1ef1c70b..ffd0224c8262278b3fa73696fe6d0ef40427cd85 100644 (file)
@@ -67,20 +67,47 @@ struct GNUNET_GNS_LookupHandle;
 enum GNUNET_GNS_RecordType
 {
   /* Standard DNS */
-  GNUNET_GNS_RECORD_TYPE_A = GNUNET_DNSPARSER_TYPE_A,
-  GNUNET_GNS_RECORD_TYPE_NS = GNUNET_DNSPARSER_TYPE_NS,
-  GNUNET_GNS_RECORD_TYPE_CNAME = GNUNET_DNSPARSER_TYPE_CNAME,
-  GNUNET_GNS_RECORD_TYPE_SOA = GNUNET_DNSPARSER_TYPE_SOA,
-  GNUNET_GNS_RECORD_TYPE_PTR = GNUNET_DNSPARSER_TYPE_PTR,
-  GNUNET_GNS_RECORD_MX = GNUNET_DNSPARSER_TYPE_MX,
-  GNUNET_GNS_RECORD_TXT = GNUNET_DNSPARSER_TYPE_TXT,
-  GNUNET_GNS_RECORD_AAAA = GNUNET_DNSPARSER_TYPE_AAAA,
+  /* struct in_addr */
+  GNUNET_GNS_RECORD_A          = GNUNET_DNSPARSER_TYPE_A,
+
+  /* char */
+  GNUNET_GNS_RECORD_NS         = GNUNET_DNSPARSER_TYPE_NS,
+
+  /* char */
+  GNUNET_GNS_RECORD_CNAME      = GNUNET_DNSPARSER_TYPE_CNAME,
+
+  /* struct soa_data */
+  GNUNET_GNS_RECORD_SOA        = GNUNET_DNSPARSER_TYPE_SOA,
+
+  /* struct srv_data */
+  GNUNET_GNS_RECORD_SRV        = GNUNET_DNSPARSER_TYPE_SRV,
+
+  /* char */
+  GNUNET_GNS_RECORD_PTR        = GNUNET_DNSPARSER_TYPE_PTR,
+
+  /* uint16_t, char */
+  GNUNET_GNS_RECORD_MX         = GNUNET_DNSPARSER_TYPE_MX,
+
+  /* char */
+  GNUNET_GNS_RECORD_TXT        = GNUNET_DNSPARSER_TYPE_TXT,
+
+  /* struct in6_addr */
+  GNUNET_GNS_RECORD_AAAA       = GNUNET_DNSPARSER_TYPE_AAAA,
 
   /* GNS specific */
+  /* struct GNUNET_CRYPTO_ShortHashCode */
   GNUNET_GNS_RECORD_PKEY = GNUNET_NAMESTORE_TYPE_PKEY,
+
+  /* char */
   GNUNET_GNS_RECORD_PSEU = GNUNET_NAMESTORE_TYPE_PSEU,
   GNUNET_GNS_RECORD_ANY  = GNUNET_NAMESTORE_TYPE_ANY,
-  GNUNET_GNS_RECORD_LEHO = GNUNET_NAMESTORE_TYPE_LEHO
+
+  /* char */
+  GNUNET_GNS_RECORD_LEHO = GNUNET_NAMESTORE_TYPE_LEHO,
+
+  /* struct vpn_data */
+  GNUNET_GNS_RECORD_VPN  = GNUNET_NAMESTORE_TYPE_VPN,
+  GNUNET_GNS_RECORD_REV  = GNUNET_NAMESTORE_TYPE_REV
 };
 
 /**
@@ -128,6 +155,7 @@ typedef void (*GNUNET_GNS_LookupResultProcessor) (void *cls,
  * @param name the name to look up
  * @param type the GNUNET_GNS_RecordType to look for
  * @param only_cached GNUNET_NO to only check locally not DHT for performance
+ * @param shorten_key the private key of the shorten zone (can be NULL)
  * @param proc function to call on result
  * @param proc_cls closure for processor
  *
@@ -138,6 +166,7 @@ GNUNET_GNS_lookup (struct GNUNET_GNS_Handle *handle,
                          const char * name,
                          enum GNUNET_GNS_RecordType type,
                          int only_cached,
+                         struct GNUNET_CRYPTO_RsaPrivateKey *shorten_key,
                          GNUNET_GNS_LookupResultProcessor proc,
                          void *proc_cls);
 
@@ -148,9 +177,9 @@ GNUNET_GNS_lookup (struct GNUNET_GNS_Handle *handle,
  * @param handle handle to the GNS service
  * @param name the name to look up
  * @param zone the zone to start the resolution in
- * @param shorten_zone the zone where to shorten names into
  * @param type the GNUNET_GNS_RecordType to look for
- * @param only_cached GNUNET_NO to only check locally not DHT for performance
+ * @param only_cached GNUNET_YES to only check locally not DHT for performance
+ * @param shorten_key the private key of the shorten zone (can be NULL)
  * @param proc function to call on result
  * @param proc_cls closure for processor
  *
@@ -160,9 +189,9 @@ struct GNUNET_GNS_QueueEntry *
 GNUNET_GNS_lookup_zone (struct GNUNET_GNS_Handle *handle,
                          const char * name,
                          struct GNUNET_CRYPTO_ShortHashCode *zone,
-                         struct GNUNET_CRYPTO_ShortHashCode *shorten_zone,
                          enum GNUNET_GNS_RecordType type,
                          int only_cached,
+                         struct GNUNET_CRYPTO_RsaPrivateKey *shorten_key,
                          GNUNET_GNS_LookupResultProcessor proc,
                          void *proc_cls);
 
@@ -185,6 +214,8 @@ typedef void (*GNUNET_GNS_ShortenResultProcessor) (void *cls,
  *
  * @param handle handle to the GNS service
  * @param name the name to look up
+ * @param private_zone the public zone of the private zone
+ * @param shorten_zone the public zone of the shorten zone
  * @param proc function to call on result
  * @param proc_cls closure for processor
  * @return handle to the operation
@@ -192,6 +223,8 @@ typedef void (*GNUNET_GNS_ShortenResultProcessor) (void *cls,
 struct GNUNET_GNS_QueueEntry *
 GNUNET_GNS_shorten (struct GNUNET_GNS_Handle *handle,
                     const char * name,
+                    struct GNUNET_CRYPTO_ShortHashCode *private_zone,
+                    struct GNUNET_CRYPTO_ShortHashCode *shorten_zone,
                     GNUNET_GNS_ShortenResultProcessor proc,
                     void *proc_cls);
 
@@ -201,19 +234,21 @@ GNUNET_GNS_shorten (struct GNUNET_GNS_Handle *handle,
  *
  * @param handle handle to the GNS service
  * @param name the name to look up
+ * @param private_zone the public zone of the private zone
+ * @param shorten_zone the public zone of the shorten zone
  * @param zone the zone to start the resolution in
- * @param shorten_zone the zone where to shorten names into
  * @param proc function to call on result
  * @param proc_cls closure for processor
  * @return handle to the operation
  */
 struct GNUNET_GNS_QueueEntry *
 GNUNET_GNS_shorten_zone (struct GNUNET_GNS_Handle *handle,
-                    const char * name,
-                    struct GNUNET_CRYPTO_ShortHashCode *zone,
-                    struct GNUNET_CRYPTO_ShortHashCode *shorten_zone,
-                    GNUNET_GNS_ShortenResultProcessor proc,
-                    void *proc_cls);
+                         const char * name,
+                         struct GNUNET_CRYPTO_ShortHashCode *private_zone,
+                         struct GNUNET_CRYPTO_ShortHashCode *shorten_zone,
+                         struct GNUNET_CRYPTO_ShortHashCode *zone,
+                         GNUNET_GNS_ShortenResultProcessor proc,
+                         void *proc_cls);
 
 /* *************** Standard API: get authority ******************* */