X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcsocketstream.h;h=46cce4faede773f7accd4678d7eceab457d746f6;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=4d4acec73878d6351a836d062e93483586d09076;hpb=8fd8212bcd16f2b53fbedff2a9b9a4e8c15b9695;p=silc.git diff --git a/lib/silcutil/silcsocketstream.h b/lib/silcutil/silcsocketstream.h index 4d4acec7..46cce4fa 100644 --- a/lib/silcutil/silcsocketstream.h +++ b/lib/silcutil/silcsocketstream.h @@ -35,34 +35,11 @@ #ifndef SILCSOCKETSTREAM_H #define SILCSOCKETSTREAM_H -/****d* silcutil/SilcSocketStreamAPI/SilcSocketStreamStatus - * - * NAME - * - * typedef enum { ... } SilcStreamStatus; - * - * DESCRIPTION - * - * Socket Stream status. This status is returned into the - * SilcSocketStreamCallback function after the socket stream is - * created. - * - * SOURCE - */ -typedef enum { - SILC_SOCKET_OK, /* Normal status */ - SILC_SOCKET_UNKNOWN_IP, /* Remote does not have IP address */ - SILC_SOCKET_UNKNOWN_HOST, /* Remote does not have host name */ - SILC_SOCKET_NO_MEMORY, /* System out of memory */ - SILC_SOCKET_ERROR, /* Unknown error */ -} SilcSocketStreamStatus; -/***/ - /****f* silcutil/SilcSocketStreamAPI/SilcSocketStreamCallback * * SYNOPSIS * - * typedef void (*SilcSocketStreamCallback)(SilcSocketStreamStatus status, + * typedef void (*SilcSocketStreamCallback)(SilcResult status, * SilcStream stream, * void *context); * @@ -78,8 +55,11 @@ typedef enum { * functions can also be used to read data, send data, and otherwise * handle the stream. * + * If the silc_stream_set_notifier is called the stream will be set to + * non-blocking mode. + * ***/ -typedef void (*SilcSocketStreamCallback)(SilcSocketStreamStatus status, +typedef void (*SilcSocketStreamCallback)(SilcResult status, SilcStream stream, void *context); /****f* silcutil/SilcSocketStreamAPI/silc_socket_tcp_stream_create @@ -102,7 +82,7 @@ typedef void (*SilcSocketStreamCallback)(SilcSocketStreamStatus status, * socket connection information, such as hostname and IP address are * resolved, so SilcAsyncOperation is returned which can be used to cancel * the creation process. The `callback' will be called to return the - * created socket stream. To destroy the stream call silc_stream_destroy. + * created socket stream. * * If the `lookup' is TRUE then this will perform IP and hostname lookup * for the socket. If the `require_fqdn' is TRUE then the socket must @@ -112,6 +92,10 @@ typedef void (*SilcSocketStreamCallback)(SilcSocketStreamStatus status, * will not be available from the socket stream. In that case this will * also return NULL as the `callback' is called immediately. * + * If the silc_stream_set_notifier is called the stream is set to + * non-blocking mode. If `schedule' is NULL this will call + * silc_schedule_get_global to try to get global scheduler. + * ***/ SilcAsyncOperation silc_socket_tcp_stream_create(SilcSocket sock, SilcBool lookup, @@ -152,6 +136,10 @@ silc_socket_tcp_stream_create(SilcSocket sock, SilcBool lookup, * * This function returns the created SilcStream or NULL on error. * + * If the silc_stream_set_notifier is called the stream is set to + * non-blocking mode. If `schedule' is NULL this will call + * silc_schedule_get_global to try to get global scheduler. + * ***/ SilcStream silc_socket_udp_stream_create(SilcSocket sock, SilcBool ipv6, @@ -168,10 +156,11 @@ SilcStream silc_socket_udp_stream_create(SilcSocket sock, * DESCRIPTION * * Returns TRUE if the `stream' is UDP stream. If the `connected' pointer - * is non-NULL indication whether the UDP stream is in connected state. - * If it is then packets can be read and written using silc_stream_read - * and silc_stream_write. If it is not then packets need to read and - * written by using silc_net_udp_receive and silc_net_udp_send. + * is non-NULL it will have indication whether the UDP stream is in + * connected state. If it is then packets can be read and written using + * silc_stream_read and silc_stream_write. If it is not then packets + * need to read and written by using silc_net_udp_receive and + * silc_net_udp_send. * ***/ SilcBool silc_socket_stream_is_udp(SilcStream stream, SilcBool *connected); @@ -221,20 +210,6 @@ SilcBool silc_socket_stream_set_info(SilcStream stream, const char *hostname, const char *ip, SilcUInt16 port); -/****f* silcutil/SilcSocketStreamAPI/silc_socket_stream_get_error - * - * SYNOPSIS - * - * int silc_socket_stream_get_error(SilcStream stream); - * - * DESCRIPTION - * - * If error occurred during socket stream operations, this function - * can be used to retrieve the error number that occurred. - * - ***/ -int silc_socket_stream_get_error(SilcStream stream); - /****f* silcutil/SilcSocketStreamAPI/silc_socket_stream_set_qos * * SYNOPSIS