diff options
Diffstat (limited to 'man/sd_event_get_fd.3')
-rw-r--r-- | man/sd_event_get_fd.3 | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/man/sd_event_get_fd.3 b/man/sd_event_get_fd.3 deleted file mode 100644 index 1faaea6027..0000000000 --- a/man/sd_event_get_fd.3 +++ /dev/null @@ -1,152 +0,0 @@ -'\" t -.TH "SD_EVENT_GET_FD" "3" "" "systemd 221" "sd_event_get_fd" -.\" ----------------------------------------------------------------- -.\" * Define some portability stuff -.\" ----------------------------------------------------------------- -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.\" http://bugs.debian.org/507673 -.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html -.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -.ie \n(.g .ds Aq \(aq -.el .ds Aq ' -.\" ----------------------------------------------------------------- -.\" * set default formatting -.\" ----------------------------------------------------------------- -.\" disable hyphenation -.nh -.\" disable justification (adjust text to left margin only) -.ad l -.\" ----------------------------------------------------------------- -.\" * MAIN CONTENT STARTS HERE * -.\" ----------------------------------------------------------------- -.SH "NAME" -sd_event_get_fd \- Obtain a file descriptor to poll for event loop events -.SH "SYNOPSIS" -.sp -.ft B -.nf -#include <systemd/sd\-bus\&.h> -.fi -.ft -.HP \w'int\ sd_event_get_fd('u -.BI "int sd_event_get_fd(sd_bus\ *" "event" ");" -.SH "DESCRIPTION" -.PP -\fBsd_event_get_fd()\fR -returns the file descriptor that the event loop object returned by the -\fBsd_event_new\fR(3) -function uses to wait for events\&. This file descriptor can be polled for events\&. This makes it possible to embed the -\fBsd-event\fR(3) -event loop inside of another event loop\&. -.SH "RETURN VALUE" -.PP -On success, -\fBsd_event_get_fd()\fR -returns a non\-negative integer\&. On failure, it returns a negative errno\-style error code\&. -.SH "ERRORS" -.PP -Returned errors may indicate the following problems: -.PP -\fB\-EINVAL\fR -.RS 4 -\fIevent\fR -is not a valid pointer to an -sd_event -structure\&. -.RE -.PP -\fB\-ECHILD\fR -.RS 4 -The event loop has been created in a different process\&. -.RE -.SH "EXAMPLES" -.PP -\fBExample\ \&1.\ \&Integration in glib event loop\fR -.sp -.if n \{\ -.RS 4 -.\} -.nf -/*** - Copyright 2014 Tom Gundersen - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software\&. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT\&. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE\&. -***/ - -#include <stdlib\&.h> - -typedef struct SDEventSource { - GSource source; - GPollFD pollfd; - sd_event *event; -} SDEventSource; - -static gboolean event_prepare(GSource *source, gint *timeout_) { - return sd_event_prepare(((SDEventSource *)source)\->event) > 0; -} - -static gboolean event_check(GSource *source) { - return sd_event_wait(((SDEventSource *)source)\->event, 0) > 0; -} - -static gboolean event_dispatch(GSource *source, GSourceFunc callback, gpointer user_data) { - return sd_event_dispatch(((SDEventSource *)source)\->event) > 0; -} - -static void event_finalize(GSource *source) { - sd_event_unref(((SDEventSource *)source)\->event); -} - -static GSourceFuncs event_funcs = { - \&.prepare = event_prepare, - \&.check = event_check, - \&.dispatch = event_dispatch, - \&.finalize = event_finalize, -}; - -GSource *g_sd_event_create_source(sd_event *event) { - SDEventSource *source; - - source = (SDEventSource *)g_source_new(&event_funcs, sizeof(SDEventSource)); - - source\->event = sd_event_ref(event); - source\->pollfd\&.fd = sd_event_get_fd(event); - source\->pollfd\&.events = G_IO_IN | G_IO_HUP | G_IO_ERR; - - g_source_add_poll((GSource *)source, &source\->pollfd); - - return (GSource *)source; -} -.fi -.if n \{\ -.RE -.\} -.SH "NOTES" -.PP -\fBsd_event_get_fd()\fR -is available as a shared library, which can be compiled and linked to with the -\fBlibsystemd\fR\ \&\fBpkg-config\fR(1) -file\&. -.SH "SEE ALSO" -.PP -\fBsd-event\fR(3), -\fBsd_event_new\fR(3), -\fBsd_event_ref\fR(3) |