+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);