X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcstream.h;h=85364d2a08cd316127ffeedd689738e99736f52d;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=4c8c0eb613985098a6f53ad73adfde0cef1a1396;hpb=8fd8212bcd16f2b53fbedff2a9b9a4e8c15b9695;p=silc.git diff --git a/lib/silcutil/silcstream.h b/lib/silcutil/silcstream.h index 4c8c0eb6..85364d2a 100644 --- a/lib/silcutil/silcstream.h +++ b/lib/silcutil/silcstream.h @@ -4,7 +4,7 @@ Author: Pekka Riikonen - Copyright (C) 2005 - 2006 Pekka Riikonen + Copyright (C) 2005 - 2007 Pekka Riikonen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -68,11 +68,6 @@ typedef void *SilcStream; typedef enum { SILC_STREAM_CAN_READ, /* Data available for reading */ SILC_STREAM_CAN_WRITE, /* Stream ready for writing */ - SILC_STREAM_EOS, /* End of stream */ - SILC_STREAM_CLOSED, /* Stream is closed */ - SILC_STREAM_INVALID, /* Stream is invalid */ - SILC_STREAM_NO_MEMORY, /* System out of memory */ - SILC_STREAM_ERROR, /* Unknown error */ } SilcStreamStatus; /***/ @@ -174,6 +169,8 @@ typedef struct { * the notifier callback will later be called with SILC_STREAM_CAN_READ * status when stream is again ready for reading. * + * If error occurred the error code can be retrieved with silc_errno. + * ***/ int silc_stream_read(SilcStream stream, unsigned char *buf, SilcUInt32 buf_len); @@ -194,6 +191,8 @@ int silc_stream_read(SilcStream stream, unsigned char *buf, * notifier callback will later be called with SILC_STREAM_CAN_WRITE * status when stream is again ready for writing. * + * If error occurred the error code can be retrieved with silc_errno. + * ***/ int silc_stream_write(SilcStream stream, const unsigned char *data, SilcUInt32 data_len); @@ -242,19 +241,18 @@ void silc_stream_destroy(SilcStream stream); * * DESCRIPTION * - * Set a notifier callback for the stream indicated by `stream' to be called - * when some action takes place on the stream. This effectively means - * scheduling the stream for various actions, that then eventually will - * be delivered to caller in the `notifier' callback. It is called for - * example when data is available for reading or writing, or if an error - * occurs. This can be called at any time for valid stream. + * Schedule `stream' for stream events. Set the `notifier' callback to + * be called when some event takes place on the stream. The event will + * be delievered to the `notifier' callback with the `context'. It is + * called for example when data is available for reading or writing, or + * if an error occurs. This can be called at any time for valid stream. + * This call will also set the `stream' into non-blocking mode. * * If `notifier' is set to NULL no callback will be called for the stream, * and the stream is not scheduled anymore. * - * This function returns FALSE if the `schedule' was provided and the - * stream could not be scheduled. The actual API for `stream' may provide - * access to the actual error information. Returns TRUE on success. + * This function returns FALSE if the stream could not be scheduled. + * Returns TRUE on success. The `schedule' must always be non-NULL. * ***/ SilcBool silc_stream_set_notifier(SilcStream stream, SilcSchedule schedule,