6674N/A<?
xml version='1.0'?>
<!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> 6674N/A<!
DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 6674N/A This file is part of systemd. 6674N/A Copyright 2015 Lennart Poettering 6674N/A systemd is free software; you can redistribute it and/or modify it 6674N/A under the terms of the GNU Lesser General Public License as published by 6674N/A the Free Software Foundation; either version 2.1 of the License, or 6674N/A (at your option) any later version. 6674N/A systemd is distributed in the hope that it will be useful, but 6674N/A WITHOUT ANY WARRANTY; without even the implied warranty of 6674N/A MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 6674N/A Lesser General Public License for more details. 6674N/A You should have received a copy of the GNU Lesser General Public License 6674N/A <
title>sd_event_source_set_enabled</
title>
6674N/A <
productname>systemd</
productname>
6674N/A <
contrib>Developer</
contrib>
6674N/A <
firstname>Lennart</
firstname>
6674N/A <
surname>Poettering</
surname>
6674N/A <
email>lennart@poettering.net</
email>
6674N/A <
refentrytitle>sd_event_source_set_enabled</
refentrytitle>
6674N/A <
refname>sd_event_source_set_enabled</
refname>
6674N/A <
refname>sd_event_source_get_enabled</
refname>
6674N/A <
refname>SD_EVENT_ON</
refname>
6674N/A <
refname>SD_EVENT_OFF</
refname>
6674N/A <
refname>SD_EVENT_ONESHOT</
refname>
6674N/A <
refpurpose>Enable or disable event sources</
refpurpose>
6674N/A <
funcsynopsisinfo><
token>enum</
token> {
6674N/A <
constant>SD_EVENT_OFF</
constant> = 0,
6674N/A <
constant>SD_EVENT_ON</
constant> = 1,
6674N/A <
constant>SD_EVENT_ONESHOT</
constant> = -1,
6674N/A <
funcdef>int <
function>sd_event_source_set_enabled</
function></
funcdef>
6674N/A <
paramdef>sd_event_source *<
parameter>source</
parameter></
paramdef>
6674N/A <
paramdef>int <
parameter>enabled</
parameter></
paramdef>
6674N/A <
funcdef>int <
function>sd_event_source_get_enabled</
function></
funcdef>
6674N/A <
paramdef>sd_event_source *<
parameter>source</
parameter></
paramdef>
6674N/A <
paramdef>int *<
parameter>enabled</
parameter></
paramdef>
6674N/A <
para><
function>sd_event_source_set_enabled()</
function> may be
6674N/A used to enable or disable the event source object specified as
6674N/A <
parameter>source</
parameter>. The <
parameter>enabled</
parameter>
6674N/A parameter takes one of <
constant>SD_EVENT_ON</
constant> (to
6674N/A enable), <
constant>SD_EVENT_OFF</
constant> (to disable) or
6674N/A <
constant>SD_EVENT_ONESHOT</
constant>. If invoked with
6674N/A <
constant>SD_EVENT_ONESHOT</
constant> the event source will be
6674N/A enabled but automatically reset to
6674N/A <
constant>SD_EVENT_OFF</
constant> after the event source was
6674N/A <
para>Event sources that are disabled will not result in event
6674N/A loop wakeups and will not be dispatched, until they are enabled
6674N/A <
para><
function>sd_event_source_get_enabled()</
function> may be
6674N/A used to query whether the event source object
6674N/A <
parameter>source</
parameter> is currently enabled or not. It
6674N/A returns the enablement state in
6674N/A <
parameter>enabled</
parameter>.</
para>
6674N/A <
para>Event source objects are enabled when they are first created
6674N/A <
citerefentry><
refentrytitle>sd_event_add_io</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>,
6674N/A <
citerefentry><
refentrytitle>sd_event_add_time</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>. However,
depending on the event source type they are enabled continuously
(<
constant>SD_EVENT_ON</
constant>) or only for a single invocation
of the event source handler
(<
constant>SD_EVENT_ONESHOT</
constant>). For details see the
respective manual pages.</
para>
<
para>As event source objects stay active and may be dispatched as
long as there is at least one reference to them, in many cases it
is a good idea to combine a call to
<
citerefentry><
refentrytitle>sd_event_source_unref</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>
<
function>sd_event_source_set_enabled()</
function> with
<
constant>SD_EVENT_OFF</
constant>, to ensure the event source is
not dispatched again until all other remaining references are dropped.</
para>
<
title>Return Value</
title>
<
para>On success, <
function>sd_event_source_set_enabled()</
function> and
<
function>sd_event_source_get_enabled()</
function> return a
non-negative integer. On failure, they return a negative
errno-style error code.</
para>
<
para>Returned errors may indicate the following problems:</
para>
<
term><
constant>-EINVAL</
constant></
term>
<
listitem><
para><
parameter>source</
parameter> is not a valid
pointer to an <
structname>sd_event_source</
structname>
object.</
para></
listitem>
<
term><
constant>-ENOMEM</
constant></
term>
<
listitem><
para>Not enough memory.</
para></
listitem>
<
term><
constant>-ECHILD</
constant></
term>
<
listitem><
para>The event loop has been created in a different process.</
para></
listitem>
<
citerefentry><
refentrytitle>sd-event</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>,
<
citerefentry><
refentrytitle>sd_event_add_io</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>,
<
citerefentry><
refentrytitle>sd_event_add_time</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>,
<
citerefentry><
refentrytitle>sd_event_add_child</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>,
<
citerefentry><
refentrytitle>sd_event_add_signal</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>,
<
citerefentry><
refentrytitle>sd_event_add_defer</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>,
<
citerefentry><
refentrytitle>sd_event_source_unref</
refentrytitle><
manvolnum>3</
manvolnum></
citerefentry>