X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fzoom.h;h=4a55a5b7fb8f4ca28dd64633714d19cf238ff658;hb=9c75e92604fae1efd7137d085dd2281e7886345b;hp=3295eb022a1fd0377671cba5f2278cb2063aae63;hpb=52741a76f17524da0bc416fe82db69eda7700797;p=yaz-moved-to-github.git diff --git a/include/yaz/zoom.h b/include/yaz/zoom.h index 3295eb0..4a55a5b 100644 --- a/include/yaz/zoom.h +++ b/include/yaz/zoom.h @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $Id: zoom.h,v 1.43 2007-01-10 13:25:46 adam Exp $ */ +/* $Id: zoom.h,v 1.47 2007-05-05 11:53:27 adam Exp $ */ /** * \file zoom.h @@ -314,6 +314,9 @@ ZOOM_API(ZOOM_options) ZOOM_options_create_with_parent2 (ZOOM_options parent1, ZOOM_options parent2); +ZOOM_API(ZOOM_options) + ZOOM_options_dup(ZOOM_options src); + ZOOM_API(const char *) ZOOM_options_get (ZOOM_options opt, const char *name); @@ -370,21 +373,38 @@ ZOOM_API(int) ZOOM_connection_is_idle(ZOOM_connection c); -/** \brief processes one event for one of connections given +/** \brief process one event for one of connections given \param no number of connections (size of cs) \param cs connection array \retval 0 no event was processed \retval >0 event was processed for connection at (retval-1) + This function attemps to deal with outstandings events in a non-blocking + mode. If no events was processed (return value of 0), then the system + should attempt to deal with sockets in blocking mode using socket + select/poll which means calling the following functions: + ZOOM_connection_get_socket, ZOOM_connection_get_mask, + ZOOM_connection_get_timeout. +*/ +ZOOM_API(int) + ZOOM_event_nonblock(int no, ZOOM_connection *cs); + + +/** \brief process one event for connection + \param c connection + \retval 0 no event was processed + \retval 1 event was processed for connection + This function attemps to deal with outstandings events in - a non-blocking fashion. If no events was processed (return value of 0), + a non-blocking fashion. If no event was processed (return value of 0), then the system should attempt to deal with sockets in blocking mode using socket select/poll which means calling the following functions: ZOOM_connection_get_socket, ZOOM_connection_get_mask, - ZOOM_connection_get_timeout. + ZOOM_connection_get_timeout. If an event was processed call this + function again. */ ZOOM_API(int) - ZOOM_process_event(int no, ZOOM_connection *cs); + ZOOM_connection_process(ZOOM_connection c); /** \brief get socket fd for ZOOM connection