Function gnunet_sys::GNUNET_MQ_dll_remove[][src]

pub unsafe extern "C" fn GNUNET_MQ_dll_remove(
    env_head: *mut *mut GNUNET_MQ_Envelope,
    env_tail: *mut *mut GNUNET_MQ_Envelope,
    env: *mut GNUNET_MQ_Envelope
)

Remove @a env from the envelope DLL starting at @a env_head. Note that @a env must not be in any MQ while this function is used with DLLs defined outside of the MQ module. This is just in case some application needs to also manage a FIFO of envelopes independent of MQ itself and wants to re-use the pointers internal to @a env. Use with caution.

@param[in|out] env_head of envelope DLL @param[in|out] env_tail tail of envelope DLL @param[in|out] env element to remove from the DLL