avahi
0.7
|
Simple poll() based main loop implementation. More...
Go to the source code of this file.
Typedefs | |
typedef struct AvahiSimplePoll | AvahiSimplePoll |
A main loop object. More... | |
typedef int(* | AvahiPollFunc) (struct pollfd *ufds, unsigned int nfds, int timeout, void *userdata) |
Prototype for a poll() type function. More... | |
Functions | |
AvahiSimplePoll * | avahi_simple_poll_new (void) |
Create a new main loop object. More... | |
void | avahi_simple_poll_free (AvahiSimplePoll *s) |
Free a main loop object. More... | |
const AvahiPoll * | avahi_simple_poll_get (AvahiSimplePoll *s) |
Return the abstracted poll API object for this main loop object. More... | |
int | avahi_simple_poll_iterate (AvahiSimplePoll *s, int sleep_time) |
Run a single main loop iteration of this main loop. More... | |
void | avahi_simple_poll_quit (AvahiSimplePoll *s) |
Request that the main loop quits. More... | |
void | avahi_simple_poll_set_func (AvahiSimplePoll *s, AvahiPollFunc func, void *userdata) |
Replace the internally used poll() function. More... | |
int | avahi_simple_poll_prepare (AvahiSimplePoll *s, int timeout) |
The first stage of avahi_simple_poll_iterate(), use this function only if you know what you do. More... | |
int | avahi_simple_poll_run (AvahiSimplePoll *s) |
The second stage of avahi_simple_poll_iterate(), use this function only if you know what you do. More... | |
int | avahi_simple_poll_dispatch (AvahiSimplePoll *s) |
The third and final stage of avahi_simple_poll_iterate(), use this function only if you know what you do. More... | |
int | avahi_simple_poll_loop (AvahiSimplePoll *s) |
Call avahi_simple_poll_iterate() in a loop and return if it returns non-zero. More... | |
void | avahi_simple_poll_wakeup (AvahiSimplePoll *s) |
Wakeup the main loop. More... | |
Simple poll() based main loop implementation.
Definition in file simple-watch.h.
typedef int(* AvahiPollFunc) (struct pollfd *ufds, unsigned int nfds, int timeout, void *userdata) |
Prototype for a poll() type function.
Definition at line 63 of file simple-watch.h.
typedef struct AvahiSimplePoll AvahiSimplePoll |
A main loop object.
Main loops of this type aren't very flexible since they only support a single wakeup type. Nevertheless it should suffice for small test and example applications.
Definition at line 34 of file simple-watch.h.
int avahi_simple_poll_dispatch | ( | AvahiSimplePoll * | s | ) |
The third and final stage of avahi_simple_poll_iterate(), use this function only if you know what you do.
void avahi_simple_poll_free | ( | AvahiSimplePoll * | s | ) |
Free a main loop object.
const AvahiPoll* avahi_simple_poll_get | ( | AvahiSimplePoll * | s | ) |
Return the abstracted poll API object for this main loop object.
The is will return the same pointer each time it is called.
int avahi_simple_poll_iterate | ( | AvahiSimplePoll * | s, |
int | sleep_time | ||
) |
Run a single main loop iteration of this main loop.
If sleep_time is < 0 this will block until any of the registered events happens, then it will execute the attached callback function. If sleep_time is 0 the routine just checks if any event is pending. If yes the attached callback function is called, otherwise the function returns immediately. If sleep_time > 0 the function will block for at most the specified time in msecs. Returns -1 on error, 0 on success and 1 if a quit request has been scheduled. Usually this function should be called in a loop until it returns a non-zero value
int avahi_simple_poll_loop | ( | AvahiSimplePoll * | s | ) |
Call avahi_simple_poll_iterate() in a loop and return if it returns non-zero.
AvahiSimplePoll* avahi_simple_poll_new | ( | void | ) |
Create a new main loop object.
int avahi_simple_poll_prepare | ( | AvahiSimplePoll * | s, |
int | timeout | ||
) |
The first stage of avahi_simple_poll_iterate(), use this function only if you know what you do.
void avahi_simple_poll_quit | ( | AvahiSimplePoll * | s | ) |
Request that the main loop quits.
If this is called the next call to avahi_simple_poll_iterate() will return 1
int avahi_simple_poll_run | ( | AvahiSimplePoll * | s | ) |
The second stage of avahi_simple_poll_iterate(), use this function only if you know what you do.
void avahi_simple_poll_set_func | ( | AvahiSimplePoll * | s, |
AvahiPollFunc | func, | ||
void * | userdata | ||
) |
Replace the internally used poll() function.
By default the system's poll() will be used
void avahi_simple_poll_wakeup | ( | AvahiSimplePoll * | s | ) |
Wakeup the main loop.
(for threaded environments)