X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Fpoll.h;h=2c290e3c148c289fe52b4c96c067606dd201ac04;hp=f617bdda0d162e5e4ea911e10d11cf0437f70881;hb=4c1a14ddb2c650b935bc8dff4dc3f8a98ff7531c;hpb=d6a36b43e4fa99ada736ee7680c7bb106107f223 diff --git a/include/yaz/poll.h b/include/yaz/poll.h index f617bdd..2c290e3 100644 --- a/include/yaz/poll.h +++ b/include/yaz/poll.h @@ -1,5 +1,5 @@ -/* - * Copyright (c) 1995-2007, Index Data +/* This file is part of the YAZ toolkit. + * Copyright (C) 1995-2013 Index Data. * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -24,7 +24,6 @@ * (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: poll.h,v 1.2 2007-11-09 19:00:08 adam Exp $ */ /** * \file @@ -40,6 +39,7 @@ YAZ_BEGIN_CDECL /** \brief select/poll masks .. timeout is "output" only */ enum yaz_poll_mask { + yaz_poll_none = 0, yaz_poll_read = 1, yaz_poll_write = 2, yaz_poll_except = 4, @@ -58,30 +58,11 @@ struct yaz_poll_fd { void *client_data; }; -/** \brief socket poll wrapper using select - \param fds array of sockets to be polled - \param num_fds size of fds array (number of sockets) - \param timeout number of seconds to wait (-1 for no timeout) - \retval -1 error - \retval 0 timeout - \retval >0 event occur on one or more sockets -*/ -int yaz_poll_select(struct yaz_poll_fd *fds, int num_fds, int timeout); - -/** \brief socket poll using poll - \param fds array of sockets to be polled - \param num_fds size of fds array (number of sockets) - \param timeout number of seconds to wait (-1 for no timeout) - \retval -1 error - \retval 0 timeout - \retval >0 event occur on one or more sockets -*/ -int yaz_poll_poll(struct yaz_poll_fd *fds, int num_fds, int timeout); - -/** \brief poll wrapper for poll or select +/** \brief poll wrapper for poll or select \param fds array of sockets to be polled \param num_fds size of fds array (number of sockets) - \param timeout number of seconds to wait (-1 for no timeout) + \param sec number of seconds to wait (-1 for no timeout) + \param nsec nano seconds to wait \retval -1 error \retval 0 timeout \retval >0 event occur on one or more sockets @@ -89,14 +70,17 @@ int yaz_poll_poll(struct yaz_poll_fd *fds, int num_fds, int timeout); This functions calls yaz_poll_poll on systems where poll is available and yaz_poll_select where it it unavailable. */ -int yaz_poll(struct yaz_poll_fd *fds, int num_fds, int timeout); +YAZ_EXPORT +int yaz_poll(struct yaz_poll_fd *fds, int num_fds, int sec, int nsec); +#define yaz_poll_add(var,value) var = (enum yaz_poll_mask ) ((int) var | value) YAZ_END_CDECL #endif /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab