/** \file watch.h Simplistic main loop abstraction */
#include <sys/poll.h>
-#include <avahi-common/cdecl.h>
+#include <sys/time.h>
-#include "timeval.h"
+#include <avahi-common/cdecl.h>
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
AVAHI_C_DECL_BEGIN
-#endif
/** An I/O watch object */
typedef struct AvahiWatch AvahiWatch;
-/** An I/O watch object */
+/** A timeout watch object */
typedef struct AvahiTimeout AvahiTimeout;
/** An event polling abstraction object */
/** Type of watch events */
typedef enum {
- AVAHI_WATCH_IN = POLLIN, /** Input event */
- AVAHI_WATCH_OUT = POLLOUT, /** Output event */
- AVAHI_WATCH_ERR = POLLERR, /** Error event */
- AVAHI_WATCH_HUP = POLLHUP /** Hangup event */
+ AVAHI_WATCH_IN = POLLIN, /**< Input event */
+ AVAHI_WATCH_OUT = POLLOUT, /**< Output event */
+ AVAHI_WATCH_ERR = POLLERR, /**< Error event */
+ AVAHI_WATCH_HUP = POLLHUP /**< Hangup event */
} AvahiWatchEvent;
/** Called whenever an I/O event happens on an I/O watch */
typedef void (*AvahiTimeoutCallback)(AvahiTimeout *t, void *userdata);
/** Defines an abstracted event polling API. This may be used to
- connect Avahi to other main loops. This is losely based on Unix
+ connect Avahi to other main loops. This is loosely based on Unix
poll(2). A consumer will call watch_new() for all file descriptors it
- wants to listen for events on. In addition he can call set_wakeup()
- to define a single wakeup time.*/
+ wants to listen for events on. In addition he can call timeout_new()
+ to define time based events .*/
struct AvahiPoll {
/** Some abstract user data usable by the provider of the API */
AvahiTimeout* (*timeout_new)(const AvahiPoll *api, const struct timeval *tv, AvahiTimeoutCallback callback, void *userdata);
/** Update the absolute expiration time for a timeout, If tv is
- * null, the timeout is disabled. It is safe to call this function from an AvahiTimeoutCallback */
+ * NULL, the timeout is disabled. It is safe to call this function from an AvahiTimeoutCallback */
void (*timeout_update)(AvahiTimeout *, const struct timeval *tv);
/** Free a timeout. It is safe to call this function from an AvahiTimeoutCallback */
void (*timeout_free)(AvahiTimeout *t);
};
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
AVAHI_C_DECL_END
-#endif
#endif