use -Wl on -no-undefined as it is a linker option:
[oweals/gnunet.git] / src / include / gnunet_namestore_plugin.h
index 037c6927a3caaba84b20f952578bd7ae7de01862..182ffbc6ecfb3e649573d6051d1ee850f13ca1ca 100644 (file)
@@ -38,16 +38,6 @@ extern "C"
 #endif
 
 
-/**
- * Function called for matching blocks.
- *
- * @param cls closure
- * @param block lookup result
- */
-typedef void (*GNUNET_GNSRECORD_BlockCallback) (void *cls,
-                                               const struct GNUNET_GNSRECORD_Block *block);
-
-
 /**
  * Function called by for each matching record.
  *
@@ -75,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_GNSRECORD_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_GNSRECORD_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.
@@ -120,6 +82,22 @@ struct GNUNET_NAMESTORE_PluginFunctions
                        unsigned int rd_count,
                        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);
+
+
 
   /**
    * Iterate over the results for a particular zone in the