X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=include%2Fyaz%2Fpoll.h;h=3a11496eb634b45c86bf0a52000e085f130a979a;hp=f617bdda0d162e5e4ea911e10d11cf0437f70881;hb=ee6ab2ee3a9ee1a8c65d7272ec7fba1d886f5af0;hpb=d6a36b43e4fa99ada736ee7680c7bb106107f223 diff --git a/include/yaz/poll.h b/include/yaz/poll.h index f617bdd..3a11496 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-2008 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,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