arg
[oweals/gnunet.git] / src / fs / gnunet-service-fs_pr.h
index 39a5fc77fdce83d2126ba39fbf1077fdcc5bfade..2f828e2816cf865fbcdaa4484a6d0f1b49a371bc 100644 (file)
@@ -91,6 +91,16 @@ struct GSF_PendingRequestData
    */
   struct GNUNET_PeerIdentity target;
 
+  /**
+   * Fields for the plan module to track a DLL with the request.
+   */
+  struct GSF_RequestPlan *rp_head;
+
+  /**
+   * Fields for the plan module to track a DLL with the request.
+   */
+  struct GSF_RequestPlan *rp_tail;
+
   /**
    * Current TTL for the request.
    */
@@ -148,20 +158,22 @@ struct GSF_PendingRequestData
  * expiration.
  *
  * @param cls user-specified closure
+ * @param eval evaluation of the result
  * @param pr handle to the original pending request
+ * @param reply_anonymity_level anonymity level for the reply, UINT32_MAX for "unknown"
  * @param expiration when does 'data' expire?
+ * @param type type of the block
  * @param data response data, NULL on request expiration
  * @param data_len number of bytes in data
- * @param more GNUNET_YES if the request remains active (may call
- *             this function again), GNUNET_NO if the request is
- *             finished (client must not call GSF_pending_request_cancel_)
  */
 typedef void (*GSF_PendingRequestReplyHandler)(void *cls,
+                                              enum GNUNET_BLOCK_EvaluationResult eval,
                                               struct GSF_PendingRequest *pr,
+                                              uint32_t reply_anonymity_level,
                                               struct GNUNET_TIME_Absolute expiration,
+                                              enum GNUNET_BLOCK_Type type,
                                               const void *data,
-                                              size_t data_len,
-                                              int more);
+                                              size_t data_len);
 
 
 /**
@@ -234,14 +246,12 @@ GSF_pending_request_get_data_ (struct GSF_PendingRequest *pr);
  * transmission to other peers (or at least determine its size).
  *
  * @param pr request to generate the message for
- * @param do_route are we routing the reply
  * @param buf_size number of bytes available in buf
  * @param buf where to copy the message (can be NULL)
  * @return number of bytes needed (if buf_size too small) or used
  */
 size_t
 GSF_pending_request_get_message_ (struct GSF_PendingRequest *pr,
-                                 int do_route,
                                  size_t buf_size,
                                  void *buf);
 
@@ -315,9 +325,9 @@ GSF_dht_lookup_ (struct GSF_PendingRequest *pr);
  * @param pr the pending request we were processing
  * @param result final datastore lookup result
  */
-typedef void (GSF_LocalLookupContinuation)(void *cls,
-                                          struct GSF_PendingRequest *pr,
-                                          enum GNUNET_BLOCK_EvaluationResult result);
+typedef void (*GSF_LocalLookupContinuation)(void *cls,
+                                           struct GSF_PendingRequest *pr,
+                                           enum GNUNET_BLOCK_EvaluationResult result);
 
 
 /**
@@ -335,8 +345,6 @@ GSF_local_lookup_ (struct GSF_PendingRequest *pr,
 
 /**
  * Setup the subsystem.
- *
- * @param cfg configuration to use
  */
 void
 GSF_pending_request_init_ (void);