+ZOOM_API(ZOOM_options_callback)
+ ZOOM_options_set_callback (ZOOM_options opt,
+ ZOOM_options_callback c,
+ void *handle);
+ZOOM_API(ZOOM_options)
+ZOOM_options_create (void);
+
+ZOOM_API(ZOOM_options)
+ZOOM_options_create_with_parent (ZOOM_options parent);
+
+ZOOM_API(ZOOM_options)
+ ZOOM_options_create_with_parent2 (ZOOM_options parent1,
+ ZOOM_options parent2);
+
+ZOOM_API(ZOOM_options)
+ ZOOM_options_dup(ZOOM_options src);
+
+ZOOM_API(const char *)
+ZOOM_options_get (ZOOM_options opt, const char *name);
+
+ZOOM_API(const char *)
+ZOOM_options_getl (ZOOM_options opt, const char *name, int *lenp);
+
+ZOOM_API(void)
+ZOOM_options_set (ZOOM_options opt, const char *name, const char *v);
+
+ZOOM_API(void)
+ZOOM_options_setl (ZOOM_options opt, const char *name, const char *value,
+ int len);
+
+ZOOM_API(void)
+ZOOM_options_destroy (ZOOM_options opt);
+
+ZOOM_API(int)
+ZOOM_options_get_bool (ZOOM_options opt, const char *name, int defa);
+
+ZOOM_API(int)
+ZOOM_options_get_int (ZOOM_options opt, const char *name, int defa);
+
+ZOOM_API(void)
+ZOOM_options_set_int(ZOOM_options opt, const char *name, int value);
+
+/** \brief select/poll socket mask: read */
+#define ZOOM_SELECT_READ 1
+/** \brief select/poll socket mask: write */
+#define ZOOM_SELECT_WRITE 2
+/** \brief select/poll socket mask: except */
+#define ZOOM_SELECT_EXCEPT 4
+
+/** \brief wait for events on connection(s) (BLOCKING)
+ \param no number of connections (size of cs)
+ \param cs connection array
+ \retval 0 no event was fired
+ \retval >0 event was fired for connection at (retval-1)
+
+ blocking poll for events on a number of connections. Returns positive
+ integer if event occurred ; zero if none occurred and no more
+ events are pending. The positive integer specifies the
+ connection for which the event occurred.
+*/
+ZOOM_API(int)
+ZOOM_event (int no, ZOOM_connection *cs);
+