aboutsummaryrefslogtreecommitdiff
path: root/src/include/gnunet_multicast_service.h
diff options
context:
space:
mode:
authorGabor X Toth <*@tg-x.net>2013-07-17 13:43:51 +0000
committerGabor X Toth <*@tg-x.net>2013-07-17 13:43:51 +0000
commit58f3fcb5fbdaabd767443c5b1baeb28964175777 (patch)
treed4656e04a2eca9d1edf1faef7ff7ebbe58cf80b3 /src/include/gnunet_multicast_service.h
parentf112f0014de7dd8d780a3493437629a5895c5ea0 (diff)
downloadgnunet-58f3fcb5fbdaabd767443c5b1baeb28964175777.tar.gz
gnunet-58f3fcb5fbdaabd767443c5b1baeb28964175777.zip
PSYC/multicast: message parameters for join/part requests
Diffstat (limited to 'src/include/gnunet_multicast_service.h')
-rw-r--r--src/include/gnunet_multicast_service.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/include/gnunet_multicast_service.h b/src/include/gnunet_multicast_service.h
index 42e723125..cbe0ac698 100644
--- a/src/include/gnunet_multicast_service.h
+++ b/src/include/gnunet_multicast_service.h
@@ -222,19 +222,21 @@ struct GNUNET_MULTICAST_MessageHeader
222/** 222/**
223 * Header of a request from a member to the origin. 223 * Header of a request from a member to the origin.
224 * 224 *
225 * This format is public as the replay mechanism must replay message fragments using the 225 * FIXME: this is going to be internal.
226 * same format. This is needed as we want to integrity-check message fragments within
227 * the multicast layer to avoid multicasting mal-formed messages.
228 */ 226 */
229struct GNUNET_MULTICAST_RequestHeader 227struct GNUNET_MULTICAST_RequestHeader
230{ 228{
231
232 /** 229 /**
233 * Header for all requests from a member to the origin. 230 * Header for all requests from a member to the origin.
234 */ 231 */
235 struct GNUNET_MessageHeader header; 232 struct GNUNET_MessageHeader header;
236 233
237 /** 234 /**
235 * Public key of the group.
236 */
237 struct GNUNET_CRYPTO_ECCPublicKey pub_key;
238
239 /**
238 * Flags for this request. 240 * Flags for this request.
239 */ 241 */
240 enum GNUNET_MULTICAST_MessageFlags flags GNUNET_PACKED; 242 enum GNUNET_MULTICAST_MessageFlags flags GNUNET_PACKED;
@@ -389,10 +391,12 @@ typedef void (*GNUNET_MULTICAST_MembershipTestCallback)(void *cls,
389 * @param cls Closure (set from GNUNET_MULTICAST_origin_start). 391 * @param cls Closure (set from GNUNET_MULTICAST_origin_start).
390 * @param sender Identity of the sender. 392 * @param sender Identity of the sender.
391 * @param req Request to the origin. 393 * @param req Request to the origin.
394 * @param flags Flags for the request.
392 */ 395 */
393typedef void (*GNUNET_MULTICAST_RequestCallback) (void *cls, 396typedef void (*GNUNET_MULTICAST_RequestCallback) (void *cls,
394 const struct GNUNET_PeerIdentity *sender, 397 const struct GNUNET_PeerIdentity *sender,
395 const struct GNUNET_MULTICAST_RequestHeader *req); 398 const struct GNUNET_MessageHeader *req,
399 enum GNUNET_MULTICAST_MessageFlags flags);
396 400
397 401
398/** 402/**
@@ -649,9 +653,11 @@ GNUNET_MULTICAST_member_request_replay_cancel (struct GNUNET_MULTICAST_MemberRep
649 * Part a multicast group. 653 * Part a multicast group.
650 * 654 *
651 * @param member Membership handle. 655 * @param member Membership handle.
656 * @param part_req Application-dependent part request to send to the origin.
652 */ 657 */
653void 658void
654GNUNET_MULTICAST_member_part (struct GNUNET_MULTICAST_Member *member); 659GNUNET_MULTICAST_member_part (struct GNUNET_MULTICAST_Member *member,
660 const struct GNUNET_MessageHeader *part_req);
655 661
656 662
657/** 663/**