use -Wl on -no-undefined as it is a linker option:
[oweals/gnunet.git] / src / include / gnunet_namestore_plugin.h
index 512e463a8f4ead896e0a43194bbfe7ce55c5ee9c..182ffbc6ecfb3e649573d6051d1ee850f13ca1ca 100644 (file)
@@ -26,7 +26,6 @@
 #ifndef GNUNET_NAMESTORE_PLUGIN_H
 #define GNUNET_NAMESTORE_PLUGIN_H
 
-#include "gnunet_common.h"
 #include "gnunet_util_lib.h"
 #include "gnunet_namestore_service.h"
 
@@ -39,16 +38,6 @@ extern "C"
 #endif
 
 
-/**
- * Function called for matching blocks.
- *
- * @param cls closure
- * @param block lookup result
- */
-typedef void (*GNUNET_NAMESTORE_BlockCallback) (void *cls,
-                                               const struct GNUNET_NAMESTORE_Block *block);
-
-
 /**
  * Function called by for each matching record.
  *
@@ -59,10 +48,10 @@ typedef void (*GNUNET_NAMESTORE_BlockCallback) (void *cls,
  * @param rd array of records with data to store
  */
 typedef void (*GNUNET_NAMESTORE_RecordIterator) (void *cls,
-                                                const struct GNUNET_CRYPTO_EccPrivateKey *private_key,
+                                                const struct GNUNET_CRYPTO_EcdsaPrivateKey *private_key,
                                                 const char *label,
                                                 unsigned int rd_count,
-                                                const struct GNUNET_NAMESTORE_RecordData *rd);
+                                                const struct GNUNET_GNSRECORD_Data *rd);
 
 
 /**
@@ -76,34 +65,6 @@ struct GNUNET_NAMESTORE_PluginFunctions
    */
   void *cls;
 
-  /**
-   * Cache a block in the datastore. Overwrites existing blocks
-   * for the same zone and label.
-   *
-   * @param cls closure (internal context for the plugin)
-   * @param block block to cache
-   * @return #GNUNET_OK on success, else #GNUNET_SYSERR
-   */
-  int (*cache_block) (void *cls, 
-                     const struct GNUNET_NAMESTORE_Block *block);
-
-
-  /**
-   * Get the block for a particular zone and label in the
-   * datastore.  Will return at most one result to the iterator.
-   *
-   * @param cls closure (internal context for the plugin)
-   * @param query hash of public key derived from the zone and the label
-   * @param iter function to call with the result
-   * @param iter_cls closure for @a iter
-   * @return #GNUNET_OK on success, #GNUNET_NO if there were no results, #GNUNET_SYSERR on error
-   */
-  int (*lookup_block) (void *cls, 
-                      const struct GNUNET_HashCode *query,
-                      GNUNET_NAMESTORE_BlockCallback iter, void *iter_cls);
-
-
-
   /**
    * Store a record in the datastore for which we are the authority.
    * Removes any existing record in the same zone with the same name.
@@ -115,11 +76,27 @@ struct GNUNET_NAMESTORE_PluginFunctions
    * @param rd array of records with data to store
    * @return #GNUNET_OK on success, else #GNUNET_SYSERR
    */
-  int (*store_records) (void *cls, 
-                       const struct GNUNET_CRYPTO_EccPrivateKey *zone,
+  int (*store_records) (void *cls,
+                       const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
                        const char *label,
                        unsigned int rd_count,
-                       const struct GNUNET_NAMESTORE_RecordData *rd);
+                       const struct GNUNET_GNSRECORD_Data *rd);
+
+  /**
+   * Lookup records in the datastore for which we are the authority.
+   *
+   * @param cls closure (internal context for the plugin)
+   * @param zone private key of the zone
+   * @param label name of the record in the zone
+   * @param iter function to call with the result
+   * @param iter_cls closure for @a iter
+   * @return #GNUNET_OK on success, else #GNUNET_SYSERR
+   */
+  int (*lookup_records) (void *cls,
+                        const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
+                        const char *label,
+                        GNUNET_NAMESTORE_RecordIterator iter, void *iter_cls);
+
 
 
   /**
@@ -133,8 +110,8 @@ struct GNUNET_NAMESTORE_PluginFunctions
    * @param iter_cls closure for @a iter
    * @return #GNUNET_OK on success, #GNUNET_NO if there were no results, #GNUNET_SYSERR on error
    */
-  int (*iterate_records) (void *cls, 
-                         const struct GNUNET_CRYPTO_EccPrivateKey *zone,
+  int (*iterate_records) (void *cls,
+                         const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
                          uint64_t offset,
                          GNUNET_NAMESTORE_RecordIterator iter, void *iter_cls);
 
@@ -150,9 +127,9 @@ struct GNUNET_NAMESTORE_PluginFunctions
    * @param iter_cls closure for @a iter
    * @return #GNUNET_OK on success, #GNUNET_NO if there were no results, #GNUNET_SYSERR on error
    */
-  int (*zone_to_name) (void *cls, 
-                      const struct GNUNET_CRYPTO_EccPrivateKey *zone,
-                      const struct GNUNET_CRYPTO_EccPublicSignKey *value_zone,
+  int (*zone_to_name) (void *cls,
+                      const struct GNUNET_CRYPTO_EcdsaPrivateKey *zone,
+                      const struct GNUNET_CRYPTO_EcdsaPublicKey *value_zone,
                       GNUNET_NAMESTORE_RecordIterator iter, void *iter_cls);