extend API to enalbe exclusive port ranges to be specified for testing-system objects
[oweals/gnunet.git] / src / include / gnunet_namestore_service.h
index aa3ad80179fdb7e2e761f9c94b60b25fdfc94b58..ee8654948394ae5bd0c8f4f5ab168a3f1133ca73 100644 (file)
@@ -170,6 +170,18 @@ enum GNUNET_NAMESTORE_RecordFlags
    */
   GNUNET_NAMESTORE_RF_SHADOW_RECORD = 16
 
+  /**
+   * When comparing flags for record equality for removal,
+   * which flags should must match (in addition to the type,
+   * name, expiration value and data of the record)?  All flags
+   * that are not listed here will be ignored for this purpose.
+   * (for example, we don't expect that users will remember to
+   * pass the '--private' option when removing a record from
+   * the namestore, hence we don't require this particular option
+   * to match upon removal).  See also
+   * 'GNUNET_NAMESTORE_records_cmp'.
+   */
+#define GNUNET_NAMESTORE_RF_RCMP_FLAGS (GNUNET_NAMESTORE_RF_RELATIVE_EXPIRATION)
 };
 
 
@@ -181,6 +193,10 @@ struct GNUNET_NAMESTORE_RecordData
 
   /**
    * Binary value stored in the DNS record.
+   * FIXME: goofy API: sometimes 'data' is individually
+   * 'malloc'ed, sometimes it points into some existing
+   * data area (so sometimes this should be a 'void *',
+   * sometimes a 'const void *').  This is unclean.
    */
   const void *data;
 
@@ -387,7 +403,10 @@ GNUNET_NAMESTORE_zone_to_name (struct GNUNET_NAMESTORE_Handle *h,
  *
  * By specifying a 'zone' of NULL and setting 'GNUNET_NAMESTORE_RF_AUTHORITY'
  * in 'must_have_flags', we can iterate over all records for which we are
- * the authority.  In this case, the 'GNUNET_NAMESTORE_RF_RELATIVE_EXPIRATION'
+ * the authority (the 'authority' flag will NOT be set in the returned
+ * records anyway).  
+ *
+ * The 'GNUNET_NAMESTORE_RF_RELATIVE_EXPIRATION'
  * bit in 'must_have_flags' has a special meaning:
  *
  * 0) If the bit is clear, all relative expriation times are converted to