*/
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)
};
/**
* 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;
*
* 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
* @param dest_size size of the destination array
* @param dest where to write the result
*
- * @return the size of serialized records
+ * @return the size of serialized records, -1 if records do not fit
*/
ssize_t
GNUNET_NAMESTORE_records_serialize (unsigned int rd_count,