aboutsummaryrefslogtreecommitdiff
path: root/src/include/gnunet_mq_lib.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-01-30 17:42:00 +0100
committerChristian Grothoff <christian@grothoff.org>2017-01-30 17:42:00 +0100
commit6c4af0398d260316dd2dd2358a02000cbf84ceba (patch)
treefec82f367e1bb6ea91865aa6fcaa1027ee3614b4 /src/include/gnunet_mq_lib.h
parent9600ac83094c6738831a79e5cb82b02f8d560064 (diff)
downloadgnunet-6c4af0398d260316dd2dd2358a02000cbf84ceba.tar.gz
gnunet-6c4af0398d260316dd2dd2358a02000cbf84ceba.zip
allow external code to use DLL pointers of envelopes, under very particular circumstances
Diffstat (limited to 'src/include/gnunet_mq_lib.h')
-rw-r--r--src/include/gnunet_mq_lib.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/include/gnunet_mq_lib.h b/src/include/gnunet_mq_lib.h
index 108ba5d54..b527b58e8 100644
--- a/src/include/gnunet_mq_lib.h
+++ b/src/include/gnunet_mq_lib.h
@@ -269,6 +269,42 @@ typedef void
269 269
270 270
271/** 271/**
272 * Insert @a env into the envelope DLL starting at @a env_head
273 * Note that @a env must not be in any MQ while this function
274 * is used with DLLs defined outside of the MQ module. This
275 * is just in case some application needs to also manage a
276 * FIFO of envelopes independent of MQ itself and wants to
277 * re-use the pointers internal to @a env. Use with caution.
278 *
279 * @param[in|out] env_head of envelope DLL
280 * @param[in|out] env_tail tail of envelope DLL
281 * @param[in|out] env element to insert at the tail
282 */
283void
284GNUNET_MQ_dll_insert_tail (struct GNUNET_MQ_Envelope **env_head,
285 struct GNUNET_MQ_Envelope **env_tail,
286 struct GNUNET_MQ_Envelope *env);
287
288
289/**
290 * Remove @a env from the envelope DLL starting at @a env_head.
291 * Note that @a env must not be in any MQ while this function
292 * is used with DLLs defined outside of the MQ module. This
293 * is just in case some application needs to also manage a
294 * FIFO of envelopes independent of MQ itself and wants to
295 * re-use the pointers internal to @a env. Use with caution.
296 *
297 * @param[in|out] env_head of envelope DLL
298 * @param[in|out] env_tail tail of envelope DLL
299 * @param[in|out] env element to remove from the DLL
300 */
301void
302GNUNET_MQ_dll_remove (struct GNUNET_MQ_Envelope **env_head,
303 struct GNUNET_MQ_Envelope **env_tail,
304 struct GNUNET_MQ_Envelope *env);
305
306
307/**
272 * Message handler for a specific message type. 308 * Message handler for a specific message type.
273 */ 309 */
274struct GNUNET_MQ_MessageHandler 310struct GNUNET_MQ_MessageHandler