X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Fpoll.h;h=08ac9b594774c6736628ff5b3ef849e98eeaa477;hb=bab540a6816b1ae07a834075e0c71d0f160565e4;hp=f617bdda0d162e5e4ea911e10d11cf0437f70881;hpb=d6a36b43e4fa99ada736ee7680c7bb106107f223;p=yaz-moved-to-github.git diff --git a/include/yaz/poll.h b/include/yaz/poll.h index f617bdd..08ac9b5 100644 --- a/include/yaz/poll.h +++ b/include/yaz/poll.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: poll.h,v 1.2 2007-11-09 19:00:08 adam Exp $ */ +/* $Id: poll.h,v 1.5 2008-02-21 10:15:03 adam Exp $ */ /** * \file @@ -40,6 +40,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 +59,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 \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,8 +71,10 @@ 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