aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabor X Toth <*@tg-x.net>2013-07-15 07:25:15 +0000
committerGabor X Toth <*@tg-x.net>2013-07-15 07:25:15 +0000
commit0c4e64676857a0963d74588c0a20e5a54892fb67 (patch)
tree464fb56c607e1d1d618558c344bf6dbccf068f29
parentb9f677a21cc21b3554b68e74f16c5fac6358c97b (diff)
downloadgnunet-0c4e64676857a0963d74588c0a20e5a54892fb67.tar.gz
gnunet-0c4e64676857a0963d74588c0a20e5a54892fb67.zip
PSYC API: use master/slave/channel terminology
-rw-r--r--src/include/gnunet_env_lib.h2
-rw-r--r--src/include/gnunet_psyc_service.h266
-rw-r--r--src/include/gnunet_social_service.h2
3 files changed, 136 insertions, 134 deletions
diff --git a/src/include/gnunet_env_lib.h b/src/include/gnunet_env_lib.h
index 5ff5c22db..ae2e3e1f1 100644
--- a/src/include/gnunet_env_lib.h
+++ b/src/include/gnunet_env_lib.h
@@ -147,7 +147,7 @@ GNUNET_ENV_environment_operation (struct GNUNET_ENV_Environment *env,
147 * 147 *
148 * @return Array of modifiers. 148 * @return Array of modifiers.
149 */ 149 */
150struct GNUNET_ENV_Modifier * 150const struct GNUNET_ENV_Modifier *
151GNUNET_ENV_environment_get_modifiers (const struct GNUNET_ENV_Environment *env, 151GNUNET_ENV_environment_get_modifiers (const struct GNUNET_ENV_Environment *env,
152 size_t *modifiers_length); 152 size_t *modifiers_length);
153 153
diff --git a/src/include/gnunet_psyc_service.h b/src/include/gnunet_psyc_service.h
index 0f41c3b12..32f0677da 100644
--- a/src/include/gnunet_psyc_service.h
+++ b/src/include/gnunet_psyc_service.h
@@ -41,7 +41,7 @@
41 * 'places' and 'persons' can then be made with the help 41 * 'places' and 'persons' can then be made with the help
42 * of the naming system (and/or conventions). 42 * of the naming system (and/or conventions).
43 * Channels are (as in PSYC) organized into a hierarchy; each 43 * Channels are (as in PSYC) organized into a hierarchy; each
44 * channel owner (the one with the private key) is then 44 * channel master (the one with the private key) is then
45 * the operator of the multicast group (its Origin in 45 * the operator of the multicast group (its Origin in
46 * the terminology of the multicast API). 46 * the terminology of the multicast API).
47 * - The API supports passing large amounts of data using 47 * - The API supports passing large amounts of data using
@@ -61,7 +61,7 @@
61 * the target is either everyone in the group or the 61 * the target is either everyone in the group or the
62 * origin, and never just a single member of the group; 62 * origin, and never just a single member of the group;
63 * for such individual messages, an application needs to 63 * for such individual messages, an application needs to
64 * construct an 'inbox' channel where the owner (only) 64 * construct an 'inbox' channel where the master (only)
65 * receives messages (but never forwards; private responses 65 * receives messages (but never forwards; private responses
66 * would be transmitted by joining the senders 'inbox' 66 * would be transmitted by joining the senders 'inbox'
67 * channel -- or a inbox#bob subchannel). The 67 * channel -- or a inbox#bob subchannel). The
@@ -72,11 +72,6 @@
72 * be called 'PSYC-low', whereas a higher-level API 72 * be called 'PSYC-low', whereas a higher-level API
73 * implementing defaults for standard methods and 73 * implementing defaults for standard methods and
74 * variables might be called 'PSYC-std' or 'PSYC-high'. 74 * variables might be called 'PSYC-std' or 'PSYC-high'.
75 *
76 * Idee (lynx):
77 * - rename "channel" to "master"
78 * - rename "member" to "slave"
79 * - rename "group" to "channel"
80 */ 75 */
81 76
82#ifndef GNUNET_PSYC_SERVICE_H 77#ifndef GNUNET_PSYC_SERVICE_H
@@ -142,8 +137,8 @@ struct GNUNET_PSYC_PartHandle;
142 * to a @e method. 137 * to a @e method.
143 * 138 *
144 * @param cls Closure. 139 * @param cls Closure.
145 * @param sender Who transmitted the message (origin, except for messages 140 * @param sender Who transmitted the message (master, except for messages
146 * from one of the members to the origin). 141 * from one of the slaves to the master).
147 * @param message_id Unique message counter for this message; 142 * @param message_id Unique message counter for this message;
148 * (unique only in combination with the given sender for 143 * (unique only in combination with the given sender for
149 * this channel). 144 * this channel).
@@ -247,13 +242,13 @@ GNUNET_PSYC_part_ack (struct GNUNET_PSYC_PartHandle *ph);
247 242
248 243
249/** 244/**
250 * Handle for the channel of a PSYC group. 245 * Handle for the master of a PSYC channel.
251 */ 246 */
252struct GNUNET_PSYC_Channel; 247struct GNUNET_PSYC_Master;
253 248
254 249
255/** 250/**
256 * Create a PSYC channel. 251 * Create a PSYC channel master.
257 * 252 *
258 * Will create a multicast group identified by the given ECC key. Messages 253 * Will create a multicast group identified by the given ECC key. Messages
259 * received from group members will be given to the respective handler methods. 254 * received from group members will be given to the respective handler methods.
@@ -267,10 +262,10 @@ struct GNUNET_PSYC_Channel;
267 * @param cfg Configuration to use (to connect to PSYC service). 262 * @param cfg Configuration to use (to connect to PSYC service).
268 * @param priv_key ECC key that will be used to sign messages for this 263 * @param priv_key ECC key that will be used to sign messages for this
269 * PSYC session; public key is used to identify the 264 * PSYC session; public key is used to identify the
270 * PSYC group; FIXME: we'll likely want to use 265 * PSYC channel; FIXME: we'll likely want to use
271 * NOT the p521 curve here, but a cheaper one in the future 266 * NOT the p512 curve here, but a cheaper one in the future
272 * Note that end-users will usually not use the private key 267 * Note that end-users will usually not use the private key
273 * directly, but rather look it up in GADS for groups 268 * directly, but rather look it up in GADS for places
274 * managed by other users, or select a file with the private 269 * managed by other users, or select a file with the private
275 * key(s) when setting up their own channels 270 * key(s) when setting up their own channels
276 * @param join_policy What is the membership policy of the group? 271 * @param join_policy What is the membership policy of the group?
@@ -279,16 +274,16 @@ struct GNUNET_PSYC_Channel;
279 * @param join_cb Function to invoke when a peer wants to join. 274 * @param join_cb Function to invoke when a peer wants to join.
280 * @param part_cb Function to invoke when a peer wants to part. 275 * @param part_cb Function to invoke when a peer wants to part.
281 * @param cls Closure for the callbacks. 276 * @param cls Closure for the callbacks.
282 * @return Handle for the channel, NULL on error. 277 * @return Handle for the channel master, NULL on error.
283 */ 278 */
284struct GNUNET_PSYC_Channel * 279struct GNUNET_PSYC_Master *
285GNUNET_PSYC_channel_create (const struct GNUNET_CONFIGURATION_Handle *cfg, 280GNUNET_PSYC_master_create (const struct GNUNET_CONFIGURATION_Handle *cfg,
286 const struct GNUNET_CRYPTO_EccPrivateKey *priv_key, 281 const struct GNUNET_CRYPTO_EccPrivateKey *priv_key,
287 enum GNUNET_MULTICAST_JoinPolicy join_policy, 282 enum GNUNET_MULTICAST_JoinPolicy join_policy,
288 GNUNET_PSYC_Method method_cb, 283 GNUNET_PSYC_Method method_cb,
289 GNUNET_PSYC_JoinCallback join_cb, 284 GNUNET_PSYC_JoinCallback join_cb,
290 GNUNET_PSYC_PartCallback part_cb, 285 GNUNET_PSYC_PartCallback part_cb,
291 void *cls); 286 void *cls);
292 287
293 288
294/** 289/**
@@ -309,22 +304,22 @@ GNUNET_PSYC_channel_create (const struct GNUNET_CONFIGURATION_Handle *cfg,
309 * (should be used if @a *data_size was not big enough to take all the data) 304 * (should be used if @a *data_size was not big enough to take all the data)
310 * #GNUNET_YES if this completes the transmission (all data supplied) 305 * #GNUNET_YES if this completes the transmission (all data supplied)
311 */ 306 */
312typedef int (*GNUNET_PSYC_ChannelReadyNotify)(void *cls, 307typedef int (*GNUNET_PSYC_MasterReadyNotify)(void *cls,
313 uint64_t message_id, 308 uint64_t message_id,
314 size_t *data_size, 309 size_t *data_size,
315 void *data); 310 void *data);
316 311
317 312
318/** 313/**
319 * Handle for a pending PSYC transmission operation. 314 * Handle for a pending PSYC transmission operation.
320 */ 315 */
321struct GNUNET_PSYC_ChannelTransmitHandle; 316struct GNUNET_PSYC_MasterTransmitHandle;
322 317
323 318
324/** 319/**
325 * Send a message to call a method to all members in the PSYC channel. 320 * Send a message to call a method to all members in the PSYC channel.
326 * 321 *
327 * @param channel Handle to the PSYC multicast group. 322 * @param master Handle to the PSYC channel.
328 * @param increment_group_generation #GNUNET_YES if we need to increment 323 * @param increment_group_generation #GNUNET_YES if we need to increment
329 * the group generation counter after transmitting this message. 324 * the group generation counter after transmitting this message.
330 * @param method_name Which method should be invoked. 325 * @param method_name Which method should be invoked.
@@ -333,13 +328,13 @@ struct GNUNET_PSYC_ChannelTransmitHandle;
333 * @param notify_cls Closure for @a notify. 328 * @param notify_cls Closure for @a notify.
334 * @return Transmission handle, NULL on error (i.e. more than one request queued). 329 * @return Transmission handle, NULL on error (i.e. more than one request queued).
335 */ 330 */
336struct GNUNET_PSYC_ChannelTransmitHandle * 331struct GNUNET_PSYC_MasterTransmitHandle *
337GNUNET_PSYC_channel_transmit (struct GNUNET_PSYC_Channel *channel, 332GNUNET_PSYC_master_transmit (struct GNUNET_PSYC_Master *master,
338 int increment_group_generation, 333 int increment_group_generation,
339 const char *method_name, 334 const char *method_name,
340 const struct GNUNET_ENV_Environment *env, 335 const struct GNUNET_ENV_Environment *env,
341 GNUNET_PSYC_ChannelReadyNotify notify, 336 GNUNET_PSYC_MasterReadyNotify notify,
342 void *notify_cls); 337 void *notify_cls);
343 338
344 339
345/** 340/**
@@ -348,93 +343,95 @@ GNUNET_PSYC_channel_transmit (struct GNUNET_PSYC_Channel *channel,
348 * @param th Handle of the request that is being aborted. 343 * @param th Handle of the request that is being aborted.
349 */ 344 */
350void 345void
351GNUNET_PSYC_channel_transmit_cancel (struct GNUNET_PSYC_ChannelTransmitHandle *th); 346GNUNET_PSYC_master_transmit_cancel (struct GNUNET_PSYC_MasterTransmitHandle *th);
352 347
353 348
354/** 349/**
355 * Destroy a PSYC channel. 350 * Destroy a PSYC channel master.
356 * 351 *
357 * @param channel PSYC channel to terminate. 352 * @param master PSYC channel master to terminate.
358 */ 353 */
359tvoid 354tvoid
360GNUNET_PSYC_channel_destroy (struct GNUNET_PSYC_Channel *channel); 355GNUNET_PSYC_master_destroy (struct GNUNET_PSYC_Master *master);
361 356
362 357
363/** 358/**
364 * Handle to access PSYC group operations for all members. 359 * Handle to access PSYC channel operations for both the master and slaves.
365 */ 360 */
366struct GNUNET_PSYC_Group; 361struct GNUNET_PSYC_Channel;
367 362
368 363
369/** 364/**
370 * Convert @a channel to a @e group handle to access the @e group APIs. 365 * Convert a channel @a master to a @e channel handle to access the @e channel APIs.
371 * 366 *
372 * @param channel Channel handle. 367 * @param master Channel master handle.
373 * @return Group handle, valid for as long as @a channel is valid. 368 * @return Channel handle, valid for as long as @a master is valid.
374 */ 369 */
375struct GNUNET_PSYC_Group * 370struct GNUNET_PSYC_Channel *
376GNUNET_PSYC_channel_get_group (struct GNUNET_PSYC_Channel *channel); 371GNUNET_PSYC_master_get_channel (struct GNUNET_PSYC_Master *master);
377 372
378 373
379/** 374/**
380 * Convert @a member to a @e group handle to access the @e group APIs. 375 * Convert @a slave to a @e channel handle to access the @e channel APIs.
381 * 376 *
382 * @param member Membership handle. 377 * @param slave Slave handle.
383 * @return Group handle, valid for as long as @a member is valid. 378 * @return Channel handle, valid for as long as @a slave is valid.
384 */ 379 */
385struct GNUNET_PSYC_Group * 380struct GNUNET_PSYC_Channel *
386GNUNET_PSYC_member_get_group (struct GNUNET_PSYC_Member *member); 381GNUNET_PSYC_slave_get_channel (struct GNUNET_PSYC_Slave *slave);
387 382
388 383
389/** 384/**
390 * Add a member to the group. 385 * Add a member to the channel.
391 * 386 *
392 * Note that this will NOT generate any PSYC traffic, it will merely update the 387 * Note that this will NOT generate any PSYC traffic, it will merely update the
393 * local data base to modify how we react to <em>membership test</em> queries. The 388 * local data base to modify how we react to <em>membership test</em> queries.
394 * channel still needs to explicitly transmit a @e join message to notify other 389 * The channel master still needs to explicitly transmit a @e join message to
395 * group members and they then also must still call this function in their 390 * notify other channel members and they then also must still call this function
396 * respective methods handling the @e join message. This way, how @e join and 391 * in their respective methods handling the @e join message. This way, how @e
397 * @e part operations are exactly implemented is still up to the application; 392 * join and @e part operations are exactly implemented is still up to the
398 * for example, there might be a @e part_all method to kick out everyone. 393 * application; for example, there might be a @e part_all method to kick out
399 * 394 * everyone.
400 * Note that group members are explicitly trusted to execute such methods 395 *
396 * Note that channel members are explicitly trusted to execute such methods
401 * correctly; not doing so correctly will result in either denying members 397 * correctly; not doing so correctly will result in either denying members
402 * access or offering access to group data to non-members. 398 * access or offering access to channel data to non-members.
403 * 399 *
404 * @param group Group handle. 400 * @param channel Channel handle.
405 * @param member Which peer to add. 401 * @param member Which peer to add.
406 * @param message_id Message ID for the message that changed the membership. 402 * @param message_id Message ID for the message that changed the membership.
407 */ 403 */
408void 404void
409GNUNET_PSYC_group_member_add (struct GNUNET_PSYC_Group *group, 405GNUNET_PSYC_channel_member_add (struct GNUNET_PSYC_Channel *channel,
410 const struct GNUNET_PeerIdentity *member, 406 const struct GNUNET_PeerIdentity *member,
411 uint64_t message_id); 407 uint64_t message_id);
412 408
413 409
414/** 410/**
415 * Remove a member from the group. 411 * Remove a member from the channel.
416 * 412 *
417 * Note that this will NOT generate any PSYC traffic, it will merely update the 413 * Note that this will NOT generate any PSYC traffic, it will merely update the
418 * local data base to modify how we react to <em>membership test</em> queries. The 414 * local data base to modify how we react to <em>membership test</em> queries.
419 * channel still needs to explicitly transmit a @e part message to notify other 415 * The channel master still needs to explicitly transmit a @e part message to
420 * group members and they then also must still call this function in their 416 * notify other channel members and they then also must still call this function
421 * respective methods handling the @e part message. This way, how @e join and 417 * in their respective methods handling the @e part message. This way, how
422 * @e part operations are exactly implemented is still up to the application; 418 * @e join and @e part operations are exactly implemented is still up to the
423 * for example, there might be a @e part_all message to kick out everyone. 419 * application; for example, there might be a @e part_all message to kick out
424 * 420 * everyone.
425 * Note that group members are explicitly trusted to perform these 421 *
422 * Note that channel members are explicitly trusted to perform these
426 * operations correctly; not doing so correctly will result in either 423 * operations correctly; not doing so correctly will result in either
427 * denying members access or offering access to group data to 424 * denying members access or offering access to channel data to
428 * non-members. 425 * non-members.
429 * 426 *
430 * @param group Group handle. 427 * @param channel Channel handle.
431 * @param member Which peer to remove. 428 * @param member Which peer to remove.
432 * @param message_id Message ID for the message that changed the membership. 429 * @param message_id Message ID for the message that changed the membership.
433 */ 430 */
434void 431void
435GNUNET_PSYC_group_member_remove (struct GNUNET_PSYC_Group *group, 432GNUNET_PSYC_channel_member_remove (struct GNUNET_PSYC_Channel *channel,
436 const struct GNUNET_PeerIdentity *member, 433 const struct GNUNET_PeerIdentity *member,
437 uint64_t message_id); 434 uint64_t message_id);
438 435
439 436
440/** 437/**
@@ -452,47 +449,52 @@ typedef void (*GNUNET_PSYC_StateCallback)(void *cls,
452 449
453 450
454/** 451/**
455 * Join a PSYC group. 452 * Handle for a PSYC channel slave.
453 */
454struct GNUNET_PSYC_Slave;
455
456
457/**
458 * Join a PSYC channel.
456 * 459 *
457 * The entity joining is always the local peer. The user must immediately use 460 * The entity joining is always the local peer. The user must immediately use
458 * the GNUNET_PSYC_member_to_origin() (and possibly 461 * the GNUNET_PSYC_slave_to_master() functions to transmit a @e join_msg to the
459 * GNUNET_PSYC_member_variable_set()) functions to transmit a @e join_msg to 462 * channel; if the join request succeeds, the channel state (and @e recent
460 * the channel; if the join request succeeds, the channel state (and @e recent
461 * method calls) will be replayed to the joining member. There is no explicit 463 * method calls) will be replayed to the joining member. There is no explicit
462 * notification on failure (as the channel may simply take days to approve, a-v/snd 464 * notification on failure (as the channel may simply take days to approve,
463 * disapproval is simply being ignored). 465 * and disapproval is simply being ignored).
464 * 466 *
465 * @param cfg Configuration to use. 467 * @param cfg Configuration to use.
466 * @param pub_key ECC key that identifies the channel we wish to join 468 * @param pub_key ECC key that identifies the channel we wish to join.
467 * @param origin Peer identity of the origin. 469 * @param origin Peer identity of the origin.
468 * @param method Function to invoke on messages received from the channel, 470 * @param method Function to invoke on messages received from the channel,
469 * typically at least contains functions for @e join and @e part. 471 * typically at least contains functions for @e join and @e part.
470 * @param method_cls Closure for @a method. 472 * @param method_cls Closure for @a method.
471 * @return Handle for the member, NULL on error. 473 * @return Handle for the slave, NULL on error.
472 */ 474 */
473struct GNUNET_PSYC_Member * 475struct GNUNET_PSYC_Slave *
474GNUNET_PSYC_member_join (const struct GNUNET_CONFIGURATION_Handle *cfg, 476GNUNET_PSYC_slave_join (const struct GNUNET_CONFIGURATION_Handle *cfg,
475 const struct GNUNET_CRYPTO_EccPublicKey *pub_key, 477 const struct GNUNET_CRYPTO_EccPublicKey *pub_key,
476 const struct GNUNET_PeerIdentity *origin, 478 const struct GNUNET_PeerIdentity *origin,
477 GNUNET_PSYC_Method method, 479 GNUNET_PSYC_Method method,
478 void *method_cls); 480 void *method_cls);
479 481
480 482
481/** 483/**
482 * Part a PSYC group. 484 * Part a PSYC channel.
483 * 485 *
484 * Will terminate the connection to the PSYC service. Polite clients should 486 * Will terminate the connection to the PSYC service. Polite clients should
485 * first explicitly send a @e part request (via GNUNET_PSYC_member_to_origin()). 487 * first explicitly send a @e part request (via GNUNET_PSYC_slave_to_master()).
486 * 488 *
487 * @param member membership handle 489 * @param slave Slave handle.
488 */ 490 */
489void 491void
490GNUNET_PSYC_member_part (struct GNUNET_PSYC_Member *member); 492GNUNET_PSYC_slave_part (struct GNUNET_PSYC_Slave *slave);
491 493
492 494
493/** 495/**
494 * Function called to provide data for a transmission to the channel 496 * Function called to provide data for a transmission to the channel
495 * owner (aka the @e host of the channel). 497 * master (aka the @e host of the channel).
496 * 498 *
497 * Note that returning #GNUNET_OK or #GNUNET_SYSERR (but not #GNUNET_NO) 499 * Note that returning #GNUNET_OK or #GNUNET_SYSERR (but not #GNUNET_NO)
498 * invalidates the respective transmission handle. 500 * invalidates the respective transmission handle.
@@ -506,7 +508,7 @@ GNUNET_PSYC_member_part (struct GNUNET_PSYC_Member *member);
506 * #GNUNET_NO on success, if more data is to be transmitted later. 508 * #GNUNET_NO on success, if more data is to be transmitted later.
507 * #GNUNET_YES if this completes the transmission (all data supplied). 509 * #GNUNET_YES if this completes the transmission (all data supplied).
508 */ 510 */
509typedef int (*GNUNET_PSYC_MemberReadyNotify)(void *cls, 511typedef int (*GNUNET_PSYC_SlaveReadyNotify)(void *cls,
510 size_t *data_size, 512 size_t *data_size,
511 char *data); 513 char *data);
512 514
@@ -514,34 +516,34 @@ typedef int (*GNUNET_PSYC_MemberReadyNotify)(void *cls,
514/** 516/**
515 * Handle for a pending PSYC transmission operation. 517 * Handle for a pending PSYC transmission operation.
516 */ 518 */
517struct GNUNET_PSYC_MemberTransmitHandle; 519struct GNUNET_PSYC_SlaveTransmitHandle;
518 520
519 521
520/** 522/**
521 * Request a message to be sent to the channel origin. 523 * Request a message to be sent to the channel master.
522 * 524 *
523 * @param member Membership handle. 525 * @param slave Slave handle.
524 * @param method_name Which (PSYC) method should be invoked (on host). 526 * @param method_name Which (PSYC) method should be invoked (on host).
525 * @param env Environment: transient variables for the message. 527 * @param env Environment: transient variables for the message.
526 * @param notify Function to call when we are allowed to transmit (to get data). 528 * @param notify Function to call when we are allowed to transmit (to get data).
527 * @param notify_cls Closure for @a notify. 529 * @param notify_cls Closure for @a notify.
528 * @return Transmission handle, NULL on error (i.e. more than one request queued). 530 * @return Transmission handle, NULL on error (i.e. more than one request queued).
529 */ 531 */
530struct GNUNET_PSYC_MemberTransmitHandle * 532struct GNUNET_PSYC_SlaveTransmitHandle *
531GNUNET_PSYC_member_to_origin (struct GNUNET_PSYC_Member *member, 533GNUNET_PSYC_slave_transmit (struct GNUNET_PSYC_Slave *slave,
532 const char *method_name, 534 const char *method_name,
533 const struct GNUNET_ENV_Environment *env, 535 const struct GNUNET_ENV_Environment *env,
534 GNUNET_PSYC_MemberReadyNotify notify, 536 GNUNET_PSYC_SlaveReadyNotify notify,
535 void *notify_cls); 537 void *notify_cls);
536 538
537 539
538/** 540/**
539 * Abort transmission request to origin. 541 * Abort transmission request to master.
540 * 542 *
541 * @param th Handle of the request that is being aborted. 543 * @param th Handle of the request that is being aborted.
542 */ 544 */
543void 545void
544GNUNET_PSYC_member_to_origin_cancel (struct GNUNET_PSYC_MemberTransmitHandle *th); 546GNUNET_PSYC_slave_transmit_cancel (struct GNUNET_PSYC_SlaveTransmitHandle *th);
545 547
546 548
547/** 549/**
@@ -558,7 +560,7 @@ struct GNUNET_PSYC_Story;
558 * 560 *
559 * To get the latest message, use 0 for both the start and end message ID. 561 * To get the latest message, use 0 for both the start and end message ID.
560 * 562 *
561 * @param member Which channel should be replayed? 563 * @param slave Which channel should be replayed?
562 * @param start_message_id Earliest interesting point in history. 564 * @param start_message_id Earliest interesting point in history.
563 * @param end_message_id Last (exclusive) interesting point in history. 565 * @param end_message_id Last (exclusive) interesting point in history.
564 * @param method Function to invoke on messages received from the story. 566 * @param method Function to invoke on messages received from the story.
@@ -568,30 +570,30 @@ struct GNUNET_PSYC_Story;
568 * might be secret and thus the listener would not know the story is 570 * might be secret and thus the listener would not know the story is
569 * finished without being told explicitly); once this function 571 * finished without being told explicitly); once this function
570 * has been called, the client must not call 572 * has been called, the client must not call
571 * GNUNET_PSYC_member_story_tell_cancel() anymore. 573 * GNUNET_PSYC_slave_story_tell_cancel() anymore.
572 * @param finish_cb_cls Closure to finish_cb. 574 * @param finish_cb_cls Closure to finish_cb.
573 * @return Handle to cancel story telling operation. 575 * @return Handle to cancel story telling operation.
574 */ 576 */
575struct GNUNET_PSYC_Story * 577struct GNUNET_PSYC_Story *
576GNUNET_PSYC_member_story_tell (struct GNUNET_PSYC_Member *member, 578GNUNET_PSYC_slave_story_tell (struct GNUNET_PSYC_Slave *slave,
577 uint64_t start_message_id, 579 uint64_t start_message_id,
578 uint64_t end_message_id, 580 uint64_t end_message_id,
579 GNUNET_PSYC_Method method, 581 GNUNET_PSYC_Method method,
580 void *method_cls, 582 void *method_cls,
581 void (*finish_cb)(void *), 583 void (*finish_cb)(void *),
582 void *finish_cb_cls); 584 void *finish_cb_cls);
583 585
584 586
585/** 587/**
586 * Abort story telling. 588 * Abort story telling.
587 * 589 *
588 * This function must not be called from within method handlers (as given to 590 * This function must not be called from within method handlers (as given to
589 * GNUNET_PSYC_member_join()) of the member. 591 * GNUNET_PSYC_slave_join()) of the slave.
590 * 592 *
591 * @param story Story telling operation to stop. 593 * @param story Story telling operation to stop.
592 */ 594 */
593void 595void
594GNUNET_PSYC_member_story_tell_cancel (struct GNUNET_PSYC_Story *story); 596GNUNET_PSYC_slave_story_tell_cancel (struct GNUNET_PSYC_Story *story);
595 597
596 598
597/** 599/**
@@ -606,7 +608,7 @@ GNUNET_PSYC_member_story_tell_cancel (struct GNUNET_PSYC_Story *story);
606 * empty state ("") will match all values; requesting "_a_b" will also return 608 * empty state ("") will match all values; requesting "_a_b" will also return
607 * values stored under "_a_b_c". 609 * values stored under "_a_b_c".
608 * 610 *
609 * @param member Membership handle. 611 * @param slave Slave handle.
610 * @param state_name Name of the state to query (full name 612 * @param state_name Name of the state to query (full name
611 * might be longer, this is only the prefix that must match). 613 * might be longer, this is only the prefix that must match).
612 * @param cb Function to call on the matching state values. 614 * @param cb Function to call on the matching state values.
@@ -615,10 +617,10 @@ GNUNET_PSYC_member_story_tell_cancel (struct GNUNET_PSYC_Story *story);
615 * message ID). 617 * message ID).
616 */ 618 */
617uint64_t 619uint64_t
618GNUNET_PSYC_member_state_get_all (struct GNUNET_PSYC_Member *member, 620GNUNET_PSYC_slave_state_get_all (struct GNUNET_PSYC_Slave *slave,
619 const char *state_name, 621 const char *state_name,
620 GNUNET_PSYC_StateCallback cb, 622 GNUNET_PSYC_StateCallback cb,
621 void *cb_cls); 623 void *cb_cls);
622 624
623 625
624/** 626/**
@@ -632,7 +634,7 @@ GNUNET_PSYC_member_state_get_all (struct GNUNET_PSYC_Member *member,
632 * the state, the nearest less-specific name is matched; for example, 634 * the state, the nearest less-specific name is matched; for example,
633 * requesting "_a_b" will match "_a" if "_a_b" does not exist. 635 * requesting "_a_b" will match "_a" if "_a_b" does not exist.
634 * 636 *
635 * @param member Membership handle. 637 * @param slave Slave handle.
636 * @param variable_name Name of the variable to query. 638 * @param variable_name Name of the variable to query.
637 * @param[out] return_value_size Set to number of bytes in variable, 639 * @param[out] return_value_size Set to number of bytes in variable,
638 * needed as variables might contain binary data and 640 * needed as variables might contain binary data and
@@ -641,9 +643,9 @@ GNUNET_PSYC_member_state_get_all (struct GNUNET_PSYC_Member *member,
641 to the respective value otherwise. 643 to the respective value otherwise.
642 */ 644 */
643const void * 645const void *
644GNUNET_PSYC_member_state_get (struct GNUNET_PSYC_Member *member, 646GNUNET_PSYC_slave_state_get (struct GNUNET_PSYC_Slave *slave,
645 const char *variable_name, 647 const char *variable_name,
646 size_t *return_value_size); 648 size_t *return_value_size);
647 649
648 650
649#if 0 /* keep Emacsens' auto-indent happy */ 651#if 0 /* keep Emacsens' auto-indent happy */
diff --git a/src/include/gnunet_social_service.h b/src/include/gnunet_social_service.h
index 2a2108828..5a0be66f4 100644
--- a/src/include/gnunet_social_service.h
+++ b/src/include/gnunet_social_service.h
@@ -366,7 +366,7 @@ GNUNET_SOCIAL_home_announce_cancel (struct GNUNET_SOCIAL_Announcement *a);
366 * do NOT try to GNUNET_SOCIAL_place_leave() this place, it's your home! 366 * do NOT try to GNUNET_SOCIAL_place_leave() this place, it's your home!
367 */ 367 */
368struct GNUNET_SOCIAL_Place * 368struct GNUNET_SOCIAL_Place *
369GNUNET_SOCIAL_home_to_place (struct GNUNET_SOCIAL_Home *home); 369GNUNET_SOCIAL_home_get_place (struct GNUNET_SOCIAL_Home *home);
370 370
371 371
372/** 372/**