- * Flags that can be set for a record.
- */
-enum GNUNET_NAMESTORE_RecordFlags
-{
-
- /**
- * No special options.
- */
- GNUNET_NAMESTORE_RF_NONE = 0,
-
- /**
- * This peer is the authority for this record; it must thus
- * not be deleted (other records can be deleted if we run
- * out of space).
- */
- GNUNET_NAMESTORE_RF_AUTHORITY = 1,
-
- /**
- * This is a private record of this peer and it should
- * thus not be handed out to other peers.
- */
- GNUNET_NAMESTORE_RF_PRIVATE = 2
-
-};
-
-
-/**
- * We formally store records in a B-tree for signing. This struct
- * identifies the location of a record in the B-tree.
- */
-struct GNUNET_NAMESTORE_SignatureLocation
-{
- /**
- * Offset in the B-tree.
- */
- uint64_t offset;
-
- /**
- * Depth in the B-tree.
- */
- uint32_t depth;
-
- /**
- * Revision of the B-tree.
- */
- uint32_t revision;
-};
-
-
-/**
- * Continuation called to notify client about result of the
- * signing operation.
- *
- * @param cls closure
- * @param sig where the signature is now located in the S-tree
- */
-typedef void (*GNUNET_NAMESTORE_ContinuationWithSignature) (void *cls,
- const struct GNUNET_NAMESTORE_SignatureLocation *sig);
-
-
-
-
-
-/**
- * Get the hash of a record (what will be signed in the Stree for
- * the record).
- *
- * @param zone hash of the public key of the zone
- * @param name name that is being mapped (at most 255 characters long)
- * @param record_type type of the record (A, AAAA, PKEY, etc.)
- * @param expiration expiration time for the content
- * @param flags flags for the content
- * @param data_size number of bytes in data
- * @param data value, semantics depend on 'record_type' (see RFCs for DNS and
- * GNS specification for GNS extensions)
- * @param record_hash hash of the record (set)
- */
-void
-GNUNET_NAMESTORE_record_hash (struct GNUNET_NAMESTORE_Handle *h,
- const GNUNET_HashCode *zone,
- const char *name,
- uint32_t record_type,
- struct GNUNET_TIME_Absolute expiration,
- enum GNUNET_NAMESTORE_RecordFlags flags,
- size_t data_size,
- const void *data,
- GNUNET_HashCode *record_hash);
-
-
-/**
- * Sign a record. This function is used by the authority of the zone
- * to add a record.