Function silc_packet_wait_init
SYNOPSIS
void *silc_packet_wait_init(SilcPacketStream stream,
const SilcID *source_id, ...);
DESCRIPTION
Initializes a packet waiter for the packet stream `stream' and
for the variable argument list of packet types. The function
silc_packet_wait can be used to block the thread until a packet
has been received.
This function is used to initialize the waiting and to give the list
of packet types that caller wish to receive. The variable argument
list must end with -1. To receive all packets use SILC_PACKET_ANY.
If the `source_id' is non-NULL then only packets of the specified
type from the specified `source_id' are received. If it is NULL
then the packet source is ignored.
Returns a context that must be given to the silc_packet_wait function
as argument. Returns NULL on error. To uninitialize the waiting
call silc_packet_wait_uninit.
NOTES
Note that packets may be available immediately after calling this
function and they will be buffered, until silc_packet_wait is called.
EXAMPLE
void *waiter;
// Will wait for private message packets
waiter = silc_packet_wait_init(stream, NULL,
SILC_PACKET_PRIVATE_MESSAGE, -1);
|