X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccore%2Fsilcpacket.h;h=f8f41cb8a84ec14dc08f32d622dbfda0a20c3758;hb=52e57c880aba9c5e89f59d962eb9af75670b76e0;hp=240c446d97ad9cd720918cc06daa019a2c7ad92b;hpb=a063516c64ad520c0e80ba4420dd604d8bb90fdf;p=silc.git diff --git a/lib/silccore/silcpacket.h b/lib/silccore/silcpacket.h index 240c446d..f8f41cb8 100644 --- a/lib/silccore/silcpacket.h +++ b/lib/silccore/silcpacket.h @@ -34,8 +34,6 @@ #ifndef SILCPACKET_H #define SILCPACKET_H -/* XXX many of these could go to silcpacket_i.h */ - /* Maximum packet length */ #define SILC_PACKET_MAX_LEN 0xffff @@ -117,7 +115,7 @@ typedef SilcUInt8 SilcPacketFlags; #define SILC_PACKET_FLAG_ACK 0x10 /* Acknowledge packet */ /* Impelemntation specific flags */ -#define SILC_PACKET_FLAG_LONG_PAD 0x12 /* Use maximum padding */ +#define SILC_PACKET_FLAG_LONG_PAD 0x20 /* Use maximum padding */ /***/ /****s* silccore/SilcPacketAPI/SilcPacketEngine @@ -402,11 +400,24 @@ const char *silc_packet_error_string(SilcPacketError error); * DESCRIPTION * * Returns list of packet streams added to the packet engine. The caller - * must free the list with silc_dlist_uninit. + * must free the list with silc_packet_engine_free_streams_list. * ***/ SilcDList silc_packet_engine_get_streams(SilcPacketEngine engine); +/****f* silccore/SilcPacketAPI/silc_packet_engine_free_streams_list + * + * SYNOPSIS + * + * void silc_packet_engine_free_streams_list(SilcDList streams); + * + * DESCRIPTION + * + * Free's the streams list returned by silc_packet_engine_get_streams. + * + ***/ +void silc_packet_engine_free_streams_list(SilcDList streams); + /****f* silccore/SilcPacketAPI/silc_packet_stream_create * * SYNOPSIS @@ -915,7 +926,7 @@ SilcBool silc_packet_set_ids(SilcPacketStream stream, SilcIdType src_id_type, const void *src_id, SilcIdType dst_id_type, const void *dst_id); -/****f* silccore/SilcPacketAPI/silc_packet_set_ids +/****f* silccore/SilcPacketAPI/silc_packet_get_ids * * SYNOPSIS * @@ -1065,23 +1076,30 @@ SilcBool silc_packet_send_va_ext(SilcPacketStream stream, SilcIdType dst_id_type, void *dst_id, SilcCipher cipher, SilcHmac hmac, ...); -/****f* silccore/SilcPacketAPI/silc_packet_wait +/****f* silccore/SilcPacketAPI/silc_packet_wait_init * * SYNOPSIS * - * void *silc_packet_wait_init(SilcPacketStream stream, ...); + * 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. 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. + * 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 * @@ -1093,12 +1111,12 @@ SilcBool silc_packet_send_va_ext(SilcPacketStream stream, * void *waiter; * * // Will wait for private message packets - * waiter = silc_packet_wait_init(stream, + * waiter = silc_packet_wait_init(stream, NULL, * SILC_PACKET_PRIVATE_MESSAGE, -1); * - * ***/ -void *silc_packet_wait_init(SilcPacketStream stream, ...); +void *silc_packet_wait_init(SilcPacketStream stream, + const SilcID *source_id, ...); /****f* silccore/SilcPacketAPI/silc_packet_wait_uninit *