*/
struct GNUNET_CRYPTO_EccSignature signature;
+ /**
+ * Purpose for the signature and size of the signed data.
+ */
+ struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
+
/**
* Number of the message fragment, monotonically increasing.
*/
*/
struct GNUNET_CRYPTO_EccSignature signature;
+ /**
+ * Purpose for the signature and size of the signed data.
+ */
+ struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
+
/**
* Number of the request fragment, monotonically increasing.
*/
*/
struct GNUNET_CRYPTO_EccSignature signature;
+ /**
+ * Purpose for the signature and size of the signed data.
+ */
+ struct GNUNET_CRYPTO_EccSignaturePurpose purpose;
+
/**
* Public key of the target group.
*/
void *data);
+
+/**
+ * Flags for transmitting messages to a channel by the master.
+ */
+enum GNUNET_PSYC_MasterTransmitFlags
+{
+ /**
+ * Whether this message should reset the channel state,
+ * i.e. remove all previously stored state variables.
+ */
+ GNUNET_PSYC_MASTER_TRANSMIT_RESET_STATE = 1 << 0,
+
+ /**
+ * Whether we need to increment the group generation counter after
+ * transmitting this message.
+ */
+ GNUNET_PSYC_MASTER_TRANSMIT_INC_GROUP_GEN = 1 << 1,
+};
+
+
/**
* Handle for a pending PSYC transmission operation.
*/
* for the message, or NULL.
* @param notify Function to call to obtain the arguments.
* @param notify_cls Closure for @a notify.
- * @param reset_state #GNUNET_YES if this message should reset the channel
- * state, i.e. remove all previously stored state variables.
- * #GNUNET_NO to keep the state as is.
- * @param increment_group_generation #GNUNET_YES if we need to increment
- * the group generation counter after transmitting this message.
+ * @param flags Flags for the message being transmitted.
* @return Transmission handle, NULL on error (i.e. more than one request queued).
*/
struct GNUNET_PSYC_MasterTransmitHandle *
const struct GNUNET_ENV_Environment *env,
GNUNET_PSYC_MasterReadyNotify notify,
void *notify_cls,
- int reset_state,
- int increment_group_generation);
+ enum GNUNET_PSYC_TransmitFlags flags);
/**
GNUNET_TIME_Relative expiration_time);
+/**
+ * Flags for announcements in a home.
+ */
+enum GNUNET_PSYC_AnnouncementFlags
+{
+ /**
+ * Whether this announcement removes all objects from the home.
+ *
+ * New objects can be still added to the now empty home using the @e env
+ * parameter of the same announcement.
+ */
+ GNUNET_SOCIAL_ANNOUNCEMENT_CLEAR_OBJECTS = 1 << 0,
+};
+
+
/**
* Handle for an announcement request.
*/
* objects of the home, or NULL.
* @param notify Function to call to get the payload of the announcement.
* @param notify_cls Closure for @a notify.
- * @param clear_objects #GNUNET_YES to remove all objects from the home, #GNUNET_NO otherwise.
- * New objects can be added to the now empty home using the @a env parameter.
+ * @param flags Flags for this announcement.
* @return NULL on error (announcement already in progress?).
*/
struct GNUNET_SOCIAL_Announcement *
const struct GNUNET_ENV_Environment *env,
GNUNET_CONNECTION_TransmitReadyNotify notify,
void *notify_cls,
- int clear_objects);
+ GNUNET_SOCIAL_AnnouncementFlags flags);
/**