Update source headers for 2008. Omit CVS ID keyword subst.
[yaz-moved-to-github.git] / include / yaz / poll.h
index 7edc317..3a11496 100644 (file)
@@ -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.1 2007-11-09 16:46:43 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,20 +59,22 @@ struct yaz_poll_fd {
     void *client_data;
 };
 
-/** \brief socket poll wrapper using select
- */
-int yaz_poll_select(struct yaz_poll_fd *fds, int num_fds, int timeout);
-
-/** \brief socket poll using poll */
-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 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
+
     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