2002-10-10 Marcus Brinkmann <marcus@g10code.de>
[gpgme.git] / gpgme / wait.h
index 857e5d5..de459cc 100644 (file)
@@ -1,6 +1,6 @@
-/* wait.h -  definitions for wait.c
+/* wait.h - Definitions for the wait queue interface.
  *     Copyright (C) 2000 Werner Koch (dd9jn)
- *      Copyright (C) 2001 g10 Code GmbH
+ *      Copyright (C) 2001, 2002 g10 Code GmbH
  *
  * This file is part of GPGME.
  *
 #define WAIT_H
 
 #include "gpgme.h"
+#include "sema.h"
 
-void _gpgme_remove_proc_from_wait_queue ( int pid );
-
-GpgmeError _gpgme_register_pipe_handler ( 
-    void *opaque, 
-    int (*handler)(void*,int,int),
-    void *handler_value,
-    int pid, int fd, int inbound );
-
-#endif /* WAIT_H */
-
+struct fd_table
+{
+  DECLARE_LOCK (lock);
+  struct io_select_fd_s *fds;
+  size_t size;
+};
+typedef struct fd_table *fd_table_t;
 
+void _gpgme_fd_table_init (fd_table_t fdt);
+void _gpgme_fd_table_deinit (fd_table_t fdt);
 
+GpgmeError _gpgme_add_io_cb (void *data, int fd, int dir,
+                            GpgmeIOCb fnc, void *fnc_data, void **r_tag);
+void _gpgme_remove_io_cb (void *tag);
+void _gpgme_wait_event_cb (void *data, GpgmeEventIO type, void *type_data);
 
+GpgmeError _gpgme_wait_one (GpgmeCtx ctx);
 
+#endif /* WAIT_H */