summaryrefslogtreecommitdiff
path: root/nuttx/netutils/thttpd/fdwatch.h
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-07-18 18:04:05 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-07-18 18:04:05 +0000
commit0ae84141bbd645eff4c096b608a2aee7704ea17a (patch)
tree8f69951d409be32bcb4b4895ddb3d3a4d8171e42 /nuttx/netutils/thttpd/fdwatch.h
parent9b9e5bbafa1f5d03f903a4ec0985f68af7164792 (diff)
downloadpx4-nuttx-0ae84141bbd645eff4c096b608a2aee7704ea17a.tar.gz
px4-nuttx-0ae84141bbd645eff4c096b608a2aee7704ea17a.tar.bz2
px4-nuttx-0ae84141bbd645eff4c096b608a2aee7704ea17a.zip
Fix CGI I/O redirection and interposer tasks
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1988 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/netutils/thttpd/fdwatch.h')
-rw-r--r--nuttx/netutils/thttpd/fdwatch.h43
1 files changed, 35 insertions, 8 deletions
diff --git a/nuttx/netutils/thttpd/fdwatch.h b/nuttx/netutils/thttpd/fdwatch.h
index cf6bd551e..65a6704ce 100644
--- a/nuttx/netutils/thttpd/fdwatch.h
+++ b/nuttx/netutils/thttpd/fdwatch.h
@@ -40,6 +40,10 @@
#ifndef __NETUTILS_THTTPD_FDWATCH_H
#define __NETUTILS_THTTPD_FDWATCH_H
+/****************************************************************************
+ * Pre-Processor Definitions
+ ****************************************************************************/
+
#define FDW_READ 0
#define FDW_WRITE 1
@@ -47,39 +51,62 @@
# define INFTIM -1
#endif
-/* initialize the fdwatch data structures. Returns -1 on failure. */
+/****************************************************************************
+ * Private Types
+ ****************************************************************************/
+
+struct fdwatch_s
+{
+ int *fd_rw;
+ void **fd_data;
+ struct pollfd *pollfds;
+ int *poll_pollndx;
+ int *poll_rfdidx;
+ int nfds;
+ int npoll_fds;
+};
+
+/****************************************************************************
+ * Public Function Prototypes
+ ****************************************************************************/
+
+/* Initialize the fdwatch data structures. Returns NULL on failure. */
+
+extern struct fdwatch_s *fdwatch_initialize(int nfds);
+
+/* Uninitialize the fwdatch data structure */
-extern int fdwatch_initialize(void);
+extern void fdwatch_uninitialize(struct fdwatch_s *fw);
/* Add a descriptor to the watch list. rw is either FDW_READ or FDW_WRITE. */
-extern void fdwatch_add_fd(int fd, void *client_data, int rw);
+extern void fdwatch_add_fd(struct fdwatch_s *fw, int fd, void *client_data, int rw);
/* Delete a descriptor from the watch list. */
-extern void fdwatch_del_fd(int fd);
+extern void fdwatch_del_fd(struct fdwatch_s *fw, int fd);
/* Do the watch. Return value is the number of descriptors that are ready,
* or 0 if the timeout expired, or -1 on errors. A timeout of INFTIM means
* wait indefinitely.
*/
-extern int fdwatch(long timeout_msecs);
+extern int fdwatch(struct fdwatch_s *fw, long timeout_msecs);
/* Check if a descriptor was ready. */
-extern int fdwatch_check_fd(int fd);
+extern int fdwatch_check_fd(struct fdwatch_s *fw, int fd);
/* Get the client data for the next returned event. Returns -1 when there
* are no more events.
*/
-extern void *fdwatch_get_next_client_data(void);
+extern void *fdwatch_get_next_client_data(struct fdwatch_s *fw);
/* Generate debugging statistics syslog message. */
#if defined(CONFIG_DEBUG) && defined(CONFIG_DEBUG_NET)
-extern void fdwatch_logstats(long secs);
+extern void fdwatch_logstats(struct fdwatch_s *fw, long secs);
#endif
#endif /* __NETUTILS_THTTPD_FDWATCH_H */