diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-09-07 19:32:21 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2016-09-07 19:32:21 -0400 |
commit | d351468cd9898f9a0714640bc6f7c9177dcf578a (patch) | |
tree | 816b07c101bcf8e21817ba712999eacbdbcb32a9 /man | |
parent | cf8410fb2cb47740865b8ba9ab5f4d42eb53cec2 (diff) |
./move.sh
Diffstat (limited to 'man')
127 files changed, 0 insertions, 32043 deletions
diff --git a/man/Makefile b/man/Makefile deleted file mode 120000 index bd1047548b..0000000000 --- a/man/Makefile +++ /dev/null @@ -1 +0,0 @@ -../src/Makefile
\ No newline at end of file diff --git a/man/bootctl.xml b/man/bootctl.xml deleted file mode 100644 index ebd58750d3..0000000000 --- a/man/bootctl.xml +++ /dev/null @@ -1,128 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="bootctl" conditional='ENABLE_EFI' - xmlns:xi="http://www.w3.org/2001/XInclude"> - <refentryinfo> - <title>bootctl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Kay</firstname> - <surname>Sievers</surname> - <email>kay@vrfy.org</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>bootctl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>bootctl</refname> - <refpurpose>Control the firmware and boot manager settings</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg>status</command> - </cmdsynopsis> - <cmdsynopsis> - <command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg>update</command> - </cmdsynopsis> - <cmdsynopsis> - <command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg>install</command> - </cmdsynopsis> - <cmdsynopsis> - <command>bootctl <arg choice="opt" rep="repeat">OPTIONS</arg>remove</command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>bootctl</command> checks, updates, - installs or removes the boot loader from the current - system.</para> - - <para><command>bootctl status</command> checks and prints the - currently installed versions of the boot loader binaries and - all current EFI boot variables.</para> - - <para><command>bootctl update</command> updates all installed - versions of systemd-boot, if the current version is newer than the - version installed in the EFI system partition. This also includes - the EFI default/fallback loader at /EFI/Boot/boot*.efi. A - systemd-boot entry in the EFI boot variables is created if there - is no current entry. The created entry will be added to the end of - the boot order list.</para> - - <para><command>bootctl install</command> installs systemd-boot into - the EFI system partition. A copy of systemd-boot will be stored as - the EFI default/fallback loader at /EFI/Boot/boot*.efi. A systemd-boot - entry in the EFI boot variables is created and added to the top - of the boot order list.</para> - - <para><command>bootctl remove</command> removes all installed - versions of systemd-boot from the EFI system partition, and removes - systemd-boot from the EFI boot variables.</para> - - <para>If no command is passed, <command>status</command> is - implied.</para> - </refsect1> - - <refsect1> - <title>Options</title> - <para>The following options are understood:</para> - - <variablelist> - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - <varlistentry> - <term><option>--path</option></term> - <listitem><para>Path to the EFI system partition. The default is /boot.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-variables</option></term> - <listitem><para>Do not touch the EFI boot variables.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Exit status</title> - <para>On success, 0 is returned, a non-zero failure - code otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <ulink url="http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec">Boot loader specification</ulink> - <ulink url="http://www.freedesktop.org/wiki/Software/systemd/BootLoaderInterface">Systemd boot loader interface</ulink> - </para> - </refsect1> -</refentry> diff --git a/man/busctl.xml b/man/busctl.xml deleted file mode 100644 index b71a174634..0000000000 --- a/man/busctl.xml +++ /dev/null @@ -1,480 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="busctl" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>busctl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>busctl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>busctl</refname> - <refpurpose>Introspect the bus</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>busctl</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt">COMMAND</arg> - <arg choice="opt" rep="repeat"><replaceable>NAME</replaceable></arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>busctl</command> may be used to - introspect and monitor the D-Bus bus.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--address=<replaceable>ADDRESS</replaceable></option></term> - - <listitem><para>Connect to the bus specified by - <replaceable>ADDRESS</replaceable> instead of using suitable - defaults for either the system or user bus (see - <option>--system</option> and <option>--user</option> - options).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--show-machine</option></term> - - <listitem><para>When showing the list of peers, show a - column containing the names of containers they belong to. - See - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--unique</option></term> - - <listitem><para>When showing the list of peers, show only - "unique" names (of the form - <literal>:<replaceable>number</replaceable>.<replaceable>number</replaceable></literal>). - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--acquired</option></term> - - <listitem><para>The opposite of <option>--unique</option> — - only "well-known" names will be shown.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--activatable</option></term> - - <listitem><para>When showing the list of peers, show only - peers which have actually not been activated yet, but may be - started automatically if accessed.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--match=<replaceable>MATCH</replaceable></option></term> - - <listitem><para>When showing messages being exchanged, show only the - subset matching <replaceable>MATCH</replaceable>.</para></listitem> - <!-- TODO: link to sd_bus_add_match when it is written? --> - </varlistentry> - - <varlistentry> - <term><option>--size=</option></term> - - <listitem> - <para>When used with the <command>capture</command> command, - specifies the maximum bus message size to capture - ("snaplen"). Defaults to 4096 bytes.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--list</option></term> - - <listitem> - <para>When used with the <command>tree</command> command, shows a - flat list of object paths instead of a tree.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--quiet</option></term> - - <listitem> - <para>When used with the <command>call</command> command, - suppresses display of the response message payload. Note that even - if this option is specified, errors returned will still be - printed and the tool will indicate success or failure with - the process exit code.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--verbose</option></term> - - <listitem> - <para>When used with the <command>call</command> or - <command>get-property</command> command, shows output in a - more verbose format.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--expect-reply=</option><replaceable>BOOL</replaceable></term> - - <listitem> - <para>When used with the <command>call</command> command, - specifies whether <command>busctl</command> shall wait for - completion of the method call, output the returned method - response data, and return success or failure via the process - exit code. If this is set to <literal>no</literal>, the - method call will be issued but no response is expected, the - tool terminates immediately, and thus no response can be - shown, and no success or failure is returned via the exit - code. To only suppress output of the reply message payload, - use <option>--quiet</option> above. Defaults to - <literal>yes</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--auto-start=</option><replaceable>BOOL</replaceable></term> - - <listitem> - <para>When used with the <command>call</command> command, specifies - whether the method call should implicitly activate the - called service, should it not be running yet but is - configured to be auto-started. Defaults to - <literal>yes</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--allow-interactive-authorization=</option><replaceable>BOOL</replaceable></term> - - <listitem> - <para>When used with the <command>call</command> command, - specifies whether the services may enforce interactive - authorization while executing the operation, if the security - policy is configured for this. Defaults to - <literal>yes</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--timeout=</option><replaceable>SECS</replaceable></term> - - <listitem> - <para>When used with the <command>call</command> command, - specifies the maximum time to wait for method call - completion. If no time unit is specified, assumes - seconds. The usual other units are understood, too (ms, us, - s, min, h, d, w, month, y). Note that this timeout does not - apply if <option>--expect-reply=no</option> is used, as the - tool does not wait for any reply message then. When not - specified or when set to 0, the default of - <literal>25s</literal> is assumed.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--augment-creds=</option><replaceable>BOOL</replaceable></term> - - <listitem> - <para>Controls whether credential data reported by - <command>list</command> or <command>status</command> shall - be augmented with data from - <filename>/proc</filename>. When this is turned on, the data - shown is possibly inconsistent, as the data read from - <filename>/proc</filename> might be more recent than the rest of - the credential information. Defaults to <literal>yes</literal>.</para> - </listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="user" /> - <xi:include href="user-system-options.xml" xpointer="system" /> - <xi:include href="user-system-options.xml" xpointer="host" /> - <xi:include href="user-system-options.xml" xpointer="machine" /> - - <xi:include href="standard-options.xml" xpointer="no-pager" /> - <xi:include href="standard-options.xml" xpointer="no-legend" /> - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Commands</title> - - <para>The following commands are understood:</para> - - <variablelist> - <varlistentry> - <term><command>list</command></term> - - <listitem><para>Show all peers on the bus, by their service - names. By default, shows both unique and well-known names, but - this may be changed with the <option>--unique</option> and - <option>--acquired</option> switches. This is the default - operation if no command is specified.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>status</command> <arg choice="opt"><replaceable>SERVICE</replaceable></arg></term> - - <listitem><para>Show process information and credentials of a - bus service (if one is specified by its unique or well-known - name), a process (if one is specified by its numeric PID), or - the owner of the bus (if no parameter is - specified).</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>monitor</command> <arg choice="opt" rep="repeat"><replaceable>SERVICE</replaceable></arg></term> - - <listitem><para>Dump messages being exchanged. If - <replaceable>SERVICE</replaceable> is specified, show messages - to or from this peer, identified by its well-known or unique - name. Otherwise, show all messages on the bus. Use Ctrl-C to - terminate the dump.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>capture</command> <arg choice="opt" rep="repeat"><replaceable>SERVICE</replaceable></arg></term> - - <listitem><para>Similar to <command>monitor</command> but - writes the output in pcap format (for details, see the <ulink - url="http://wiki.wireshark.org/Development/LibpcapFileFormat">Libpcap - File Format</ulink> description. Make sure to redirect the - output to STDOUT to a file. Tools like - <citerefentry project='die-net'><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry> - may be used to dissect and view the generated - files.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>tree</command> <arg choice="opt" rep="repeat"><replaceable>SERVICE</replaceable></arg></term> - - <listitem><para>Shows an object tree of one or more - services. If <replaceable>SERVICE</replaceable> is specified, - show object tree of the specified services only. Otherwise, - show all object trees of all services on the bus that acquired - at least one well-known name.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>introspect</command> <arg choice="plain"><replaceable>SERVICE</replaceable></arg> <arg choice="plain"><replaceable>OBJECT</replaceable></arg> <arg choice="opt"><replaceable>INTERFACE</replaceable></arg></term> - - <listitem><para>Show interfaces, methods, properties and - signals of the specified object (identified by its path) on - the specified service. If the interface argument is passed, the - output is limited to members of the specified - interface.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>call</command> <arg choice="plain"><replaceable>SERVICE</replaceable></arg> <arg choice="plain"><replaceable>OBJECT</replaceable></arg> <arg choice="plain"><replaceable>INTERFACE</replaceable></arg> <arg choice="plain"><replaceable>METHOD</replaceable></arg> <arg choice="opt"><replaceable>SIGNATURE</replaceable> <arg choice="opt" rep="repeat"><replaceable>ARGUMENT</replaceable></arg></arg></term> - - <listitem><para>Invoke a method and show the response. Takes a - service name, object path, interface name and method name. If - parameters shall be passed to the method call, a signature - string is required, followed by the arguments, individually - formatted as strings. For details on the formatting used, see - below. To suppress output of the returned data, use the - <option>--quiet</option> option.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>get-property</command> <arg choice="plain"><replaceable>SERVICE</replaceable></arg> <arg choice="plain"><replaceable>OBJECT</replaceable></arg> <arg choice="plain"><replaceable>INTERFACE</replaceable></arg> <arg choice="plain" rep="repeat"><replaceable>PROPERTY</replaceable></arg></term> - - <listitem><para>Retrieve the current value of one or more - object properties. Takes a service name, object path, - interface name and property name. Multiple properties may be - specified at once, in which case their values will be shown one - after the other, separated by newlines. The output is, by - default, in terse format. Use <option>--verbose</option> for a - more elaborate output format.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-property</command> <arg choice="plain"><replaceable>SERVICE</replaceable></arg> <arg choice="plain"><replaceable>OBJECT</replaceable></arg> <arg choice="plain"><replaceable>INTERFACE</replaceable></arg> <arg choice="plain"><replaceable>PROPERTY</replaceable></arg> <arg choice="plain"><replaceable>SIGNATURE</replaceable></arg> <arg choice="plain" rep="repeat"><replaceable>ARGUMENT</replaceable></arg></term> - - <listitem><para>Set the current value of an object - property. Takes a service name, object path, interface name, - property name, property signature, followed by a list of - parameters formatted as strings.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>help</command></term> - - <listitem><para>Show command syntax help.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Parameter Formatting</title> - - <para>The <command>call</command> and - <command>set-property</command> commands take a signature string - followed by a list of parameters formatted as string (for details - on D-Bus signature strings, see the <ulink - url="http://dbus.freedesktop.org/doc/dbus-specification.html#type-system">Type - system chapter of the D-Bus specification</ulink>). For simple - types, each parameter following the signature should simply be the - parameter's value formatted as string. Positive boolean values may - be formatted as <literal>true</literal>, <literal>yes</literal>, - <literal>on</literal>, or <literal>1</literal>; negative boolean - values may be specified as <literal>false</literal>, - <literal>no</literal>, <literal>off</literal>, or - <literal>0</literal>. For arrays, a numeric argument for the - number of entries followed by the entries shall be specified. For - variants, the signature of the contents shall be specified, - followed by the contents. For dictionaries and structs, the - contents of them shall be directly specified.</para> - - <para>For example, - <programlisting>s jawoll</programlisting> is the formatting - of a single string <literal>jawoll</literal>.</para> - - <para> - <programlisting>as 3 hello world foobar</programlisting> - is the formatting of a string array with three entries, - <literal>hello</literal>, <literal>world</literal> and - <literal>foobar</literal>.</para> - - <para> - <programlisting>a{sv} 3 One s Eins Two u 2 Yes b true</programlisting> - is the formatting of a dictionary - array that maps strings to variants, consisting of three - entries. The string <literal>One</literal> is assigned the - string <literal>Eins</literal>. The string - <literal>Two</literal> is assigned the 32-bit unsigned - integer 2. The string <literal>Yes</literal> is assigned a - positive boolean.</para> - - <para>Note that the <command>call</command>, - <command>get-property</command>, <command>introspect</command> - commands will also generate output in this format for the returned - data. Since this format is sometimes too terse to be easily - understood, the <command>call</command> and - <command>get-property</command> commands may generate a more - verbose, multi-line output when passed the - <option>--verbose</option> option.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>Write and Read a Property</title> - - <para>The following two commands first write a property and then - read it back. The property is found on the - <literal>/org/freedesktop/systemd1</literal> object of the - <literal>org.freedesktop.systemd1</literal> service. The name of - the property is <literal>LogLevel</literal> on the - <literal>org.freedesktop.systemd1.Manager</literal> - interface. The property contains a single string:</para> - - <programlisting># busctl set-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel s debug -# busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager LogLevel -s "debug"</programlisting> - - </example> - - <example> - <title>Terse and Verbose Output</title> - - <para>The following two commands read a property that contains - an array of strings, and first show it in terse format, followed - by verbose format:</para> - - <programlisting>$ busctl get-property org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Environment -as 2 "LANG=en_US.UTF-8" "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin" -$ busctl get-property --verbose org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager Environment -ARRAY "s" { - STRING "LANG=en_US.UTF-8"; - STRING "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"; -};</programlisting> - </example> - - <example> - <title>Invoking a Method</title> - - <para>The following command invokes the - <literal>StartUnit</literal> method on the - <literal>org.freedesktop.systemd1.Manager</literal> - interface of the - <literal>/org/freedesktop/systemd1</literal> object - of the <literal>org.freedesktop.systemd1</literal> - service, and passes it two strings - <literal>cups.service</literal> and - <literal>replace</literal>. As a result of the method - call, a single object path parameter is received and - shown:</para> - - <programlisting># busctl call org.freedesktop.systemd1 /org/freedesktop/systemd1 org.freedesktop.systemd1.Manager StartUnit ss "cups.service" "replace" -o "/org/freedesktop/systemd1/job/42684"</programlisting> - </example> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry project='dbus'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <ulink url="http://freedesktop.org/wiki/Software/dbus">D-Bus</ulink>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>wireshark</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> -</refentry> diff --git a/man/coredumpctl.xml b/man/coredumpctl.xml deleted file mode 100644 index abc245be5e..0000000000 --- a/man/coredumpctl.xml +++ /dev/null @@ -1,259 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="coredumpctl" conditional='ENABLE_COREDUMP' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>coredumpctl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>coredumpctl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>coredumpctl</refname> - <refpurpose>Retrieve and process saved core dumps and metadata</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>coredumpctl</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="req">COMMAND</arg> - <arg choice="opt" rep="repeat">PID|COMM|EXE|MATCH</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>coredumpctl</command> is a tool that can be used to retrieve and process core - dumps and metadata which were saved by - <citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - </para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - - <varlistentry> - <term><option>--no-legend</option></term> - - <listitem><para>Do not print column headers.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="no-pager" /> - - <varlistentry> - <term><option>-1</option></term> - - <listitem><para>Show information of a single core dump only, instead of listing - all known core dumps.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-F</option> <replaceable>FIELD</replaceable></term> - <term><option>--field=</option><replaceable>FIELD</replaceable></term> - - <listitem><para>Print all possible data values the specified - field takes in matching core dump entries of the - journal.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-o</option> <replaceable>FILE</replaceable></term> - <term><option>--output=</option><replaceable>FILE</replaceable></term> - - <listitem><para>Write the core to <option>FILE</option>. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-D</option> <replaceable>DIR</replaceable></term> - <term><option>--directory=</option><replaceable>DIR</replaceable></term> - - <listitem><para>Use the journal files in the specified <option>DIR</option>. - </para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <refsect1> - <title>Commands</title> - - <para>The following commands are understood:</para> - - <variablelist> - <varlistentry> - <term><command>list</command></term> - - <listitem><para>List core dumps captured in the journal - matching specified characteristics. If no command is - specified, this is the implied default.</para> - - <para>It's worth noting that different restrictions apply to - data saved in the journal and core dump files saved in - <filename>/var/lib/systemd/coredump</filename>, see overview in - <citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - Thus it may very well happen that a particular core dump is still listed - in the journal while its corresponding core dump file has already been - removed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>info</command></term> - - <listitem><para>Show detailed information about core dumps - captured in the journal.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>dump</command></term> - - <listitem><para>Extract the last core dump matching specified - characteristics. The core dump will be written on standard - output, unless an output file is specified with - <option>--output=</option>. </para></listitem> - </varlistentry> - - <varlistentry> - <term><command>gdb</command></term> - - <listitem><para>Invoke the GNU debugger on the last core dump - matching specified characteristics. </para></listitem> - </varlistentry> - - </variablelist> - - </refsect1> - - <refsect1> - <title>Matching</title> - - <para>A match can be:</para> - - <variablelist> - <varlistentry> - <term><replaceable>PID</replaceable></term> - - <listitem><para>Process ID of the - process that dumped - core. An integer.</para></listitem> - </varlistentry> - - <varlistentry> - <term><replaceable>COMM</replaceable></term> - - <listitem><para>Name of the executable (matches - <option>COREDUMP_COMM=</option>). Must not contain slashes. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><replaceable>EXE</replaceable></term> - - <listitem><para>Path to the executable (matches - <option>COREDUMP_EXE=</option>). Must contain at least one - slash. </para></listitem> - </varlistentry> - - <varlistentry> - <term><replaceable>MATCH</replaceable></term> - - <listitem><para>General journalctl predicates (see - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>). - Must contain an equal sign. </para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Exit status</title> - <para>On success, 0 is returned; otherwise, a non-zero failure - code is returned. Not finding any matching core dumps is treated as - failure. - </para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>List all the core dumps of a program named foo</title> - - <programlisting># coredumpctl list foo</programlisting> - </example> - - <example> - <title>Invoke gdb on the last core dump</title> - - <programlisting># coredumpctl gdb</programlisting> - </example> - - <example> - <title>Show information about a process that dumped core, - matching by its PID 6654</title> - - <programlisting># coredumpctl info 6654</programlisting> - </example> - - <example> - <title>Extract the last core dump of /usr/bin/bar to a file named - <filename noindex="true">bar.coredump</filename></title> - - <programlisting># coredumpctl -o bar.coredump dump /usr/bin/bar</programlisting> - </example> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd-coredump</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>coredump.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>gdb</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/hostnamectl.xml b/man/hostnamectl.xml deleted file mode 100644 index 60004e9d04..0000000000 --- a/man/hostnamectl.xml +++ /dev/null @@ -1,260 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="hostnamectl" conditional='ENABLE_HOSTNAMED' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>hostnamectl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>hostnamectl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>hostnamectl</refname> - <refpurpose>Control the system hostname</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>hostnamectl</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="req">COMMAND</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>hostnamectl</command> may be used to query and - change the system hostname and related settings.</para> - - <para>This tool distinguishes three different hostnames: the - high-level "pretty" hostname which might include all kinds of - special characters (e.g. "Lennart's Laptop"), the static hostname - which is used to initialize the kernel hostname at boot (e.g. - "lennarts-laptop"), and the transient hostname which is a fallback - value received from network configuration. If a static hostname is - set, and is valid (something other than localhost), then the - transient hostname is not used.</para> - - <para>Note that the pretty hostname has little restrictions on the - characters used, while the static and transient hostnames are - limited to the usually accepted characters of Internet domain - names.</para> - - <para>The static hostname is stored in - <filename>/etc/hostname</filename>, see - <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for more information. The pretty hostname, chassis type, and icon - name are stored in <filename>/etc/machine-info</filename>, see - <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para> - - <para>Use - <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to initialize the system host name for mounted (but not booted) - system images.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--no-ask-password</option></term> - - <listitem><para>Do not query the user for authentication for - privileged operations.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--static</option></term> - <term><option>--transient</option></term> - <term><option>--pretty</option></term> - - <listitem><para>If <command>status</command> is used (or no - explicit command is given) and one of those fields is given, - <command>hostnamectl</command> will print out just this - selected hostname.</para> - - <para>If used with <command>set-hostname</command>, only the - selected hostname(s) will be updated. When more than one of - those options is used, all the specified hostnames will be - updated. </para></listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="host" /> - <xi:include href="user-system-options.xml" xpointer="machine" /> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - <para>The following commands are understood:</para> - - <variablelist> - <varlistentry> - <term><command>status</command></term> - - <listitem><para>Show current system - hostname and related - information.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-hostname <replaceable>NAME</replaceable></command></term> - - <listitem><para>Set the system hostname to - <replaceable>NAME</replaceable>. By default, this will alter - the pretty, the static, and the transient hostname alike; - however, if one or more of <option>--static</option>, - <option>--transient</option>, <option>--pretty</option> are - used, only the selected hostnames are changed. If the pretty - hostname is being set, and static or transient are being set - as well, the specified hostname will be simplified in regards - to the character set used before the latter are updated. This - is done by replacing spaces with <literal>-</literal> and - removing special characters. This ensures that the pretty and - the static hostname are always closely related while still - following the validity rules of the specific name. This - simplification of the hostname string is not done if only the - transient and/or static host names are set, and the pretty - host name is left untouched.</para> - - <para>Pass the empty string <literal></literal> as the - hostname to reset the selected hostnames to their default - (usually <literal>localhost</literal>).</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-icon-name <replaceable>NAME</replaceable></command></term> - - <listitem><para>Set the system icon name to - <replaceable>NAME</replaceable>. The icon name is used by some - graphical applications to visualize this host. The icon name - should follow the <ulink - url="http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html">Icon - Naming Specification</ulink>.</para> - - <para>Pass an empty string to reset the icon name to the - default value, which is determined from chassis type (see - below) and possibly other parameters.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-chassis <replaceable>TYPE</replaceable></command></term> - - <listitem><para>Set the chassis type to - <replaceable>TYPE</replaceable>. The chassis type is used by - some graphical applications to visualize the host or alter - user interaction. Currently, the following chassis types are - defined: - <literal>desktop</literal>, - <literal>laptop</literal>, - <literal>server</literal>, - <literal>tablet</literal>, - <literal>handset</literal>, - <literal>watch</literal>, - <literal>embedded</literal>, - as well as the special chassis types - <literal>vm</literal> and - <literal>container</literal> for virtualized systems that lack - an immediate physical chassis.</para> - - <para>Pass an empty string to reset the chassis type to the - default value which is determined from the firmware and - possibly other parameters.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>set-deployment <replaceable>ENVIRONMENT</replaceable></command></term> - - <listitem><para>Set the deployment environment description. - <replaceable>ENVIRONMENT</replaceable> must be a single word - without any control characters. One of the following is - suggested: - <literal>development</literal>, - <literal>integration</literal>, - <literal>staging</literal>, - <literal>production</literal>. - </para> - - <para>Pass an empty string to reset to the default empty - value.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>set-location <replaceable>LOCATION</replaceable></command></term> - - <listitem><para>Set the location string for the system, if it - is known. <replaceable>LOCATION</replaceable> should be a - human-friendly, free-form string describing the physical - location of the system, if it is known and applicable. This - may be as generic as <literal>Berlin, Germany</literal> or as - specific as <literal>Left Rack, 2nd Shelf</literal>.</para> - - <para>Pass an empty string to reset to the default empty - value.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-hostnamed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/journalctl.xml b/man/journalctl.xml deleted file mode 100644 index 3efe6ef62a..0000000000 --- a/man/journalctl.xml +++ /dev/null @@ -1,914 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - - <refentry id="journalctl" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>journalctl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>journalctl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>journalctl</refname> - <refpurpose>Query the systemd journal</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>journalctl</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="repeat">MATCHES</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>journalctl</command> may be used to query the - contents of the - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> - journal as written by - <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> - - <para>If called without parameters, it will show the full - contents of the journal, starting with the oldest entry - collected.</para> - - <para>If one or more match arguments are passed, the output is - filtered accordingly. A match is in the format - <literal>FIELD=VALUE</literal>, - e.g. <literal>_SYSTEMD_UNIT=httpd.service</literal>, referring - to the components of a structured journal entry. See - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry> - for a list of well-known fields. If multiple matches are - specified matching different fields, the log entries are - filtered by both, i.e. the resulting output will show only - entries matching all the specified matches of this kind. If two - matches apply to the same field, then they are automatically - matched as alternatives, i.e. the resulting output will show - entries matching any of the specified matches for the same - field. Finally, the character <literal>+</literal> may appear - as a separate word between other terms on the command line. This - causes all matches before and after to be combined in a - disjunction (i.e. logical OR).</para> - - <para>As shortcuts for a few types of field/value matches, file - paths may be specified. If a file path refers to an executable - file, this is equivalent to an <literal>_EXE=</literal> match - for the canonicalized binary path. Similarly, if a path refers - to a device node then match is added for the kernel name of the - device (<literal>_KERNEL_DEVICE=</literal>). Also, matches for the - kernel names of all the parent devices are added automatically. - Device node paths are not stable across reboots, therefore match - for the current boot id (<literal>_BOOT_ID=</literal>) is - always added as well. Note that only the log entries for - the existing device nodes maybe queried by providing path to - the device node.</para> - - <para>Additional constraints may be added using options - <option>--boot</option>, <option>--unit=</option>, etc., to - further limit what entries will be shown (logical AND).</para> - - <para>Output is interleaved from all accessible journal files, - whether they are rotated or currently being written, and - regardless of whether they belong to the system itself or are - accessible user journals.</para> - - <para>The set of journal files which will be used can be - modified using the <option>--user</option>, - <option>--system</option>, <option>--directory</option>, and - <option>--file</option> options, see below.</para> - - <para>All users are granted access to their private per-user - journals. However, by default, only root and users who are - members of a few special groups are granted access to the system - journal and the journals of other users. Members of the groups - <literal>systemd-journal</literal>, <literal>adm</literal>, and - <literal>wheel</literal> can read all journal files. Note - that the two latter groups traditionally have additional - privileges specified by the distribution. Members of the - <literal>wheel</literal> group can often perform administrative - tasks.</para> - - <para>The output is paged through <command>less</command> by - default, and long lines are "truncated" to screen width. The - hidden part can be viewed by using the left-arrow and - right-arrow keys. Paging can be disabled; see the - <option>--no-pager</option> option and the "Environment" section - below.</para> - - <para>When outputting to a tty, lines are colored according to - priority: lines of level ERROR and higher are colored red; lines - of level NOTICE and higher are highlighted; other lines are - displayed normally.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--no-full</option></term> - <term><option>--full</option></term> - <term><option>-l</option></term> - - <listitem><para>Ellipsize fields when they do not fit in - available columns. The default is to show full fields, - allowing them to wrap or be truncated by the pager, if one - is used.</para> - - <para>The old options - <option>-l</option>/<option>--full</option> are not useful - anymore, except to undo <option>--no-full</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-a</option></term> - <term><option>--all</option></term> - - <listitem><para>Show all fields in full, even if they - include unprintable characters or are very - long.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-f</option></term> - <term><option>--follow</option></term> - - <listitem><para>Show only the most recent journal entries, - and continuously print new entries as they are appended to - the journal.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-e</option></term> - <term><option>--pager-end</option></term> - - <listitem><para>Immediately jump to the end of the journal - inside the implied pager tool. This implies - <option>-n1000</option> to guarantee that the pager will not - buffer logs of unbounded size. This may be overridden with - an explicit <option>-n</option> with some other numeric - value, while <option>-nall</option> will disable this cap. - Note that this option is only supported for the - <citerefentry project='man-pages'><refentrytitle>less</refentrytitle><manvolnum>1</manvolnum></citerefentry> - pager.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-n</option></term> - <term><option>--lines=</option></term> - - <listitem><para>Show the most recent journal events and - limit the number of events shown. If - <option>--follow</option> is used, this option is - implied. The argument is a positive integer or - <literal>all</literal> to disable line limiting. The default - value is 10 if no argument is given.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-tail</option></term> - - <listitem><para>Show all stored output lines, even in follow - mode. Undoes the effect of <option>--lines=</option>. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-r</option></term> - <term><option>--reverse</option></term> - - <listitem><para>Reverse output so that the newest entries - are displayed first.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-o</option></term> - <term><option>--output=</option></term> - - <listitem><para>Controls the formatting of the journal - entries that are shown. Takes one of the following - options:</para> - <variablelist> - <varlistentry> - <term> - <option>short</option> - </term> - <listitem> - <para>is the default and generates an output that is - mostly identical to the formatting of classic syslog - files, showing one line per journal entry.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <option>short-iso</option> - </term> - <listitem> - <para>is very similar, but shows ISO 8601 wallclock - timestamps.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <option>short-precise</option> - </term> - <listitem> - <para>is very similar, but shows timestamps with full - microsecond precision.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <option>short-monotonic</option> - </term> - <listitem> - <para>is very similar, but shows monotonic timestamps - instead of wallclock timestamps.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <option>short-unix</option> - </term> - <listitem> - <para>is very similar, but shows seconds passed since January 1st 1970 UTC instead of wallclock - timestamps ("UNIX time"). The time is shown with microsecond accuracy.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <option>verbose</option> - </term> - <listitem> - <para>shows the full-structured entry items with all - fields.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <option>export</option> - </term> - <listitem> - <para>serializes the journal into a binary (but mostly - text-based) stream suitable for backups and network - transfer (see - <ulink url="http://www.freedesktop.org/wiki/Software/systemd/export">Journal Export Format</ulink> - for more information).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <option>json</option> - </term> - <listitem> - <para>formats entries as JSON data structures, one per - line (see - <ulink url="http://www.freedesktop.org/wiki/Software/systemd/json">Journal JSON Format</ulink> - for more information).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <option>json-pretty</option> - </term> - <listitem> - <para>formats entries as JSON data structures, but - formats them in multiple lines in order to make them - more readable by humans.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <option>json-sse</option> - </term> - <listitem> - <para>formats entries as JSON data structures, but wraps - them in a format suitable for - <ulink url="https://developer.mozilla.org/en-US/docs/Server-sent_events/Using_server-sent_events">Server-Sent Events</ulink>. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <option>cat</option> - </term> - <listitem> - <para>generates a very terse output, only showing the - actual message of each journal entry with no metadata, - not even a timestamp.</para> - </listitem> - </varlistentry> - </variablelist> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--utc</option></term> - - <listitem><para>Express time in Coordinated Universal Time - (UTC).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-hostname</option></term> - - <listitem><para>Don't show the hostname field of log messages originating from the local host. This switch only - has an effect on the <option>short</option> family of output modes (see above).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-x</option></term> - <term><option>--catalog</option></term> - - <listitem><para>Augment log lines with explanation texts from - the message catalog. This will add explanatory help texts to - log messages in the output where this is available. These - short help texts will explain the context of an error or log - event, possible solutions, as well as pointers to support - forums, developer documentation, and any other relevant - manuals. Note that help texts are not available for all - messages, but only for selected ones. For more information on - the message catalog, please refer to the - <ulink url="http://www.freedesktop.org/wiki/Software/systemd/catalog">Message Catalog Developer Documentation</ulink>.</para> - - <para>Note: when attaching <command>journalctl</command> - output to bug reports, please do <emphasis>not</emphasis> use - <option>-x</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-q</option></term> - <term><option>--quiet</option></term> - - <listitem><para>Suppresses all info messages - (i.e. "-- Logs begin at ...", "-- Reboot --"), - any warning messages regarding - inaccessible system journals when run as a normal - user.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-m</option></term> - <term><option>--merge</option></term> - - <listitem><para>Show entries interleaved from all available - journals, including remote ones.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-b <optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional></option></term> - <term><option>--boot=<optional><replaceable>ID</replaceable></optional><optional><replaceable>±offset</replaceable></optional></option></term> - - <listitem><para>Show messages from a specific boot. This will - add a match for <literal>_BOOT_ID=</literal>.</para> - - <para>The argument may be empty, in which case logs for the - current boot will be shown.</para> - - <para>If the boot ID is omitted, a positive - <replaceable>offset</replaceable> will look up the boots - starting from the beginning of the journal, and an - equal-or-less-than zero <replaceable>offset</replaceable> will - look up boots starting from the end of the journal. Thus, - <constant>1</constant> means the first boot found in the - journal in chronological order, <constant>2</constant> the - second and so on; while <constant>-0</constant> is the last - boot, <constant>-1</constant> the boot before last, and so - on. An empty <replaceable>offset</replaceable> is equivalent - to specifying <constant>-0</constant>, except when the current - boot is not the last boot (e.g. because - <option>--directory</option> was specified to look at logs - from a different machine).</para> - - <para>If the 32-character <replaceable>ID</replaceable> is - specified, it may optionally be followed by - <replaceable>offset</replaceable> which identifies the boot - relative to the one given by boot - <replaceable>ID</replaceable>. Negative values mean earlier - boots and positive values mean later boots. If - <replaceable>offset</replaceable> is not specified, a value of - zero is assumed, and the logs for the boot given by - <replaceable>ID</replaceable> are shown.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--list-boots</option></term> - - <listitem><para>Show a tabular list of boot numbers (relative to - the current boot), their IDs, and the timestamps of the first - and last message pertaining to the boot.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-k</option></term> - <term><option>--dmesg</option></term> - - <listitem><para>Show only kernel messages. This implies - <option>-b</option> and adds the match - <literal>_TRANSPORT=kernel</literal>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-t</option></term> - <term><option>--identifier=<replaceable>SYSLOG_IDENTIFIER</replaceable></option></term> - - <listitem><para>Show messages for the specified syslog - identifier - <replaceable>SYSLOG_IDENTIFIER</replaceable>.</para> - - <para>This parameter can be specified multiple - times.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-u</option></term> - <term><option>--unit=<replaceable>UNIT</replaceable>|<replaceable>PATTERN</replaceable></option></term> - - <listitem><para>Show messages for the specified systemd unit - <replaceable>UNIT</replaceable> (such as a service unit), or - for any of the units matched by - <replaceable>PATTERN</replaceable>. If a pattern is - specified, a list of unit names found in the journal is - compared with the specified pattern and all that match are - used. For each unit name, a match is added for messages from - the unit - (<literal>_SYSTEMD_UNIT=<replaceable>UNIT</replaceable></literal>), - along with additional matches for messages from systemd and - messages about coredumps for the specified unit.</para> - - <para>This parameter can be specified multiple times.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--user-unit=</option></term> - - <listitem><para>Show messages for the specified user session - unit. This will add a match for messages from the unit - (<literal>_SYSTEMD_USER_UNIT=</literal> and - <literal>_UID=</literal>) and additional matches for messages - from session systemd and messages about coredumps for the - specified unit.</para> - - <para>This parameter can be specified multiple times.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-p</option></term> - <term><option>--priority=</option></term> - - <listitem><para>Filter output by message priorities or - priority ranges. Takes either a single numeric or textual log - level (i.e. between 0/<literal>emerg</literal> and - 7/<literal>debug</literal>), or a range of numeric/text log - levels in the form FROM..TO. The log levels are the usual - syslog log levels as documented in - <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - i.e. <literal>emerg</literal> (0), - <literal>alert</literal> (1), <literal>crit</literal> (2), - <literal>err</literal> (3), <literal>warning</literal> (4), - <literal>notice</literal> (5), <literal>info</literal> (6), - <literal>debug</literal> (7). If a single log level is - specified, all messages with this log level or a lower (hence - more important) log level are shown. If a range is specified, - all messages within the range are shown, including both the - start and the end value of the range. This will add - <literal>PRIORITY=</literal> matches for the specified - priorities.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-c</option></term> - <term><option>--cursor=</option></term> - - <listitem><para>Start showing entries from the location in the - journal specified by the passed cursor.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--after-cursor=</option></term> - - <listitem><para>Start showing entries from the location in the - journal <emphasis>after</emphasis> the location specified by - the passed cursor. The cursor is shown when the - <option>--show-cursor</option> option is used.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--show-cursor</option></term> - - <listitem><para>The cursor is shown after the last entry after - two dashes:</para> - <programlisting>-- cursor: s=0639...</programlisting> - <para>The format of the cursor is private - and subject to change.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-S</option></term> - <term><option>--since=</option></term> - <term><option>-U</option></term> - <term><option>--until=</option></term> - - <listitem><para>Start showing entries on or newer than the - specified date, or on or older than the specified date, - respectively. Date specifications should be of the format - <literal>2012-10-30 18:17:16</literal>. If the time part is - omitted, <literal>00:00:00</literal> is assumed. If only the - seconds component is omitted, <literal>:00</literal> is - assumed. If the date component is omitted, the current day is - assumed. Alternatively the strings - <literal>yesterday</literal>, <literal>today</literal>, - <literal>tomorrow</literal> are understood, which refer to - 00:00:00 of the day before the current day, the current day, - or the day after the current day, - respectively. <literal>now</literal> refers to the current - time. Finally, relative times may be specified, prefixed with - <literal>-</literal> or <literal>+</literal>, referring to - times before or after the current time, respectively. For complete - time and date specification, see - <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry>. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-F</option></term> - <term><option>--field=</option></term> - - <listitem><para>Print all possible data values the specified - field can take in all entries of the journal.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-N</option></term> - <term><option>--fields</option></term> - - <listitem><para>Print all field names currently used in all entries of the journal.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--system</option></term> - <term><option>--user</option></term> - - <listitem><para>Show messages from system services and the - kernel (with <option>--system</option>). Show messages from - service of current user (with <option>--user</option>). If - neither is specified, show all messages that the user can see. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-M</option></term> - <term><option>--machine=</option></term> - - <listitem><para>Show messages from a running, local - container. Specify a container name to connect to.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-D <replaceable>DIR</replaceable></option></term> - <term><option>--directory=<replaceable>DIR</replaceable></option></term> - - <listitem><para>Takes a directory path as argument. If - specified, journalctl will operate on the specified journal - directory <replaceable>DIR</replaceable> instead of the - default runtime and system journal paths.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--file=<replaceable>GLOB</replaceable></option></term> - - <listitem><para>Takes a file glob as an argument. If - specified, journalctl will operate on the specified journal - files matching <replaceable>GLOB</replaceable> instead of the - default runtime and system journal paths. May be specified - multiple times, in which case files will be suitably - interleaved.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--root=<replaceable>ROOT</replaceable></option></term> - - <listitem><para>Takes a directory path as an argument. If - specified, journalctl will operate on catalog file hierarchy - underneath the specified directory instead of the root - directory (e.g. <option>--update-catalog</option> will create - <filename><replaceable>ROOT</replaceable>/var/lib/systemd/catalog/database</filename>). - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--new-id128</option></term> - - <listitem><para>Instead of showing journal contents, generate - a new 128-bit ID suitable for identifying messages. This is - intended for usage by developers who need a new identifier for - a new message they introduce and want to make - recognizable. This will print the new ID in three different - formats which can be copied into source code or similar. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--header</option></term> - - <listitem><para>Instead of showing journal contents, show - internal header information of the journal fields - accessed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--disk-usage</option></term> - - <listitem><para>Shows the current disk usage of all journal - files. This shows the sum of the disk usage of all archived - and active journal files.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--vacuum-size=</option></term> - <term><option>--vacuum-time=</option></term> - <term><option>--vacuum-files=</option></term> - - <listitem><para>Removes archived journal files until the disk - space they use falls below the specified size (specified with - the usual <literal>K</literal>, <literal>M</literal>, - <literal>G</literal> and <literal>T</literal> suffixes), or all - archived journal files contain no data older than the specified - timespan (specified with the usual <literal>s</literal>, - <literal>m</literal>, <literal>h</literal>, - <literal>days</literal>, <literal>months</literal>, - <literal>weeks</literal> and <literal>years</literal> suffixes), - or no more than the specified number of separate journal files - remain. Note that running <option>--vacuum-size=</option> has - only an indirect effect on the output shown by - <option>--disk-usage</option>, as the latter includes active - journal files, while the vacuuming operation only operates - on archived journal files. Similarly, - <option>--vacuum-files=</option> might not actually reduce the - number of journal files to below the specified number, as it - will not remove active journal - files. <option>--vacuum-size=</option>, - <option>--vacuum-time=</option> and - <option>--vacuum-files=</option> may be combined in a single - invocation to enforce any combination of a size, a time and a - number of files limit on the archived journal - files. Specifying any of these three parameters as zero is - equivalent to not enforcing the specific limit, and is thus - redundant.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--list-catalog - <optional><replaceable>128-bit-ID...</replaceable></optional> - </option></term> - - <listitem><para>List the contents of the message catalog as a - table of message IDs, plus their short description strings. - </para> - - <para>If any <replaceable>128-bit-ID</replaceable>s are - specified, only those entries are shown.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--dump-catalog - <optional><replaceable>128-bit-ID...</replaceable></optional> - </option></term> - - <listitem><para>Show the contents of the message catalog, with - entries separated by a line consisting of two dashes and the - ID (the format is the same as <filename>.catalog</filename> - files).</para> - - <para>If any <replaceable>128-bit-ID</replaceable>s are - specified, only those entries are shown.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--update-catalog</option></term> - - <listitem><para>Update the message catalog index. This command - needs to be executed each time new catalog files are - installed, removed, or updated to rebuild the binary catalog - index.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--setup-keys</option></term> - - <listitem><para>Instead of showing journal contents, generate - a new key pair for Forward Secure Sealing (FSS). This will - generate a sealing key and a verification key. The sealing key - is stored in the journal data directory and shall remain on - the host. The verification key should be stored - externally. Refer to the <option>Seal=</option> option in - <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for information on Forward Secure Sealing and for a link to a - refereed scholarly paper detailing the cryptographic theory it - is based on.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--force</option></term> - - <listitem><para>When <option>--setup-keys</option> is passed - and Forward Secure Sealing (FSS) has already been configured, - recreate FSS keys.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--interval=</option></term> - - <listitem><para>Specifies the change interval for the sealing - key when generating an FSS key pair with - <option>--setup-keys</option>. Shorter intervals increase CPU - consumption but shorten the time range of undetectable journal - alterations. Defaults to 15min.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--verify</option></term> - - <listitem><para>Check the journal file for internal - consistency. If the file has been generated with FSS enabled and - the FSS verification key has been specified with - <option>--verify-key=</option>, authenticity of the journal file - is verified.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--verify-key=</option></term> - - <listitem><para>Specifies the FSS verification key to use for - the <option>--verify</option> operation.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--sync</option></term> - - <listitem><para>Asks the journal daemon to write all yet - unwritten journal data to the backing file system and - synchronize all journals. This call does not return until the - synchronization operation is complete. This command guarantees - that any log messages written before its invocation are safely - stored on disk at the time it returns.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--flush</option></term> - - <listitem><para>Asks the journal daemon to flush any log data - stored in <filename>/run/log/journal</filename> into - <filename>/var/log/journal</filename>, if persistent storage - is enabled. This call does not return until the operation is - complete. Note that this call is idempotent: the data is only - flushed from <filename>/run/log/journal</filename> into - <filename>/var/log/journal</filename> once during system - runtime, and this command exits cleanly without executing any - operation if this has already has happened. This command - effectively guarantees that all data is flushed to - <filename>/var/log/journal</filename> at the time it - returns.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--rotate</option></term> - - <listitem><para>Asks the journal daemon to rotate journal - files. This call does not return until the rotation operation - is complete.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - <xi:include href="standard-options.xml" xpointer="no-pager" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned; otherwise, a non-zero failure - code is returned.</para> - </refsect1> - - <xi:include href="less-variables.xml" /> - - <refsect1> - <title>Examples</title> - - <para>Without arguments, all collected logs are shown - unfiltered:</para> - - <programlisting>journalctl</programlisting> - - <para>With one match specified, all entries with a field matching - the expression are shown:</para> - - <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service</programlisting> - - <para>If two different fields are matched, only entries matching - both expressions at the same time are shown:</para> - - <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097</programlisting> - - <para>If two matches refer to the same field, all entries matching - either expression are shown:</para> - - <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service</programlisting> - - <para>If the separator <literal>+</literal> is used, two - expressions may be combined in a logical OR. The following will - show all messages from the Avahi service process with the PID - 28097 plus all messages from the D-Bus service (from any of its - processes):</para> - - <programlisting>journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service</programlisting> - - <para>Show all logs generated by the D-Bus executable:</para> - - <programlisting>journalctl /usr/bin/dbus-daemon</programlisting> - - <para>Show all kernel logs from previous boot:</para> - - <programlisting>journalctl -k -b -1</programlisting> - - <para>Show a live log display from a system service - <filename>apache.service</filename>:</para> - - <programlisting>journalctl -f -u apache</programlisting> - - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>journald.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> -</refentry> diff --git a/man/kernel-install.xml b/man/kernel-install.xml deleted file mode 100644 index eb519188a6..0000000000 --- a/man/kernel-install.xml +++ /dev/null @@ -1,192 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2013 Harald Hoyer - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="kernel-install"> - - <refentryinfo> - <title>kernel-install</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Harald</firstname> - <surname>Hoyer</surname> - <email>harald@redhat.com</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>kernel-install</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>kernel-install</refname> - <refpurpose>Add and remove kernel and initramfs images to and from /boot</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>kernel-install</command> - <arg choice="plain">COMMAND</arg> - <arg choice="plain"><replaceable>KERNEL-VERSION</replaceable></arg> - <arg choice="opt"><replaceable>KERNEL-IMAGE</replaceable></arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - <para> - <command>kernel-install</command> is used to install and remove kernel and - initramfs images to and from <filename>/boot</filename>. - </para> - - <para><command>kernel-install</command> will execute the files - located in the directory <filename>/usr/lib/kernel/install.d/</filename> - and the local administration directory <filename>/etc/kernel/install.d/</filename>. - All files are collectively sorted and executed in lexical order, regardless of the directory in - which they live. However, files with identical filenames replace each other. - Files in <filename>/etc/kernel/install.d/</filename> take precedence over files with the same name - in <filename>/usr/lib/kernel/install.d/</filename>. This can be used to override a system-supplied - executables with a local file if needed; a symbolic link in <filename>/etc/kernel/install.d/</filename> - with the same name as an executable in <filename>/usr/lib/kernel/install.d/</filename>, - pointing to /dev/null, disables the executable entirely. Executables must have the - extension <literal>.install</literal>; other extensions are ignored.</para> - - </refsect1> - - <refsect1> - <title>Commands</title> - <para>The following commands are understood:</para> - <variablelist> - <varlistentry> - <term><command>add <replaceable>KERNEL-VERSION</replaceable> <replaceable>KERNEL-IMAGE</replaceable></command></term> - <listitem> - <para><command>kernel-install</command> creates the directory - <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> - and calls every executable - <filename>/usr/lib/kernel/install.d/*.install</filename> and - <filename>/etc/kernel/install.d/*.install</filename> with - the arguments - <programlisting>add <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting> - </para> - - <para>The kernel-install plugin <filename>50-depmod.install</filename> runs depmod for the <replaceable>KERNEL-VERSION</replaceable>.</para> - - <para>The kernel-install plugin - <filename>90-loaderentry.install</filename> copies - <replaceable>KERNEL-IMAGE</replaceable> to - <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/linux</filename>. - It also creates a boot loader entry according to the boot - loader specification in - <filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>. - The title of the entry is the - <replaceable>PRETTY_NAME</replaceable> parameter specified - in <filename>/etc/os-release</filename> or - <filename>/usr/lib/os-release</filename> (if the former is - missing), or "GNU/Linux - <replaceable>KERNEL-VERSION</replaceable>", if unset. If - the file <filename>initrd</filename> is found next to the - <filename>linux</filename> file, the initrd will be added to - the configuration.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>remove <replaceable>KERNEL-VERSION</replaceable></command></term> - <listitem> - <para>Calls every executable <filename>/usr/lib/kernel/install.d/*.install</filename> - and <filename>/etc/kernel/install.d/*.install</filename> with the arguments - <programlisting>remove <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting> - </para> - - <para><command>kernel-install</command> removes the entire directory - <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> afterwards.</para> - - <para>The kernel-install plugin <filename>90-loaderentry.install</filename> removes the file - <filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.</para> - </listitem> - </varlistentry> - - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - <para>If every executable returns with 0, 0 is returned, a non-zero failure code otherwise.</para> - </refsect1> - - <refsect1> - <title>Files</title> - <variablelist> - <varlistentry> - <term> - <filename>/usr/lib/kernel/install.d/*.install</filename> - <filename>/etc/kernel/install.d/*.install</filename> - </term> - <listitem> - <para>Drop-in files which are executed by kernel-install.</para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <filename>/etc/kernel/cmdline</filename> - <filename>/proc/cmdline</filename> - </term> - <listitem> - <para>The content of the file <filename>/etc/kernel/cmdline</filename> specifies the kernel command line to use. - If that file does not exist, <filename>/proc/cmdline</filename> is used.</para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <filename>/etc/machine-id</filename> - </term> - <listitem> - <para>The content of the file specifies the machine identification <replaceable>MACHINE-ID</replaceable>.</para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <filename>/etc/os-release</filename> - <filename>/usr/lib/os-release</filename> - </term> - <listitem> - <para>The content of the file specifies the operating system title <replaceable>PRETTY_NAME</replaceable>.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <ulink url="http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec">Boot loader specification</ulink> - </para> - </refsect1> - -</refentry> diff --git a/man/libudev.xml b/man/libudev.xml deleted file mode 100644 index 7ef978463c..0000000000 --- a/man/libudev.xml +++ /dev/null @@ -1,125 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ -<!ENTITY % entities SYSTEM "custom-entities.ent" > -%entities; -]> - -<!-- - This file is part of systemd. - - Copyright 2015 David Herrmann <dh.herrmann@gmail.com> - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="libudev" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>libudev</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>David</firstname> - <surname>Herrmann</surname> - <email>dh.herrmann@gmail.com</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>libudev</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>libudev</refname> - <refpurpose>API for enumerating and introspecting local devices</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <libudev.h></funcsynopsisinfo> - </funcsynopsis> - - <cmdsynopsis> - <command>pkg-config --cflags --libs libudev</command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>libudev.h</filename> provides APIs to introspect - and enumerate devices on the local system.</para> - - <para>All functions require a libudev context to operate. This - context can be create via - <citerefentry><refentrytitle>udev_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - It is used to track library state and link objects together. No - global state is used by libudev, everything is always linked to - a udev context. Furthermore, multiple different udev contexts can - be used in parallel by multiple threads. However, a single context - must not be accessed by multiple threads in parallel. The caller - is responsible for providing suitable locking if they intend to use - it from multiple threads.</para> - - <para>To introspect a local device on a system, a udev device - object can be created via - <citerefentry><refentrytitle>udev_device_new_from_syspath</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and friends. The device object allows to query current state, - read and write attributes and lookup properties of the device in - question.</para> - - <para>To enumerate local devices on the system, an enumeration - object can be created via - <citerefentry><refentrytitle>udev_enumerate_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>To monitor the local system for hotplugged or unplugged - devices, a monitor can be created via - <citerefentry><refentrytitle>udev_monitor_new_from_netlink</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>Whenever libudev returns a list of objects, the - <citerefentry><refentrytitle>udev_list_entry</refentrytitle><manvolnum>3</manvolnum></citerefentry> - API should be used to iterate, access and modify those lists.</para> - - <para>Furthermore, libudev also exports legacy APIs that should - not be used by new software (and as such are not documented as - part of this manual). This includes the hardware database known - as <constant>udev_hwdb</constant> (please use the new - <citerefentry><refentrytitle>sd-hwdb</refentrytitle><manvolnum>3</manvolnum></citerefentry> - API instead) and the <constant>udev_queue</constant> object to - query the udev daemon (which should not be used by new software - at all).</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>udev_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>udev_device_new_from_syspath</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>udev_enumerate_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>udev_monitor_new_from_netlink</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>udev_list_entry</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-device</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-hwdb</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/localectl.xml b/man/localectl.xml deleted file mode 100644 index 7def047f62..0000000000 --- a/man/localectl.xml +++ /dev/null @@ -1,221 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="localectl" conditional='ENABLE_LOCALED' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>localectl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>localectl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>localectl</refname> - <refpurpose>Control the system locale and keyboard layout settings</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>localectl</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="req">COMMAND</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>localectl</command> may be used to query and change - the system locale and keyboard layout settings.</para> - - <para>The system locale controls the language settings of system - services and of the UI before the user logs in, such as the - display manager, as well as the default for users after - login.</para> - - <para>The keyboard settings control the keyboard layout used on - the text console and of the graphical UI before the user logs in, - such as the display manager, as well as the default for users - after login.</para> - - <para>Use - <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to initialize the system locale for mounted (but not booted) - system images.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--no-ask-password</option></term> - - <listitem><para>Do not query the user for authentication for - privileged operations.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-convert</option></term> - - <listitem><para>If <command>set-keymap</command> or - <command>set-x11-keymap</command> is invoked and this option - is passed, then the keymap will not be converted from the - console to X11, or X11 to console, - respectively.</para></listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="host" /> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - <xi:include href="standard-options.xml" xpointer="no-pager" /> - </variablelist> - - <para>The following commands are understood:</para> - - <variablelist> - <varlistentry> - <term><command>status</command></term> - - <listitem><para>Show current settings of the system locale and - keyboard mapping.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-locale LOCALE...</command></term> - - <listitem><para>Set the system locale. This takes one or more - assignments such as "LANG=de_DE.utf8", - "LC_MESSAGES=en_GB.utf8", and so on. See - <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry> - for details on the available settings and their meanings. Use - <command>list-locales</command> for a list of available - locales (see below). </para></listitem> - </varlistentry> - - <varlistentry> - <term><command>list-locales</command></term> - - <listitem><para>List available locales useful for - configuration with - <command>set-locale</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-keymap MAP [TOGGLEMAP]</command></term> - - <listitem><para>Set the system keyboard mapping for the - console and X11. This takes a mapping name (such as "de" or - "us"), and possibly a second one to define a toggle keyboard - mapping. Unless <option>--no-convert</option> is passed, the - selected setting is also applied as the default system - keyboard mapping of X11, after converting it to the closest - matching X11 keyboard mapping. Use - <command>list-keymaps</command> for a list of available - keyboard mappings (see below).</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>list-keymaps</command></term> - - <listitem><para>List available keyboard mappings for the - console, useful for configuration with - <command>set-keymap</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-x11-keymap LAYOUT [MODEL [VARIANT [OPTIONS]]]</command></term> - - <listitem><para>Set the system default keyboard mapping for - X11 and the virtual console. This takes a keyboard mapping - name (such as <literal>de</literal> or <literal>us</literal>), - and possibly a model, variant, and options, see - <citerefentry><refentrytitle>kbd</refentrytitle><manvolnum>4</manvolnum></citerefentry> - for details. Unless <option>--no-convert</option> is passed, - the selected setting is also applied as the system console - keyboard mapping, after converting it to the closest matching - console keyboard mapping.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>list-x11-keymap-models</command></term> - <term><command>list-x11-keymap-layouts</command></term> - <term><command>list-x11-keymap-variants [LAYOUT]</command></term> - <term><command>list-x11-keymap-options</command></term> - - <listitem><para>List available X11 keymap models, layouts, - variants and options, useful for configuration with - <command>set-keymap</command>. The command - <command>list-x11-keymap-variants</command> optionally takes a - layout parameter to limit the output to the variants suitable - for the specific layout.</para></listitem> - </varlistentry> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <xi:include href="less-variables.xml" /> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='mankier'><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>kbd</refentrytitle><manvolnum>4</manvolnum></citerefentry>, - <ulink url="http://www.x.org/releases/current/doc/xorg-docs/input/XKB-Config.html"> - The XKB Configuration Guide - </ulink>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/loginctl.xml b/man/loginctl.xml deleted file mode 100644 index fb51740503..0000000000 --- a/man/loginctl.xml +++ /dev/null @@ -1,459 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="loginctl" conditional='ENABLE_LOGIND' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>loginctl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>loginctl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>loginctl</refname> - <refpurpose>Control the systemd login manager</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>loginctl</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="req">COMMAND</arg> - <arg choice="opt" rep="repeat">NAME</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>loginctl</command> may be used to introspect and - control the state of the - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> - login manager - <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--no-ask-password</option></term> - - <listitem><para>Do not query the user for authentication for - privileged operations.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-p</option></term> - <term><option>--property=</option></term> - - <listitem><para>When showing session/user/seat properties, - limit display to certain properties as specified as argument. - If not specified, all set properties are shown. The argument - should be a property name, such as - <literal>Sessions</literal>. If specified more than once, all - properties with the specified names are - shown.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--value</option></term> - - <listitem> - <para>When printing properties with <command>show</command>, - only print the value, and skip the property name and - <literal>=</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-a</option></term> - <term><option>--all</option></term> - - <listitem><para>When showing session/user/seat properties, - show all properties regardless of whether they are set or - not.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-l</option></term> - <term><option>--full</option></term> - - <listitem><para>Do not ellipsize process tree entries.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--kill-who=</option></term> - - <listitem><para>When used with - <command>kill-session</command>, choose which processes to - kill. Must be one of <option>leader</option>, or - <option>all</option> to select whether to kill only the leader - process of the session or all processes of the session. If - omitted, defaults to <option>all</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-s</option></term> - <term><option>--signal=</option></term> - - <listitem><para>When used with <command>kill-session</command> - or <command>kill-user</command>, choose which signal to send - to selected processes. Must be one of the well known signal - specifiers, such as <constant>SIGTERM</constant>, - <constant>SIGINT</constant> or <constant>SIGSTOP</constant>. - If omitted, defaults to - <constant>SIGTERM</constant>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-n</option></term> - <term><option>--lines=</option></term> - - <listitem><para>When used with <command>user-status</command> - and <command>session-status</command>, controls the number of - journal lines to show, counting from the most recent ones. - Takes a positive integer argument. Defaults to 10.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-o</option></term> - <term><option>--output=</option></term> - - <listitem><para>When used with <command>user-status</command> - and <command>session-status</command>, controls the formatting - of the journal entries that are shown. For the available - choices, see - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - Defaults to <literal>short</literal>.</para></listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="host" /> - <xi:include href="user-system-options.xml" xpointer="machine" /> - - <xi:include href="standard-options.xml" xpointer="no-pager" /> - <xi:include href="standard-options.xml" xpointer="no-legend" /> - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Commands</title> - - <para>The following commands are understood:</para> - - <refsect2><title>Session Commands</title><variablelist> - - <varlistentry> - <term><command>list-sessions</command></term> - - <listitem><para>List current sessions.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>session-status</command> <optional><replaceable>ID</replaceable>...</optional></term> - - <listitem><para>Show terse runtime status information about - one or more sessions, followed by the most recent log data - from the journal. Takes one or more session identifiers as - parameters. If no session identifiers are passed, the status of - the caller's session is shown. This function is intended to - generate human-readable output. If you are looking for - computer-parsable output, use <command>show-session</command> - instead.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>show-session</command> <optional><replaceable>ID</replaceable>...</optional></term> - - <listitem><para>Show properties of one or more sessions or the - manager itself. If no argument is specified, properties of the - manager will be shown. If a session ID is specified, - properties of the session are shown. By default, empty - properties are suppressed. Use <option>--all</option> to show - those too. To select specific properties to show, use - <option>--property=</option>. This command is intended to be - used whenever computer-parsable output is required. Use - <command>session-status</command> if you are looking for - formatted human-readable output.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>activate</command> <optional><replaceable>ID</replaceable></optional></term> - - <listitem><para>Activate a session. This brings a session into - the foreground if another session is currently in the - foreground on the respective seat. Takes a session identifier - as argument. If no argument is specified, the session of the - caller is put into foreground.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>lock-session</command> <optional><replaceable>ID</replaceable>...</optional></term> - <term><command>unlock-session</command> <optional><replaceable>ID</replaceable>...</optional></term> - - <listitem><para>Activates/deactivates the screen lock on one - or more sessions, if the session supports it. Takes one or - more session identifiers as arguments. If no argument is - specified, the session of the caller is locked/unlocked. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><command>lock-sessions</command></term> - <term><command>unlock-sessions</command></term> - - <listitem><para>Activates/deactivates the screen lock on all - current sessions supporting it. </para></listitem> - </varlistentry> - - <varlistentry> - <term><command>terminate-session</command> <replaceable>ID</replaceable>...</term> - - <listitem><para>Terminates a session. This kills all processes - of the session and deallocates all resources attached to the - session. </para></listitem> - </varlistentry> - - <varlistentry> - <term><command>kill-session</command> <replaceable>ID</replaceable>...</term> - - <listitem><para>Send a signal to one or more processes of the - session. Use <option>--kill-who=</option> to select which - process to kill. Use <option>--signal=</option> to select the - signal to send.</para></listitem> - </varlistentry> - </variablelist></refsect2> - - <refsect2><title>User Commands</title><variablelist> - <varlistentry> - <term><command>list-users</command></term> - - <listitem><para>List currently logged in users. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><command>user-status</command> <optional><replaceable>USER</replaceable>...</optional></term> - - <listitem><para>Show terse runtime status information about - one or more logged in users, followed by the most recent log - data from the journal. Takes one or more user names or numeric - user IDs as parameters. If no parameters are passed, the status - of the caller's user is shown. This function is intended to - generate human-readable output. If you are looking for - computer-parsable output, use <command>show-user</command> - instead. Users may be specified by their usernames or numeric - user IDs. </para></listitem> - </varlistentry> - - <varlistentry> - <term><command>show-user</command> <optional><replaceable>USER</replaceable>...</optional></term> - - <listitem><para>Show properties of one or more users or the - manager itself. If no argument is specified, properties of the - manager will be shown. If a user is specified, properties of - the user are shown. By default, empty properties are - suppressed. Use <option>--all</option> to show those too. To - select specific properties to show, use - <option>--property=</option>. This command is intended to be - used whenever computer-parsable output is required. Use - <command>user-status</command> if you are looking for - formatted human-readable output.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>enable-linger</command> <optional><replaceable>USER</replaceable>...</optional></term> - <term><command>disable-linger</command> <optional><replaceable>USER</replaceable>...</optional></term> - - <listitem><para>Enable/disable user lingering for one or more - users. If enabled for a specific user, a user manager is - spawned for the user at boot and kept around after logouts. - This allows users who are not logged in to run long-running - services. Takes one or more user names or numeric UIDs as - argument. If no argument is specified, enables/disables - lingering for the user of the session of the caller.</para> - - <para>See also <varname>KillUserProcesses=</varname> setting in - <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><command>terminate-user</command> <replaceable>USER</replaceable>...</term> - - <listitem><para>Terminates all sessions of a user. This kills - all processes of all sessions of the user and deallocates all - runtime resources attached to the user.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>kill-user</command> <replaceable>USER</replaceable>...</term> - - <listitem><para>Send a signal to all processes of a user. Use - <option>--signal=</option> to select the signal to send. - </para></listitem> - </varlistentry> - </variablelist></refsect2> - - <refsect2><title>Seat Commands</title><variablelist> - <varlistentry> - <term><command>list-seats</command></term> - - <listitem><para>List currently available seats on the local - system.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>seat-status</command> <optional><replaceable>NAME</replaceable>...</optional></term> - - <listitem><para>Show terse runtime status information about - one or more seats. Takes one or more seat names as parameters. - If no seat names are passed the status of the caller's - session's seat is shown. This function is intended to generate - human-readable output. If you are looking for - computer-parsable output, use <command>show-seat</command> - instead.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>show-seat</command> <optional><replaceable>NAME</replaceable>...</optional></term> - - <listitem><para>Show properties of one or more seats or the - manager itself. If no argument is specified, properties of the - manager will be shown. If a seat is specified, properties of - the seat are shown. By default, empty properties are - suppressed. Use <option>--all</option> to show those too. To - select specific properties to show, use - <option>--property=</option>. This command is intended to be - used whenever computer-parsable output is required. Use - <command>seat-status</command> if you are looking for - formatted human-readable output.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>attach</command> <replaceable>NAME</replaceable> <replaceable>DEVICE</replaceable>...</term> - - <listitem><para>Persistently attach one or more devices to a - seat. The devices should be specified via device paths in the - <filename>/sys</filename> file system. To create a new seat, - attach at least one graphics card to a previously unused seat - name. Seat names may consist only of a–z, A–Z, 0–9, - <literal>-</literal> and <literal>_</literal> and must be - prefixed with <literal>seat</literal>. To drop assignment of a - device to a specific seat, just reassign it to a different - seat, or use <command>flush-devices</command>. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><command>flush-devices</command></term> - - <listitem><para>Removes all device assignments previously - created with <command>attach</command>. After this call, only - automatically generated seats will remain, and all seat - hardware is assigned to them.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>terminate-seat</command> <replaceable>NAME</replaceable>...</term> - - <listitem><para>Terminates all sessions on a seat. This kills - all processes of all sessions on the seat and deallocates all - runtime resources attached to them.</para></listitem> - </varlistentry> - </variablelist></refsect2> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>Querying user status</title> - - <programlisting>$ loginctl user-status -fatima (1005) - Since: Sat 2016-04-09 14:23:31 EDT; 54min ago - State: active - Sessions: 5 *3 - Unit: user-1005.slice - ├─user@1005.service - ... - ├─session-3.scope - ... - └─session-5.scope - ├─3473 login -- fatima - └─3515 -zsh - -Apr 09 14:40:30 laptop login[2325]: pam_unix(login:session): - session opened for user fatima by LOGIN(uid=0) -Apr 09 14:40:30 laptop login[2325]: LOGIN ON tty3 BY fatima -</programlisting> - - <para>There are two sessions, 3 and 5. Session 3 is a graphical session, - marked with a star. The tree of processing including the two corresponding - scope units and the user manager unit are shown.</para> - </example> - </refsect1> - - <xi:include href="less-variables.xml" /> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/machinectl.xml b/man/machinectl.xml deleted file mode 100644 index 4b7f9a0391..0000000000 --- a/man/machinectl.xml +++ /dev/null @@ -1,1022 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2013 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="machinectl" conditional='ENABLE_MACHINED' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>machinectl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>machinectl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>machinectl</refname> - <refpurpose>Control the systemd machine manager</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>machinectl</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="req">COMMAND</arg> - <arg choice="opt" rep="repeat">NAME</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>machinectl</command> may be used to introspect and - control the state of the - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> - virtual machine and container registration manager - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> - - <para><command>machinectl</command> may be used to execute - operations on machines and images. Machines in this sense are - considered running instances of:</para> - - <itemizedlist> - <listitem><para>Virtual Machines (VMs) that virtualize hardware - to run full operating system (OS) instances (including their kernels) - in a virtualized environment on top of the host OS.</para></listitem> - - <listitem><para>Containers that share the hardware and - OS kernel with the host OS, in order to run - OS userspace instances on top the host OS.</para></listitem> - - <listitem><para>The host system itself</para></listitem> - </itemizedlist> - - <para>Machines are identified by names that follow the same rules - as UNIX and DNS host names, for details, see below. Machines are - instantiated from disk or file system images that frequently — but not - necessarily — carry the same name as machines running from - them. Images in this sense are considered:</para> - - <itemizedlist> - <listitem><para>Directory trees containing an OS, including its - top-level directories <filename>/usr</filename>, - <filename>/etc</filename>, and so on.</para></listitem> - - <listitem><para>btrfs subvolumes containing OS trees, similar to - normal directory trees.</para></listitem> - - <listitem><para>Binary "raw" disk images containing MBR or GPT - partition tables and Linux file system partitions.</para></listitem> - - <listitem><para>The file system tree of the host OS itself.</para></listitem> - </itemizedlist> - - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>-p</option></term> - <term><option>--property=</option></term> - - <listitem><para>When showing machine or image properties, - limit the output to certain properties as specified by the - argument. If not specified, all set properties are shown. The - argument should be a property name, such as - <literal>Name</literal>. If specified more than once, all - properties with the specified names are - shown.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-a</option></term> - <term><option>--all</option></term> - - <listitem><para>When showing machine or image properties, show - all properties regardless of whether they are set or - not.</para> - - <para>When listing VM or container images, do not suppress - images beginning in a dot character - (<literal>.</literal>).</para> - - <para>When cleaning VM or container images, remove all images, not just hidden ones.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--value</option></term> - - <listitem><para>When printing properties with <command>show</command>, only print the value, - and skip the property name and <literal>=</literal>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-l</option></term> - <term><option>--full</option></term> - - <listitem><para>Do not ellipsize process tree entries.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-ask-password</option></term> - - <listitem><para>Do not query the user for authentication for - privileged operations.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--kill-who=</option></term> - - <listitem><para>When used with <command>kill</command>, choose - which processes to kill. Must be one of - <option>leader</option>, or <option>all</option> to select - whether to kill only the leader process of the machine or all - processes of the machine. If omitted, defaults to - <option>all</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-s</option></term> - <term><option>--signal=</option></term> - - <listitem><para>When used with <command>kill</command>, choose - which signal to send to selected processes. Must be one of the - well-known signal specifiers, such as - <constant>SIGTERM</constant>, <constant>SIGINT</constant> or - <constant>SIGSTOP</constant>. If omitted, defaults to - <constant>SIGTERM</constant>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--uid=</option></term> - - <listitem><para>When used with the <command>shell</command> - command, chooses the user ID to open the interactive shell - session as. If this switch is not specified, defaults to - <literal>root</literal>. Note that this switch is not - supported for the <command>login</command> command (see - below).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-E <replaceable>NAME</replaceable>=<replaceable>VALUE</replaceable></option></term> - <term><option>--setenv=<replaceable>NAME</replaceable>=<replaceable>VALUE</replaceable></option></term> - - <listitem><para>When used with the <command>shell</command> command, sets an environment - variable to pass to the executed shell. Takes an environment variable name and value, - separated by <literal>=</literal>. This switch may be used multiple times to set multiple - environment variables. Note that this switch is not supported for the - <command>login</command> command (see below).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--mkdir</option></term> - - <listitem><para>When used with <command>bind</command>, creates - the destination directory before applying the bind - mount.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--read-only</option></term> - - <listitem><para>When used with <command>bind</command>, applies - a read-only bind mount.</para> - - <para>When used with <command>clone</command>, <command>import-raw</command> or <command>import-tar</command> a - read-only container or VM image is created.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-n</option></term> - <term><option>--lines=</option></term> - - <listitem><para>When used with <command>status</command>, - controls the number of journal lines to show, counting from - the most recent ones. Takes a positive integer argument. - Defaults to 10.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-o</option></term> - <term><option>--output=</option></term> - - <listitem><para>When used with <command>status</command>, - controls the formatting of the journal entries that are shown. - For the available choices, see - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - Defaults to <literal>short</literal>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--verify=</option></term> - - <listitem><para>When downloading a container or VM image, - specify whether the image shall be verified before it is made - available. Takes one of <literal>no</literal>, - <literal>checksum</literal> and <literal>signature</literal>. - If <literal>no</literal>, no verification is done. If - <literal>checksum</literal> is specified, the download is - checked for integrity after the transfer is complete, but no - signatures are verified. If <literal>signature</literal> is - specified, the checksum is verified and the image's signature - is checked against a local keyring of trustable vendors. It is - strongly recommended to set this option to - <literal>signature</literal> if the server and protocol - support this. Defaults to - <literal>signature</literal>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--force</option></term> - - <listitem><para>When downloading a container or VM image, and - a local copy by the specified local machine name already - exists, delete it first and replace it by the newly downloaded - image.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--format=</option></term> - - <listitem><para>When used with the <option>export-tar</option> - or <option>export-raw</option> commands, specifies the - compression format to use for the resulting file. Takes one of - <literal>uncompressed</literal>, <literal>xz</literal>, - <literal>gzip</literal>, <literal>bzip2</literal>. By default, - the format is determined automatically from the image file - name passed.</para></listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="host" /> - <xi:include href="user-system-options.xml" xpointer="machine" /> - - <xi:include href="standard-options.xml" xpointer="no-pager" /> - <xi:include href="standard-options.xml" xpointer="no-legend" /> - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Commands</title> - - <para>The following commands are understood:</para> - - <refsect2><title>Machine Commands</title><variablelist> - - <varlistentry> - <term><command>list</command></term> - - <listitem><para>List currently running (online) virtual - machines and containers. To enumerate machine images that can - be started, use <command>list-images</command> (see - below). Note that this command hides the special - <literal>.host</literal> machine by default. Use the - <option>--all</option> switch to show it.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>status</command> <replaceable>NAME</replaceable>...</term> - - <listitem><para>Show runtime status information about - one or more virtual machines and containers, followed by the - most recent log data from the journal. This function is - intended to generate human-readable output. If you are looking - for computer-parsable output, use <command>show</command> - instead. Note that the log data shown is reported by the - virtual machine or container manager, and frequently contains - console output of the machine, but not necessarily journal - contents of the machine itself.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>show</command> [<replaceable>NAME</replaceable>...]</term> - - <listitem><para>Show properties of one or more registered - virtual machines or containers or the manager itself. If no - argument is specified, properties of the manager will be - shown. If an NAME is specified, properties of this virtual - machine or container are shown. By default, empty properties - are suppressed. Use <option>--all</option> to show those too. - To select specific properties to show, use - <option>--property=</option>. This command is intended to be - used whenever computer-parsable output is required, and does - not print the cgroup tree or journal entries. Use - <command>status</command> if you are looking for formatted - human-readable output.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>start</command> <replaceable>NAME</replaceable>...</term> - - <listitem><para>Start a container as a system service, using - <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - This starts <filename>systemd-nspawn@.service</filename>, - instantiated for the specified machine name, similar to the - effect of <command>systemctl start</command> on the service - name. <command>systemd-nspawn</command> looks for a container - image by the specified name in - <filename>/var/lib/machines/</filename> (and other search - paths, see below) and runs it. Use - <command>list-images</command> (see below) for listing - available container images to start.</para> - - <para>Note that - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - also interfaces with a variety of other container and VM - managers, <command>systemd-nspawn</command> is just one - implementation of it. Most of the commands available in - <command>machinectl</command> may be used on containers or VMs - controlled by other managers, not just - <command>systemd-nspawn</command>. Starting VMs and container - images on those managers requires manager-specific - tools.</para> - - <para>To interactively start a container on the command line - with full access to the container's console, please invoke - <command>systemd-nspawn</command> directly. To stop a running - container use <command>machinectl poweroff</command>, see - below.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>login</command> [<replaceable>NAME</replaceable>]</term> - - <listitem><para>Open an interactive terminal login session in - a container or on the local host. If an argument is supplied, - it refers to the container machine to connect to. If none is - specified, or the container name is specified as the empty - string, or the special machine name <literal>.host</literal> - (see below) is specified, the connection is made to the local - host instead. This will create a TTY connection to a specific - container or the local host and asks for the execution of a - getty on it. Note that this is only supported for containers - running - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> - as init system.</para> - - <para>This command will open a full login prompt on the - container or the local host, which then asks for username and - password. Use <command>shell</command> (see below) or - <citerefentry><refentrytitle>systemd-run</refentrytitle><manvolnum>1</manvolnum></citerefentry> - with the <option>--machine=</option> switch to directly invoke - a single command, either interactively or in the - background.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>shell</command> [[<replaceable>NAME</replaceable>@]<replaceable>NAME</replaceable> [<replaceable>PATH</replaceable> [<replaceable>ARGUMENTS</replaceable>...]]] </term> - - <listitem><para>Open an interactive shell session in a - container or on the local host. The first argument refers to - the container machine to connect to. If none is specified, or - the machine name is specified as the empty string, or the - special machine name <literal>.host</literal> (see below) is - specified, the connection is made to the local host - instead. This works similar to <command>login</command> but - immediately invokes a user process. This command runs the - specified executable with the specified arguments, or - <filename>/bin/sh</filename> if none is specified. By default, - opens a <literal>root</literal> shell, but by using - <option>--uid=</option>, or by prefixing the machine name with - a username and an <literal>@</literal> character, a different - user may be selected. Use <option>--setenv=</option> to set - environment variables for the executed process.</para> - - <para>When using the <command>shell</command> command without - arguments, (thus invoking the executed shell or command on the - local host), it is in many ways similar to a <citerefentry - project='die-net'><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry> - session, but, unlike <command>su</command>, completely isolates - the new session from the originating session, so that it - shares no process or session properties, and is in a clean and - well-defined state. It will be tracked in a new utmp, login, - audit, security and keyring session, and will not inherit any - environment variables or resource limits, among other - properties.</para> - - <para>Note that - <citerefentry><refentrytitle>systemd-run</refentrytitle><manvolnum>1</manvolnum></citerefentry> - may be used in place of the <command>shell</command> command, - and allows more detailed, low-level configuration of the - invoked unit. However, it is frequently more privileged than - the <command>shell</command> command.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>enable</command> <replaceable>NAME</replaceable>...</term> - <term><command>disable</command> <replaceable>NAME</replaceable>...</term> - - <listitem><para>Enable or disable a container as a system - service to start at system boot, using - <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - This enables or disables - <filename>systemd-nspawn@.service</filename>, instantiated for - the specified machine name, similar to the effect of - <command>systemctl enable</command> or <command>systemctl - disable</command> on the service name.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>poweroff</command> <replaceable>NAME</replaceable>...</term> - - <listitem><para>Power off one or more containers. This will - trigger a reboot by sending SIGRTMIN+4 to the container's init - process, which causes systemd-compatible init systems to shut - down cleanly. This operation does not work on containers that - do not run a - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>-compatible - init system, such as sysvinit. Use - <command>terminate</command> (see below) to immediately - terminate a container or VM, without cleanly shutting it - down.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>reboot</command> <replaceable>NAME</replaceable>...</term> - - <listitem><para>Reboot one or more containers. This will - trigger a reboot by sending SIGINT to the container's init - process, which is roughly equivalent to pressing Ctrl+Alt+Del - on a non-containerized system, and is compatible with - containers running any system manager.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>terminate</command> <replaceable>NAME</replaceable>...</term> - - <listitem><para>Immediately terminates a virtual machine or - container, without cleanly shutting it down. This kills all - processes of the virtual machine or container and deallocates - all resources attached to that instance. Use - <command>poweroff</command> to issue a clean shutdown - request.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>kill</command> <replaceable>NAME</replaceable>...</term> - - <listitem><para>Send a signal to one or more processes of the - virtual machine or container. This means processes as seen by - the host, not the processes inside the virtual machine or - container. Use <option>--kill-who=</option> to select which - process to kill. Use <option>--signal=</option> to select the - signal to send.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>bind</command> <replaceable>NAME</replaceable> <replaceable>PATH</replaceable> [<replaceable>PATH</replaceable>]</term> - - <listitem><para>Bind mounts a directory from the host into the - specified container. The first directory argument is the - source directory on the host, the second directory argument - is the destination directory in the container. When the - latter is omitted, the destination path in the container is - the same as the source path on the host. When combined with - the <option>--read-only</option> switch, a ready-only bind - mount is created. When combined with the - <option>--mkdir</option> switch, the destination path is first - created before the mount is applied. Note that this option is - currently only supported for - <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry> - containers.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>copy-to</command> <replaceable>NAME</replaceable> <replaceable>PATH</replaceable> [<replaceable>PATH</replaceable>]</term> - - <listitem><para>Copies files or directories from the host - system into a running container. Takes a container name, - followed by the source path on the host and the destination - path in the container. If the destination path is omitted, the - same as the source path is used.</para></listitem> - </varlistentry> - - - <varlistentry> - <term><command>copy-from</command> <replaceable>NAME</replaceable> <replaceable>PATH</replaceable> [<replaceable>PATH</replaceable>]</term> - - <listitem><para>Copies files or directories from a container - into the host system. Takes a container name, followed by the - source path in the container the destination path on the host. - If the destination path is omitted, the same as the source path - is used.</para></listitem> - </varlistentry> - </variablelist></refsect2> - - <refsect2><title>Image Commands</title><variablelist> - - <varlistentry> - <term><command>list-images</command></term> - - <listitem><para>Show a list of locally installed container and - VM images. This enumerates all raw disk images and container - directories and subvolumes in - <filename>/var/lib/machines/</filename> (and other search - paths, see below). Use <command>start</command> (see above) to - run a container off one of the listed images. Note that, by - default, containers whose name begins with a dot - (<literal>.</literal>) are not shown. To show these too, - specify <option>--all</option>. Note that a special image - <literal>.host</literal> always implicitly exists and refers - to the image the host itself is booted from.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>image-status</command> [<replaceable>NAME</replaceable>...]</term> - - <listitem><para>Show terse status information about one or - more container or VM images. This function is intended to - generate human-readable output. Use - <command>show-image</command> (see below) to generate - computer-parsable output instead.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>show-image</command> [<replaceable>NAME</replaceable>...]</term> - - <listitem><para>Show properties of one or more registered - virtual machine or container images, or the manager itself. If - no argument is specified, properties of the manager will be - shown. If an NAME is specified, properties of this virtual - machine or container image are shown. By default, empty - properties are suppressed. Use <option>--all</option> to show - those too. To select specific properties to show, use - <option>--property=</option>. This command is intended to be - used whenever computer-parsable output is required. Use - <command>image-status</command> if you are looking for - formatted human-readable output.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>clone</command> <replaceable>NAME</replaceable> <replaceable>NAME</replaceable></term> - - <listitem><para>Clones a container or VM image. The arguments specify the name of the image to clone and the - name of the newly cloned image. Note that plain directory container images are cloned into btrfs subvolume - images with this command, if the underlying file system supports this. Note that cloning a container or VM - image is optimized for btrfs file systems, and might not be efficient on others, due to file system - limitations.</para> - - <para>Note that this command leaves host name, machine ID and - all other settings that could identify the instance - unmodified. The original image and the cloned copy will hence - share these credentials, and it might be necessary to manually - change them in the copy.</para> - - <para>If combined with the <option>--read-only</option> switch a read-only cloned image is - created.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>rename</command> <replaceable>NAME</replaceable> <replaceable>NAME</replaceable></term> - - <listitem><para>Renames a container or VM image. The - arguments specify the name of the image to rename and the new - name of the image.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>read-only</command> <replaceable>NAME</replaceable> [<replaceable>BOOL</replaceable>]</term> - - <listitem><para>Marks or (unmarks) a container or VM image - read-only. Takes a VM or container image name, followed by a - boolean as arguments. If the boolean is omitted, positive is - implied, i.e. the image is marked read-only.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>remove</command> <replaceable>NAME</replaceable>...</term> - - <listitem><para>Removes one or more container or VM images. - The special image <literal>.host</literal>, which refers to - the host's own directory tree, may not be - removed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-limit</command> [<replaceable>NAME</replaceable>] <replaceable>BYTES</replaceable></term> - - <listitem><para>Sets the maximum size in bytes that a specific - container or VM image, or all images, may grow up to on disk - (disk quota). Takes either one or two parameters. The first, - optional parameter refers to a container or VM image name. If - specified, the size limit of the specified image is changed. If - omitted, the overall size limit of the sum of all images stored - locally is changed. The final argument specifies the size - limit in bytes, possibly suffixed by the usual K, M, G, T - units. If the size limit shall be disabled, specify - <literal>-</literal> as size.</para> - - <para>Note that per-container size limits are only supported - on btrfs file systems. Also note that, if - <command>set-limit</command> is invoked without an image - parameter, and <filename>/var/lib/machines</filename> is - empty, and the directory is not located on btrfs, a btrfs - loopback file is implicitly created as - <filename>/var/lib/machines.raw</filename> with the given - size, and mounted to - <filename>/var/lib/machines</filename>. The size of the - loopback may later be readjusted with - <command>set-limit</command>, as well. If such a - loopback-mounted <filename>/var/lib/machines</filename> - directory is used, <command>set-limit</command> without an image - name alters both the quota setting within the file system as - well as the loopback file and file system size - itself.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>clean</command></term> - - <listitem><para>Remove hidden VM or container images (or all). This command removes all hidden machine images - from <filename>/var/lib/machines</filename>, i.e. those whose name begins with a dot. Use <command>machinectl - list-images --all</command> to see a list of all machine images, including the hidden ones.</para> - - <para>When combined with the <option>--all</option> switch removes all images, not just hidden ones. This - command effectively empties <filename>/var/lib/machines</filename>.</para> - - <para>Note that commands such as <command>machinectl pull-tar</command> or <command>machinectl - pull-raw</command> usually create hidden, read-only, unmodified machine images from the downloaded image first, - before cloning a writable working copy of it, in order to avoid duplicate downloads in case of images that are - reused multiple times. Use <command>machinectl clean</command> to remove old, hidden images created this - way.</para></listitem> - </varlistentry> - - </variablelist></refsect2> - - <refsect2><title>Image Transfer Commands</title><variablelist> - - <varlistentry> - <term><command>pull-tar</command> <replaceable>URL</replaceable> [<replaceable>NAME</replaceable>]</term> - - <listitem><para>Downloads a <filename>.tar</filename> - container image from the specified URL, and makes it available - under the specified local machine name. The URL must be of - type <literal>http://</literal> or - <literal>https://</literal>, and must refer to a - <filename>.tar</filename>, <filename>.tar.gz</filename>, - <filename>.tar.xz</filename> or <filename>.tar.bz2</filename> - archive file. If the local machine name is omitted, it - is automatically derived from the last component of the URL, - with its suffix removed.</para> - - <para>The image is verified before it is made available, - unless <option>--verify=no</option> is specified. Verification - is done via SHA256SUMS and SHA256SUMS.gpg files that need to - be made available on the same web server, under the same URL - as the <filename>.tar</filename> file, but with the last - component (the filename) of the URL replaced. With - <option>--verify=checksum</option>, only the SHA256 checksum - for the file is verified, based on the - <filename>SHA256SUMS</filename> file. With - <option>--verify=signature</option>, the SHA256SUMS file is - first verified with detached GPG signature file - <filename>SHA256SUMS.gpg</filename>. The public key for this - verification step needs to be available in - <filename>/usr/lib/systemd/import-pubring.gpg</filename> or - <filename>/etc/systemd/import-pubring.gpg</filename>.</para> - - <para>The container image will be downloaded and stored in a - read-only subvolume in - <filename>/var/lib/machines/</filename> that is named after - the specified URL and its HTTP etag. A writable snapshot is - then taken from this subvolume, and named after the specified - local name. This behavior ensures that creating multiple - container instances of the same URL is efficient, as multiple - downloads are not necessary. In order to create only the - read-only image, and avoid creating its writable snapshot, - specify <literal>-</literal> as local machine name.</para> - - <para>Note that the read-only subvolume is prefixed with - <filename>.tar-</filename>, and is thus not shown by - <command>list-images</command>, unless <option>--all</option> - is passed.</para> - - <para>Note that pressing C-c during execution of this command - will not abort the download. Use - <command>cancel-transfer</command>, described - below.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>pull-raw</command> <replaceable>URL</replaceable> [<replaceable>NAME</replaceable>]</term> - - <listitem><para>Downloads a <filename>.raw</filename> - container or VM disk image from the specified URL, and makes - it available under the specified local machine name. The URL - must be of type <literal>http://</literal> or - <literal>https://</literal>. The container image must either - be a <filename>.qcow2</filename> or raw disk image, optionally - compressed as <filename>.gz</filename>, - <filename>.xz</filename>, or <filename>.bz2</filename>. If the - local machine name is omitted, it is automatically - derived from the last component of the URL, with its suffix - removed.</para> - - <para>Image verification is identical for raw and tar images - (see above).</para> - - <para>If the downloaded image is in - <filename>.qcow2</filename> format it is converted into a raw - image file before it is made available.</para> - - <para>Downloaded images of this type will be placed as - read-only <filename>.raw</filename> file in - <filename>/var/lib/machines/</filename>. A local, writable - (reflinked) copy is then made under the specified local - machine name. To omit creation of the local, writable copy - pass <literal>-</literal> as local machine name.</para> - - <para>Similar to the behavior of <command>pull-tar</command>, - the read-only image is prefixed with - <filename>.raw-</filename>, and thus not shown by - <command>list-images</command>, unless <option>--all</option> - is passed.</para> - - <para>Note that pressing C-c during execution of this command - will not abort the download. Use - <command>cancel-transfer</command>, described - below.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>import-tar</command> <replaceable>FILE</replaceable> [<replaceable>NAME</replaceable>]</term> - <term><command>import-raw</command> <replaceable>FILE</replaceable> [<replaceable>NAME</replaceable>]</term> - <listitem><para>Imports a TAR or RAW container or VM image, - and places it under the specified name in - <filename>/var/lib/machines/</filename>. When - <command>import-tar</command> is used, the file specified as - the first argument should be a tar archive, possibly compressed - with xz, gzip or bzip2. It will then be unpacked into its own - subvolume in <filename>/var/lib/machines</filename>. When - <command>import-raw</command> is used, the file should be a - qcow2 or raw disk image, possibly compressed with xz, gzip or - bzip2. If the second argument (the resulting image name) is - not specified, it is automatically derived from the file - name. If the file name is passed as <literal>-</literal>, the - image is read from standard input, in which case the second - argument is mandatory.</para> - - <para>Both <command>pull-tar</command> and <command>pull-raw</command> - will resize <filename>/var/lib/machines.raw</filename> and the - filesystem therein as necessary. Optionally, the - <option>--read-only</option> switch may be used to create a - read-only container or VM image. No cryptographic validation - is done when importing the images.</para> - - <para>Much like image downloads, ongoing imports may be listed - with <command>list-transfers</command> and aborted with - <command>cancel-transfer</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>export-tar</command> <replaceable>NAME</replaceable> [<replaceable>FILE</replaceable>]</term> - <term><command>export-raw</command> <replaceable>NAME</replaceable> [<replaceable>FILE</replaceable>]</term> - <listitem><para>Exports a TAR or RAW container or VM image and - stores it in the specified file. The first parameter should be - a VM or container image name. The second parameter should be a - file path the TAR or RAW image is written to. If the path ends - in <literal>.gz</literal>, the file is compressed with gzip, if - it ends in <literal>.xz</literal>, with xz, and if it ends in - <literal>.bz2</literal>, with bzip2. If the path ends in - neither, the file is left uncompressed. If the second argument - is missing, the image is written to standard output. The - compression may also be explicitly selected with the - <option>--format=</option> switch. This is in particular - useful if the second parameter is left unspecified.</para> - - <para>Much like image downloads and imports, ongoing exports - may be listed with <command>list-transfers</command> and - aborted with - <command>cancel-transfer</command>.</para> - - <para>Note that, currently, only directory and subvolume images - may be exported as TAR images, and only raw disk images as RAW - images.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>list-transfers</command></term> - - <listitem><para>Shows a list of container or VM image - downloads, imports and exports that are currently in - progress.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>cancel-transfers</command> <replaceable>ID</replaceable>...</term> - - <listitem><para>Aborts a download, import or export of the - container or VM image with the specified ID. To list ongoing - transfers and their IDs, use - <command>list-transfers</command>. </para></listitem> - </varlistentry> - - </variablelist></refsect2> - - </refsect1> - - <refsect1> - <title>Machine and Image Names</title> - - <para>The <command>machinectl</command> tool operates on machines - and images whose names must be chosen following strict - rules. Machine names must be suitable for use as host names - following a conservative subset of DNS and UNIX/Linux - semantics. Specifically, they must consist of one or more - non-empty label strings, separated by dots. No leading or trailing - dots are allowed. No sequences of multiple dots are allowed. The - label strings may only consist of alphanumeric characters as well - as the dash and underscore. The maximum length of a machine name - is 64 characters.</para> - - <para>A special machine with the name <literal>.host</literal> - refers to the running host system itself. This is useful for execution - operations or inspecting the host system as well. Note that - <command>machinectl list</command> will not show this special - machine unless the <option>--all</option> switch is specified.</para> - - <para>Requirements on image names are less strict, however, they must be - valid UTF-8, must be suitable as file names (hence not be the - single or double dot, and not include a slash), and may not - contain control characters. Since many operations search for an - image by the name of a requested machine, it is recommended to name - images in the same strict fashion as machines.</para> - - <para>A special image with the name <literal>.host</literal> - refers to the image of the running host system. It hence - conceptually maps to the special <literal>.host</literal> machine - name described above. Note that <command>machinectl - list-images</command> will not show this special image either, unless - <option>--all</option> is specified.</para> - </refsect1> - - <refsect1> - <title>Files and Directories</title> - - <para>Machine images are preferably stored in - <filename>/var/lib/machines/</filename>, but are also searched for - in <filename>/usr/local/lib/machines/</filename> and - <filename>/usr/lib/machines/</filename>. For compatibility reasons, - the directory <filename>/var/lib/container/</filename> is - searched, too. Note that images stored below - <filename>/usr</filename> are always considered read-only. It is - possible to symlink machines images from other directories into - <filename>/var/lib/machines/</filename> to make them available for - control with <command>machinectl</command>.</para> - - <para>Note that many image operations are only supported, - efficient or atomic on btrfs file systems. Due to this, if the - <command>pull-tar</command>, <command>pull-raw</command>, - <command>import-tar</command>, <command>import-raw</command> and - <command>set-limit</command> commands notice that - <filename>/var/lib/machines</filename> is empty and not located on - btrfs, they will implicitly set up a loopback file - <filename>/var/lib/machines.raw</filename> containing a btrfs file - system that is mounted to - <filename>/var/lib/machines</filename>. The size of this loopback - file may be controlled dynamically with - <command>set-limit</command>.</para> - - <para>Disk images are understood by - <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry> - and <command>machinectl</command> in three formats:</para> - - <itemizedlist> - <listitem><para>A simple directory tree, containing the files - and directories of the container to boot.</para></listitem> - - <listitem><para>Subvolumes (on btrfs file systems), which are - similar to the simple directories, described above. However, - they have additional benefits, such as efficient cloning and - quota reporting.</para></listitem> - - <listitem><para>"Raw" disk images, i.e. binary images of disks - with a GPT or MBR partition table. Images of this type are - regular files with the suffix - <literal>.raw</literal>.</para></listitem> - </itemizedlist> - - <para>See - <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry> - for more information on image formats, in particular its - <option>--directory=</option> and <option>--image=</option> - options.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - <example> - <title>Download an Ubuntu image and open a shell in it</title> - - <programlisting># machinectl pull-tar https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-root.tar.gz -# systemd-nspawn -M trusty-server-cloudimg-amd64-root</programlisting> - - <para>This downloads and verifies the specified - <filename>.tar</filename> image, and then uses - <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to open a shell in it.</para> - </example> - - <example> - <title>Download a Fedora image, set a root password in it, start - it as service</title> - - <programlisting># machinectl pull-raw --verify=no https://dl.fedoraproject.org/pub/fedora/linux/releases/23/Cloud/x86_64/Images/Fedora-Cloud-Base-23-20151030.x86_64.raw.xz -# systemd-nspawn -M Fedora-Cloud-Base-23-20151030 -# passwd -# exit -# machinectl start Fedora-Cloud-Base-23-20151030 -# machinectl login Fedora-Cloud-Base-23-20151030</programlisting> - - <para>This downloads the specified <filename>.raw</filename> - image with verification disabled. Then, a shell is opened in it - and a root password is set. Afterwards the shell is left, and - the machine started as system service. With the last command a - login prompt into the container is requested.</para> - </example> - - <example> - <title>Exports a container image as tar file</title> - - <programlisting># machinectl export-tar fedora myfedora.tar.xz</programlisting> - - <para>Exports the container <literal>fedora</literal> as an - xz-compressed tar file <filename>myfedora.tar.xz</filename> into the - current directory.</para> - </example> - - <example> - <title>Create a new shell session</title> - - <programlisting># machinectl shell --uid=lennart</programlisting> - - <para>This creates a new shell session on the local host for - the user ID <literal>lennart</literal>, in a <citerefentry - project='die-net'><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry>-like - fashion.</para> - </example> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <xi:include href="less-variables.xml" /> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>xz</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>gzip</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>bzip2</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/networkctl.xml b/man/networkctl.xml deleted file mode 100644 index 24e1de6986..0000000000 --- a/man/networkctl.xml +++ /dev/null @@ -1,193 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="networkctl" conditional='ENABLE_NETWORKD' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>networkctl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Documentation</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>networkctl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>networkctl</refname> - <refpurpose>Query the status of network links</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>networkctl</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain">COMMAND</arg> - <arg choice="opt" rep="repeat">LINK</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>networkctl</command> may be used to introspect the - state of the network links as seen by - <command>systemd-networkd</command>. Please refer to - <citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - for an introduction to the basic concepts, functionality, and - configuration syntax.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term> - <option>-a</option> - <option>--all</option> - </term> - - <listitem> - <para>Show all links with <command>status</command>.</para> - </listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - <xi:include href="standard-options.xml" xpointer="no-legend" /> - <xi:include href="standard-options.xml" xpointer="no-pager" /> - - </variablelist> - </refsect1> - - <refsect1> - <title>Commands</title> - - <para>The following commands are understood:</para> - - <variablelist> - <varlistentry> - <term> - <command>list</command> - <optional><replaceable>LINK...</replaceable></optional> - </term> - - <listitem> - <para>Show a list of existing links and their status. If no further arguments are specified shows all links, - otherwise just the specified links. Produces output similar to: - - <programlisting>IDX LINK TYPE OPERATIONAL SETUP - 1 lo loopback carrier unmanaged - 2 eth0 ether routable configured - 3 virbr0 ether no-carrier unmanaged - 4 virbr0-nic ether off unmanaged - -4 links listed.</programlisting></para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <command>status</command> - <optional><replaceable>LINK...</replaceable></optional> - </term> - - <listitem> - <para>Show information about the specified links: type, - state, kernel module driver, hardware and IP address, - configured DNS servers, etc.</para> - - <para>When no links are specified, an overall network status is shown. Also see the option - <option>--all</option>.</para> - - <para>Produces output similar to: - <programlisting> -● State: routable - Address: 10.193.76.5 on eth0 - 192.168.122.1 on virbr0 - 169.254.190.105 on eth0 - fe80::5054:aa:bbbb:cccc on eth0 - Gateway: 10.193.11.1 (CISCO SYSTEMS, INC.) on eth0 - DNS: 8.8.8.8 - 8.8.4.4</programlisting></para> - </listitem> - - </varlistentry> - - <varlistentry> - <term> - <command>lldp</command> - <optional><replaceable>LINK...</replaceable></optional> - </term> - - <listitem> - <para>Show discovered LLDP (Link Layer Discovery Protocol) neighbors. If one or more link names are specified - only neighbors on those interfaces are shown. Otherwise shows discovered neighbors on all interfaces. Note - that for this feature to work, <varname>LLDP=</varname> must be turned on on the specific interface, see - <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for - details.</para> - - <para>Produces output similar to: - <programlisting>LINK CHASSIS ID SYSTEM NAME CAPS PORT ID PORT DESCRIPTION -enp0s25 00:e0:4c:00:00:00 GS1900 ..b........ 2 Port #2 - -Capability Flags: -o - Other; p - Repeater; b - Bridge; w - WLAN Access Point; r - Router; -t - Telephone; d - DOCSIS cable device; a - Station; c - Customer VLAN; -s - Service VLAN, m - Two-port MAC Relay (TPMR) - -1 neighbors listed.</programlisting></para> - </listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure - code otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> -</refentry> diff --git a/man/nss-myhostname.xml b/man/nss-myhostname.xml deleted file mode 100644 index a920ec334f..0000000000 --- a/man/nss-myhostname.xml +++ /dev/null @@ -1,148 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2011 Lennart Poettering - Copyright 2013 Tom Gundersen - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="nss-myhostname" conditional='HAVE_MYHOSTNAME'> - - <refentryinfo> - <title>nss-myhostname</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>nss-myhostname</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>nss-myhostname</refname> - <refname>libnss_myhostname.so.2</refname> - <refpurpose>Provide hostname resolution for the locally - configured system hostname.</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>libnss_myhostname.so.2</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>nss-myhostname</command> is a plug-in module for the GNU Name Service Switch (NSS) functionality of - the GNU C Library (<command>glibc</command>), primarily providing hostname resolution for the locally configured - system hostname as returned by - <citerefentry><refentrytitle>gethostname</refentrytitle><manvolnum>2</manvolnum></citerefentry>. The precise - hostnames resolved by this module are:</para> - - <itemizedlist> - <listitem><para>The local, configured hostname is resolved to - all locally configured IP addresses ordered by their scope, or - — if none are configured — the IPv4 address 127.0.0.2 (which - is on the local loopback) and the IPv6 address ::1 (which is the - local host).</para></listitem> - - <listitem><para>The hostnames <literal>localhost</literal> and - <literal>localhost.localdomain</literal> (as well as any hostname - ending in <literal>.localhost</literal> or <literal>.localhost.localdomain</literal>) - are resolved to the IP addresses 127.0.0.1 and ::1.</para></listitem> - - <listitem><para>The hostname <literal>gateway</literal> is - resolved to all current default routing gateway addresses, - ordered by their metric. This assigns a stable hostname to the - current gateway, useful for referencing it independently of the - current network configuration state.</para></listitem> - </itemizedlist> - - <para>Various software relies on an always-resolvable local - hostname. When using dynamic hostnames, this is traditionally - achieved by patching <filename>/etc/hosts</filename> at the same - time as changing the hostname. This is problematic since it - requires a writable <filename>/etc</filename> file system and is - fragile because the file might be edited by the administrator at - the same time. With <command>nss-myhostname</command> enabled, - changing <filename>/etc/hosts</filename> is unnecessary, and on - many systems, the file becomes entirely optional.</para> - - <para>To activate the NSS modules, add <literal>myhostname</literal> to the line starting with - <literal>hosts:</literal> in <filename>/etc/nsswitch.conf</filename>.</para> - - <para>It is recommended to place <literal>myhostname</literal> last in the <filename>nsswitch.conf</filename>' - <literal>hosts:</literal> line to make sure that this mapping is only used as fallback, and that any DNS or - <filename>/etc/hosts</filename> based mapping takes precedence.</para> - </refsect1> - - <refsect1> - <title>Example</title> - - <para>Here is an example <filename>/etc/nsswitch.conf</filename> file that enables - <command>nss-myhostname</command> correctly:</para> - -<programlisting>passwd: compat mymachines -group: compat mymachines -shadow: compat - -hosts: files mymachines resolve <command>myhostname</command> -networks: files - -protocols: db files -services: db files -ethers: db files -rpc: db files - -netgroup: nis</programlisting> - - <para>To test, use <command>glibc</command>'s <command>getent</command> tool:</para> - - <programlisting>$ getent ahosts `hostname` -::1 STREAM omega -::1 DGRAM -::1 RAW -127.0.0.2 STREAM -127.0.0.2 DGRAM -127.0.0.2 RAW</programlisting> - - <para>In this case, the local hostname is <varname>omega</varname>.</para> - - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>nss-resolve</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>nss-mymachines</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>nsswitch.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>getent</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/nss-mymachines.xml b/man/nss-mymachines.xml deleted file mode 100644 index ec047449bf..0000000000 --- a/man/nss-mymachines.xml +++ /dev/null @@ -1,113 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="nss-mymachines" conditional='ENABLE_MACHINED'> - - <refentryinfo> - <title>nss-mymachines</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>nss-mymachines</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>nss-mymachines</refname> - <refname>libnss_mymachines.so.2</refname> - <refpurpose>Provide hostname resolution for local - container instances.</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>libnss_mymachines.so.2</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>nss-mymachines</command> is a plug-in module for the GNU Name Service Switch (NSS) functionality of - the GNU C Library (<command>glibc</command>), providing hostname resolution for the names of containers running - locally that are registered with - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. The - container names are resolved to the IP addresses of the specific container, ordered by their scope. This - functionality only applies to containers using network namespacing.</para> - - <para>The module also resolves user and group IDs used by containers to user and group names indicating the - container name, and back. This functionality only applies to containers using user namespacing.</para> - - <para>To activate the NSS module, add <literal>mymachines</literal> to the lines starting with - <literal>hosts:</literal>, <literal>passwd:</literal> and <literal>group:</literal> in - <filename>/etc/nsswitch.conf</filename>.</para> - - <para>It is recommended to place <literal>mymachines</literal> after the <literal>files</literal> or - <literal>compat</literal> entry of the <filename>/etc/nsswitch.conf</filename> lines to make sure that its mappings - are preferred over other resolvers such as DNS, but so that <filename>/etc/hosts</filename>, - <filename>/etc/passwd</filename> and <filename>/etc/group</filename> based mappings take precedence.</para> - </refsect1> - - <refsect1> - <title>Example</title> - - <para>Here is an example <filename>/etc/nsswitch.conf</filename> file that enables - <command>nss-mymachines</command> correctly:</para> - - <programlisting>passwd: compat <command>mymachines</command> -group: compat <command>mymachines</command> -shadow: compat - -hosts: files <command>mymachines</command> resolve myhostname -networks: files - -protocols: db files -services: db files -ethers: db files -rpc: db files - -netgroup: nis</programlisting> - - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>nss-resolve</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>nss-myhostname</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>nsswitch.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>getent</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/nss-resolve.xml b/man/nss-resolve.xml deleted file mode 100644 index d9e56453e8..0000000000 --- a/man/nss-resolve.xml +++ /dev/null @@ -1,111 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2011 Lennart Poettering - Copyright 2013 Tom Gundersen - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="nss-resolve" conditional='ENABLE_RESOLVED'> - - <refentryinfo> - <title>nss-resolve</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>nss-resolve</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>nss-resolve</refname> - <refname>libnss_resolve.so.2</refname> - <refpurpose>Provide hostname resolution via <filename>systemd-resolved.service</filename></refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>libnss_resolve.so.2</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>nss-resolve</command> is a plug-in module for the GNU Name Service Switch (NSS) functionality of the - GNU C Library (<command>glibc</command>) enabling it to resolve host names via the - <citerefentry><refentrytitle>systemd-resolved</refentrytitle><manvolnum>8</manvolnum></citerefentry> local network - name resolution service. It replaces the <command>nss-dns</command> plug-in module that traditionally resolves - hostnames via DNS.</para> - - <para>To activate the NSS module, add <literal>resolve</literal> to the line starting with - <literal>hosts:</literal> in <filename>/etc/nsswitch.conf</filename>.</para> - - <para>It is recommended to place <literal>resolve</literal> early in <filename>/etc/nsswitch.conf</filename>' - <literal>hosts:</literal> line (but after the <literal>files</literal> or <literal>mymachines</literal> entries), - replacing the <literal>dns</literal> entry if it exists, to ensure DNS queries are always routed via - <citerefentry><refentrytitle>systemd-resolved</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> - - <para>Note that <command>nss-resolve</command> will chain-load <command>nss-dns</command> if - <filename>systemd-resolved.service</filename> is not running, ensuring that basic DNS resolution continues to work - if the service is down.</para> - </refsect1> - - <refsect1> - <title>Example</title> - - <para>Here is an example <filename>/etc/nsswitch.conf</filename> file that enables <command>nss-resolve</command> - correctly:</para> - -<programlisting>passwd: compat mymachines -group: compat mymachines -shadow: compat - -hosts: files mymachines <command>resolve</command> myhostname -networks: files - -protocols: db files -services: db files -ethers: db files -rpc: db files - -netgroup: nis</programlisting> - - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-resolved</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>nss-mymachines</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>nss-myhostname</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>nsswitch.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/pam_systemd.xml b/man/pam_systemd.xml deleted file mode 100644 index ddda81bc90..0000000000 --- a/man/pam_systemd.xml +++ /dev/null @@ -1,296 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="pam_systemd" conditional='HAVE_PAM'> - - <refentryinfo> - <title>pam_systemd</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>pam_systemd</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>pam_systemd</refname> - <refpurpose>Register user sessions in the systemd login manager</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>pam_systemd.so</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>pam_systemd</command> registers user sessions with - the systemd login manager - <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - and hence the systemd control group hierarchy.</para> - - <para>On login, this module ensures the following:</para> - - <orderedlist> - <listitem><para>If it does not exist yet, the user runtime - directory <filename>/run/user/$USER</filename> is created and - its ownership changed to the user that is logging - in.</para></listitem> - - <listitem><para>The <varname>$XDG_SESSION_ID</varname> - environment variable is initialized. If auditing is available - and <command>pam_loginuid.so</command> was run before this - module (which is highly recommended), the variable is - initialized from the auditing session id - (<filename>/proc/self/sessionid</filename>). Otherwise, an - independent session counter is used.</para></listitem> - - <listitem><para>A new systemd scope unit is created for the - session. If this is the first concurrent session of the user, an - implicit slice below <filename>user.slice</filename> is - automatically created and the scope placed into it. An instance - of the system service <filename>user@.service</filename>, which - runs the systemd user manager instance, is started. - </para></listitem> - </orderedlist> - - <para>On logout, this module ensures the following:</para> - - <orderedlist> - <listitem><para>If enabled in - <citerefentry><refentrytitle>logind.conf</refentrytitle> - <manvolnum>5</manvolnum></citerefentry>, all processes of the - session are terminated. If the last concurrent session of a user - ends, the user's systemd instance will be terminated too, and so - will the user's slice unit.</para></listitem> - - <listitem><para>If the last concurrent session of a user ends, - the <varname>$XDG_RUNTIME_DIR</varname> directory and all its - contents are removed, too.</para></listitem> - </orderedlist> - - <para>If the system was not booted up with systemd as init system, - this module does nothing and immediately returns - <constant>PAM_SUCCESS</constant>.</para> - - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist class='pam-directives'> - - <varlistentry> - <term><option>class=</option></term> - - <listitem><para>Takes a string argument which sets the session - class. The XDG_SESSION_CLASS environmental variable takes - precedence. One of - <literal>user</literal>, - <literal>greeter</literal>, - <literal>lock-screen</literal> or - <literal>background</literal>. See - <citerefentry><refentrytitle>sd_session_get_class</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for details about the session class.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>type=</option></term> - - <listitem><para>Takes a string argument which sets the session - type. The XDG_SESSION_TYPE environmental variable takes - precedence. One of - <literal>unspecified</literal>, - <literal>tty</literal>, - <literal>x11</literal>, - <literal>wayland</literal> or - <literal>mir</literal>. See - <citerefentry><refentrytitle>sd_session_get_type</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for details about the session type.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>debug<optional>=</optional></option></term> - - <listitem><para>Takes an optional - boolean argument. If yes or without - the argument, the module will log - debugging information as it - operates.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Module Types Provided</title> - - <para>Only <option>session</option> is provided.</para> - </refsect1> - - <refsect1> - <title>Environment</title> - - <para>The following environment variables are set for the - processes of the user's session:</para> - - <variablelist class='environment-variables'> - <varlistentry> - <term><varname>$XDG_SESSION_ID</varname></term> - - <listitem><para>A session identifier, suitable to be used in - filenames. The string itself should be considered opaque, - although often it is just the audit session ID as reported by - <filename>/proc/self/sessionid</filename>. Each ID will be - assigned only once during machine uptime. It may hence be used - to uniquely label files or other resources of this - session.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$XDG_RUNTIME_DIR</varname></term> - - <listitem><para>Path to a user-private user-writable directory - that is bound to the user login time on the machine. It is - automatically created the first time a user logs in and - removed on the user's final logout. If a user logs in twice at - the same time, both sessions will see the same - <varname>$XDG_RUNTIME_DIR</varname> and the same contents. If - a user logs in once, then logs out again, and logs in again, - the directory contents will have been lost in between, but - applications should not rely on this behavior and must be able - to deal with stale files. To store session-private data in - this directory, the user should include the value of - <varname>$XDG_SESSION_ID</varname> in the filename. This - directory shall be used for runtime file system objects such - as <constant>AF_UNIX</constant> sockets, FIFOs, PID files and - similar. It is guaranteed that this directory is local and - offers the greatest possible file system feature set the - operating system provides. For further details, see the <ulink - url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG - Base Directory Specification</ulink>.</para></listitem> - </varlistentry> - - </variablelist> - - <para>The following environment variables are read by the module - and may be used by the PAM service to pass metadata to the - module:</para> - - <variablelist class='environment-variables'> - <varlistentry> - <term><varname>$XDG_SESSION_TYPE</varname></term> - - <listitem><para>The session type. This may be used instead of - <option>session=</option> on the module parameter line, and is - usually preferred.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$XDG_SESSION_CLASS</varname></term> - - <listitem><para>The session class. This may be used instead of - <option>class=</option> on the module parameter line, and is - usually preferred.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$XDG_SESSION_DESKTOP</varname></term> - - <listitem><para>A single, short identifier string for the - desktop environment. This may be used to indicate the session - desktop used, where this applies and if this information is - available. For example: <literal>GNOME</literal>, or - <literal>KDE</literal>. It is recommended to use the same - identifiers and capitalization as for - <varname>$XDG_CURRENT_DESKTOP</varname>, as defined by the - <ulink - url="http://standards.freedesktop.org/desktop-entry-spec/latest/">Desktop - Entry Specification</ulink>. (However, note that - <varname>$XDG_SESSION_DESKTOP</varname> only takes a single - item, and not a colon-separated list like - <varname>$XDG_CURRENT_DESKTOP</varname>.) See - <citerefentry><refentrytitle>sd_session_get_desktop</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more details.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$XDG_SEAT</varname></term> - - <listitem><para>The seat name the session shall be registered - for, if any.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$XDG_VTNR</varname></term> - - <listitem><para>The VT number the session shall be registered - for, if any. (Only applies to seats with a VT available, such - as <literal>seat0</literal>)</para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <refsect1> - <title>Example</title> - - <programlisting>#%PAM-1.0 -auth required pam_unix.so -auth required pam_nologin.so -account required pam_unix.so -password required pam_unix.so -session required pam_unix.so -session required pam_loginuid.so -session required pam_systemd.so</programlisting> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>pam.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>pam.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>pam_loginuid</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd-bus-errors.xml b/man/sd-bus-errors.xml deleted file mode 100644 index d2b81f4e4a..0000000000 --- a/man/sd-bus-errors.xml +++ /dev/null @@ -1,309 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd-bus-errors"> - - <refentryinfo> - <title>sd-bus-errors</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd-bus-errors</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd-bus-errors</refname> - <refname>SD_BUS_ERROR_FAILED</refname> - <refname>SD_BUS_ERROR_NO_MEMORY</refname> - <refname>SD_BUS_ERROR_SERVICE_UNKNOWN</refname> - <refname>SD_BUS_ERROR_NAME_HAS_NO_OWNER</refname> - <refname>SD_BUS_ERROR_NO_REPLY</refname> - <refname>SD_BUS_ERROR_IO_ERROR</refname> - <refname>SD_BUS_ERROR_BAD_ADDRESS</refname> - <refname>SD_BUS_ERROR_NOT_SUPPORTED</refname> - <refname>SD_BUS_ERROR_LIMITS_EXCEEDED</refname> - <refname>SD_BUS_ERROR_ACCESS_DENIED</refname> - <refname>SD_BUS_ERROR_AUTH_FAILED</refname> - <refname>SD_BUS_ERROR_NO_SERVER</refname> - <refname>SD_BUS_ERROR_TIMEOUT</refname> - <refname>SD_BUS_ERROR_NO_NETWORK</refname> - <refname>SD_BUS_ERROR_ADDRESS_IN_USE</refname> - <refname>SD_BUS_ERROR_DISCONNECTED</refname> - <refname>SD_BUS_ERROR_INVALID_ARGS</refname> - <refname>SD_BUS_ERROR_FILE_NOT_FOUND</refname> - <refname>SD_BUS_ERROR_FILE_EXISTS</refname> - <refname>SD_BUS_ERROR_UNKNOWN_METHOD</refname> - <refname>SD_BUS_ERROR_UNKNOWN_OBJECT</refname> - <refname>SD_BUS_ERROR_UNKNOWN_INTERFACE</refname> - <refname>SD_BUS_ERROR_UNKNOWN_PROPERTY</refname> - <refname>SD_BUS_ERROR_PROPERTY_READ_ONLY</refname> - <refname>SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN</refname> - <refname>SD_BUS_ERROR_INVALID_SIGNATURE</refname> - <refname>SD_BUS_ERROR_INCONSISTENT_MESSAGE</refname> - <refname>SD_BUS_ERROR_MATCH_RULE_NOT_FOUND</refname> - <refname>SD_BUS_ERROR_MATCH_RULE_INVALID</refname> - <refname>SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED</refname> - - <refpurpose>Standard D-Bus error names</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - -<funcsynopsisinfo>#define SD_BUS_ERROR_FAILED "org.freedesktop.DBus.Error.Failed" -#define SD_BUS_ERROR_NO_MEMORY "org.freedesktop.DBus.Error.NoMemory" -#define SD_BUS_ERROR_SERVICE_UNKNOWN "org.freedesktop.DBus.Error.ServiceUnknown" -#define SD_BUS_ERROR_NAME_HAS_NO_OWNER "org.freedesktop.DBus.Error.NameHasNoOwner" -#define SD_BUS_ERROR_NO_REPLY "org.freedesktop.DBus.Error.NoReply" -#define SD_BUS_ERROR_IO_ERROR "org.freedesktop.DBus.Error.IOError" -#define SD_BUS_ERROR_BAD_ADDRESS "org.freedesktop.DBus.Error.BadAddress" -#define SD_BUS_ERROR_NOT_SUPPORTED "org.freedesktop.DBus.Error.NotSupported" -#define SD_BUS_ERROR_LIMITS_EXCEEDED "org.freedesktop.DBus.Error.LimitsExceeded" -#define SD_BUS_ERROR_ACCESS_DENIED "org.freedesktop.DBus.Error.AccessDenied" -#define SD_BUS_ERROR_AUTH_FAILED "org.freedesktop.DBus.Error.AuthFailed" -#define SD_BUS_ERROR_NO_SERVER "org.freedesktop.DBus.Error.NoServer" -#define SD_BUS_ERROR_TIMEOUT "org.freedesktop.DBus.Error.Timeout" -#define SD_BUS_ERROR_NO_NETWORK "org.freedesktop.DBus.Error.NoNetwork" -#define SD_BUS_ERROR_ADDRESS_IN_USE "org.freedesktop.DBus.Error.AddressInUse" -#define SD_BUS_ERROR_DISCONNECTED "org.freedesktop.DBus.Error.Disconnected" -#define SD_BUS_ERROR_INVALID_ARGS "org.freedesktop.DBus.Error.InvalidArgs" -#define SD_BUS_ERROR_FILE_NOT_FOUND "org.freedesktop.DBus.Error.FileNotFound" -#define SD_BUS_ERROR_FILE_EXISTS "org.freedesktop.DBus.Error.FileExists" -#define SD_BUS_ERROR_UNKNOWN_METHOD "org.freedesktop.DBus.Error.UnknownMethod" -#define SD_BUS_ERROR_UNKNOWN_OBJECT "org.freedesktop.DBus.Error.UnknownObject" -#define SD_BUS_ERROR_UNKNOWN_INTERFACE "org.freedesktop.DBus.Error.UnknownInterface" -#define SD_BUS_ERROR_UNKNOWN_PROPERTY "org.freedesktop.DBus.Error.UnknownProperty" -#define SD_BUS_ERROR_PROPERTY_READ_ONLY "org.freedesktop.DBus.Error.PropertyReadOnly" -#define SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN "org.freedesktop.DBus.Error.UnixProcessIdUnknown" -#define SD_BUS_ERROR_INVALID_SIGNATURE "org.freedesktop.DBus.Error.InvalidSignature" -#define SD_BUS_ERROR_INCONSISTENT_MESSAGE "org.freedesktop.DBus.Error.InconsistentMessage" -#define SD_BUS_ERROR_MATCH_RULE_NOT_FOUND "org.freedesktop.DBus.Error.MatchRuleNotFound" -#define SD_BUS_ERROR_MATCH_RULE_INVALID "org.freedesktop.DBus.Error.MatchRuleInvalid" -#define SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED \ - "org.freedesktop.DBus.Error.InteractiveAuthorizationRequired"</funcsynopsisinfo> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>In addition to the error names user programs define, D-Bus - knows a number of generic, standardized error names that are - listed below.</para> - - <para>In addition to this list, in sd-bus, the special error - namespace <literal>System.Error.</literal> is used to map - arbitrary GNU/Linux system errors (as defined by <citerefentry - project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>) - to D-Bus errors and back. For example, the error - <constant>EUCLEAN</constant> is mapped to - <literal>System.Error.EUCLEAN</literal> and back.</para> - - <variablelist> - - <varlistentry> - <term><varname>SD_BUS_ERROR_FAILED</varname></term> - <listitem><para>A generic error indication. See the error - message for further details. This error name should be - avoided, in favor of a more expressive error - name.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>SD_BUS_ERROR_NO_MEMORY</varname></term> - <listitem><para>A memory allocation failed, and the requested - operation could not be completed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>SD_BUS_ERROR_SERVICE_UNKNOWN</varname></term> - <listitem><para>The contacted bus service is unknown and - cannot be activated.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>SD_BUS_ERROR_NAME_HAS_NO_OWNER</varname></term> - <listitem><para>The specified bus service name currently has - no owner.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_NO_REPLY</varname></term> - <listitem><para>A message did not receive a reply. This error - is usually generated after a timeout.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_IO_ERROR</varname></term> - <listitem><para>Generic input/output error, for example when - accessing a socket or other I/O context.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_BAD_ADDRESS</varname></term> - <listitem><para>The specified D-Bus bus address string is - malformed.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_NOT_SUPPORTED</varname></term> - <listitem><para>The requested operation is not supported on - the local system.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_LIMITS_EXCEEDED</varname></term> - <listitem><para>Some limited resource has been - exhausted.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_ACCESS_DENIED</varname></term> - <listitem><para>Access to a resource has been denied due to security restrictions.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_AUTH_FAILED</varname></term> - <listitem><para>Authentication did not complete successfully.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_NO_SERVER</varname></term> - <listitem><para>Unable to connect to the specified server.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_TIMEOUT</varname></term> - <listitem><para>An operation timed out. Note that method calls - which timeout generate a - <varname>SD_BUS_ERROR_NO_REPLY</varname>.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_NO_NETWORK</varname></term> - <listitem><para>No network available to execute requested network operation on.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_ADDRESS_IN_USE</varname></term> - <listitem><para>The specified network address is already being listened on.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_DISCONNECTED</varname></term> - <listitem><para>The connection has been terminated.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_INVALID_ARGS</varname></term> - <listitem><para>One or more invalid arguments have been passed.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_FILE_NOT_FOUND</varname></term> - <listitem><para>The requested file could not be found.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_FILE_EXISTS</varname></term> - <listitem><para>The requested file already exists.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_UNKNOWN_METHOD</varname></term> - <listitem><para>The requested method does not exist in the selected interface.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_UNKNOWN_OBJECT</varname></term> - <listitem><para>The requested object does not exist in the selected service.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_UNKNOWN_INTERFACE</varname></term> - <listitem><para>The requested interface does not exist on the selected object.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_UNKNOWN_PROPERTY</varname></term> - <listitem><para>The requested property does not exist in the selected interface.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_PROPERTY_READ_ONLY</varname></term> - <listitem><para>A write operation was requested on a read-only property.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_UNIX_PROCESS_ID_UNKNOWN</varname></term> - <listitem><para>The requested PID is not known.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_INVALID_SIGNATURE</varname></term> - <listitem><para>The specified message signature is not - valid.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_INCONSISTENT_MESSAGE</varname></term> - <listitem><para>The passed message does not validate - correctly.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_MATCH_RULE_NOT_FOUND</varname></term> - <listitem><para>The specified match rule does not exist.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_MATCH_RULE_INVALID</varname></term> - <listitem><para>The specified match rule is invalid.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>SD_BUS_ERROR_INTERACTIVE_AUTHORIZATION_REQUIRED</varname></term> - <listitem><para>Access to the requested operation is not - permitted. However, it might be available after interactive - authentication. This is usually returned by method calls - supporting a framework for additional interactive - authorization, when interactive authorization was not enabled - with the - <citerefentry><refentrytitle>sd_bus_message_set_allow_interactive_authorization</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for the method call message.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The various error definitions described here are available - as a shared library, which can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry - project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_error</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_set_allow_interactive_authorization</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>strerror</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd-bus.xml b/man/sd-bus.xml deleted file mode 100644 index 336dd33ea0..0000000000 --- a/man/sd-bus.xml +++ /dev/null @@ -1,123 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2016 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd-bus" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd-bus</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Documentation</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd-bus</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd-bus</refname> - <refpurpose>A lightweight D-Bus and kdbus client library</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - </funcsynopsis> - - <cmdsynopsis> - <command>pkg-config --cflags --libs libsystemd</command> - </cmdsynopsis> - - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>sd-bus.h</filename> provides an implementation - of a D-Bus client. It can interoperate both with the traditional - <citerefentry project='man-pages'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - and with kdbus. See - <ulink url="http://www.freedesktop.org/software/dbus/" /> - for more information about the big picture. - </para> - - <important> - <para>Interfaces described here have not been declared stable yet, - and are not accessible from <filename>libsystemd.so</filename>. - This documentation is provided in hope it might be useful for - developers, without any guarantees of availability or stability. - </para> - </important> - - <para>See - <citerefentry><refentrytitle>sd_bus_default</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_request_name</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_start</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append_array</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append_string_memfd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append_strv</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_can_send</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_get_cookie</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_get_monotonic_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_send</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_set_address</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_set_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_creds_get_pid</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_creds_new_from_pid</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_get_name_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_get_owner_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_negotiate_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_path_encode</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_error</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_set_allow_interactive_authorization</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information about the functions available.</para> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>dbus-daemon</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>dbus-send</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <ulink url="https://developer.gnome.org/gio/stable/gdbus.html">gdbus</ulink> - </para> - </refsect1> - -</refentry> diff --git a/man/sd-daemon.xml b/man/sd-daemon.xml deleted file mode 100644 index b06d99f346..0000000000 --- a/man/sd-daemon.xml +++ /dev/null @@ -1,144 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd-daemon" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd-daemon</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd-daemon</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd-daemon</refname> - <refname>SD_EMERG</refname> - <refname>SD_ALERT</refname> - <refname>SD_CRIT</refname> - <refname>SD_ERR</refname> - <refname>SD_WARNING</refname> - <refname>SD_NOTICE</refname> - <refname>SD_INFO</refname> - <refname>SD_DEBUG</refname> - <refpurpose>APIs for - new-style daemons</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-daemon.h></funcsynopsisinfo> - </funcsynopsis> - - <cmdsynopsis> - <command>pkg-config --cflags --libs libsystemd</command> - </cmdsynopsis> - - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>sd-daemon.h</filename> provides APIs for new-style - daemons, as implemented by the - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> - service manager.</para> - - <para>See - <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_booted</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_is_fifo</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_watchdog_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information about the functions implemented. In addition - to these functions, a couple of logging prefixes are defined as - macros:</para> - - <programlisting>#define SD_EMERG "<0>" /* system is unusable */ -#define SD_ALERT "<1>" /* action must be taken immediately */ -#define SD_CRIT "<2>" /* critical conditions */ -#define SD_ERR "<3>" /* error conditions */ -#define SD_WARNING "<4>" /* warning conditions */ -#define SD_NOTICE "<5>" /* normal but significant condition */ -#define SD_INFO "<6>" /* informational */ -#define SD_DEBUG "<7>" /* debug-level messages */</programlisting> - - <para>These prefixes are intended to be used in conjunction with - stderr-based logging as implemented by systemd. If a systemd - service definition file is configured with - <varname>StandardError=journal</varname>, - <varname>StandardError=syslog</varname> or - <varname>StandardError=kmsg</varname>, these prefixes can be used - to encode a log level in lines printed. This is similar to the - kernel <function>printk()</function>-style logging. See - <citerefentry><refentrytitle>klogctl</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for more information.</para> - - <para>The log levels are identical to - <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>'s - log level system. To use these prefixes simply prefix every line - with one of these strings. A line that is not prefixed will be - logged at the default log level SD_INFO.</para> - - <example> - <title>Hello World</title> - - <para>A daemon may log with the log level NOTICE by issuing this - call:</para> - - <programlisting>fprintf(stderr, SD_NOTICE "Hello World!\n");</programlisting> - </example> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_booted</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_is_fifo</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_watchdog_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>fprintf</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd-event.xml b/man/sd-event.xml deleted file mode 100644 index fc615f0906..0000000000 --- a/man/sd-event.xml +++ /dev/null @@ -1,187 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd-event" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd-event</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd-event</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd-event</refname> - <refpurpose>A generic event loop implementation</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - </funcsynopsis> - - <cmdsynopsis> - <command>pkg-config --cflags --libs libsystemd</command> - </cmdsynopsis> - - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>sd-event.h</filename> provides a generic event - loop implementation, based on Linux <citerefentry - project='man-pages'><refentrytitle>epoll</refentrytitle><manvolnum>7</manvolnum></citerefentry>. - </para> - - <para>See - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_run</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_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_child</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>, - <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_get_event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_get_pending</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_wait</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_get_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_set_watchdog</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_now</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information about the functions available.</para> - - <para>The event loop design is targeted on running a separate - instance of the event loop in each thread; it has no concept of - distributing events from a single event loop instance onto - multiple worker threads. Dispatching events is strictly ordered - and subject to configurable priorities. In each event loop - iteration a single event source is dispatched. Each time an event - source is dispatched the kernel is polled for new events, before - the next event source is dispatched. The event loop is designed to - honour priorities and provide fairness within each priority. It is - not designed to provide optimal throughput, as this contradicts - these goals due the limitations of the underlying <citerefentry - project='man-pages'><refentrytitle>epoll</refentrytitle><manvolnum>7</manvolnum></citerefentry> - primitives.</para> - - <para>The event loop implementation provides the following features:</para> - - <orderedlist> - <listitem><para>I/O event sources, based on <citerefentry - project='man-pages'><refentrytitle>epoll</refentrytitle><manvolnum>7</manvolnum></citerefentry>'s - file descriptor watching, including edge triggered events (<constant>EPOLLET</constant>). See <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Timer event sources, based on <citerefentry - project='man-pages'><refentrytitle>timerfd_create</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - supporting the <constant>CLOCK_MONOTONIC</constant>, - <constant>CLOCK_REALTIME</constant>, - <constant>CLOCK_BOOTIME</constant> clocks, as well as the - <constant>CLOCK_REALTIME_ALARM</constant> and - <constant>CLOCK_BOOTTIME_ALARM</constant> clocks that can resume - the system from suspend. When creating timer events a required - accuracy parameter may be specified which allows coalescing of - timer events to minimize power consumption. See <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>UNIX process signal events, based on - <citerefentry - project='man-pages'><refentrytitle>signalfd</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - including full support for real-time signals, and queued parameters. See <citerefentry><refentrytitle>sd_event_add_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Child process state change events, based on - <citerefentry project='man-pages'><refentrytitle>waitid</refentrytitle><manvolnum>2</manvolnum></citerefentry>. See <citerefentry><refentrytitle>sd_event_add_child</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Static event sources, of three types: defer, - post and exit, for invoking calls in each event loop, after - other event sources or at event loop termination. See - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Event sources may be assigned a 64bit priority - value, that controls the order in which event sources are - dispatched if multiple are pending simultaneously. See - <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>The event loop may automatically send watchdog - notification messages to the service manager. See - <citerefentry><refentrytitle>sd_event_set_watchdog</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>The event loop may be integrated into foreign - event loops, such as the GLib one. See - <citerefentry><refentrytitle>sd_event_get_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for an example.</para></listitem> - </orderedlist> - - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_run</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_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_child</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>, - <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_get_event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_get_pending</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_wait</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_get_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_set_watchdog</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_now</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>epoll</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>timerfd_create</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>signalfd</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>waitid</refentrytitle><manvolnum>2</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd-id128.xml b/man/sd-id128.xml deleted file mode 100644 index ea7972055d..0000000000 --- a/man/sd-id128.xml +++ /dev/null @@ -1,166 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd-id128" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd-id128</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd-id128</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd-id128</refname> - <refname>sd_id128_t</refname> - <refname>SD_ID128_MAKE</refname> - <refname>SD_ID128_CONST_STR</refname> - <refname>SD_ID128_FORMAT_STR</refname> - <refname>SD_ID128_FORMAT_VAL</refname> - <refname>sd_id128_equal</refname> - <refpurpose>APIs for processing 128-bit IDs</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-id128.h></funcsynopsisinfo> - </funcsynopsis> - - <cmdsynopsis> - <command>pkg-config --cflags --libs libsystemd</command> - </cmdsynopsis> - - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>sd-id128.h</filename> provides APIs to process and - generate 128-bit ID values. The 128-bit ID values processed and - generated by these APIs are a generalization of OSF UUIDs as - defined by <ulink url="https://tools.ietf.org/html/rfc4122">RFC - 4122</ulink> but use a simpler string format. These functions - impose no structure on the used IDs, much unlike OSF UUIDs or - Microsoft GUIDs, but are fully compatible with those types of IDs. - </para> - - <para>See - <citerefentry><refentrytitle>sd_id128_to_string</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_id128_randomize</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and - <citerefentry><refentrytitle>sd_id128_get_machine</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information about the implemented functions.</para> - - <para>A 128-bit ID is implemented as the following - union type:</para> - - <programlisting>typedef union sd_id128 { - uint8_t bytes[16]; - uint64_t qwords[2]; -} sd_id128_t;</programlisting> - - <para>This union type allows accessing the 128-bit ID as 16 - separate bytes or two 64-bit words. It is generally safer to - access the ID components by their 8-bit array to avoid endianness - issues. This union is intended to be passed call-by-value (as - opposed to call-by-reference) and may be directly manipulated by - clients.</para> - - <para>A couple of macros are defined to denote and decode 128-bit - IDs:</para> - - <para><function>SD_ID128_MAKE()</function> may be used to denote a - constant 128-bit ID in source code. A commonly used idiom is to - assign a name to a 128-bit ID using this macro:</para> - - <programlisting>#define SD_MESSAGE_COREDUMP SD_ID128_MAKE(fc,2e,22,bc,6e,e6,47,b6,b9,07,29,ab,34,a2,50,b1)</programlisting> - - <para><function>SD_ID128_CONST_STR()</function> may be used to - convert constant 128-bit IDs into constant strings for output. The - following example code will output the string - "fc2e22bc6ee647b6b90729ab34a250b1":</para> - <programlisting>int main(int argc, char *argv[]) { - puts(SD_ID128_CONST_STR(SD_MESSAGE_COREDUMP)); -}</programlisting> - - <para><function>SD_ID128_FORMAT_STR</function> and - <function>SD_ID128_FORMAT_VAL()</function> may be used to format a - 128-bit ID in a - <citerefentry project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry> - format string, as shown in the following example:</para> - - <programlisting>int main(int argc, char *argv[]) { - sd_id128_t id; - id = SD_ID128_MAKE(ee,89,be,71,bd,6e,43,d6,91,e6,c5,5d,eb,03,02,07); - printf("The ID encoded in this C file is " SD_ID128_FORMAT_STR ".\n", SD_ID128_FORMAT_VAL(id)); - return 0; -}</programlisting> - - <para>Use <function>sd_id128_equal()</function> to compare two 128-bit IDs:</para> - - <programlisting>int main(int argc, char *argv[]) { - sd_id128_t a, b, c; - a = SD_ID128_MAKE(ee,89,be,71,bd,6e,43,d6,91,e6,c5,5d,eb,03,02,07); - b = SD_ID128_MAKE(f2,28,88,9c,5f,09,44,15,9d,d7,04,77,58,cb,e7,3e); - c = a; - assert(sd_id128_equal(a, c)); - assert(!sd_id128_equal(a, b)); - return 0; -}</programlisting> - - <para>Note that new, randomized IDs may be generated with - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s - <option>--new-id</option> option.</para> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_id128_to_string</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_id128_randomize</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_id128_get_machine</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd-journal.xml b/man/sd-journal.xml deleted file mode 100644 index 09747a480c..0000000000 --- a/man/sd-journal.xml +++ /dev/null @@ -1,133 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd-journal" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd-journal</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd-journal</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd-journal</refname> - <refpurpose>APIs for submitting and querying log entries to and - from the journal</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - </funcsynopsis> - - <cmdsynopsis> - <command>pkg-config --cflags --libs libsystemd</command> - </cmdsynopsis> - - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>sd-journal.h</filename> provides APIs to submit - and query log entries. The APIs exposed act both as client for the - <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - journal service and as parser for the journal files on disk. - </para> - - <para>See - <citerefentry><refentrytitle>sd_journal_print</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_stream_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_add_match</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_seek_head</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_query_enumerate</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_enumerate_fields</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_cutoff_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_cutoff_monotonic_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_usage</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_catalog</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_has_runtime_files</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and - <citerefentry><refentrytitle>sd_journal_has_persistent_files</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information about the functions implemented.</para> - - <para>Command line access for submitting entries to the journal is - available with the - <citerefentry><refentrytitle>systemd-cat</refentrytitle><manvolnum>1</manvolnum></citerefentry> - tool. Command line access for querying entries from the journal is - available with the - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - tool.</para> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_print</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_stream_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_add_match</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_seek_head</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_query_enumerate</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_enumerate_fields</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_cutoff_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_cutoff_monotonic_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_usage</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_query_unique</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_catalog</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_has_runtime_files</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_has_persistent_files</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd-login.xml b/man/sd-login.xml deleted file mode 100644 index 328f71164d..0000000000 --- a/man/sd-login.xml +++ /dev/null @@ -1,135 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd-login" conditional='HAVE_PAM' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd-login</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd-login</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd-login</refname> - <refpurpose>APIs for - tracking logins</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-login.h></funcsynopsisinfo> - </funcsynopsis> - - <cmdsynopsis> - <command>pkg-config --cflags --libs libsystemd</command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>sd-login.h</filename> provides APIs to introspect - and monitor seat, login session and user status information on the - local system. </para> - - <para>See <ulink - url="http://www.freedesktop.org/wiki/Software/systemd/multiseat">Multi-Seat - on Linux</ulink> for an introduction into multi-seat support on - Linux, the background for this set of APIs.</para> - - <para>Note that these APIs only allow purely passive access and - monitoring of seats, sessions and users. To actively make changes - to the seat configuration, terminate login sessions, or switch - session on a seat you need to utilize the D-Bus API of - systemd-logind, instead.</para> - - <para>These functions synchronously access data in - <filename>/proc</filename>, <filename>/sys/fs/cgroup</filename> - and <filename>/run</filename>. All of these are virtual file - systems, hence the runtime cost of the accesses is relatively - cheap.</para> - - <para>It is possible (and often a very good choice) to mix calls - to the synchronous interface of <filename>sd-login.h</filename> - with the asynchronous D-Bus interface of systemd-logind. However, - if this is done you need to think a bit about possible races since - the stream of events from D-Bus and from - <filename>sd-login.h</filename> interfaces such as the login - monitor are asynchronous and not ordered against each - other.</para> - - <para>If the functions return string arrays, these are generally - <constant>NULL</constant> terminated and need to be freed by the - caller with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use, including the strings referenced therein. - Similarly, individual strings returned need to be freed, as - well.</para> - - <para>As a special exception, instead of an empty string array - <constant>NULL</constant> may be returned, which should be treated - equivalent to an empty string array.</para> - - <para>See - <citerefentry><refentrytitle>sd_pid_get_session</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_uid_get_state</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_session_is_active</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_seat_get_active</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_get_seats</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_login_monitor_new</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information about the functions - implemented.</para> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_pid_get_session</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_uid_get_state</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_session_is_active</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_seat_get_active</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_get_seats</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_login_monitor_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_booted.xml b/man/sd_booted.xml deleted file mode 100644 index 4dd674b8ea..0000000000 --- a/man/sd_booted.xml +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_booted" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_booted</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_booted</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_booted</refname> - <refpurpose>Test whether the system is running the systemd init system</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-daemon.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_booted</function></funcdef> - <paramdef>void</paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - <para><function>sd_booted()</function> checks whether the system - was booted up using the systemd init system.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On failure, this call returns a negative errno-style error - code. If the system was booted up with systemd as init system, - this call returns a positive return value, zero otherwise.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <xi:include href="libsystemd-pkgconfig.xml" xpointer="pkgconfig-text"/> - - <para>Internally, this function checks whether the directory - <filename>/run/systemd/system/</filename> exists. A simple check - like this can also be implemented trivially in shell or any other - language.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_creds_get_pid.xml b/man/sd_bus_creds_get_pid.xml deleted file mode 100644 index 4c05835568..0000000000 --- a/man/sd_bus_creds_get_pid.xml +++ /dev/null @@ -1,566 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_creds_get_pid"> - - <refentryinfo> - <title>sd_bus_creds_get_pid</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_creds_get_pid</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_creds_get_pid</refname> - <refname>sd_bus_creds_get_ppid</refname> - <refname>sd_bus_creds_get_tid</refname> - <refname>sd_bus_creds_get_uid</refname> - <refname>sd_bus_creds_get_euid</refname> - <refname>sd_bus_creds_get_suid</refname> - <refname>sd_bus_creds_get_fsuid</refname> - <refname>sd_bus_creds_get_gid</refname> - <refname>sd_bus_creds_get_egid</refname> - <refname>sd_bus_creds_get_sgid</refname> - <refname>sd_bus_creds_get_fsgid</refname> - <refname>sd_bus_creds_get_supplementary_gids</refname> - <refname>sd_bus_creds_get_comm</refname> - <refname>sd_bus_creds_get_tid_comm</refname> - <refname>sd_bus_creds_get_exe</refname> - <refname>sd_bus_creds_get_cmdline</refname> - <refname>sd_bus_creds_get_cgroup</refname> - <refname>sd_bus_creds_get_unit</refname> - <refname>sd_bus_creds_get_slice</refname> - <refname>sd_bus_creds_get_user_unit</refname> - <refname>sd_bus_creds_get_user_slice</refname> - <refname>sd_bus_creds_get_session</refname> - <refname>sd_bus_creds_get_owner_uid</refname> - <refname>sd_bus_creds_has_effective_cap</refname> - <refname>sd_bus_creds_has_permitted_cap</refname> - <refname>sd_bus_creds_has_inheritable_cap</refname> - <refname>sd_bus_creds_has_bounding_cap</refname> - <refname>sd_bus_creds_get_selinux_context</refname> - <refname>sd_bus_creds_get_audit_session_id</refname> - <refname>sd_bus_creds_get_audit_login_uid</refname> - <refname>sd_bus_creds_get_tty</refname> - <refname>sd_bus_creds_get_unique_name</refname> - <refname>sd_bus_creds_get_well_known_names</refname> - <refname>sd_bus_creds_get_description</refname> - - <refpurpose>Retrieve fields from a credentials object</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_pid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>pid_t *<parameter>pid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_ppid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>pid_t *<parameter>ppid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_tid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>pid_t *<parameter>tid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_uid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>uid_t *<parameter>uid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_euid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>uid_t *<parameter>uid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_suid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>uid_t *<parameter>uid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_fsuid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>uid_t *<parameter>uid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_gid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>gid_t *<parameter>gid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_egid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>gid_t *<parameter>gid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_sgid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>gid_t *<parameter>gid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_fsgid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>gid_t *<parameter>gid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_supplementary_gids</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const gid_t **<parameter>gids</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_comm</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>comm</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_tid_comm</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>comm</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_exe</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>exe</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_cmdline</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>char ***<parameter>cmdline</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_cgroup</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>cgroup</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_unit</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>unit</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_slice</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>slice</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_user_unit</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>unit</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_user_slice</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>slice</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_session</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>slice</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_owner_uid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>uid_t *<parameter>uid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_has_effective_cap</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>int <parameter>capability</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_has_permitted_cap</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>int <parameter>capability</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_has_inheritable_cap</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>int <parameter>capability</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_has_bounding_cap</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>int <parameter>capability</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_selinux_context</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>context</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_audit_session_id</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>uint32_t *<parameter>sessionid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_audit_login_uid</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>uid_t *<parameter>loginuid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_tty</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>tty</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_unique_name</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>name</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_well_known_names</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>char ***<parameter>name</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_get_description</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - <paramdef>const char **<parameter>name</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>These functions return credential information from an - <parameter>sd_bus_creds</parameter> object. Credential objects may - be created with - <citerefentry><refentrytitle>sd_bus_creds_new_from_pid</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - in which case they describe the credentials of the process - identified by the specified PID, with - <citerefentry><refentrytitle>sd_bus_get_name_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - in which case they describe the credentials of a bus peer - identified by the specified bus name, with - <citerefentry><refentrytitle>sd_bus_get_owner_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - in which case they describe the credentials of the creator of a - bus, or with - <citerefentry><refentrytitle>sd_bus_message_get_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - in which case they describe the credentials of the sender of the - message.</para> - - <para>Not all credential fields are part of every - <literal>sd_bus_creds</literal> object. Use - <citerefentry><refentrytitle>sd_bus_creds_get_mask</refentrytitle><manvolnum>3</manvolnum></citerefentry> - to determine the mask of fields available.</para> - - <para><function>sd_bus_creds_get_pid()</function> will retrieve - the PID (process identifier). Similarly, - <function>sd_bus_creds_get_ppid()</function> will retrieve the - parent PID. Note that PID 1 has no parent process, in which case - -ENXIO is returned.</para> - - <para><function>sd_bus_creds_get_tid()</function> will retrieve the - TID (thread identifier).</para> - - <para><function>sd_bus_creds_get_uid()</function> will retrieve - the numeric UID (user identifier). Similarly, - <function>sd_bus_creds_get_euid()</function> returns the effective - UID, <function>sd_bus_creds_get_suid()</function> the saved UID - and <function>sd_bus_creds_get_fsuid()</function> the file system - UID.</para> - - <para><function>sd_bus_creds_get_gid()</function> will retrieve the - numeric GID (group identifier). Similarly, - <function>sd_bus_creds_get_egid()</function> returns the effective - GID, <function>sd_bus_creds_get_sgid()</function> the saved GID - and <function>sd_bus_creds_get_fsgid()</function> the file system - GID.</para> - - <para><function>sd_bus_creds_get_supplementary_gids()</function> - will retrieve the supplementary GIDs list.</para> - - <para><function>sd_bus_creds_get_comm()</function> will retrieve the - comm field (truncated name of the executable, as stored in - <filename>/proc/<replaceable>pid</replaceable>/comm</filename>). - </para> - - <para><function>sd_bus_creds_get_tid_comm()</function> will retrieve - the comm field of the thread (as stored in - <filename>/proc/<replaceable>pid</replaceable>/task/<replaceable>tid</replaceable>/comm</filename>). - </para> - - <para><function>sd_bus_creds_get_exe()</function> will retrieve - the path to the program executable (as stored in the - <filename>/proc/<replaceable>pid</replaceable>/exe</filename> - link, but with the <literal> (deleted)</literal> suffix removed). Note - that kernel threads do not have an executable path, in which case - -ENXIO is returned.</para> - - <para><function>sd_bus_creds_get_cmdline()</function> will - retrieve an array of command line arguments (as stored in - <filename>/proc/<replaceable>pid</replaceable>/cmdline</filename>). Note - that kernel threads do not have a command line, in which case - -ENXIO is returned.</para> - - <para><function>sd_bus_creds_get_cgroup()</function> will retrieve - the cgroup path. See <ulink - url="https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink>. - </para> - - <para><function>sd_bus_creds_get_unit()</function> will retrieve - the systemd unit name (in the system instance of systemd) that the - process is a part of. See - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. For - processes that are not part of a unit, returns -ENXIO. - </para> - - <para><function>sd_bus_creds_get_user_unit()</function> will - retrieve the systemd unit name (in the user instance of systemd) - that the process is a part of. See - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. For - processes that are not part of a user unit, returns -ENXIO. - </para> - - <para><function>sd_bus_creds_get_slice()</function> will retrieve - the systemd slice (a unit in the system instance of systemd) that - the process is a part of. See - <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>. Similarly, - <function>sd_bus_creds_get_user_slice()</function> retrieves the - systemd slice of the process, in the user instance of systemd. - </para> - - <para><function>sd_bus_creds_get_session()</function> will - retrieve the identifier of the login session that the process is - a part of. See - <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. For - processes that are not part of a session, returns -ENXIO. - </para> - - <para><function>sd_bus_creds_get_owner_uid()</function> will - retrieve the numeric UID (user identifier) of the user who owns - the login session that the process is a part of. See - <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - For processes that are not part of a session, returns -ENXIO. - </para> - - <para><function>sd_bus_creds_has_effective_cap()</function> will check whether the capability specified by - <parameter>capability</parameter> was set in the effective capabilities mask. A positive return value means that it - was set, zero means that it was not set, and a negative return value indicates an error. See <citerefentry - project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry> and the - <varname>AmbientCapabilities=</varname> and <varname>CapabilityBoundingSet=</varname> settings in - <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para> - - <para><function>sd_bus_creds_has_permitted_cap()</function> is - similar to <function>sd_bus_creds_has_effective_cap()</function>, - but will check the permitted capabilities mask.</para> - - <para><function>sd_bus_creds_has_inheritable_cap()</function> is - similar to <function>sd_bus_creds_has_effective_cap()</function>, - but will check the inheritable capabilities mask.</para> - - <para><function>sd_bus_creds_has_bounding_cap()</function> is - similar to <function>sd_bus_creds_has_effective_cap()</function>, - but will check the bounding capabilities mask.</para> - - <para><function>sd_bus_creds_get_selinux_context()</function> will - retrieve the SELinux security context (label) of the process.</para> - - <para><function>sd_bus_creds_get_audit_session_id()</function> - will retrieve the audit session identifier of the process. Returns - -ENXIO for processes that are not part of an audit session.</para> - - <para><function>sd_bus_creds_get_audit_login_uid()</function> will - retrieve the audit user login identifier (the identifier of the - user who is "responsible" for the session). Returns -ENXIO for - processes that are not part of an audit session.</para> - - <para><function>sd_bus_creds_get_tty()</function> will retrieve - the controlling TTY, without the prefixing "/dev/". Returns -ENXIO - for processes that have no controlling TTY.</para> - - <para><function>sd_bus_creds_get_unique_name()</function> will - retrieve the D-Bus unique name. See <ulink - url="http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names-bus">The - D-Bus specification</ulink>.</para> - - <para><function>sd_bus_creds_get_well_known_names()</function> will - retrieve the set of D-Bus well-known names. See <ulink - url="http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names-bus">The - D-Bus specification</ulink>.</para> - - <para><function>sd_bus_creds_get_description()</function> will - retrieve a descriptive name of the bus connection of the - peer. This name is useful to discern multiple bus connections by - the same peer, and may be altered by the peer with the - <citerefentry><refentrytitle>sd_bus_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call.</para> - - <para>All functions that take a <parameter>const - char**</parameter> parameter will store the answer there as an - address of a NUL-terminated string. It will be valid as long as - <parameter>c</parameter> remains valid, and should not be freed or - modified by the caller.</para> - - <para>All functions that take a <parameter>char***</parameter> - parameter will store the answer there as an address of an array - of strings. Each individual string is NUL-terminated, and the - array is NULL-terminated as a whole. It will be valid as long as - <parameter>c</parameter> remains valid, and should not be freed or - modified by the caller.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these calls return 0 or a positive integer. On - failure, these calls return a negative errno-style error code. - </para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-ENODATA</constant></term> - - <listitem><para>The given field is not available in the - credentials object <parameter>c</parameter>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENXIO</constant></term> - - <listitem><para>The given field is not specified for the described - process or peer. This will be returned by - <function>sd_bus_get_unit()</function>, - <function>sd_bus_get_slice()</function>, - <function>sd_bus_get_user_unit()</function>, - <function>sd_bus_get_user_slice()</function>, - <function>sd_bus_get_session()</function>, and - <function>sd_bus_get_owner_uid()</function> if the process is - not part of a systemd system unit, systemd user unit, systemd - slice, or logind session. It will also be returned by - <function>sd_bus_creds_get_exe()</function> and - <function>sd_bus_creds_get_cmdline()</function> for kernel - threads (since these are not started from an executable binary, - nor have a command line), and by - <function>sd_bus_creds_get_audit_session_id()</function> and - <function>sd_bus_creds_get_audit_login_uid()</function> when - the process is not part of an audit session, and - <function>sd_bus_creds_get_tty()</function> if the process has - no controlling TTY. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>Specified pointer parameter is <constant>NULL</constant>. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para><function>sd_bus_creds_get_pid()</function> and the other - functions described here are available as a shared library, which - can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry - project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_creds_new_from_pid</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>fork</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>execve</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>credentials</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>proc</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_creds_new_from_pid.xml b/man/sd_bus_creds_new_from_pid.xml deleted file mode 100644 index 082f7b67db..0000000000 --- a/man/sd_bus_creds_new_from_pid.xml +++ /dev/null @@ -1,353 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_creds_new_from_pid"> - - <refentryinfo> - <title>sd_bus_creds_new_from_pid</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_creds_new_from_pid</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_creds_new_from_pid</refname> - <refname>sd_bus_creds_get_mask</refname> - <refname>sd_bus_creds_get_augmented_mask</refname> - <refname>sd_bus_creds_ref</refname> - <refname>sd_bus_creds_unref</refname> - <refname>sd_bus_creds_unrefp</refname> - - <refpurpose>Retrieve credentials object for the specified PID</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_bus_creds_new_from_pid</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>uint64_t <parameter>creds_mask</parameter></paramdef> - <paramdef>sd_bus_creds **<parameter>ret</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>uint64_t <function>sd_bus_creds_get_mask</function></funcdef> - <paramdef>const sd_bus_creds *<parameter>c</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>uint64_t <function>sd_bus_creds_get_augmented_mask</function></funcdef> - <paramdef>const sd_bus_creds *<parameter>c</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>sd_bus_creds *<function>sd_bus_creds_ref</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>sd_bus_creds *<function>sd_bus_creds_unref</function></funcdef> - <paramdef>sd_bus_creds *<parameter>c</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void <function>sd_bus_creds_unrefp</function></funcdef> - <paramdef>sd_bus_creds **<parameter>c</parameter></paramdef> - </funcprototype> - </funcsynopsis> - - <para> - <constant>SD_BUS_CREDS_PID</constant>, - <constant>SD_BUS_CREDS_PPID</constant>, - <constant>SD_BUS_CREDS_TID</constant>, - <constant>SD_BUS_CREDS_UID</constant>, - <constant>SD_BUS_CREDS_EUID</constant>, - <constant>SD_BUS_CREDS_SUID</constant>, - <constant>SD_BUS_CREDS_FSUID</constant>, - <constant>SD_BUS_CREDS_GID</constant>, - <constant>SD_BUS_CREDS_EGID</constant>, - <constant>SD_BUS_CREDS_SGID</constant>, - <constant>SD_BUS_CREDS_FSGID</constant>, - <constant>SD_BUS_CREDS_SUPPLEMENTARY_GIDS</constant>, - <constant>SD_BUS_CREDS_COMM</constant>, - <constant>SD_BUS_CREDS_TID_COMM</constant>, - <constant>SD_BUS_CREDS_EXE</constant>, - <constant>SD_BUS_CREDS_CMDLINE</constant>, - <constant>SD_BUS_CREDS_CGROUP</constant>, - <constant>SD_BUS_CREDS_UNIT</constant>, - <constant>SD_BUS_CREDS_SLICE</constant>, - <constant>SD_BUS_CREDS_USER_UNIT</constant>, - <constant>SD_BUS_CREDS_USER_SLICE</constant>, - <constant>SD_BUS_CREDS_SESSION</constant>, - <constant>SD_BUS_CREDS_OWNER_UID</constant>, - <constant>SD_BUS_CREDS_EFFECTIVE_CAPS</constant>, - <constant>SD_BUS_CREDS_PERMITTED_CAPS</constant>, - <constant>SD_BUS_CREDS_INHERITABLE_CAPS</constant>, - <constant>SD_BUS_CREDS_BOUNDING_CAPS</constant>, - <constant>SD_BUS_CREDS_SELINUX_CONTEXT</constant>, - <constant>SD_BUS_CREDS_AUDIT_SESSION_ID</constant>, - <constant>SD_BUS_CREDS_AUDIT_LOGIN_UID</constant>, - <constant>SD_BUS_CREDS_TTY</constant>, - <constant>SD_BUS_CREDS_UNIQUE_NAME</constant>, - <constant>SD_BUS_CREDS_WELL_KNOWN_NAMES</constant>, - <constant>SD_BUS_CREDS_DESCRIPTION</constant>, - <constant>SD_BUS_CREDS_AUGMENT</constant>, - <constant>_SD_BUS_CREDS_ALL</constant> - </para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_bus_creds_new_from_pid()</function> creates a - new credentials object and fills it with information about the - process <parameter>pid</parameter>. The pointer to this object - will be stored in the <parameter>ret</parameter> pointer. Note that - credential objects may also be created and retrieved via - <citerefentry><refentrytitle>sd_bus_get_name_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_get_owner_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and - <citerefentry><refentrytitle>sd_bus_message_get_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>The information that will be stored is determined by - <parameter>creds_mask</parameter>. It may contain a subset of ORed - constants <constant>SD_BUS_CREDS_PID</constant>, - <constant>SD_BUS_CREDS_PPID</constant>, - <constant>SD_BUS_CREDS_TID</constant>, - <constant>SD_BUS_CREDS_UID</constant>, - <constant>SD_BUS_CREDS_EUID</constant>, - <constant>SD_BUS_CREDS_SUID</constant>, - <constant>SD_BUS_CREDS_FSUID</constant>, - <constant>SD_BUS_CREDS_GID</constant>, - <constant>SD_BUS_CREDS_EGID</constant>, - <constant>SD_BUS_CREDS_SGID</constant>, - <constant>SD_BUS_CREDS_FSGID</constant>, - <constant>SD_BUS_CREDS_SUPPLEMENTARY_GIDS</constant>, - <constant>SD_BUS_CREDS_COMM</constant>, - <constant>SD_BUS_CREDS_TID_COMM</constant>, - <constant>SD_BUS_CREDS_EXE</constant>, - <constant>SD_BUS_CREDS_CMDLINE</constant>, - <constant>SD_BUS_CREDS_CGROUP</constant>, - <constant>SD_BUS_CREDS_UNIT</constant>, - <constant>SD_BUS_CREDS_SLICE</constant>, - <constant>SD_BUS_CREDS_USER_UNIT</constant>, - <constant>SD_BUS_CREDS_USER_SLICE</constant>, - <constant>SD_BUS_CREDS_SESSION</constant>, - <constant>SD_BUS_CREDS_OWNER_UID</constant>, - <constant>SD_BUS_CREDS_EFFECTIVE_CAPS</constant>, - <constant>SD_BUS_CREDS_PERMITTED_CAPS</constant>, - <constant>SD_BUS_CREDS_INHERITABLE_CAPS</constant>, - <constant>SD_BUS_CREDS_BOUNDING_CAPS</constant>, - <constant>SD_BUS_CREDS_SELINUX_CONTEXT</constant>, - <constant>SD_BUS_CREDS_AUDIT_SESSION_ID</constant>, - <constant>SD_BUS_CREDS_AUDIT_LOGIN_UID</constant>, - <constant>SD_BUS_CREDS_TTY</constant>, - <constant>SD_BUS_CREDS_UNIQUE_NAME</constant>, - <constant>SD_BUS_CREDS_WELL_KNOWN_NAMES</constant>, and - <constant>SD_BUS_CREDS_DESCRIPTION</constant>. Use the special - value <constant>_SD_BUS_CREDS_ALL</constant> to request all - supported fields. The <constant>SD_BUS_CREDS_AUGMENT</constant> - constant may not be ORed into the mask for invocations of - <function>sd_bus_creds_new_from_pid()</function>.</para> - - <para>Fields can be retrieved from the credentials object using - <citerefentry><refentrytitle>sd_bus_creds_get_pid</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and other functions which correspond directly to the constants - listed above.</para> - - <para>A mask of fields which were actually successfully retrieved - can be retrieved with - <function>sd_bus_creds_get_mask()</function>. If the credentials - object was created with - <function>sd_bus_creds_new_from_pid()</function>, this will be a - subset of fields requested in <parameter>creds_mask</parameter>. - </para> - - <para>Similar to <function>sd_bus_creds_get_mask()</function>, the - function <function>sd_bus_creds_get_augmented_mask()</function> - returns a bitmask of field constants. The mask indicates which - credential fields have been retrieved in a non-atomic fashion. For - credential objects created via - <function>sd_bus_creds_new_from_pid()</function>, this mask will be - identical to the mask returned by - <function>sd_bus_creds_get_mask()</function>. However, for - credential objects retrieved via - <function>sd_bus_get_name_creds()</function>, this mask will be set - for the credential fields that could not be determined atomically - at peer connection time, and which were later added by reading - augmenting credential data from - <filename>/proc</filename>. Similarly, for credential objects - retrieved via <function>sd_bus_get_owner_creds()</function>, the - mask is set for the fields that could not be determined atomically - at bus creation time, but have been augmented. Similarly, for - credential objects retrieved via - <function>sd_bus_message_get_creds()</function>, the mask is set - for the fields that could not be determined atomically at message - sending time, but have been augmented. The mask returned by - <function>sd_bus_creds_get_augmented_mask()</function> is always a - subset of (or identical to) the mask returned by - <function>sd_bus_creds_get_mask()</function> for the same - object. The latter call hence returns all credential fields - available in the credential object, the former then marks the - subset of those that have been augmented. Note that augmented - fields are unsuitable for authorization decisions, as they may be - retrieved at different times, thus being subject to races. Hence, - augmented fields should be used exclusively for informational - purposes. - </para> - - <para><function>sd_bus_creds_ref()</function> creates a new - reference to the credentials object <parameter>c</parameter>. This - object will not be destroyed until - <function>sd_bus_creds_unref()</function> has been called as many - times plus once more. Once the reference count has dropped to zero, - <parameter>c</parameter> cannot be used anymore, so further - calls to <function>sd_bus_creds_ref(c)</function> or - <function>sd_bus_creds_unref(c)</function> are illegal.</para> - - <para><function>sd_bus_creds_unref()</function> destroys a reference - to <parameter>c</parameter>.</para> - - <para><function>sd_bus_creds_unrefp()</function> is similar to - <function>sd_bus_creds_unref()</function> but takes a pointer to a - pointer to an <type>sd_bus_creds</type> object. This call is useful in - conjunction with GCC's and LLVM's <ulink - url="https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html">Clean-up - Variable Attribute</ulink>. Note that this function is defined as - inline function.</para> - - <para><function>sd_bus_creds_ref()</function>, - <function>sd_bus_creds_unref()</function> and - <function>sd_bus_creds_unrefp()</function> execute no operation if - the passed in bus credentials object is - <constant>NULL</constant>.</para> - - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_bus_creds_new_from_pid()</function> - returns 0 or a positive integer. On failure, it returns a negative - errno-style error code.</para> - - <para><function>sd_bus_creds_get_mask()</function> returns the - mask of successfully acquired fields.</para> - - <para><function>sd_bus_creds_get_augmented_mask()</function> - returns the mask of fields that have been augmented from data in - <filename>/proc</filename>, and are thus not suitable for - authorization decisions.</para> - - <para><function>sd_bus_creds_ref()</function> always returns the - argument.</para> - - <para><function>sd_bus_creds_unref()</function> always returns - <constant>NULL</constant>.</para> - </refsect1> - - <refsect1> - <title>Reference ownership</title> - - <para>Function <function>sd_bus_creds_new_from_pid()</function> - creates a new object and the caller owns the sole reference. When - not needed anymore, this reference should be destroyed with - <citerefentry><refentrytitle>sd_bus_creds_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - </para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-ESRCH</constant></term> - - <listitem><para>Specified <parameter>pid</parameter> could not - be found.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>Specified parameter is invalid - (<constant>NULL</constant> in case of output - parameters).</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EOPNOTSUPP</constant></term> - - <listitem><para>One of the requested fields is unknown to the local system.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para><function>sd_bus_creds_new_from_pid()</function> and the - other calls described here are available as a shared library, - which can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry - project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_creds_get_pid</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_get_name_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_get_owner_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_get_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_default.xml b/man/sd_bus_default.xml deleted file mode 100644 index 6d5a90de72..0000000000 --- a/man/sd_bus_default.xml +++ /dev/null @@ -1,312 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_default"> - - <refentryinfo> - <title>sd_bus_default</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_default</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_default</refname> - <refname>sd_bus_default_user</refname> - <refname>sd_bus_default_system</refname> - - <refname>sd_bus_open</refname> - <refname>sd_bus_open_user</refname> - <refname>sd_bus_open_system</refname> - <refname>sd_bus_open_system_remote</refname> - <refname>sd_bus_open_system_machine</refname> - - <refpurpose>Acquire a connection to a system or user bus</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_bus_default</function></funcdef> - <paramdef>sd_bus **<parameter>bus</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_default_user</function></funcdef> - <paramdef>sd_bus **<parameter>bus</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_default_system</function></funcdef> - <paramdef>sd_bus **<parameter>bus</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_open</function></funcdef> - <paramdef>sd_bus **<parameter>bus</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_open_user</function></funcdef> - <paramdef>sd_bus **<parameter>bus</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_open_system</function></funcdef> - <paramdef>sd_bus **<parameter>bus</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_open_system_remote</function></funcdef> - <paramdef>sd_bus **<parameter>bus</parameter></paramdef> - <paramdef>const char *<parameter>host</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_open_system_machine</function></funcdef> - <paramdef>sd_bus **<parameter>bus</parameter></paramdef> - <paramdef>const char *<parameter>machine</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_bus_default()</function> acquires a bus - connection object to the user bus when invoked in user context, or - to the system bus otherwise. The connection object is associated - with the calling thread. Each time the function is invoked from - the same thread, the same object is returned, but its reference - count is increased by one, as long as at least one reference is - kept. When the last reference to the connection is dropped (using - the - <citerefentry><refentrytitle>sd_bus_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call), the connection is terminated. Note that the connection is - not automatically terminated when the associated thread ends. It - is important to drop the last reference to the bus connection - explicitly before the thread ends, as otherwise, the connection will - leak. Also, queued but unread or unwritten messages keep the - bus referenced, see below.</para> - - <para><function>sd_bus_default_user()</function> returns a user - bus connection object associated with the calling thread. - <function>sd_bus_default_system()</function> is similar, but - connects to the system bus. Note that - <function>sd_bus_default()</function> is identical to these two - calls, depending on the execution context.</para> - - <para><function>sd_bus_open()</function> creates a new, - independent bus connection to the user bus when invoked in user - context, or the system bus - otherwise. <function>sd_bus_open_user()</function> is similar, but - connects only to the user bus. - <function>sd_bus_open_system()</function> does the same, but - connects to the system bus. In contrast to - <function>sd_bus_default()</function>, - <function>sd_bus_default_user()</function>, and - <function>sd_bus_default_system()</function>, these calls return - new, independent connection objects that are not associated with - the invoking thread and are not shared between multiple - invocations. It is recommended to share connections per thread to - efficiently make use the available resources. Thus, it is - recommended to use <function>sd_bus_default()</function>, - <function>sd_bus_default_user()</function> and - <function>sd_bus_default_system()</function> to connect to the - user or system buses.</para> - - <para>If the <varname>$DBUS_SESSION_BUS_ADDRESS</varname> environment - variable is set - (cf. <citerefentry project='man-pages'><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>), - it will be used as the address of the user bus. This variable can - contain multiple addresses separated by <literal>;</literal>. If - this variable is not set, a suitable default for the default user - D-Bus instance will be used.</para> - - <para>If the <varname>$DBUS_SYSTEM_BUS_ADDRESS</varname> - environment variable is set, it will be used as the address of the - system bus. This variable uses the same syntax as - <varname>$DBUS_SESSION_BUS_ADDRESS</varname>. If this variable is - not set, a suitable default for the default system D-Bus instance - will be used.</para> - - <para><function>sd_bus_open_system_remote()</function> connects to - the system bus on the specified <parameter>host</parameter> using - <citerefentry - project='die-net'><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>. <parameter>host</parameter> - consists of an optional user name followed by the - <literal>@</literal> symbol, and the hostname. - </para> - - <para><function>sd_bus_open_system_machine()</function> connects - to the system bus in the specified <parameter>machine</parameter>, - where <parameter>machine</parameter> is the name of a local - container. See - <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - for more information about the "machine" concept. Note that - connections into local containers are only available to privileged - processes at this time.</para> - - <para>These calls allocate a bus connection object and initiate - the connection to a well-known bus of some form. An alternative to - using these high-level calls is to create an unconnected bus - object with - <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and to connect it with - <citerefentry><refentrytitle>sd_bus_start</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - </para> - - </refsect1> - - <refsect1> - <title>Reference ownership</title> - <para>The functions <function>sd_bus_open()</function>, - <function>sd_bus_open_user()</function>, - <function>sd_bus_open_system()</function>, - <function>sd_bus_open_system_remote()</function>, and - <function>sd_bus_open_system_machine()</function> return a new - connection object and the caller owns the sole reference. When not - needed anymore, this reference should be destroyed with - <citerefentry><refentrytitle>sd_bus_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - </para> - - <para>The functions <function>sd_bus_default()</function>, - <function>sd_bus_default_user()</function> and - <function>sd_bus_default_system()</function> do not necessarily - create a new object, but increase the connection reference of an - existing connection object by one. Use - <citerefentry><refentrytitle>sd_bus_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry> - to drop the reference.</para> - - <para>Queued but unwritten/unread messages also keep a reference - to their bus connection object. For this reason, even if an - application dropped all references to a bus connection, it might - not get destroyed right away. Until all incoming queued - messages are read, and until all outgoing unwritten messages are - written, the bus object will stay - alive. <function>sd_bus_flush()</function> may be used to write - all outgoing queued messages so they drop their references. To - flush the unread incoming messages, use - <function>sd_bus_close()</function>, which will also close the bus - connection. When using the default bus logic, it is a good idea to - first invoke <function>sd_bus_flush()</function> followed by - <function>sd_bus_close()</function> when a thread or process - terminates, and thus its bus connection object should be - freed.</para> - - <para>The life cycle of the default bus connection should be the - responsibility of the code that creates/owns the thread the - default bus connection object is associated with. Library code - should neither call <function>sd_bus_flush()</function> nor - <function>sd_bus_close()</function> on default bus objects unless - it does so in its own private, self-allocated thread. Library code - should not use the default bus object in other threads unless it - is clear that the program using it will life cycle the bus - connection object and flush and close it before exiting from the - thread. In libraries where it is not clear that the calling - program will life cycle the bus connection object, it is hence - recommended to use <function>sd_bus_open_system()</function> - instead of <function>sd_bus_default_system()</function> and - related calls.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these calls return 0 or a positive - integer. On failure, these calls return a negative - errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>The specified parameters are invalid.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ESOCKTNOSUPPORT</constant></term> - - <listitem><para>The protocol version required to connect to the selected bus is not supported.</para></listitem> - </varlistentry> - </variablelist> - - <para>In addition, any further connection-related errors may be - by returned. See <citerefentry><refentrytitle>sd_bus_send</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para><function>sd_bus_open_user()</function> and the other - functions described here are available as a shared library, which - can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry - project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_ref</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_error.xml b/man/sd_bus_error.xml deleted file mode 100644 index c2d7ee389b..0000000000 --- a/man/sd_bus_error.xml +++ /dev/null @@ -1,389 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_error"> - - <refentryinfo> - <title>sd_bus_error</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_error</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_error</refname> - <refname>SD_BUS_ERROR_MAKE_CONST</refname> - <refname>SD_BUS_ERROR_NULL</refname> - <refname>sd_bus_error_free</refname> - <refname>sd_bus_error_set</refname> - <refname>sd_bus_error_setf</refname> - <refname>sd_bus_error_set_const</refname> - <refname>sd_bus_error_set_errno</refname> - <refname>sd_bus_error_set_errnof</refname> - <refname>sd_bus_error_set_errnofv</refname> - <refname>sd_bus_error_get_errno</refname> - <refname>sd_bus_error_copy</refname> - <refname>sd_bus_error_is_set</refname> - <refname>sd_bus_error_has_name</refname> - - <refpurpose>sd-bus error handling</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcsynopsisinfo>typedef struct { - const char *name; - const char *message; - ... -} sd_bus_error;</funcsynopsisinfo> - - <para> - <constant>SD_BUS_ERROR_MAKE_CONST(<replaceable>name</replaceable>, <replaceable>message</replaceable>)</constant> - </para> - <para> - <constant>SD_BUS_ERROR_NULL</constant> - </para> - - <funcprototype> - <funcdef>void <function>sd_bus_error_free</function></funcdef> - <paramdef>sd_bus_error *<parameter>e</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_error_set</function></funcdef> - <paramdef>sd_bus_error *<parameter>e</parameter></paramdef> - <paramdef>const char *<parameter>name</parameter></paramdef> - <paramdef>const char *<parameter>message</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_error_setf</function></funcdef> - <paramdef>sd_bus_error *<parameter>e</parameter></paramdef> - <paramdef>const char *<parameter>name</parameter></paramdef> - <paramdef>const char *<parameter>format</parameter></paramdef> - <paramdef>...</paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_error_set_const</function></funcdef> - <paramdef>sd_bus_error *<parameter>e</parameter></paramdef> - <paramdef>const char *<parameter>name</parameter></paramdef> - <paramdef>const char *<parameter>message</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_error_set_errno</function></funcdef> - <paramdef>sd_bus_error *<parameter>e</parameter></paramdef> - <paramdef>int <parameter>error</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_error_set_errnof</function></funcdef> - <paramdef>sd_bus_error *<parameter>e</parameter></paramdef> - <paramdef>int <parameter>error</parameter></paramdef> - <paramdef>const char *<parameter>format</parameter></paramdef> - <paramdef>...</paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_error_set_errnofv</function></funcdef> - <paramdef>sd_bus_error *<parameter>e</parameter></paramdef> - <paramdef>int <parameter>error</parameter></paramdef> - <paramdef>const char *<parameter>format</parameter></paramdef> - <paramdef>va_list ap</paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_error_get_errno</function></funcdef> - <paramdef>const sd_bus_error *<parameter>e</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_error_copy</function></funcdef> - <paramdef>sd_bus_error *<parameter>dst</parameter></paramdef> - <paramdef>const sd_bus_error *<parameter>e</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_error_is_set</function></funcdef> - <paramdef>const sd_bus_error *<parameter>e</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_error_has_name</function></funcdef> - <paramdef>const sd_bus_error *<parameter>e</parameter></paramdef> - <paramdef>const char *<parameter>name</parameter></paramdef> - </funcprototype> - </funcsynopsis> - - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>The <structname>sd_bus_error</structname> structure carries - information about a D-Bus error condition. The functions described - below may be used to set and query fields in this structure. The - <structfield>name</structfield> field contains a short identifier - of an error. It should follow the rules for error names described - in the D-Bus specification, subsection <ulink - url="http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names">Valid - Names</ulink>. A number of common, standardized error names are - described in - <citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - but additional domain-specific errors may be defined by - applications. The <structfield>message</structfield> field usually - contains a human-readable string describing the details, but might - be NULL. An unset <structname>sd_bus_error</structname> structure - should have both fields initialized to NULL. Set an error - structure to <constant>SD_BUS_ERROR_NULL</constant> in order to - reset both fields to NULL. When no longer necessary, resources - held by the <structname>sd_bus_error</structname>structure should - be destroyed with <function>sd_bus_error_free()</function>.</para> - - <para><function>sd_bus_error_set()</function> sets an error - structure to the specified name and message strings. The strings - will be copied into internal, newly allocated memory. It is - essential to free the error structure again when it is not - required anymore (see above). The function will return an - <varname>errno</varname>-like negative value (see <citerefentry - project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>) - determined from the specified error name. Various well-known - D-Bus errors are converted to well-known <varname>errno</varname> - counterparts, and the other ones to <constant>-EIO</constant>. See - <citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for a list of well-known error names. Additional error mappings - may be defined with - <citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry>. If - <parameter>e</parameter> is NULL, no error structure is initialized, - but the error is still converted into an - <varname>errno</varname>-style error. If - <parameter>name</parameter> is <constant>NULL</constant>, it is - assumed that no error occurred, and 0 is returned. This means that - this function may be conveniently used in a - <function>return</function> statement. If - <parameter>message</parameter> is NULL, no message is set. This - call can fail if no memory may be allocated for the name and - message strings, in which case an - <constant>SD_BUS_ERROR_NO_MEMORY</constant> error might be set - instead and -ENOMEM be returned. Do not use this call on error - structures that are already initialized. If you intend to reuse an - error structure, free the old data stored in it with - <function>sd_bus_error_free()</function> first.</para> - - <para><function>sd_bus_error_setf()</function> is similar to - <function>sd_bus_error_set()</function>, but takes a <citerefentry - project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry> - format string and corresponding arguments to generate the - <structfield>message</structfield> field.</para> - - <para><function>sd_bus_error_set_const()</function> is similar to - <function>sd_bus_error_set()</function>, but the string parameters - are not copied internally, and must hence remain constant and - valid for the lifetime of <parameter>e</parameter>. Use this call - to avoid memory allocations when setting error structures. Since - this call does not allocate memory, it will not fail with an - out-of-memory condition as - <function>sd_bus_error_set()</function> can, as described - above. Alternatively, the - <constant>SD_BUS_ERROR_MAKE_CONST()</constant> macro may be used - to generate a literal, constant bus error structure - on-the-fly.</para> - - <para><function>sd_bus_error_set_errno()</function> will set - <structfield>name</structfield> from an - <varname>errno</varname>-like value that is converted to a D-Bus - error. <citerefentry - project='die-net'><refentrytitle>strerror_r</refentrytitle><manvolnum>3</manvolnum></citerefentry> - will be used to set <structfield>message</structfield>. Well-known - D-Bus error names will be used for <structfield>name</structfield> - if applicable, otherwise a name in the - <literal>System.Error.</literal> namespace will be generated. The - sign of the specified error number is ignored. The absolute value - is used implicitly. The call always returns a negative value, for - convenient usage in <function>return</function> statements. This - call might fail due to lack of memory, in which case an - <constant>SD_BUS_ERROR_NO_MEMORY</constant> error is set instead, - and -ENOMEM is returned.</para> - - <para><function>sd_bus_error_set_errnof()</function> is similar to - <function>sd_bus_error_set_errno()</function>, but in addition to - <parameter>error</parameter>, takes a <citerefentry - project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry> - format string and corresponding arguments. The - <structfield>message</structfield> field will be generated from - <parameter>format</parameter> and the arguments.</para> - - <para><function>sd_bus_error_set_errnofv()</function> is similar to - <function>sd_bus_error_set_errnof()</function>, but takes the - format string parameters as <citerefentry - project='man-pages'><refentrytitle>va_arg</refentrytitle><manvolnum>3</manvolnum></citerefentry> - parameter list.</para> - - <para><function>sd_bus_error_get_errno()</function> converts the - <structfield>name</structfield> field of an error structure to an - <varname>errno</varname>-like (positive) value using the same - rules as <function>sd_bus_error_set()</function>. If - <parameter>e</parameter> is <constant>NULL</constant>, 0 will be - returned.</para> - - <para><function>sd_bus_error_copy()</function> will initialize - <parameter>dst</parameter> using the values in - <parameter>e</parameter>. If the strings in - <parameter>e</parameter> were set using - <function>sd_bus_set_error_const()</function>, they will be shared. - Otherwise, they will be copied. Returns a converted - <varname>errno</varname>-like, negative error code.</para> - - <para><function>sd_bus_error_is_set()</function> will return a - non-zero value if <parameter>e</parameter> is - non-<constant>NULL</constant> and an error has been set, - <constant>false</constant> otherwise.</para> - - <para><function>sd_bus_error_has_name()</function> will return a - non-zero value if <parameter>e</parameter> is - non-<constant>NULL</constant> and an error with the same - <parameter>name</parameter> has been set, - <constant>false</constant> otherwise.</para> - - <para><function>sd_bus_error_free()</function> will destroy - resources held by <parameter>e</parameter>. The parameter itself - will not be deallocated, and must be <citerefentry - project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>d - by the caller if necessary. The function may also be called safely - on unset errors (error structures with both fields set to NULL), - in which case it performs no operation. This call will reset the - error structure after freeing the data, so that all fields are set - to NULL. The structure may be reused afterwards.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>The functions <function>sd_bus_error_set()</function>, - <function>sd_bus_error_setf()</function>, and - <function>sd_bus_error_set_const()</function>, when successful, - return the negative errno value corresponding to the - <parameter>name</parameter> parameter. The functions - <function>sd_bus_error_set_errno()</function>, - <function>sd_bus_error_set_errnof()</function> and - <function>sd_bus_error_set_errnofv()</function>, when successful, - return the negative value of the <parameter>error</parameter> - parameter. If an error occurs, one of the negative error values - listed below will be returned.</para> - - <para><function>sd_bus_error_get_errno()</function> returns - <constant>false</constant> when <parameter>e</parameter> is - <constant>NULL</constant>, and a positive errno value mapped from - <parameter>e->name</parameter> otherwise.</para> - - <para><function>sd_bus_error_copy()</function> returns 0 or a - positive integer on success, and a negative error value converted - from the error name otherwise.</para> - - <para><function>sd_bus_error_is_set()</function> returns a - non-zero value when <parameter>e</parameter> and the - <structfield>name</structfield> field are - non-<constant>NULL</constant>, zero otherwise.</para> - - <para><function>sd_bus_error_has_name()</function> returns a - non-zero value when <parameter>e</parameter> is - non-<constant>NULL</constant> and the - <structfield>name</structfield> field is equal to - <parameter>name</parameter>, zero otherwise.</para> - </refsect1> - - <refsect1> - <title>Reference ownership</title> - <para><structname>sd_bus_error</structname> is not reference - counted. Users should destroy resources held by it by calling - <function>sd_bus_error_free()</function>. Usually, error structures - are allocated on the stack or passed in as function parameters, - but they may also be allocated dynamically, in which case it is - the duty of the caller to <citerefentry - project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - the memory held by the structure itself after freeing its contents - with <function>sd_bus_error_free()</function>.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>Error was already set in - <structname>sd_bus_error</structname> structure when one the - error-setting functions was called.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para><function>sd_bus_set_error()</function> and other functions - described here are available as a shared library, which can be - compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_error_add_map</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>strerror_r</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_error_add_map.xml b/man/sd_bus_error_add_map.xml deleted file mode 100644 index 7dc1ef6c90..0000000000 --- a/man/sd_bus_error_add_map.xml +++ /dev/null @@ -1,173 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_error_add_map"> - - <refentryinfo> - <title>sd_bus_error_add_map</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_error_add_map</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_error_add_map</refname> - <refname>sd_bus_error_map</refname> - <refname>SD_BUS_ERROR_MAP</refname> - <refname>SD_BUS_ERROR_END</refname> - - <refpurpose>Additional sd-dbus error mappings</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcsynopsisinfo>typedef struct { - const char *name; - int code; - ... -} sd_bus_error_map;</funcsynopsisinfo> - - </funcsynopsis> - - <para> - <constant>SD_BUS_ERROR_MAP(<replaceable>name</replaceable>, <replaceable>code</replaceable>)</constant> - </para> - <para> - <constant>SD_BUS_ERROR_MAP_END</constant> - </para> - - <funcprototype> - <funcdef>int <function>sd_bus_error_add_map</function></funcdef> - <paramdef>const sd_bus_map *<parameter>map</parameter></paramdef> - </funcprototype> - - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>The <function>sd_bus_error_add_map()</function> call may be - used to register additional mappings for converting D-Bus errors - to GNU/Linux <varname>errno</varname>-style errors. The mappings - defined with this call are consulted by calls such as - <citerefentry><refentrytitle>sd_bus_error_set</refentrytitle><manvolnum>3</manvolnum></citerefentry> - or - <citerefentry><refentrytitle>sd_bus_error_get_errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>. By - default, a number of generic, standardized mappings are known, as - documented in - <citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>. Use - this call to add further, application-specific mappings.</para> - - <para>The function takes a pointer to an array of - <structname>sd_bus_error_map</structname> structures. A reference - to the specified array is added to the lookup tables for error - mappings. Note that the structure is not copied, and that it is hence - essential that the array stays available and constant during the - entire remaining runtime of the process.</para> - - <para>The mapping array should be put together with a series of - <constant>SD_BUS_ERROR_MAP()</constant> macro invocations that - take a literal name string and a (positive) - <varname>errno</varname>-style error number. The last entry of the - array should be an invocation of the - <constant>SD_BUS_ERROR_MAP_END</constant> macro. The array should not be - put together without use of these two macros.</para> - - <para>Note that the call is idempotent: it is safe to invoke it - multiple times with the parameter, which will only add the passed - mapping array once.</para> - - <para>Note that the memory allocated by this call is not intended - to be freed during the lifetime of the process. It should not be - freed explicitly.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_bus_error_add_map()</function> returns a - positive value when the new array was added to the lookup - tables. It returns zero when the same array was already added - before. On error, a negative <varname>errno</varname>-style error - code is returned. See below for known error codes.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>The specified mapping array is invalid.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The various error definitions described here are available - as a shared library, which can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry - project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_error</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus-errors</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>strerror_r</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_message_append.xml b/man/sd_bus_message_append.xml deleted file mode 100644 index 77fce02eae..0000000000 --- a/man/sd_bus_message_append.xml +++ /dev/null @@ -1,264 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_message_append" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_bus_message_append</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_message_append</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_message_append</refname> - - <refpurpose>Attach fields to a D-Bus message based on a type - string</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int sd_bus_message_append</funcdef> - <paramdef>sd_bus_message *<parameter>m</parameter></paramdef> - <paramdef>const char *<parameter>types</parameter></paramdef> - <paramdef>...</paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>The <function>sd_bus_message_append()</function> function - appends a sequence of fields to the D-Bus message object - <parameter>m</parameter>. The type string - <parameter>types</parameter> describes the types of the field - arguments that follow. For each type specified in the type string, - one or more arguments need to be specified, in the same order as - declared in the type string.</para> - - <para>The type string is composed of the elements shown in the - table below. It contains zero or more single "complete types". - Each complete type may be one of the basic types or a fully - described container type. A container type may be a structure with - the contained types, a variant, an array with its element type, or - a dictionary entry with the contained types. The type string is - <constant>NUL</constant>-terminated.</para> - - <para>In case of a basic type, one argument of the corresponding - type is expected.</para> - - <para>A structure is denoted by a sequence of complete types - between <literal>(</literal> and <literal>)</literal>. This - sequence cannot be empty — it must contain at least one type. - Arguments corresponding to this nested sequence follow the same - rules as if they were not nested.</para> - - <para>A variant is denoted by <literal>v</literal>. Corresponding - arguments must begin with a type string denoting a complete type, - and following that, arguments corresponding to the specified type. - </para> - - <para>An array is denoted by <literal>a</literal> followed by a - complete type. Corresponding arguments must begin with the number of - entries in the array, followed by the entries themselves, - matching the element type of the array.</para> - - <para>A dictionary is an array of dictionary entries, denoted by - <literal>a</literal> followed by a pair of complete types between - <literal>{</literal> and <literal>}</literal>. The first of those - types must be a basic type. Corresponding arguments must begin - with the number of dictionary entries, followed by a pair of - values for each entry matching the element type of - the dictionary entries.</para> - - <para>For further details on the D-Bus type system, please consult - the <ulink - url="http://dbus.freedesktop.org/doc/dbus-specification.html#type-system">D-Bus - Specification</ulink>.</para> - - <table> - <title>Item type specifiers</title> - - <tgroup cols='5'> - <xi:include href="sd_bus_message_append_basic.xml" xpointer="xpointer(//table[@id='format-specifiers'])//colspec" /> - <xi:include href="sd_bus_message_append_basic.xml" xpointer="xpointer(//table[@id='format-specifiers']//thead)" /> - - <tbody> - <xi:include href="sd_bus_message_append_basic.xml" xpointer="xpointer(//table[@id='format-specifiers']//tbody/*)" /> - - <row> - <entry><literal>a</literal></entry> - <entry><constant>SD_BUS_TYPE_ARRAY</constant></entry> - <entry>array</entry> - <entry>determined by array type and size</entry> - <entry>int, followed by array contents</entry> - </row> - - <row> - <entry><literal>v</literal></entry> - <entry><constant>SD_BUS_TYPE_VARIANT</constant></entry> - <entry>variant</entry> - <entry>determined by the type argument</entry> - <entry>signature string, followed by variant contents</entry> - </row> - - <row> - <entry><literal>(</literal></entry> - <entry><constant>SD_BUS_TYPE_STRUCT_BEGIN</constant></entry> - <entry>array start</entry> - <entry morerows="1">determined by the nested types</entry> - <entry morerows="1">structure contents</entry> - </row> - <row> - <entry><literal>)</literal></entry> - <entry><constant>SD_BUS_TYPE_STRUCT_END</constant></entry> - <entry>array end</entry> - </row> - - <row> - <entry><literal>{</literal></entry> - <entry><constant>SD_BUS_TYPE_DICT_ENTRY_BEGIN</constant></entry> - <entry>dictionary entry start</entry> - <entry morerows="1">determined by the nested types</entry> - <entry morerows="1">dictionary contents</entry> - </row> - <row> - <entry><literal>}</literal></entry> - <entry><constant>SD_BUS_TYPE_DICT_ENTRY_END</constant></entry> - <entry>dictionary entry end</entry> - </row> - </tbody> - </tgroup> - </table> - - </refsect1> - - <refsect1> - <title>Types String Grammar</title> - - <programlisting>types ::= complete_type* -complete_type ::= basic_type | variant | structure | array | dictionary -basic_type ::= "y" | "n" | "q" | "u" | "i" | "x" | "t" | "d" | - "b" | "h" | - "s" | "o" | "g" -variant ::= "v" -structure ::= "(" complete_type+ ")" -array ::= "a" complete_type -dictionary ::= "a" "{" basic_type complete_type "}" -</programlisting> - </refsect1> - - <refsect1> - <title>Examples</title> - - <para>Append a single basic type (the string <literal>a string</literal>): - </para> - - <programlisting>sd_bus_message *m; -... -sd_bus_message_append(m, "s", "a string");</programlisting> - - <para>Append all types of integers:</para> - - <programlisting>uint8_t y = 1; -int16_t n = 2; -uint16_t q = 3; -int32_t i = 4; -uint32_t u = 5; -int32_t x = 6; -uint32_t t = 7; -double d = 8.0; -sd_bus_message_append(m, "ynqiuxtd", y, n, q, i, u, x, t, d);</programlisting> - - <para>Append a structure composed of a string and a D-Bus path:</para> - - <programlisting>sd_bus_message_append(m, "(so)", "a string", "/a/path"); -</programlisting> - - <para>Append an array of UNIX file descriptors:</para> - - <programlisting>sd_bus_message_append(m, "ah", 3, STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO); -</programlisting> - - <para>Append a variant, with the real type "g" (signature), - and value "sdbusisgood":</para> - - <programlisting>sd_bus_message_append(m, "v", "g", "sdbusisgood");</programlisting> - - <para>Append a dictionary containing the mapping {1=>"a", 2=>"b", 3=>""}: - </para> - - <programlisting>sd_bus_message_append(m, "a{is}", 3, 1, "a", 2, "b", 3, NULL); - </programlisting> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, this call returns 0 or a positive - integer. On failure, this call returns a negative - errno-style error code.</para> - </refsect1> - - <xi:include href="sd_bus_message_append_basic.xml" xpointer="errors" /> - - <refsect1> - <title>Notes</title> - - <para><function>sd_bus_open_user()</function> and other functions - described here are available as a shared library, which can be - compiled and linked to with the - <constant>libsystemd-bus</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append_array</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_message_append_array.xml b/man/sd_bus_message_append_array.xml deleted file mode 100644 index 27db2a96c3..0000000000 --- a/man/sd_bus_message_append_array.xml +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_message_append_array" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_bus_message_append_array</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_message_append_array</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_message_append_array</refname> - <refname>sd_bus_message_append_array_memfd</refname> - <refname>sd_bus_message_append_array_iovec</refname> - <refname>sd_bus_message_append_array_space</refname> - - <refpurpose>Append an array of fields to a D-Bus - message</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int sd_bus_message_append_array</funcdef> - <paramdef>sd_bus_message *<parameter>m</parameter></paramdef> - <paramdef>char <parameter>type</parameter></paramdef> - <paramdef>char void *<parameter>ptr</parameter></paramdef> - <paramdef>size_t <parameter>size</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int sd_bus_message_append_array_memfd</funcdef> - <paramdef>sd_bus_message *<parameter>m</parameter></paramdef> - <paramdef>char <parameter>type</parameter></paramdef> - <paramdef>int <parameter>memfd</parameter></paramdef> - <paramdef>uint64_t <parameter>offset</parameter></paramdef> - <paramdef>uint64_t <parameter>size</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int sd_bus_message_append_array_iovec</funcdef> - <paramdef>sd_bus_message *<parameter>m</parameter></paramdef> - <paramdef>char <parameter>type</parameter></paramdef> - <paramdef>const struct iovec *<parameter>iov</parameter></paramdef> - <paramdef>unsigned <parameter>n</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int sd_bus_message_append_array_space</funcdef> - <paramdef>char <parameter>type</parameter></paramdef> - <paramdef>size_t <parameter>size</parameter></paramdef> - <paramdef>void **<parameter>ptr</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>The <function>sd_bus_message_append_array()</function> - function appends an array to a D-Bus message - <parameter>m</parameter>. A container will be opened, the array - contents appended, and the container closed. The parameter - <parameter>type</parameter> determines how the pointer - <parameter>p</parameter> is interpreted. - <parameter>type</parameter> must be one of the "trivial" types - <literal>y</literal>, <literal>n</literal>, <literal>q</literal>, - <literal>i</literal>, <literal>u</literal>, <literal>x</literal>, - <literal>t</literal>, <literal>d</literal> (but not - <literal>b</literal>), as defined by the <ulink - url="http://dbus.freedesktop.org/doc/dbus-specification.html#basic-types">Basic - Types</ulink> section of the D-Bus specification, and listed in - <citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - Pointer <parameter>p</parameter> must point to an array of size - <parameter>size</parameter> bytes containing items of the - respective type. Size <parameter>size</parameter> must be a - multiple of the size of the type <parameter>type</parameter>. As a - special case, <parameter>p</parameter> may be - <constant>NULL</constant>, if <parameter>size</parameter> is 0. - The memory pointed to by <parameter>p</parameter> is copied into - the memory area containing the message and stays in possession of - the caller. The caller may hence freely change the data after this - call without affecting the message the array was appended - to.</para> - - <para>The <function>sd_bus_message_append_array_memfd()</function> - function appends an array of a trivial type to message - <parameter>m</parameter>, similar to - <function>sd_bus_message_append_array()</function>. The contents - of the memory file descriptor <parameter>memfd</parameter> - starting at the specified offset and of the specified size is - used as the contents of the array. The offset and size must be a - multiple of the size of the type - <parameter>type</parameter>. However, as a special exception, if - the offset is specified as zero and the size specified as - UINT64_MAX the full memory file descriptor contents is used. The - memory file descriptor is sealed by this call if it has not been - sealed yet, and cannot be modified after this call. See - <citerefentry - project='man-pages'><refentrytitle>memfd_create</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for details about memory file descriptors. Appending arrays with - memory file descriptors enables efficient zero-copy data transfer, - as the memory file descriptor may be passed as-is to the - destination, without copying the memory in it to the destination - process. Not all protocol transports support passing memory file - descriptors between participants, in which case this call will - automatically fall back to copying. Also, as memory file - descriptor passing is inefficient for smaller amounts of data, - copying might still be enforced even where memory file descriptor - passing is supported.</para> - - <para>The <function>sd_bus_message_append_array_iovec()</function> - function appends an array of a trivial type to the message - <parameter>m</parameter>, similar to - <function>sd_bus_message_append_array()</function>. Contents of - the I/O vector array <parameter>iov</parameter> are used as the - contents of the array. The total size of - <parameter>iov</parameter> payload (the sum of - <structfield>iov_len</structfield> fields) must be a multiple of - the size of the type <parameter>type</parameter>. The - <parameter>iov</parameter> argument must point to - <parameter>n</parameter> I/O vector structures. Each structure may - have the <structname>iov_base</structname> field set, in which - case the memory pointed to will be copied into the message, or - unset (set to zero), in which case a block of zeros of length - <structname>iov_len</structname> bytes will be inserted. The - memory pointed at by <parameter>iov</parameter> may be changed - after this call.</para> - - <para>The <function>sd_bus_message_append_array_space()</function> - function appends space for an array of a trivial type to message - <parameter>m</parameter>. It behaves the same as - <function>sd_bus_message_append_array()</function>, but instead of - copying items to the message, it returns a pointer to the - destination area to the caller in pointer - <parameter>p</parameter>. The caller should subsequently write the - array contents to this memory. Modifications to the memory - pointed to should only occur until the next operation on the bus - message is invoked. Most importantly, the memory should not be - altered anymore when another field has been added to the message - or the message has been sealed.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these calls return 0 or a positive integer. On - failure, they return a negative errno-style error code.</para> - </refsect1> - - <xi:include href="sd_bus_message_append_basic.xml" xpointer="errors" /> - - <refsect1> - <title>Notes</title> - - <para><function>sd_bus_append_array()</function> and other - functions described here are available as a shared library, which - can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>memfd_create</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <ulink url="http://dbus.freedesktop.org/doc/dbus-specification.html">The D-Bus specification</ulink> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_message_append_basic.xml b/man/sd_bus_message_append_basic.xml deleted file mode 100644 index 276953af69..0000000000 --- a/man/sd_bus_message_append_basic.xml +++ /dev/null @@ -1,295 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_message_append_basic"> - - <refentryinfo> - <title>sd_bus_message_append_basic</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_message_append_basic</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_message_append_basic</refname> - - <refpurpose>Attach a single field to a message</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int sd_bus_message_append_basic</funcdef> - <paramdef>sd_bus_message *<parameter>m</parameter></paramdef> - <paramdef>char <parameter>type</parameter></paramdef> - <paramdef>const void *<parameter>p</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_bus_message_append_basic()</function> appends a - single field to the message <parameter>m</parameter>. The - parameter <parameter>type</parameter> determines how the pointer - <parameter>p</parameter> is interpreted. - <parameter>type</parameter> must be one of the basic types as - defined by the <ulink - url="http://dbus.freedesktop.org/doc/dbus-specification.html#basic-types">Basic - Types</ulink> section of the D-Bus specification, and listed in - the table below. - </para> - - <table id='format-specifiers'> - <title>Item type specifiers</title> - - <tgroup cols='5'> - <colspec colname='specifier' /> - <colspec colname='constant' /> - <colspec colname='description' /> - <colspec colname='size' /> - <colspec colname='ctype' /> - <thead> - <row> - <entry>Specifier</entry> - <entry>Constant</entry> - <entry>Description</entry> - <entry>Size</entry> - <entry>Expected C Type</entry> - </row> - </thead> - <tbody> - <row> - <entry><literal>y</literal></entry> - <entry><constant>SD_BUS_TYPE_BYTE</constant></entry> - <entry>unsigned integer</entry> - <entry>1 byte</entry> - <entry>uint8_t</entry> - </row> - - <row> - <entry><literal>b</literal></entry> - <entry><constant>SD_BUS_TYPE_BOOLEAN</constant></entry> - <entry>boolean</entry> - <entry>4 bytes</entry> - <entry>int</entry> - </row> - - <row> - <entry><literal>n</literal></entry> - <entry><constant>SD_BUS_TYPE_INT16</constant></entry> - <entry>signed integer</entry> - <entry>2 bytes</entry> - <entry>int16_t</entry> - </row> - - <row> - <entry><literal>q</literal></entry> - <entry><constant>SD_BUS_TYPE_UINT16</constant></entry> - <entry>unsigned integer</entry> - <entry>2 bytes</entry> - <entry>uint16_t</entry> - </row> - - <row> - <entry><literal>i</literal></entry> - <entry><constant>SD_BUS_TYPE_INT32</constant></entry> - <entry>signed integer</entry> - <entry>4 bytes</entry> - <entry>int32_t</entry> - </row> - - <row> - <entry><literal>u</literal></entry> - <entry><constant>SD_BUS_TYPE_UINT32</constant></entry> - <entry>unsigned integer</entry> - <entry>4 bytes</entry> - <entry>uint32_t</entry> - </row> - - <row> - <entry><literal>x</literal></entry> - <entry><constant>SD_BUS_TYPE_INT64</constant></entry> - <entry>signed integer</entry> - <entry>8 bytes</entry> - <entry>int64_t</entry> - </row> - - <row> - <entry><literal>t</literal></entry> - <entry><constant>SD_BUS_TYPE_UINT64</constant></entry> - <entry>unsigned integer</entry> - <entry>8 bytes</entry> - <entry>uint64_t</entry> - </row> - - <row> - <entry><literal>d</literal></entry> - <entry><constant>SD_BUS_TYPE_DOUBLE</constant></entry> - <entry>floating-point</entry> - <entry>8 bytes</entry> - <entry>double</entry> - </row> - - <row> - <entry><literal>s</literal></entry> - <entry><constant>SD_BUS_TYPE_STRING</constant></entry> - <entry>Unicode string</entry> - <entry>variable</entry> - <entry>char[]</entry> - </row> - - <row> - <entry><literal>o</literal></entry> - <entry><constant>SD_BUS_TYPE_OBJECT_PATH</constant></entry> - <entry>object path</entry> - <entry>variable</entry> - <entry>char[]</entry> - </row> - - <row> - <entry><literal>g</literal></entry> - <entry><constant>SD_BUS_TYPE_SIGNATURE</constant></entry> - <entry>signature</entry> - <entry>variable</entry> - <entry>char[]</entry> - </row> - - <row> - <entry><literal>h</literal></entry> - <entry><constant>SD_BUS_TYPE_UNIX_FD</constant></entry> - <entry>UNIX file descriptor</entry> - <entry>4 bytes</entry> - <entry>int</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>The value of the parameter is copied into a memory area held - by the message object, stays in the possession of the caller and - may hence be freely changed after this call without affecting the - bus message it has been added to. If <parameter>type</parameter> - is <literal>h</literal> (UNIX file descriptor), the descriptor is - duplicated by this call and the passed descriptor stays in - possession of the caller.</para> - - <para>For types <literal>s</literal>, <literal>o</literal>, and - <literal>g</literal>, the parameter <parameter>p</parameter> is - interpreted as a pointer to a <constant>NUL</constant>-terminated - character sequence. As a special case, a <constant>NULL</constant> - pointer is interpreted as an empty string. The string should be - valid Unicode string encoded as UTF-8. In case of the two latter - types, the additional requirements for a D-Bus object path or - type signature should be satisfied. Those requirements should be - verified by the recipient of the message. - </para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, this call returns 0 or a positive integer. On - failure, it returns a negative errno-style error code.</para> - </refsect1> - - <refsect1 id='errors'> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>Specified parameter is invalid. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EPERM</constant></term> - - <listitem><para>Message has been sealed. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>Message is in invalid state. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENXIO</constant></term> - - <listitem><para>Message cannot be appended to. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_bus_append_basic()</function> function - described here is available as a shared library, which can be - compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <ulink url="http://dbus.freedesktop.org/doc/dbus-specification.html">The D-Bus specification</ulink> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_message_append_string_memfd.xml b/man/sd_bus_message_append_string_memfd.xml deleted file mode 100644 index 9e99999bf3..0000000000 --- a/man/sd_bus_message_append_string_memfd.xml +++ /dev/null @@ -1,153 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_message_append_string_memfd" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_bus_message_append_string_memfd</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_message_append_string_memfd</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_message_append_string_memfd</refname> - <refname>sd_bus_message_append_string_iovec</refname> - <refname>sd_bus_message_append_string_space</refname> - - <refpurpose>Attach a string to a message</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int sd_bus_message_append_string_memfd</funcdef> - <paramdef>sd_bus_message *<parameter>m</parameter></paramdef> - <paramdef>int <parameter>memfd</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int sd_bus_message_append_string_iovec</funcdef> - <paramdef>sd_bus_message *<parameter>m</parameter></paramdef> - <paramdef>const struct iovec *<parameter>iov</parameter></paramdef> - <paramdef>unsigned <parameter>n</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int sd_bus_message_append_string_space</funcdef> - <paramdef>sd_bus_message *<parameter>m</parameter></paramdef> - <paramdef>size_t <parameter>size</parameter></paramdef> - <paramdef>char **<parameter>s</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>The functions - <function>sd_bus_message_append_string_memfd</function> and - <function>sd_bus_message_append_string_iovec</function> can be - used to append a single string (item of type <literal>s</literal>) - to message <parameter>m</parameter>.</para> - - <para>In case of - <function>sd_bus_message_append_string_memfd</function>, the - contents of <parameter>memfd</parameter> are the string. They must - satisfy the same constraints as described for the - <literal>s</literal> type in - <citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>In case of - <function>sd_bus_message_append_string_iovec</function>, the - payload of <parameter>iov</parameter> is the string. It must - satisfy the same constraints as described for the - <literal>s</literal> type in - <citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>The <parameter>iov</parameter> argument must point to - <parameter>n</parameter> <structname>struct iovec</structname> - structures. Each structure may have the - <structname>iov_base</structname> field set, in which case the - memory pointed to will be copied into the message, or unset, in - which case a block of spaces (ASCII 32) of length - <structname>iov_len</structname> will be inserted. The - memory pointed at by <parameter>iov</parameter> may be changed - after this call.</para> - - <para>The - <function>sd_bus_message_append_string_space</function> function appends - space for a string to message <parameter>m</parameter>. It behaves - similar to <function>sd_bus_message_append_basic</function> with - type <literal>s</literal>, but instead of copying a string into - the message, it returns a pointer to the destination area to - the caller in pointer <parameter>p</parameter>. Space for the string - of length <parameter>size</parameter> plus the terminating - <constant>NUL</constant> is allocated.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, those calls return 0 or a positive integer. On - failure, they returns a negative errno-style error code.</para> - </refsect1> - - <xi:include href="sd_bus_message_append_basic.xml" xpointer="errors" /> - - <refsect1> - <title>Notes</title> - - <para>The functions described here are available as a shared library, - which can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <ulink url="http://dbus.freedesktop.org/doc/dbus-specification.html">The D-Bus specification</ulink> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_message_append_strv.xml b/man/sd_bus_message_append_strv.xml deleted file mode 100644 index 0f77adcc8b..0000000000 --- a/man/sd_bus_message_append_strv.xml +++ /dev/null @@ -1,116 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_message_append_strv" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_bus_message_append_strv</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_message_append_strv</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_message_append_strv</refname> - - <refpurpose>Attach an array of strings to a message</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int sd_bus_message_append_strv</funcdef> - <paramdef>sd_bus_message *<parameter>m</parameter></paramdef> - <paramdef>char **<parameter>l</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>The <function>sd_bus_message_append</function> function can be - used to append an array of strings to message - <parameter>m</parameter>. The parameter <parameter>l</parameter> - shall point to a <constant>NULL</constant>-terminated array of pointers - to <constant>NUL</constant>-terminated strings. Each string must - satisfy the same constraints as described for the - <literal>s</literal> type in - <citerefentry><refentrytitle>sd_bus_message_append_basic</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - </para> - - <para>The memory pointed at by <parameter>p</parameter> and the - contents of the strings themselves are copied into the memory area - containing the message and may be changed after this call. Note - that the signature of <parameter>l</parameter> parameter is to be - treated as <type>const char *const *</type>, and the contents - will not be modified.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, this call returns 0 or a positive integer. On - failure, a negative errno-style error code is returned.</para> - </refsect1> - - <xi:include href="sd_bus_message_append_basic.xml" xpointer="errors" /> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_bus_append_append_strv()</function> function - described here is available as a shared library, which can be - compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_append_array</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <ulink url="http://dbus.freedesktop.org/doc/dbus-specification.html">The D-Bus specification</ulink> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_message_get_cookie.xml b/man/sd_bus_message_get_cookie.xml deleted file mode 100644 index 3328eead3d..0000000000 --- a/man/sd_bus_message_get_cookie.xml +++ /dev/null @@ -1,146 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2013 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_message_get_cookie"> - - <refentryinfo> - <title>sd_bus_message_get_cookie</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_message_get_cookie</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_message_get_cookie</refname> - <refname>sd_bus_message_get_reply_cookie</refname> - <refpurpose>Returns the transaction cookie of a message</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_bus_message_get_cookie</function></funcdef> - <paramdef>sd_bus_message *<parameter>message</parameter></paramdef> - <paramdef>uint64_t *<parameter>cookie</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_message_get_reply_cookie</function></funcdef> - <paramdef>sd_bus_message *<parameter>message</parameter></paramdef> - <paramdef>uint64_t *<parameter>cookie</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_bus_message_get_cookie()</function> returns the - transaction cookie of a message. The cookie uniquely identifies a - message within each bus peer, but is not globally unique. It is - assigned when a message is sent.</para> - - <para><function>sd_bus_message_get_reply_cookie()</function> - returns the transaction cookie of the message the specified - message is a response to. When a reply message is generated for a - method call message, its cookie is copied over into this field. - Note that while every message that is transferred is identified by - a cookie, only response messages carry a reply cookie - field.</para> - - <para>Both functions take a message object as first parameter and - a place to store the 64-bit cookie in.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these calls return 0 or a positive integer. On - failure, these calls return a negative errno-style error - code.</para> - - <para>On success, the cookie/reply cookie is returned in the - specified 64-bit unsigned integer variable.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>A specified parameter - is invalid.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENODATA</constant></term> - - <listitem><para>No cookie has been assigned to this message. - This either indicates that the message has not been sent yet - and hence has no cookie assigned, or that the message is not a - method response message and hence carries a reply cookie - field.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_bus_message_get_cookie()</function> and - <function>sd_bus_message_get_reply_cookie()</function> interfaces - are available as a shared library, which can be compiled and - linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_message_get_monotonic_usec.xml b/man/sd_bus_message_get_monotonic_usec.xml deleted file mode 100644 index 2c0a8a5d54..0000000000 --- a/man/sd_bus_message_get_monotonic_usec.xml +++ /dev/null @@ -1,181 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2013 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_message_get_monotonic_usec"> - - <refentryinfo> - <title>sd_bus_message_get_monotonic_usec</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_message_get_monotonic_usec</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_message_get_monotonic_usec</refname> - <refname>sd_bus_message_get_realtime_usec</refname> - <refname>sd_bus_message_get_seqnum</refname> - <refpurpose>Retrieve the sender timestamps and sequence number of a message</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_bus_message_get_monotonic_usec</function></funcdef> - <paramdef>sd_bus_message *<parameter>message</parameter></paramdef> - <paramdef>uint64_t *<parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_message_get_realtime_usec</function></funcdef> - <paramdef>sd_bus_message *<parameter>message</parameter></paramdef> - <paramdef>uint64_t *<parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_message_get_seqnum</function></funcdef> - <paramdef>sd_bus_message *<parameter>message</parameter></paramdef> - <paramdef>uint64_t *<parameter>seqnum</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_bus_message_get_monotonic_usec()</function> - returns the monotonic timestamp of the time the message was sent. - This value is in microseconds since the - <constant>CLOCK_MONOTONIC</constant> epoch, see - <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for details.</para> - - <para>Similarly, - <function>sd_bus_message_get_realtime_usec()</function> returns - the realtime (wallclock) timestamp of the time the message was - sent. This value is in microseconds since Jan 1st, 1970, i.e. in - the <constant>CLOCK_REALTIME</constant> clock.</para> - - <para><function>sd_bus_message_get_seqnum()</function> returns the - kernel-assigned sequence number of the message. The kernel assigns - a global, monotonically increasing sequence number to all messages - transmitted on the local system, at the time the message was sent. - This sequence number is useful for determining message send order, - even across different buses of the local system. The sequence - number combined with the boot ID of the system (as returned by - <citerefentry><refentrytitle>sd_id128_get_boot</refentrytitle><manvolnum>3</manvolnum></citerefentry>) - is a suitable globally unique identifier for bus messages.</para> - - <para>Note that the sending order and receiving order of messages - might differ, in particular for broadcast messages. This means - that the sequence number and the timestamps of messages a client - reads are not necessarily monotonically increasing.</para> - - <para>These timestamps and the sequence number are attached to - each message by the kernel and cannot be manipulated by the - sender.</para> - - <para>Note that these timestamps are only available on some bus - transports, and only after support for them has been negotiated - with the - <citerefentry><refentrytitle>sd_bus_negotiate_timestamp</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these calls return 0 or a positive integer. On - failure, these calls return a negative errno-style error - code.</para> - - <para>On success, the timestamp or sequence number is returned in - the specified 64-bit unsigned integer variable.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>A specified parameter is - invalid.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENODATA</constant></term> - - <listitem><para>No timestamp or sequence number information is - attached to the passed message. This error is returned if the - underlying transport does not support timestamping or - assigning of sequence numbers, or if this feature has not been - negotiated with - <citerefentry><refentrytitle>sd_bus_negotiate_timestamp</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The - <function>sd_bus_message_get_monotonic_usec()</function>, - <function>sd_bus_message_get_realtime_usec()</function>, and - <function>sd_bus_message_get_seqnum()</function> interfaces are - available as a shared library, which can be compiled and linked to - with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_negotiate_timestamp</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_id128_get_boot</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_negotiate_fds.xml b/man/sd_bus_negotiate_fds.xml deleted file mode 100644 index a538b13cf0..0000000000 --- a/man/sd_bus_negotiate_fds.xml +++ /dev/null @@ -1,200 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_negotiate_fds"> - - <refentryinfo> - <title>sd_bus_negotiate_fds</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_negotiate_fds</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_negotiate_fds</refname> - <refname>sd_bus_negotiate_timestamp</refname> - <refname>sd_bus_negotiate_creds</refname> - - <refpurpose>Control feature negotiation on bus connections</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_bus_negotiate_fds</function></funcdef> - <paramdef>sd_bus *<parameter>bus</parameter></paramdef> - <paramdef>int <parameter>b</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_negotiate_timestamp</function></funcdef> - <paramdef>sd_bus *<parameter>bus</parameter></paramdef> - <paramdef>int <parameter>b</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_negotiate_creds</function></funcdef> - <paramdef>sd_bus *<parameter>bus</parameter></paramdef> - <paramdef>int <parameter>b</parameter></paramdef> - <paramdef>uint64_t <parameter>mask</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_bus_negotiate_fds()</function> controls whether - file descriptor passing shall be negotiated for the specified bus - connection. It takes a bus object and a boolean, which, when true, - enables file descriptor passing, and, when false, disables - it. Note that not all transports and servers support file - descriptor passing. In particular, networked transports generally - do not support file descriptor passing. To find out whether file - descriptor passing is available after negotiation, use - <citerefentry><refentrytitle>sd_bus_can_send</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and pass <constant>SD_BUS_TYPE_UNIX_FD</constant>. Note that file - descriptor passing is always enabled for both sending and - receiving or for neither, but never only in one direction. By - default, file descriptor passing is negotiated for all - connections.</para> - - <para>Note that when bus activation is used, it is highly - recommended to set the <option>AcceptFileDescriptors=</option> - setting in the <filename>.busname</filename> unit file to the same - setting as negotiated by the program ultimately activated. By - default, file descriptor passing is enabled for both.</para> - - <para><function>sd_bus_negotiate_timestamps()</function> controls - whether implicit sender timestamps shall be attached automatically - to all incoming messages. Takes a bus object and a boolean, which, - when true, enables timestamping, and, when false, disables it. - Use - <citerefentry><refentrytitle>sd_bus_message_get_monotonic_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_get_seqnum</refentrytitle><manvolnum>3</manvolnum></citerefentry> - to query the timestamps of incoming messages. If negotiation is - disabled or not supported, these calls will fail with - <constant>-ENODATA</constant>. Note that not all transports - support timestamping of messages. Specifically, timestamping is - only available on the kdbus transport, but not on dbus1. The - timestamping is applied by the kernel and cannot be manipulated by - userspace. By default, message timestamping is not negotiated for - connections.</para> - - <para><function>sd_bus_negotiate_creds()</function> controls - whether and which implicit sender credentials shall be attached - automatically to all incoming messages. Takes a bus object and a - boolean indicating whether to enable or disable the credential - parts encoded in the bit mask value argument. Note that not all - transports support attaching sender credentials to messages, or do - not support all types of sender credential parameters, or might - suppress them under certain circumstances for individual - messages. Specifically, implicit sender credentials on messages - are only fully supported on kdbus transports, and dbus1 only - supports <constant>SD_BUS_CREDS_UNIQUE_NAME</constant>. The sender - credentials are attached by the kernel and cannot be manipulated - by userspace, and are thus suitable for authorization - decisions. By default, only - <constant>SD_BUS_CREDS_WELL_KNOWN_NAMES</constant> and - <constant>SD_BUS_CREDS_UNIQUE_NAME</constant> are enabled. In - fact, these two credential fields are always sent along and cannot - be turned off.</para> - - <para>The <function>sd_bus_negotiate_fds()</function> function may - be called only before the connection has been started with - <citerefentry><refentrytitle>sd_bus_start</refentrytitle><manvolnum>3</manvolnum></citerefentry>. Both - <function>sd_bus_negotiate_timestamp()</function> and - <function>sd_bus_negotiate_creds()</function> may also be called - after a connection has been set up. Note that, when operating on a - connection that is shared between multiple components of the same - program (for example via - <citerefentry><refentrytitle>sd_bus_default</refentrytitle><manvolnum>3</manvolnum></citerefentry>), - it is highly recommended to only enable additional per message - metadata fields, but never disable them again, in order not to - disable functionality needed by other components.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these functions return 0 or a - positive integer. On failure, they return a negative errno-style - error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-EPERM</constant></term> - - <listitem><para>The bus connection has already been started.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para><function>sd_bus_negotiate_fds()</function> and the other - functions described here are available as a shared library, which - can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_start</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_can_send</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_get_monotonic_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_get_seqnum</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_message_get_creds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.busname</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_new.xml b/man/sd_bus_new.xml deleted file mode 100644 index d281b5dd44..0000000000 --- a/man/sd_bus_new.xml +++ /dev/null @@ -1,189 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_new"> - - <refentryinfo> - <title>sd_bus_new</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_new</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_new</refname> - <refname>sd_bus_ref</refname> - <refname>sd_bus_unref</refname> - <refname>sd_bus_unrefp</refname> - - <refpurpose>Create a new bus object and create or destroy references to it</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_bus_new</function></funcdef> - <paramdef>sd_bus **<parameter>bus</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>sd_bus *<function>sd_bus_ref</function></funcdef> - <paramdef>sd_bus *<parameter>bus</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>sd_bus *<function>sd_bus_unref</function></funcdef> - <paramdef>sd_bus *<parameter>bus</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void <function>sd_bus_unrefp</function></funcdef> - <paramdef>sd_bus **<parameter>bus</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_bus_new()</function> creates a new bus - object. This object is reference-counted, and will be destroyed - when all references are gone. Initially, the caller of this - function owns the sole reference and the bus object will not be - connected to any bus. To connect it to a bus, make sure - to set an address with - <citerefentry><refentrytitle>sd_bus_set_address</refentrytitle><manvolnum>3</manvolnum></citerefentry> - or a related call, and then start the connection with - <citerefentry><refentrytitle>sd_bus_start</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>In most cases, it is a better idea to invoke - <citerefentry><refentrytitle>sd_bus_default_user</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_default_system</refentrytitle><manvolnum>3</manvolnum></citerefentry> - or related calls instead of the more low-level - <function>sd_bus_new()</function> and - <function>sd_bus_start()</function>. The higher-level calls not - only allocate a bus object but also start the connection to a - well-known bus in a single function invocation.</para> - - <para><function>sd_bus_ref()</function> increases the reference - counter of <parameter>bus</parameter> by one.</para> - - <para><function>sd_bus_unref()</function> decreases the reference - counter of <parameter>bus</parameter> by one. Once the reference - count has dropped to zero, <parameter>bus</parameter> is destroyed - and cannot be used anymore, so further calls to - <function>sd_bus_ref()</function> or - <function>sd_bus_unref()</function> are illegal.</para> - - <para><function>sd_bus_unrefp()</function> is similar to - <function>sd_bus_unref()</function> but takes a pointer to a - pointer to an <type>sd_bus</type> object. This call is useful in - conjunction with GCC's and LLVM's <ulink - url="https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html">Clean-up - Variable Attribute</ulink>. Note that this function is defined as - inline function. Use a declaration like the following, in order to - allocate a bus object that is freed automatically as the code - block is left:</para> - - <programlisting>{ - __attribute__((cleanup(sd_bus_unrefp)) sd_bus *bus = NULL; - int r; - … - r = sd_bus_default(&bus); - if (r < 0) - fprintf(stderr, "Failed to allocate bus: %s\n", strerror(-r)); - … -}</programlisting> - - <para><function>sd_bus_ref()</function>, - <function>sd_bus_unref()</function> and - <function>sd_bus_unrefp()</function> execute no operation if the - passed in bus object is <constant>NULL</constant>.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_bus_new()</function> returns 0 or a - positive integer. On failure, it returns a negative errno-style - error code.</para> - - <para><function>sd_bus_ref()</function> always returns the argument. - </para> - - <para><function>sd_bus_unref()</function> always returns - <constant>NULL</constant>.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para><function>sd_bus_new()</function> and other functions - described here are available as a shared library, which can be - compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_default_user</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_default_system</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_open_user</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_open_system</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_path_encode.xml b/man/sd_bus_path_encode.xml deleted file mode 100644 index 3088243e45..0000000000 --- a/man/sd_bus_path_encode.xml +++ /dev/null @@ -1,188 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_path_encode"> - - <refentryinfo> - <title>sd_bus_path_encode</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>A monkey with a typewriter</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_path_encode</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_path_encode</refname> - <refname>sd_bus_path_encode_many</refname> - <refname>sd_bus_path_decode</refname> - <refname>sd_bus_path_decode_many</refname> - - <refpurpose>Convert an external identifier into an object path and back</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_bus_path_encode</function></funcdef> - <paramdef>const char *<parameter>prefix</parameter></paramdef> - <paramdef>const char *<parameter>external_id</parameter></paramdef> - <paramdef>char **<parameter>ret_path</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_path_encode_many</function></funcdef> - <paramdef>char **<parameter>out</parameter></paramdef> - <paramdef>const char *<parameter>path_template</parameter></paramdef> - <paramdef>...</paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_path_decode</function></funcdef> - <paramdef>const char *<parameter>path</parameter></paramdef> - <paramdef>const char *<parameter>prefix</parameter></paramdef> - <paramdef>char **<parameter>ret_external_id</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_path_decode_many</function></funcdef> - <paramdef>const char *<parameter>path</parameter></paramdef> - <paramdef>const char *<parameter>path_template</parameter></paramdef> - <paramdef>...</paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_bus_path_encode()</function> and - <function>sd_bus_path_decode()</function> convert external - identifier strings into object paths and back. These functions are - useful to map application-specific string identifiers of any kind - into bus object paths in a simple, reversible and safe way.</para> - - <para><function>sd_bus_path_encode()</function> takes a bus path - prefix and an external identifier string as arguments, plus a - place to store the returned bus path string. The bus path prefix - must be a valid bus path, starting with a slash - <literal>/</literal>, and not ending in one. The external - identifier string may be in any format, may be the empty string, - and has no restrictions on the charset — however, it must - always be <constant>NUL</constant>-terminated. The returned string - will be the concatenation of the bus path prefix plus an escaped - version of the external identifier string. This operation may be - reversed with <function>sd_bus_decode()</function>. It is - recommended to only use external identifiers that generally - require little escaping to be turned into valid bus path - identifiers (for example, by sticking to a 7-bit ASCII character - set), in order to ensure the resulting bus path is still short and - easily processed.</para> - - <para><function>sd_bus_path_decode()</function> reverses the - operation of <function>sd_bus_path_encode()</function> and thus - regenerates an external identifier string from a bus path. It - takes a bus path and a prefix string, plus a place to store the - returned external identifier string. If the bus path does not - start with the specified prefix, 0 is returned and the returned - string is set to <constant>NULL</constant>. Otherwise, the - string following the prefix is unescaped and returned in the - external identifier string.</para> - - <para>The escaping used will replace all characters which are - invalid in a bus object path by <literal>_</literal>, followed by a - hexadecimal value. As a special case, the empty string will be - replaced by a lone <literal>_</literal>.</para> - - <para><function>sd_bus_path_encode_many()</function> works like - its counterpart <function>sd_bus_path_encode()</function>, but - takes a path template as argument and encodes multiple labels - according to its embedded directives. For each - <literal>%</literal> character found in the template, the caller - must provide a string via varargs, which will be encoded and - embedded at the position of the <literal>%</literal> character. - Any other character in the template is copied verbatim into the - encoded path.</para> - - <para><function>sd_bus_path_decode_many()</function> does the - reverse of <function>sd_bus_path_encode_many()</function>. It - decodes the passed object path according to the given - path template. For each <literal>%</literal> character in the - template, the caller must provide an output storage - (<literal>char **</literal>) via varargs. The decoded label - will be stored there. Each <literal>%</literal> character will - only match the current label. It will never match across labels. - Furthermore, only a single directive is allowed per label. - If <literal>NULL</literal> is passed as output storage, the - label is verified but not returned to the caller.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_bus_path_encode()</function> - returns positive or 0, and a valid bus path in the return - argument. On success, <function>sd_bus_path_decode()</function> - returns a positive value if the prefixed matched, or 0 if it - did not. If the prefix matched, the external identifier is returned - in the return parameter. If it did not match, NULL is returned in - the return parameter. On failure, a negative errno-style error - number is returned by either function. The returned strings must - be - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>'d - by the caller.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para><function>sd_bus_path_encode()</function> and - <function>sd_bus_path_decode()</function> are available as a - shared library, which can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_bus_request_name.xml b/man/sd_bus_request_name.xml deleted file mode 100644 index f07ae09555..0000000000 --- a/man/sd_bus_request_name.xml +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2013 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_bus_request_name"> - - <refentryinfo> - <title>sd_bus_request_name</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_bus_request_name</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_bus_request_name</refname> - <refname>sd_bus_release_name</refname> - <refpurpose>Request or release a well-known service name on a bus</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-bus.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_bus_request_name</function></funcdef> - <paramdef>sd_bus *<parameter>bus</parameter></paramdef> - <paramdef>const char *<parameter>name</parameter></paramdef> - <paramdef>uint64_t <parameter>flags</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_bus_release_name</function></funcdef> - <paramdef>sd_bus *<parameter>bus</parameter></paramdef> - <paramdef>const char *<parameter>name</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_bus_request_name()</function> requests a - well-known service name on a bus. It takes a bus connection, a - valid bus name and a flags parameter. The flags parameter is a - combination of the following flags:</para> - - <variablelist> - <varlistentry> - <term><varname>SD_BUS_NAME_ALLOW_REPLACEMENT</varname></term> - - <listitem><para>After acquiring the name successfully, permit - other peers to take over the name when they try to acquire it - with the <varname>SD_BUS_NAME_REPLACE_EXISTING</varname> flag - set. If <varname>SD_BUS_NAME_ALLOW_REPLACEMENT</varname> is - not set on the original request, such a request by other peers - will be denied.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>SD_BUS_NAME_REPLACE_EXISTING</varname></term> - - <listitem><para>Take over the name if it is already acquired - by another peer, and that other peer has permitted takeover by - setting <varname>SD_BUS_NAME_ALLOW_REPLACEMENT</varname> while - acquiring it.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>SD_BUS_NAME_QUEUE</varname></term> - - <listitem><para>Queue the acquisition of the name when the - name is already taken.</para></listitem> - </varlistentry> - </variablelist> - - <para><function>sd_bus_release_name()</function> releases an - acquired well-known name. It takes a bus connection and a valid - bus name as parameters.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these calls return 0 or a positive integer. On - failure, these calls return a negative errno-style error - code.</para> - - <para>If <varname>SD_BUS_NAME_QUEUE</varname> is specified, - <function>sd_bus_request_name()</function> will return 0 when the - name is already taken by another peer and the client has been - added to the queue for the name. In that case, the caller can - subscribe to <literal>NameOwnerChanged</literal> signals to be - notified when the name is successfully acquired. - <function>sd_bus_request_name()</function> returns > 0 when the - name has immediately been acquired successfully.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-EALREADY</constant></term> - - <listitem><para>The caller already is the owner of the - specified name.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EEXIST</constant></term> - - <listitem><para>The name has already been acquired by a - different peer, and SD_BUS_NAME_REPLACE_EXISTING was not - specified or the other peer did not specify - SD_BUS_NAME_ALLOW_REPLACEMENT while acquiring the - name.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ESRCH</constant></term> - - <listitem><para>It was attempted to release a name that is - currently not registered on the bus.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EADDRINUSE</constant></term> - - <listitem><para>It was attempted to release a name that is - owned by a different peer on the bus.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>A specified parameter is invalid. This is also - generated when the requested name is a special service name - reserved by the D-Bus specification, or when the operation is - requested on a connection that does not refer to a - bus.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOTCONN</constant></term> - - <listitem><para>The bus connection has been - disconnected.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The bus connection has been created in a - different process than the current one.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_bus_acquire_name()</function> and - <function>sd_bus_release_name()</function> interfaces are - available as a shared library, which can be compiled and linked to - with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-bus</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_bus_new</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_add_child.xml b/man/sd_event_add_child.xml deleted file mode 100644 index bc732db7fa..0000000000 --- a/man/sd_event_add_child.xml +++ /dev/null @@ -1,246 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_add_child" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_add_child</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>More text</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_add_child</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_add_child</refname> - <refname>sd_event_source_get_child_pid</refname> - <refname>sd_event_child_handler_t</refname> - - <refpurpose>Add a child process state change event source to an event loop</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcsynopsisinfo><token>typedef</token> struct sd_event_source sd_event_source;</funcsynopsisinfo> - - <funcprototype> - <funcdef>typedef int (*<function>sd_event_child_handler_t</function>)</funcdef> - <paramdef>sd_event_source *<parameter>s</parameter></paramdef> - <paramdef>const siginfo_t *<parameter>si</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_add_child</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>sd_event_source **<parameter>source</parameter></paramdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>int <parameter>options</parameter></paramdef> - <paramdef>sd_event_child_handler_t <parameter>handler</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_child_pid</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>pid_t *<parameter>pid</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_add_child()</function> adds a new child - process state change event source to an event loop. The event loop - object is specified in the <parameter>event</parameter> parameter, - the event source object is returned in the - <parameter>source</parameter> parameter. The - <parameter>pid</parameter> parameter specifies the PID of the - process to watch. The <parameter>handler</parameter> must - reference a function to call when the process changes state. The - handler function will be passed the - <parameter>userdata</parameter> pointer, which may be chosen - freely by the caller. The handler also receives a pointer to a - <structname>siginfo_t</structname> structure containing - information about the child process event. The - <parameter>options</parameter> parameter determines which state - changes will be watched for. It must contain an OR-ed mask of - <constant>WEXITED</constant> (watch for the child process - terminating), <constant>WSTOPPED</constant> (watch for the child - process being stopped by a signal), and - <constant>WCONTINUED</constant> (watch for the child process being - resumed by a signal). See <citerefentry - project='man-pages'><refentrytitle>waitid</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for further information.</para> - - <para>Only a single handler may be installed for a specific - child process. The handler is enabled for a single event - (<constant>SD_EVENT_ONESHOT</constant>), but this may be changed - with - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - If the handler function returns a negative error code, it will be - disabled after the invocation, even if the - <constant>SD_EVENT_ON</constant> mode was requested before. - </para> - - <para>To destroy an event source object use - <citerefentry><refentrytitle>sd_event_source_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - but note that the event source is only removed from the event loop - when all references to the event source are dropped. To make sure - an event source does not fire anymore, even when there's still a - reference to it kept, consider setting the event source to - <constant>SD_EVENT_OFF</constant> with - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>If the second parameter of - <function>sd_event_add_child()</function> is passed as NULL no - reference to the event source object is returned. In this case the - event source is considered "floating", and will be destroyed - implicitly when the event loop itself is destroyed.</para> - - <para>Note that the <parameter>handler</parameter> function is - invoked at a time where the child process is not reaped yet (and - thus still is exposed as a zombie process by the kernel). However, - the child will be reaped automatically after the function - returns. Child processes for which no child process state change - event sources are installed will not be reaped by the event loop - implementation.</para> - - <para>If both a child process state change event source and a - <constant>SIGCHLD</constant> signal event source is installed in - the same event loop, the configured event source priorities decide - which event source is dispatched first. If the signal handler is - processed first, it should leave the child processes for which - child process state change event sources are installed unreaped.</para> - - <para><function>sd_event_source_get_child_pid()</function> - retrieves the configured PID of a child process state change event - source created previously with - <function>sd_event_add_child()</function>. It takes the event - source object as the <parameter>source</parameter> parameter and a - pointer to a <type>pid_t</type> variable to return the process ID - in. - </para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these functions return 0 or a positive - integer. On failure, they return a negative errno-style error - code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory to allocate an object.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An invalid argument has been passed. This includes - specifying an empty mask in <parameter>options</parameter> or a mask - which contains values different than a combination of - <constant>WEXITED</constant>, <constant>WSTOPPED</constant>, and - <constant>WCONTINUED</constant>. - </para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-EBUSY</constant></term> - - <listitem><para>A handler is already installed for this - child process.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop is already terminated.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-EDOM</constant></term> - - <listitem><para>The passed event source is not a child process event source.</para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_now</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_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>waitid</refentrytitle><manvolnum>2</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_add_defer.xml b/man/sd_event_add_defer.xml deleted file mode 100644 index d9ebd3b179..0000000000 --- a/man/sd_event_add_defer.xml +++ /dev/null @@ -1,216 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_add_defer" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_add_defer</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>More text</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_add_defer</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_add_defer</refname> - <refname>sd_event_add_post</refname> - <refname>sd_event_add_exit</refname> - <refname>sd_event_handler_t</refname> - - <refpurpose>Add static event sources to an event loop</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcsynopsisinfo><token>typedef</token> struct sd_event_source sd_event_source;</funcsynopsisinfo> - - <funcprototype> - <funcdef>typedef int (*<function>sd_event_handler_t</function>)</funcdef> - <paramdef>sd_event_source *<parameter>s</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_add_defer</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>sd_event_source **<parameter>source</parameter></paramdef> - <paramdef>sd_event_handler_t <parameter>handler</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_add_post</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>sd_event_source **<parameter>source</parameter></paramdef> - <paramdef>sd_event_handler_t <parameter>handler</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_add_exit</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>sd_event_source **<parameter>source</parameter></paramdef> - <paramdef>sd_event_handler_t <parameter>handler</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>These three functions add new static event sources to an - event loop. The event loop object is specified in the - <parameter>event</parameter> parameter, the event source object is - returned in the <parameter>source</parameter> parameter. The event - sources are enabled statically and will "fire" when the event loop - is run and the conditions described below are met. The handler - function will be passed the <parameter>userdata</parameter> - pointer, which may be chosen freely by the caller.</para> - - <para><function>sd_event_add_defer()</function> adds a new event - source that will be dispatched instantly, before the event loop - goes to sleep again and waits for new events. By default, the - handler will be called once - (<constant>SD_EVENT_ONESHOT</constant>). Note that if the event - source is set to <constant>SD_EVENT_ON</constant> the event loop - will never go to sleep again, but continuously call the handler, - possibly interleaved with other event sources.</para> - - <para><function>sd_event_add_post()</function> adds a new event - source that is run before the event loop will sleep and wait - for new events, but only after at least one other non-post event - source was dispatched. By default, the source is enabled - permanently (<constant>SD_EVENT_ON</constant>). Note that this - event source type will still allow the event loop to go to sleep - again, even if set to <constant>SD_EVENT_ON</constant>, as long as - no other event source is ever triggered.</para> - - <para><function>sd_event_add_exit()</function> adds a new event - source that will be dispatched when the event loop is terminated - with <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>The - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry> - function may be used to enable the event source permanently - (<constant>SD_EVENT_ON</constant>) or to make it fire just once - (<constant>SD_EVENT_ONESHOT</constant>).</para> - - <para>If the handler function returns a negative error code, it - will be disabled after the invocation, even if the - <constant>SD_EVENT_ON</constant> mode was requested before.</para> - - <para>To destroy an event source object use - <citerefentry><refentrytitle>sd_event_source_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - but note that the event source is only removed from the event loop - when all references to the event source are dropped. To make sure - an event source does not fire anymore, even when there's still a - reference to it kept, consider setting the event source to - <constant>SD_EVENT_OFF</constant> with - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>If the second parameter of these functions is passed as - NULL no reference to the event source object is returned. In this - case the event source is considered "floating", and will be - destroyed implicitly when the event loop itself is - destroyed.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, this functions return 0 or a positive - integer. On failure, they return a negative errno-style error - code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory to allocate an object.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An invalid argument has been passed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop is already terminated.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_now</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_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_child</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_add_io.xml b/man/sd_event_add_io.xml deleted file mode 100644 index c3749164cd..0000000000 --- a/man/sd_event_add_io.xml +++ /dev/null @@ -1,300 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_add_io" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_add_io</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_add_io</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_add_io</refname> - <refname>sd_event_source_get_io_events</refname> - <refname>sd_event_source_set_io_events</refname> - <refname>sd_event_source_get_io_revents</refname> - <refname>sd_event_source_get_io_fd</refname> - <refname>sd_event_source_set_io_fd</refname> - <refname>sd_event_source</refname> - <refname>sd_event_io_handler_t</refname> - - <refpurpose>Add an I/O event source to an event loop</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcsynopsisinfo><token>typedef</token> struct sd_event_source sd_event_source;</funcsynopsisinfo> - - <funcprototype> - <funcdef>typedef int (*<function>sd_event_io_handler_t</function>)</funcdef> - <paramdef>sd_event_source *<parameter>s</parameter></paramdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>uint32_t <parameter>revents</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_add_io</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>sd_event_source **<parameter>source</parameter></paramdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>uint32_t <parameter>events</parameter></paramdef> - <paramdef>sd_event_io_handler_t <parameter>handler</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_io_events</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>uint32_t *<parameter>events</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_set_io_events</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>uint32_t <parameter>events</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_io_revents</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>uint32_t *<parameter>revents</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_io_fd</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_set_io_fd</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>int <parameter>fd</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_add_io()</function> adds a new I/O event - source to an event loop. The event loop object is specified in the - <parameter>event</parameter> parameter, the event source object is - returned in the <parameter>source</parameter> parameter. The - <parameter>fd</parameter> parameter takes the UNIX file descriptor - to watch, which may refer to a socket, a FIFO, a message queue, a - serial connection, a character device, or any other file descriptor - compatible with Linux - <citerefentry project='man-pages'><refentrytitle>epoll</refentrytitle><manvolnum>7</manvolnum></citerefentry>. The - <parameter>events</parameter> parameter takes a bit mask of events - to watch for, a combination of the following event flags: - <constant>EPOLLIN</constant>, <constant>EPOLLOUT</constant>, - <constant>EPOLLRDHUP</constant>, <constant>EPOLLPRI</constant>, - and <constant>EPOLLET</constant>, see - <citerefentry project='man-pages'><refentrytitle>epoll_ctl</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for details. The <parameter>handler</parameter> shall reference a - function to call when the event source is triggered. The - <parameter>userdata</parameter> pointer will be passed to the - handler function, and may be chosen freely by the caller. The - handler will also be passed the file descriptor the event was seen - on, as well as the actual event flags. It's generally a subset of - the events watched, however may additionally include - <constant>EPOLLERR</constant> and <constant>EPOLLHUP</constant>. - </para> - - <para>By default, an event source will stay enabled - continuously (<constant>SD_EVENT_ON</constant>), but this may be - changed with - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - If the handler function returns a negative error code, it will be - disabled after the invocation, even if the - <constant>SD_EVENT_ON</constant> mode was requested before. Note - that an event source set to <constant>SD_EVENT_ON</constant> will - fire continuously unless data is read from or written to the file - descriptor to reset the mask of events seen. - </para> - - <para>Setting the I/O event mask to watch for to 0 does not mean - that the event source won't be triggered anymore, as - <constant>EPOLLHUP</constant> and <constant>EPOLLERR</constant> - may be triggered even with a zero event mask. To temporarily - disable an I/O event source use - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry> - with <constant>SD_EVENT_OFF</constant> instead.</para> - - <para>To destroy an event source object use - <citerefentry><refentrytitle>sd_event_source_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - but note that the event source is only removed from the event loop - when all references to the event source are dropped. To make sure - an event source does not fire anymore, even if it is still referenced, - disable the event source using - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry> - with <constant>SD_EVENT_OFF</constant>.</para> - - <para>If the second parameter of - <function>sd_event_add_io()</function> is - <constant>NULL</constant> no reference to the event source object - is returned. In this case the event source is considered - "floating", and will be destroyed implicitly when the event loop - itself is destroyed.</para> - - <para>It is recommended to use - <function>sd_event_add_io()</function> only in conjunction with - file descriptors that have <constant>O_NONBLOCK</constant> set, to - ensure that all I/O operations from invoked handlers are properly - asynchronous and non-blocking. Using file descriptors without - <constant>O_NONBLOCK</constant> might result in unexpected - starvation of other event sources. See - <citerefentry project='man-pages'><refentrytitle>fcntl</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for details on enabling <constant>O_NONBLOCK</constant> mode.</para> - - <para><function>sd_event_source_get_io_events()</function> retrieves - the configured mask of watched I/O events of an event source created - previously with <function>sd_event_add_io()</function>. It takes - the event source object and a pointer to a variable to store the - mask in.</para> - - <para><function>sd_event_source_set_io_events()</function> - configures the mask of watched I/O events of an event source created - previously with <function>sd_event_add_io()</function>. It takes the - event source object and the new event mask.</para> - - <para><function>sd_event_source_get_io_revents()</function> - retrieves the I/O event mask of currently seen but undispatched - events from an event source created previously with - <function>sd_event_add_io()</function>. It takes the event source - object and a pointer to a variable to store the event mask - in. When called from a handler function on the handler's event - source object this will return the same mask as passed to the - handler's <parameter>revents</parameter> parameter. This call is - primarily useful to check for undispatched events of an event - source from the handler of an unrelated (possibly higher priority) - event source. Note the relation between - <function>sd_event_source_get_pending()</function> and - <function>sd_event_source_get_io_revents()</function>: both - functions will report non-zero results when there's an event - pending for the event source, but the former applies to all event - source types, the latter only to I/O event sources.</para> - - <para><function>sd_event_source_get_io_fd()</function> retrieves - the UNIX file descriptor of an event source created previously - with <function>sd_event_add_io()</function>. It takes the event - source object and returns the non-negative file descriptor - or a negative error number on error (see below).</para> - - <para><function>sd_event_source_set_io_fd()</function> - changes the UNIX file descriptor of an I/O event source created - previously with <function>sd_event_add_io()</function>. It takes - the event source object and the new file descriptor.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these functions return 0 or a positive - integer. On failure, they return a negative errno-style error - code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned values may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory to allocate an object.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An invalid argument has been passed.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop is already terminated.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EDOM</constant></term> - - <listitem><para>The passed event source is not an I/O event source.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_now</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_child</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_get_pending</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>epoll_ctl</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>epoll</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_add_signal.xml b/man/sd_event_add_signal.xml deleted file mode 100644 index e98f1d2682..0000000000 --- a/man/sd_event_add_signal.xml +++ /dev/null @@ -1,221 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_add_signal" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_add_signal</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>More text</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_add_signal</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_add_signal</refname> - <refname>sd_event_source_get_signal</refname> - <refname>sd_event_signal_handler_t</refname> - - <refpurpose>Add a UNIX process signal event source to an event - loop</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcsynopsisinfo><token>typedef</token> struct sd_event_source sd_event_source;</funcsynopsisinfo> - - <funcprototype> - <funcdef>typedef int (*<function>sd_event_signal_handler_t</function>)</funcdef> - <paramdef>sd_event_source *<parameter>s</parameter></paramdef> - <paramdef>const struct signalfd_siginfo *<parameter>si</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_add_signal</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>sd_event_source **<parameter>source</parameter></paramdef> - <paramdef>int <parameter>signal</parameter></paramdef> - <paramdef>sd_event_signal_handler_t <parameter>handler</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_signal</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_add_signal()</function> adds a new UNIX - process signal event source to an event loop. The event loop - object is specified in the <parameter>event</parameter> parameter, - and the event source object is returned in the - <parameter>source</parameter> parameter. The - <parameter>signal</parameter> parameter specifies the numeric - signal to be handled (see <citerefentry - project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>). - The <parameter>handler</parameter> parameter must reference a - function to call when the signal is received or be - <constant>NULL</constant>. The handler function will be passed - the <parameter>userdata</parameter> pointer, which may be chosen - freely by the caller. The handler also receives a pointer to a - <structname>signalfd_siginfo</structname> structure containing - information about the received signal. See <citerefentry - project='man-pages'><refentrytitle>signalfd</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for further information.</para> - - <para>Only a single handler may be installed for a specific - signal. The signal will be unblocked by this call, and must be - blocked before this function is called in all threads (using - <citerefentry - project='man-pages'><refentrytitle>sigprocmask</refentrytitle><manvolnum>2</manvolnum></citerefentry>). If - the handler is not specified (<parameter>handler</parameter> is - <constant>NULL</constant>), a default handler which causes the - program to exit cleanly will be used.</para> - - <para>By default, the event source is enabled permanently - (<constant>SD_EVENT_ON</constant>), but this may be changed with - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - If the handler function returns a negative error code, it will be - disabled after the invocation, even if the - <constant>SD_EVENT_ON</constant> mode was requested before. - </para> - - <para>To destroy an event source object use - <citerefentry><refentrytitle>sd_event_source_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - but note that the event source is only removed from the event loop - when all references to the event source are dropped. To make sure - an event source does not fire anymore, even if it is still referenced, - disable the event source using - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry> - with <constant>SD_EVENT_OFF</constant>.</para> - - <para>If the second parameter of - <function>sd_event_add_signal()</function> is - <constant>NULL</constant> no reference to the event source object - is returned. In this case the event source is considered - "floating", and will be destroyed implicitly when the event loop - itself is destroyed.</para> - - <para><function>sd_event_source_get_signal()</function> returns - the configured signal number of an event source created previously - with <function>sd_event_add_signal()</function>. It takes the - event source object as the <parameter>source</parameter> - parameter.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these functions return 0 or a positive - integer. On failure, they return a negative errno-style error - code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory to allocate an object.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An invalid argument has been passed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EBUSY</constant></term> - - <listitem><para>A handler is already installed for this - signal or the signal was not blocked previously.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop is already terminated.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EDOM</constant></term> - - <listitem><para>The passed event source is not a signal event source.</para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_now</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_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>signalfd</refentrytitle><manvolnum>2</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_add_time.xml b/man/sd_event_add_time.xml deleted file mode 100644 index a2c0d54b56..0000000000 --- a/man/sd_event_add_time.xml +++ /dev/null @@ -1,313 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_add_time" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_add_time</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_add_time</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_add_time</refname> - <refname>sd_event_source_get_time</refname> - <refname>sd_event_source_set_time</refname> - <refname>sd_event_source_get_time_accuracy</refname> - <refname>sd_event_source_set_time_accuracy</refname> - <refname>sd_event_source_get_time_clock</refname> - <refname>sd_event_time_handler_t</refname> - - <refpurpose>Add a timer event source to an event loop</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcsynopsisinfo><token>typedef</token> struct sd_event_source sd_event_source;</funcsynopsisinfo> - - <funcprototype> - <funcdef>typedef int (*<function>sd_event_time_handler_t</function>)</funcdef> - <paramdef>sd_event_source *<parameter>s</parameter></paramdef> - <paramdef>uint64_t <parameter>usec</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_add_time</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>sd_event_source **<parameter>source</parameter></paramdef> - <paramdef>clockid_t <parameter>clock</parameter></paramdef> - <paramdef>uint64_t <parameter>usec</parameter></paramdef> - <paramdef>uint64_t <parameter>accuracy</parameter></paramdef> - <paramdef>sd_event_time_handler_t <parameter>handler</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_time</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>uint64_t *<parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_set_time</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>uint64_t <parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_time_accuracy</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>uint64_t *<parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_set_time_accuracy</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>uint64_t <parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_time_clock</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>clockid_t *<parameter>clock</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_add_time()</function> adds a new timer event source to an event loop. The event loop - object is specified in the <parameter>event</parameter> parameter, the event source object is returned in the - <parameter>source</parameter> parameter. The <parameter>clock</parameter> parameter takes a clock identifier, one - of <constant>CLOCK_REALTIME</constant>, <constant>CLOCK_MONOTONIC</constant>, <constant>CLOCK_BOOTTIME</constant>, - <constant>CLOCK_REALTIME_ALARM</constant>, or <constant>CLOCK_BOOTTIME_ALARM</constant>. See - <citerefentry><refentrytitle>timerfd_create</refentrytitle><manvolnum>2</manvolnum></citerefentry> for details - regarding the various types of clocks. The <parameter>usec</parameter> parameter specifies the earliest time, in - microseconds (µs), relative to the clock's epoch, when the timer shall be triggered. If a time already in the past - is specified (including <constant>0</constant>), this timer source "fires" immediately and is ready to be - dispatched. If the paramater is specified as <constant>UINT64_MAX</constant> the timer event will never elapse, - which may be used as an alternative to explicitly disabling a timer event source with - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>. The - <parameter>accuracy</parameter> parameter specifies an additional accuracy value in µs specifying how much the - timer event may be delayed. Use <constant>0</constant> to select the default accuracy (250ms). Use 1µs for maximum - accuracy. Consider specifying 60000000µs (1min) or larger for long-running events that may be delayed - substantially. Picking higher accuracy values allows the system to coalesce timer events more aggressively, - improving power efficiency. The <parameter>handler</parameter> parameter shall reference a function to call when - the timer elapses. The handler function will be passed the <parameter>userdata</parameter> pointer, which may be - chosen freely by the caller. The handler is also passed the configured trigger time, even if it is actually called - slightly later, subject to the specified accuracy value, the kernel timer slack (see - <citerefentry><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry>), and additional - scheduling latencies. To query the actual time the handler was called use - <citerefentry><refentrytitle>sd_event_now</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>By default, the timer will elapse once - (<constant>SD_EVENT_ONESHOT</constant>), but this may be changed - with - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - If the handler function returns a negative error code, it will be - disabled after the invocation, even if the - <constant>SD_EVENT_ON</constant> mode was requested before. Note - that a timer event set to <constant>SD_EVENT_ON</constant> will - fire continuously unless its configured time is updated using - <function>sd_event_source_set_time()</function>. - </para> - - <para>To destroy an event source object use - <citerefentry><refentrytitle>sd_event_source_unref</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - but note that the event source is only removed from the event loop - when all references to the event source are dropped. To make sure - an event source does not fire anymore, even if it is still referenced, - disable the event source using - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry> - with <constant>SD_EVENT_OFF</constant>.</para> - - <para>If the second parameter of - <function>sd_event_add_time()</function> is - <constant>NULL</constant> no reference to the event source object - is returned. In this case the event source is considered - "floating", and will be destroyed implicitly when the event loop - itself is destroyed.</para> - - <para>If the <parameter>handler</parameter> to - <function>sd_event_add_time()</function> is - <constant>NULL</constant>, and the event source fires, this will - be considered a request to exit the event loop. In this case, the - <parameter>userdata</parameter> parameter, cast to an integer, is - used for the exit code passed to - <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>Use <constant>CLOCK_BOOTTIME_ALARM</constant> and - <constant>CLOCK_REALTIME_ALARM</constant> to define event sources - that may wake up the system from suspend.</para> - - <para>In order to set up relative timers (that is, relative to the - current time), retrieve the current time via - <citerefentry><refentrytitle>sd_event_now</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - add the desired timespan to it, and use the result as - the <parameter>usec</parameter> parameter to - <function>sd_event_add_time()</function>.</para> - - <para>In order to set up repetitive timers (that is, timers that - are triggered in regular intervals), set up the timer normally, - for the first invocation. Each time the event handler is invoked, - update the timer's trigger time with - <citerefentry><refentrytitle>sd_event_source_set_time</refentrytitle><manvolnum>3</manvolnum></citerefentry> for the next timer - iteration, and reenable the timer using - <function>sd_event_source_set_enabled()</function>. To calculate - the next point in time to pass to - <function>sd_event_source_set_time()</function>, either use as - base the <parameter>usec</parameter> parameter passed to the timer - callback, or the timestamp returned by - <function>sd_event_now()</function>. In the former case timer - events will be regular, while in the latter case the scheduling - latency will keep accumulating on the timer.</para> - - <para><function>sd_event_source_get_time()</function> retrieves - the configured time value of an event source created - previously with <function>sd_event_add_time()</function>. It takes - the event source object and a pointer to a variable to store the - time in, relative to the selected clock's epoch, in µs.</para> - - <para><function>sd_event_source_set_time()</function> changes the - time of an event source created previously with - <function>sd_event_add_time()</function>. It takes the event - source object and a time relative to the selected clock's epoch, - in µs.</para> - - <para><function>sd_event_source_get_time_accuracy()</function> - retrieves the configured accuracy value of a event source - created previously with <function>sd_event_add_time()</function>. It - takes the event source object and a pointer to a variable to store - the accuracy in. The accuracy is specified in µs.</para> - - <para><function>sd_event_source_set_time_accuracy()</function> - changes the configured accuracy of a timer event source created - previously with <function>sd_event_add_time()</function>. It takes - the event source object and accuracy, in µs.</para> - - <para><function>sd_event_source_get_time_clock()</function> - retrieves the configured clock of a event source created - previously with <function>sd_event_add_time()</function>. It takes - the event source object and a pointer to a variable to store the - clock identifier in.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these functions return 0 or a positive - integer. On failure, they return a negative errno-style error - code. </para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned values may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory to allocate an object.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An invalid argument has been passed.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop is already terminated.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-EOPNOTSUPP</constant></term> - - <listitem><para>The selected clock is not supported by the event loop implementation.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-EDOM</constant></term> - - <listitem><para>The passed event source is not a timer event source.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_now</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_child</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>timerfd_create</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>prctl</refentrytitle><manvolnum>2</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_exit.xml b/man/sd_event_exit.xml deleted file mode 100644 index 9846a3eaf4..0000000000 --- a/man/sd_event_exit.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_exit" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_exit</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_exit</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_exit</refname> - <refname>sd_event_get_exit_code</refname> - - <refpurpose>Ask the event loop to exit</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_exit</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>int <parameter>code</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_get_exit_code</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>int *<parameter>code</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_exit()</function> requests the event loop - specified in the <parameter>event</parameter> event loop object to - exit. The <parameter>code</parameter> parameter may be any integer - value and is returned as-is by - <citerefentry><refentrytitle>sd_event_loop</refentrytitle><manvolnum>3</manvolnum></citerefentry> - after the last event loop iteration. It may also be queried - using <function>sd_event_get_exit_code()</function>, see - below. </para> - - <para>When exiting is requested the event loop will stop listening - for and dispatching regular event sources. Instead it will proceed - with executing only event sources registered with - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry> - in the order defined by their priority. After all exit event - sources have been dispatched the event loop is terminated.</para> - - <para>If <function>sd_event_exit()</function> is invoked a second - time while the event loop is still processing exit event sources, - the exit code stored in the event loop object is updated, but - otherwise no further operation is executed.</para> - - <para><function>sd_event_get_exit_code()</function> may be used to - query the exit code passed into - <function>sd_event_exit()</function> earlier.</para> - - <para>While the full positive and negative integer ranges may be used - for the exit code, care should be taken not pick exit codes that - conflict with regular exit codes returned by - <function>sd_event_loop()</function>, if these exit codes shall be - distinguishable.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_event_exit()</function> and - <function>sd_event_get_exit_code()</function> return 0 or a positive - integer. On failure, they return a negative errno-style error - code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>The event loop object or error code pointer are invalid.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop was created in a different process.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop has exited already and all exit handlers are already processed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENODATA</constant></term> - - <listitem><para>The event loop has not been requested to exit yet.</para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_get_fd.xml b/man/sd_event_get_fd.xml deleted file mode 100644 index f68752dd0e..0000000000 --- a/man/sd_event_get_fd.xml +++ /dev/null @@ -1,140 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_get_fd" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_get_fd</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>More text</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_get_fd</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_get_fd</refname> - - <refpurpose>Obtain a file descriptor to poll for event loop events</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_get_fd</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_get_fd()</function> returns the file - descriptor that an event loop object returned by the - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry> - function uses to wait for events. This file descriptor may itself - be polled for - <constant>POLLIN</constant>/<constant>EPOLLIN</constant> - events. This makes it possible to embed an - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry> - event loop into another, possibly foreign, event loop.</para> - - <para>The returned file descriptor refers to an <citerefentry - project='man-pages'><refentrytitle>epoll</refentrytitle><manvolnum>7</manvolnum></citerefentry> - object. It is recommended not to alter it by invoking - <citerefentry - project='man-pages'><refentrytitle>epoll_ctl</refentrytitle><manvolnum>2</manvolnum></citerefentry> - on it, in order to avoid interference with the event loop's inner - logic and assumptions.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_event_get_fd()</function> returns a - non-negative file descriptor. On failure, it returns a negative - errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para><parameter>event</parameter> is not a valid - pointer to an <structname>sd_event</structname> structure. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>Integration in the GLib event loop</title> - - <programlisting><xi:include href="glib-event-glue.c" parse="text" /></programlisting> - </example> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_wait</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>epoll_ctl</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>epoll</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_new.xml b/man/sd_event_new.xml deleted file mode 100644 index 2c23b00a8c..0000000000 --- a/man/sd_event_new.xml +++ /dev/null @@ -1,245 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_new" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_new</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_new</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_new</refname> - <refname>sd_event_default</refname> - <refname>sd_event_ref</refname> - <refname>sd_event_unref</refname> - <refname>sd_event_unrefp</refname> - <refname>sd_event_get_tid</refname> - <refname>sd_event</refname> - - <refpurpose>Acquire and release an event loop object</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcsynopsisinfo><token>typedef</token> struct sd_event sd_event;</funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_new</function></funcdef> - <paramdef>sd_event **<parameter>event</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_default</function></funcdef> - <paramdef>sd_event **<parameter>event</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>sd_event *<function>sd_event_ref</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>sd_event *<function>sd_event_unref</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void <function>sd_event_unrefp</function></funcdef> - <paramdef>sd_event **<parameter>event</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_get_tid</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>pid_t *<parameter>tid</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_new()</function> allocates a new event - loop object. The event loop object is returned in the - <parameter>event</parameter> parameter. After use, drop - the returned reference with - <function>sd_event_unref()</function>. When the last reference is - dropped, the object is freed.</para> - - <para><function>sd_event_default()</function> acquires a reference - to the default event loop object of the calling thread, possibly - allocating a new object if no default event loop object has been - allocated yet for the thread. After use, drop the returned - reference with <function>sd_event_unref()</function>. When the - last reference is dropped, the event loop is freed. If this - function is called while the object returned from a previous call - from the same thread is still referenced, the same object is - returned again, but the reference is increased by one. It is - recommended to use this call instead of - <function>sd_event_new()</function> in order to share event loop - objects between various components that are dispatched in the same - thread. All threads have exactly either zero or one default event loop - objects associated, but never more.</para> - - <para>After allocating an event loop object, add event sources to - it with - <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_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_child</refentrytitle><manvolnum>3</manvolnum></citerefentry> - or - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - and then execute the event loop using - <citerefentry><refentrytitle>sd_event_run</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para><function>sd_event_ref()</function> increases the reference - count of the specified event loop object by one.</para> - - <para><function>sd_event_unref()</function> decreases the - reference count of the specified event loop object by one. If - the count hits zero, the object is freed. Note that it - is freed regardless of whether it is the default event loop object for a - thread or not. This means that allocating an event loop with - <function>sd_event_default()</function>, then releasing it, and - then acquiring a new one with - <function>sd_event_default()</function> will result in two - distinct objects. Note that, in order to free an event loop object, - all remaining event sources of the event loop also need to be - freed as each keeps a reference to it.</para> - - <para><function>sd_event_unrefp()</function> is similar to - <function>sd_event_unref()</function> but takes a pointer to a - pointer to an <type>sd_event</type> object. This call is useful in - conjunction with GCC's and LLVM's <ulink - url="https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html">Clean-up - Variable Attribute</ulink>. Note that this function is defined as - inline function. Use a declaration like the following, - in order to allocate an event loop object that is freed - automatically as the code block is left:</para> - - <programlisting>{ - __attribute__((cleanup(sd_event_unrefp)) sd_event *event = NULL; - int r; - … - r = sd_event_default(&event); - if (r < 0) - fprintf(stderr, "Failed to allocate event loop: %s\n", strerror(-r)); - … -}</programlisting> - - <para><function>sd_event_ref()</function>, - <function>sd_event_unref()</function> and - <function>sd_event_unrefp()</function> execute no operation if the - passed in event loop object is <constant>NULL</constant>.</para> - - <para><function>sd_event_get_tid()</function> retrieves the thread - identifier ("TID") of the thread the specified event loop object - is associated with. This call is only supported for event loops - allocated with <function>sd_event_default()</function>, and - returns the identifier for the thread the event loop is the - default event loop of. See <citerefentry - project='man-pages'><refentrytitle>gettid</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for more information on thread identifiers.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_event_new()</function> and - <function>sd_event_default()</function> return 0 or a positive - integer. On failure, they return a negative errno-style error - code. <function>sd_event_ref()</function> always returns a pointer - to the event loop object passed - in. <function>sd_event_unref()</function> always returns - <constant>NULL</constant>.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory to allocate the object.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EMFILE</constant></term> - - <listitem><para>The maximum number of event loops has been allocated.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ENXIO</constant></term> - - <listitem><para><function>sd_event_get_tid()</function> was - invoked on an event loop object that was not allocated with - <function>sd_event_default()</function>.</para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <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_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_child</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_post</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_run</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>gettid</refentrytitle><manvolnum>2</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_now.xml b/man/sd_event_now.xml deleted file mode 100644 index 2c83b0bcb5..0000000000 --- a/man/sd_event_now.xml +++ /dev/null @@ -1,146 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_now" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_now</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_now</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_now</refname> - - <refpurpose>Retrieve current event loop iteration timestamp</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_now</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>clockid_t <parameter>clock</parameter></paramdef> - <paramdef>uint64_t *<parameter>usec</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_now()</function> returns the time when - the most recent event loop iteration began. A timestamp - is taken right after returning from the event sleep, and before - dispatching any event sources. The <parameter>event</parameter> - parameter specifies the event loop object to retrieve the timestamp - from. The <parameter>clock</parameter> parameter specifies the clock to - retrieve the timestamp for, and is one of - <constant>CLOCK_REALTIME</constant> (or equivalently - <constant>CLOCK_REALTIME_ALARM</constant>), - <constant>CLOCK_MONOTONIC</constant>, or - <constant>CLOCK_BOOTTIME</constant> (or equivalently - <constant>CLOCK_BOOTTIME_ALARM</constant>), see - <citerefentry project='man-pages'><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for more information on the various clocks. The retrieved - timestamp is stored in the <parameter>usec</parameter> parameter, - in µs since the clock's epoch. If this function is invoked before - the first event loop iteration, the current time is returned, as - reported by <function>clock_gettime()</function>. To distinguish - this case from a regular invocation the return value will be - positive, and zero when the returned timestamp refers to an actual - event loop iteration.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>If the first event loop iteration has not run yet - <function>sd_event_now()</function> writes current time to - <parameter>usec</parameter> and returns a positive return value. - Otherwise, it will write the requested timestamp to <parameter>usec</parameter> - and return 0. On failure, the call returns a negative errno-style - error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned values may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An invalid parameter was - passed.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-EOPNOTSUPP</constant></term> - - <listitem><para>Unsupported clock type. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop object was created in a - different process.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_run.xml b/man/sd_event_run.xml deleted file mode 100644 index 5b68959165..0000000000 --- a/man/sd_event_run.xml +++ /dev/null @@ -1,190 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_run" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_run</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Tom</firstname> - <surname>Gundersen</surname> - <email>teg@jklm.no</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_run</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_run</refname> - <refname>sd_event_loop</refname> - - <refpurpose>Run an event loop</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_run</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>uint64_t <parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_loop</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_run()</function> may be used to run a single - iteration of the event loop specified in the - <parameter>event</parameter> parameter. The function waits until an event to - process is available, and dispatches the registered handler for - it. The <parameter>usec</parameter> parameter specifies the - maximum time (in microseconds) to wait for an event. Use - <constant>(uint64_t) -1</constant> to specify an infinite - timeout.</para> - - <para><function>sd_event_loop()</function> invokes - <function>sd_event_run()</function> in a loop, thus implementing - the actual event loop. The call returns as soon as exiting was - requested using - <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>The event loop object <parameter>event</parameter> is - created with - <citerefentry><refentrytitle>sd_event_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - Events sources to wait for and their handlers may be registered - with - <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_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_child</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_post</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - </para> - - <para>For low-level control of event loop execution, use - <citerefentry><refentrytitle>sd_event_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_wait</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and - <citerefentry><refentrytitle>sd_event_dispatch</refentrytitle><manvolnum>3</manvolnum></citerefentry> - which are wrapped by <function>sd_event_run()</function>. Along - with - <citerefentry><refentrytitle>sd_event_get_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - these functions allow integration of an - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry> - event loop into foreign event loop implementations.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On failure, these functions return a negative errno-style - error code. <function>sd_event_run()</function> returns a - positive, non-zero integer if an event source was dispatched, and - zero when the specified timeout hit before an event source has - seen any event, and hence no event source was - dispatched. <function>sd_event_loop()</function> returns the exit - code specified when invoking - <function>sd_event_exit()</function>.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>The <parameter>event</parameter> parameter is - invalid or <constant>NULL</constant>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EBUSY</constant></term> - - <listitem><para>The event loop object is not in the right - state (see - <citerefentry><refentrytitle>sd_event_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for an explanation of possible states).</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop is already terminated.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - - </varlistentry> - - </variablelist> - - <para>Other errors are possible, too.</para> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</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_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_post</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_get_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_wait</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <ulink url="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html">GLib Main Event Loop</ulink>. - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_set_watchdog.xml b/man/sd_event_set_watchdog.xml deleted file mode 100644 index cbc5bc0836..0000000000 --- a/man/sd_event_set_watchdog.xml +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_set_watchdog" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_set_watchdog</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_set_watchdog</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_set_watchdog</refname> - <refname>sd_event_get_watchdog</refname> - - <refpurpose>Enable event loop watchdog support</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_set_watchdog</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>int b</paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_get_watchdog</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_set_watchdog()</function> may be used to - enable or disable automatic watchdog notification support in the - event loop object specified in the <parameter>event</parameter> - parameter. Specifically, depending on the <parameter>b</parameter> - boolean argument this will make sure the event loop wakes up in - regular intervals and sends watchdog notification messages to the - service manager, if this was requested by the service - manager. Watchdog support is determined with - <citerefentry><refentrytitle>sd_watchdog_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - and watchdog messages are sent with - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>. See - the <varname>WatchdogSec=</varname> setting in - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details on how to enable watchdog support for a service and - the protocol used. The wake-up interval is chosen as half the - watchdog timeout declared by the service manager via the - <varname>$WATCHDOG_USEC</varname> environment variable. If the - service manager did not request watchdog notifications, or if the - process was not invoked by the service manager this call with a - true <parameter>b</parameter> parameter executes no - operation. Passing a false <parameter>b</parameter> parameter will - disable the automatic sending of watchdog notification messages if - it was enabled before. Newly allocated event loop objects have - this feature disabled.</para> - - <para>The first watchdog notification message is sent immediately - when <function>set_event_set_watchdog()</function> is invoked with - a true <parameter>b</parameter> parameter.</para> - - <para>The watchdog logic is designed to allow the service manager - to automatically detect services that ceased processing of - incoming events, and thus appear "hung". Watchdog notifications - are sent out only at the beginning of each event loop - iteration. If an event source dispatch function blocks for an - excessively long time and does not return execution to the event - loop quickly, this might hence cause the notification message to - be delayed, and possibly result in abnormal program termination, - as configured in the service unit file.</para> - - <para><function>sd_event_get_watchdog()</function> may be used to - determine whether watchdog support was previously requested by a - call to <function>sd_event_set_watchdog()</function> with a true - <parameter>b</parameter> parameter and successfully - enabled.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_event_set_watchdog()</function> and - <function>sd_event_get_watchdog()</function> return a non-zero - positive integer if the service manager requested watchdog support - and watchdog support was successfully enabled. They return zero if - the service manager did not request watchdog support, or if - watchdog support was explicitly disabled with a false - <parameter>b</parameter> parameter. On failure, they return a - negative errno-style error - code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>The passed event loop object was invalid.</para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</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_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_child</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_post</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_watchdog_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_source_get_event.xml b/man/sd_event_source_get_event.xml deleted file mode 100644 index 2fdbd411bd..0000000000 --- a/man/sd_event_source_get_event.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_source_get_event" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_source_get_event</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_source_get_event</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_source_get_event</refname> - - <refpurpose>Retrieve the event loop of an event source</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>sd_event* <function>sd_event_source_get_event</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_source_get_event()</function> may be used - to retrieve the event loop object the event source object specified - as <parameter>source</parameter> is associated with. The event - loop object is specified when creating an event source object with - calls such as - <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry> - or - <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_event_source_get_event()</function> - returns the associated event loop object. On failure, it returns - NULL.</para> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <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_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_source_get_pending.xml b/man/sd_event_source_get_pending.xml deleted file mode 100644 index 7f88bd1b87..0000000000 --- a/man/sd_event_source_get_pending.xml +++ /dev/null @@ -1,167 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_source_get_pending" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_source_get_pending</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_source_get_pending</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_source_get_pending</refname> - - <refpurpose>Determine pending state of event sources</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_pending</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_source_get_pending()</function> may be - used to determine whether the event source object specified as - <parameter>source</parameter> has seen events but has not been - dispatched yet (and thus is marked "pending").</para> - - <para>Event source objects initially are not marked pending, when - they are created with calls such as - <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - with the exception of those created with - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry> - which are immediately marked pending, and - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for which the "pending" concept is not defined. For details see - the respective manual pages.</para> - - <para>In each event loop iteration one event source of those - marked pending is dispatched, in the order defined by the event - source priority, as set with - <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>For I/O event sources, as created with - <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - the call - <citerefentry><refentrytitle>sd_event_source_get_io_revents</refentrytitle><manvolnum>3</manvolnum></citerefentry> - may be used to query the type of event pending in more - detail.</para> - - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, - <function>sd_event_source_get_pending()</function> returns an - integer greater than zero when the event source is marked pending, - and zero when the event source is not marked pending. On failure, - it returns a negative errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <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> - </varlistentry> - - <varlistentry> - <term><constant>-EDOM</constant></term> - - <listitem><para><parameter>source</parameter> refers to an - event source object created with - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop is already terminated.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <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> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_source_set_description.xml b/man/sd_event_source_set_description.xml deleted file mode 100644 index b9488a622f..0000000000 --- a/man/sd_event_source_set_description.xml +++ /dev/null @@ -1,170 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_source_set_description" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_source_set_description</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>More text</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_source_set_description</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_source_set_description</refname> - <refname>sd_event_source_get_description</refname> - - <refpurpose>Set or retrieve descriptive names of event sources</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_source_set_description</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>const char *<parameter>description</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_description</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>const char **<parameter>description</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_source_set_description()</function> may - be used to set an arbitrary descriptive name for the event source - object specified as <parameter>source</parameter>. This name will - be used in debugging messages generated by - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for this event source, and may be queried using - <function>sd_event_source_get_description()</function> for - debugging purposes. The <parameter>description</parameter> parameter shall - point to a <constant>NUL</constant>-terminated string or be - <constant>NULL</constant>. In the latter case, the descriptive - name will be unset. The string is copied internally, hence the - <parameter>description</parameter> argument is not referenced - after the function returns.</para> - - <para><function>sd_event_source_get_description()</function> may - be used to query the current descriptive name assigned to the - event source object <parameter>source</parameter>. It returns a - pointer to the current name in <parameter>description</parameter>, - stored in memory internal to the event source. The memory is - invalidated when the event source is destroyed or the descriptive - name is changed.</para> - - <para>Event source objects generally have no description set when - they are created, except for UNIX signal event sources created - with - <citerefentry><refentrytitle>sd_event_add_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - whose descriptive name is initialized to the signal's C constant - name (e.g. <literal>SIGINT</literal> or - <literal>SIGTERM</literal>).</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_event_source_set_description()</function> and - <function>sd_event_source_get_description()</function> return a - non-negative integer. On failure, they return a negative - errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para><parameter>source</parameter> is not a valid - pointer to an <structname>sd_event_source</structname> - object or the <parameter>description</parameter> argument for - <function>sd_event_source_get_description()</function> is - <constant>NULL</constant>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory to copy the - name.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ENXIO</constant></term> - - <listitem><para>No name was set for the event - source.</para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <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_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_source_set_enabled.xml b/man/sd_event_source_set_enabled.xml deleted file mode 100644 index 6844f29a49..0000000000 --- a/man/sd_event_source_set_enabled.xml +++ /dev/null @@ -1,179 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_source_set_enabled" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_source_set_enabled</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_source_set_enabled</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_source_set_enabled</refname> - <refname>sd_event_source_get_enabled</refname> - <refname>SD_EVENT_ON</refname> - <refname>SD_EVENT_OFF</refname> - <refname>SD_EVENT_ONESHOT</refname> - - <refpurpose>Enable or disable event sources</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcsynopsisinfo><token>enum</token> { - <constant>SD_EVENT_OFF</constant> = 0, - <constant>SD_EVENT_ON</constant> = 1, - <constant>SD_EVENT_ONESHOT</constant> = -1, -};</funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_source_set_enabled</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>int <parameter>enabled</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_enabled</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>int *<parameter>enabled</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_source_set_enabled()</function> may be - used to enable or disable the event source object specified as - <parameter>source</parameter>. The <parameter>enabled</parameter> - parameter takes one of <constant>SD_EVENT_ON</constant> (to - enable), <constant>SD_EVENT_OFF</constant> (to disable) or - <constant>SD_EVENT_ONESHOT</constant>. If invoked with - <constant>SD_EVENT_ONESHOT</constant> the event source will be - enabled but automatically reset to - <constant>SD_EVENT_OFF</constant> after the event source was - dispatched once.</para> - - <para>Event sources that are disabled will not result in event - loop wakeups and will not be dispatched, until they are enabled - again.</para> - - <para><function>sd_event_source_get_enabled()</function> may be - used to query whether the event source object - <parameter>source</parameter> is currently enabled or not. It - returns the enablement state in - <parameter>enabled</parameter>.</para> - - <para>Event source objects are enabled when they are first created - with calls such as - <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <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> - with a prior call to - <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> - </refsect1> - - <refsect1> - <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> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <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> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <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> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_source_set_prepare.xml b/man/sd_event_source_set_prepare.xml deleted file mode 100644 index 24861d01d9..0000000000 --- a/man/sd_event_source_set_prepare.xml +++ /dev/null @@ -1,171 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_source_set_prepare" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_source_set_prepare</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_source_set_prepare</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_source_set_prepare</refname> - - <refpurpose>Set a preparation callback for event sources</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_source_set_prepare</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>sd_event_handler_t <parameter>callback</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>typedef int (*<function>sd_event_handler_t</function>)</funcdef> - <paramdef>sd_event_source *<parameter>s</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_source_set_prepare()</function> may be - used to set a preparation callback for the event source object - specified as <parameter>source</parameter>. The callback function - specified as <parameter>callback</parameter> will be invoked - immediately before the event loop goes to sleep to wait for - incoming events. It is invoked with the user data pointer passed - when the event source was created. The callback function may be - used to reconfigure the precise events to wait for. If the - <parameter>callback</parameter> parameter is passed as NULL the - callback function is reset. </para> - - <para>Event source objects have no preparation callback associated - when they are first created with calls such as - <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>. Preparation - callback functions are supported for all event source types with - the exception of those created with - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>. Preparation - callback functions are dispatched in the order indicated by the - event source's priority field, as set with - <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>. Preparation - callbacks of disabled event sources (see - <citerefentry><refentrytitle>sd_event_source_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>) - are not invoked.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, - <function>sd_event_source_set_prepare()</function> returns a - non-negative integer. On failure, it returns a negative - errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <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> - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop is already terminated.</para></listitem> - - </varlistentry> - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-EDOM</constant></term> - - <listitem><para>The specified event source has been created - with - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <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_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_priority</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_userdata</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_source_set_priority.xml b/man/sd_event_source_set_priority.xml deleted file mode 100644 index 8c9b39fe5e..0000000000 --- a/man/sd_event_source_set_priority.xml +++ /dev/null @@ -1,189 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_source_set_priority" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_source_set_priority</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_source_set_priority</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_source_set_priority</refname> - <refname>sd_event_source_get_priority</refname> - <refname>SD_EVENT_PRIORITY_IMPORTANT</refname> - <refname>SD_EVENT_PRIORITY_NORMAL</refname> - <refname>SD_EVENT_PRIORITY_IDLE</refname> - - <refpurpose>Set or retrieve the priority of event sources</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcsynopsisinfo><token>enum</token> { - <constant>SD_EVENT_SOURCE_IMPORTANT</constant> = -100, - <constant>SD_EVENT_SOURCE_NORMAL</constant> = 0, - <constant>SD_EVENT_SOURCE_IDLE</constant> = 100, -};</funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_source_set_priority</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>int64_t <parameter>priority</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_source_get_priority</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>int64_t *<parameter>priority</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_source_set_priority()</function> may be - used to set the priority for the event source object specified as - <parameter>source</parameter>. The priority is specified as an - arbitrary signed 64bit integer. The priority is initialized to - <constant>SD_EVENT_PRIORITY_NORMAL</constant> (0) when the event - source is allocated with a call such as - <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry> - or - <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - and may be changed with this call. If multiple event sources have seen events at the same time, they are dispatched in the order indicated by the - event sources' priorities. Event sources with smaller priority - values are dispatched first. As well-known points of reference, - the constants <constant>SD_EVENT_PRIORITY_IMPORTANT</constant> - (-100), <constant>SD_EVENT_PRIORITY_NORMAL</constant> (0) and - <constant>SD_EVENT_PRIORITY_IDLE</constant> (100) may be used to - indicate event sources that shall be dispatched early, normally or - late. It is recommended to specify priorities based on these - definitions, and relative to them — however, the full 64bit - signed integer range is available for ordering event - sources.</para> - - <para>Priorities define the order in which event sources that have - seen events are dispatched. Care should be taken to ensure that - high-priority event sources (those with negative priority values - assigned) do not cause starvation of low-priority event sources - (those with positive priority values assigned).</para> - - <para>The order in which event sources with the same priority are - dispatched is undefined, but the event loop generally tries to - dispatch them in the order it learnt about events on them. As the - backing kernel primitives do not provide accurate information - about the order in which events occurred this is not necessarily - reliable. However, it is guaranteed that if events are seen on - multiple same-priority event sources at the same time, each one is - not dispatched again until all others have been dispatched - once. This behaviour guarantees that within each priority - particular event sources do not starve or dominate the event - loop.</para> - - <para><function>sd_event_source_get_priority()</function> may be - used to query the current priority assigned to the event source - object <parameter>source</parameter>.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, - <function>sd_event_source_set_priority()</function> and - <function>sd_event_source_get_priority()</function> return a - non-negative integer. On failure, they return a negative - errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <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> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Not enough memory.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop is already terminated.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - - </varlistentry> - - </variablelist> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <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> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_source_set_userdata.xml b/man/sd_event_source_set_userdata.xml deleted file mode 100644 index 533d491b13..0000000000 --- a/man/sd_event_source_set_userdata.xml +++ /dev/null @@ -1,119 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_source_set_userdata" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_source_set_userdata</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_source_set_userdata</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_source_set_userdata</refname> - <refname>sd_event_source_get_userdata</refname> - - <refpurpose>Set or retrieve user data pointer of event sources</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>void* <function>sd_event_source_set_userdata</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - <paramdef>void *<parameter>userdata</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void* <function>sd_event_source_get_userdata</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_source_set_userdata()</function> may be - used to set an arbitrary user data pointer for the event source - object specified as <parameter>source</parameter>. The user data - pointer is usually specified when creating an event source object - with calls such as - <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry> - or - <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - and may be updated with this call. The user data pointer is also - passed to all handler callback functions associated with the event - source. The <parameter>userdata</parameter> parameter specifies - the new user data pointer to set, the function returns the - previous user data pointer. Note that <constant>NULL</constant> is - a valid user data pointer.</para> - - <para><function>sd_event_source_get_userdata()</function> may be - used to query the current user data pointer assigned to the event - source object <parameter>source</parameter>.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, - <function>sd_event_source_set_userdata()</function> and - <function>sd_event_source_get_userdata()</function> return the - previously set user data pointer. On failure, they return - NULL.</para> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <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_set_description</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_source_unref.xml b/man/sd_event_source_unref.xml deleted file mode 100644 index 2c4d450763..0000000000 --- a/man/sd_event_source_unref.xml +++ /dev/null @@ -1,142 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_source_unref" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_source_unref</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_source_unref</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_source_unref</refname> - <refname>sd_event_source_unrefp</refname> - <refname>sd_event_source_ref</refname> - - <refpurpose>Increase or decrease event source reference counters</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>sd_event_source* <function>sd_event_source_unref</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void <function>sd_event_source_unrefp</function></funcdef> - <paramdef>sd_event_source **<parameter>source</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>sd_event_source* <function>sd_event_source_ref</function></funcdef> - <paramdef>sd_event_source *<parameter>source</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_event_source_unref()</function> may be used to - decrement by one the reference counter of the event source object - specified as <parameter>source</parameter>. The reference counter - is initially set to one, when the event source is created with calls - such as - <citerefentry><refentrytitle>sd_event_add_io</refentrytitle><manvolnum>3</manvolnum></citerefentry> - or - <citerefentry><refentrytitle>sd_event_add_time</refentrytitle><manvolnum>3</manvolnum></citerefentry>. When - the reference counter reaches zero it is removed from its event loop - object and destroyed.</para> - - <para><function>sd_event_source_unrefp()</function> is similar to - <function>sd_event_source_unref()</function> but takes a pointer to a - pointer to an <type>sd_event_source</type> object. This call is useful in - conjunction with GCC's and LLVM's <ulink - url="https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html">Clean-up - Variable Attribute</ulink>. Note that this function is defined as - inline function.</para> - - <para><function>sd_event_source_ref()</function> may be used - to increase by one the reference counter of the event source object - specified as <parameter>source</parameter>.</para> - - <para><function>sd_event_source_unref()</function>, - <function>sd_bus_creds_unrefp()</function> and - <function>sd_bus_creds_ref()</function> execute no operation if - the passed event source object is - <constant>NULL</constant>.</para> - - <para>Note that event source objects stay alive and may be - dispatched as long as they have a reference counter greater than - zero. In order to drop a reference of an event source and make - sure the associated event source handler function is not called - anymore it is recommended to combine a call of - <function>sd_event_source_unref()</function> with a prior call to - <function>sd_event_source_set_enabled()</function> with - <constant>SD_EVENT_OFF</constant>.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_event_source_unref()</function> always returns - <constant>NULL</constant>. - <function>sd_event_source_ref()</function> always returns the - event source object passed in.</para> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <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_set_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_event_wait.xml b/man/sd_event_wait.xml deleted file mode 100644 index f2aea00e98..0000000000 --- a/man/sd_event_wait.xml +++ /dev/null @@ -1,346 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2015 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_event_wait" xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_event_wait</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Tom</firstname> - <surname>Gundersen</surname> - <email>teg@jklm.no</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_event_wait</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_event_wait</refname> - <refname>sd_event_prepare</refname> - <refname>sd_event_dispatch</refname> - <refname>sd_event_get_state</refname> - <refname>SD_EVENT_INITIAL</refname> - <refname>SD_EVENT_PREPARING</refname> - <refname>SD_EVENT_ARMED</refname> - <refname>SD_EVENT_PENDING</refname> - <refname>SD_EVENT_RUNNING</refname> - <refname>SD_EVENT_EXITING</refname> - <refname>SD_EVENT_FINISHED</refname> - - <refpurpose>Low-level event loop operations</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-event.h></funcsynopsisinfo> - - <funcsynopsisinfo><token>enum</token> { - <constant>SD_EVENT_INITIAL</constant>, - <constant>SD_EVENT_PREPARING</constant>, - <constant>SD_EVENT_ARMED</constant>, - <constant>SD_EVENT_PENDING</constant>, - <constant>SD_EVENT_RUNNING</constant>, - <constant>SD_EVENT_EXITING</constant>, - <constant>SD_EVENT_FINISHED</constant>, -};</funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_event_prepare</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_wait</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - <paramdef>uint64_t <parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_dispatch</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_event_get_state</function></funcdef> - <paramdef>sd_event *<parameter>event</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>The low-level <function>sd_event_prepare()</function>, - <function>sd_event_wait()</function> and - <function>sd_event_dispatch()</function> functions may be used to - execute specific phases of an event loop. See - <citerefentry><refentrytitle>sd_event_run</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and - <citerefentry><refentrytitle>sd_event_loop</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for higher-level functions that execute individual but complete - iterations of an event loop or run it continuously.</para> - - <para><function>sd_event_prepare()</function> checks for pending - events and arms necessary timers. If any events are ready to be - processed ("pending"), it returns a positive, non-zero value, and the caller - should process these events with - <function>sd_event_dispatch()</function>.</para> - - <para><function>sd_event_dispatch()</function> dispatches the - highest priority event source that has a pending event. On - success, <function>sd_event_dispatch()</function> returns either - zero, which indicates that no further event sources may be - dispatched and exiting of the event loop was requested via - <citerefentry><refentrytitle>sd_event_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>; - or a positive non-zero value, which means that an event source was - dispatched and the loop returned to its initial state, and the - caller should initiate the next event loop iteration by invoking - <function>sd_event_prepare()</function> again.</para> - - <para>In case <function>sd_event_prepare()</function> returned - zero, <function>sd_event_wait()</function> should be called to - wait for further events or a timeout. If any events are ready to - be processed, it returns a positive, non-zero value, and the - events should be dispatched with - <function>sd_event_dispatch()</function>. Otherwise, the event - loop returned to its initial state and the next event loop - iteration should be initiated by invoking - <function>sd_event_prepare()</function> again.</para> - - <para><function>sd_event_get_state()</function> may be used to - determine the state the event loop is currently in. It returns one - of the states described below.</para> - - <para>All four functions take, as the first argument, the event - loop object <parameter>event</parameter> that has been created - with <function>sd_event_new()</function>. The timeout for - <function>sd_event_wait()</function> is specified in - <parameter>usec</parameter> in milliseconds. <constant>(uint64_t) - -1</constant> may be used to specify an infinite timeout.</para> -</refsect1> - - <refsect1> - <title>State Machine</title> - - <para>The event loop knows the following states, that may be - queried with <function>sd_event_get_state()</function>.</para> - - <variablelist> - <varlistentry> - <term><constant>SD_EVENT_INITIAL</constant></term> - - <listitem><para>The initial state the event loop is in, - before each event loop iteration. Use - <function>sd_event_prepare()</function> to transition the - event loop into the <constant>SD_EVENT_ARMED</constant> or - <constant>SD_EVENT_PENDING</constant> states.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SD_EVENT_PREPARING</constant></term> - - <listitem><para>An event source is currently being prepared, - i.e. the preparation handler is currently being executed, as - set with - <citerefentry><refentrytitle>sd_event_set_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry>. This - state is only seen in the event source preparation handler - that is invoked from the - <function>sd_event_prepare()</function> call and is - immediately followed by <constant>SD_EVENT_ARMED</constant> or - <constant>SD_EVENT_PENDING</constant>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SD_EVENT_ARMED</constant></term> - - <listitem><para><function>sd_event_prepare()</function> has - been called and no event sources were ready to be - dispatched. Use <function>sd_event_wait()</function> to wait - for new events, and transition into - <constant>SD_EVENT_PENDING</constant> or back into - <constant>SD_EVENT_INITIAL</constant>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SD_EVENT_PENDING</constant></term> - - <listitem><para><function>sd_event_prepare()</function> or - <function>sd_event_wait()</function> have been called and - there were event sources with events pending. Use - <function>sd_event_dispatch()</function> to dispatch the - highest priority event source and transition back to - <constant>SD_EVENT_INITIAL</constant>, or - <constant>SD_EVENT_FINISHED</constant>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SD_EVENT_RUNNING</constant></term> - - <listitem><para>A regular event source is currently being - dispatched. This state is only seen in the event source - handler that is invoked from the - <function>sd_event_dispatch()</function> call, and is - immediately followed by <constant>SD_EVENT_INITIAL</constant> - or <constant>SD_EVENT_FINISHED</constant> as soon the event - source handler returns. Note that during dispatching of exit - event sources the <constant>SD_EVENT_EXITING</constant> state - is seen instead.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SD_EVENT_EXITING</constant></term> - - <listitem><para>Similar to - <constant>SD_EVENT_RUNNING</constant> but is the state in - effect while dispatching exit event sources. It is followed by - <constant>SD_EVENT_INITIAL</constant> or - <constant>SD_EVENT_FINISHED</constant> as soon as the event - handler returns.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SD_EVENT_FINISHED</constant></term> - - <listitem><para>The event loop has exited. All exit event - sources have run. If the event loop is in this state it serves - no purpose anymore, and should be freed.</para></listitem> - </varlistentry> - - </variablelist> - - <para>A simplified flow chart of the states and the calls to - transition between them is shown below. Note that - <constant>SD_EVENT_PREPARING</constant>, - <constant>SD_EVENT_RUNNING</constant> and - <constant>SD_EVENT_EXITING</constant> are not shown here.</para> - - <programlisting> - INITIAL -<---<---<---<---<---<---<---<---<---<---<---<---\ - | | - | ^ - | | - v ret == 0 | - sd_event_prepare() >--->--->--->--->- ARMED | - | | ^ - | ret > 0 | | - | | | - v v ret == 0 | - PENDING <---<---<---<---<---< sd_event_wait() >--->--->--+ - | ret > 0 ^ - | | - | | - v | - sd_event_dispatch() >--->--->--->--->--->--->--->--->--->--->/ - | ret > 0 - | ret == 0 - | - v - FINISHED - </programlisting> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these functions return 0 or a positive integer. - On failure, they return a negative errno-style error code. In case - of <function>sd_event_prepare()</function> and - <function>sd_event_wait()</function>, a positive, non-zero return - code indicates that events are ready to be processed and zero - indicates that no events are ready. In case of - <function>sd_event_dispatch()</function>, a positive, non-zero - return code indicates that the event loop returned to its initial - state and zero indicates the event loop has - exited. <function>sd_event_get_state()</function> returns a - positive or zero state on success.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>The <parameter>event</parameter> parameter is - invalid or <constant>NULL</constant>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EBUSY</constant></term> - - <listitem><para>The event loop object is not in the right - state.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ESTALE</constant></term> - - <listitem><para>The event loop is already terminated.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><constant>-ECHILD</constant></term> - - <listitem><para>The event loop has been created in a different process.</para></listitem> - - </varlistentry> - - </variablelist> - - <para>Other errors are possible, too.</para> - </refsect1> - - <xi:include href="libsystemd-pkgconfig.xml" /> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_new</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_signal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_defer</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_exit</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_add_post</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_run</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_get_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_source_set_prepare</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_get_seats.xml b/man/sd_get_seats.xml deleted file mode 100644 index 37eb3fc894..0000000000 --- a/man/sd_get_seats.xml +++ /dev/null @@ -1,164 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_get_seats" conditional='HAVE_PAM'> - - <refentryinfo> - <title>sd_get_seats</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_get_seats</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_get_seats</refname> - <refname>sd_get_sessions</refname> - <refname>sd_get_uids</refname> - <refname>sd_get_machine_names</refname> - <refpurpose>Determine available seats, sessions, logged in users and virtual machines/containers</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-login.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_get_seats</function></funcdef> - <paramdef>char ***<parameter>seats</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_get_sessions</function></funcdef> - <paramdef>char ***<parameter>sessions</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_get_uids</function></funcdef> - <paramdef>uid_t **<parameter>users</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_get_machine_names</function></funcdef> - <paramdef>char ***<parameter>machines</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_get_seats()</function> may be used to determine - all currently available local seats. Returns a - <constant>NULL</constant> terminated array of seat identifiers. - The returned array and all strings it references need to be freed - with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use. Note that instead of an empty array - <constant>NULL</constant> may be returned and should be considered - equivalent to an empty array.</para> - - <para>Similarly, <function>sd_get_sessions()</function> may be - used to determine all current login sessions.</para> - - <para>Similarly, <function>sd_get_uids()</function> may be used to - determine all Unix users who currently have login sessions.</para> - - <para>Similarly, <function>sd_get_machine_names()</function> may - be used to determine all current virtual machines and containers - on the system.</para> - - <para>Note that the returned lists are not sorted and in an - undefined order.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_get_seats()</function>, - <function>sd_get_sessions()</function>, - <function>sd_get_uids()</function> and - <function>sd_get_machine_names()</function> return the number of - entries in the arrays. On failure, these calls return a negative - errno-style error code.</para> - </refsect1> - - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An input parameter was invalid (out of range, - or NULL, where that is not accepted).</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_get_seats()</function>, - <function>sd_get_sessions()</function>, - <function>sd_get_uids()</function> and - <function>sd_get_machine_names()</function> interfaces are - available as a shared library, which can be compiled and linked to - with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_session_get_seat</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_id128_get_machine.xml b/man/sd_id128_get_machine.xml deleted file mode 100644 index 2ad1f8f728..0000000000 --- a/man/sd_id128_get_machine.xml +++ /dev/null @@ -1,129 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_id128_get_machine"> - - <refentryinfo> - <title>sd_id128_get_machine</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_id128_get_machine</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_id128_get_machine</refname> - <refname>sd_id128_get_boot</refname> - <refpurpose>Retrieve 128-bit IDs</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-id128.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_id128_get_machine</function></funcdef> - <paramdef>sd_id128_t *<parameter>ret</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_id128_get_boot</function></funcdef> - <paramdef>sd_id128_t *<parameter>ret</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_id128_get_machine()</function> returns the - machine ID of the executing host. This reads and parses the - <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry> - file. This function caches the machine ID internally to make - retrieving the machine ID a cheap operation.</para> - - <para><function>sd_id128_get_boot()</function> returns the boot ID - of the executing kernel. This reads and parses the - <filename>/proc/sys/kernel/random/boot_id</filename> file exposed - by the kernel. It is randomly generated early at boot and is - unique for every running kernel instance. See - <citerefentry project='man-pages'><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry> - for more information. This function also internally caches the - returned ID to make this call a cheap operation.</para> - - <para>Note that <function>sd_id128_get_boot()</function> always - returns a UUID v4 compatible ID. - <function>sd_id128_get_machine()</function> will also return a - UUID v4-compatible ID on new installations but might not on older. - It is possible to convert the machine ID into a UUID v4-compatible - one. For more information, see - <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para> - - <para>For more information about the <literal>sd_id128_t</literal> - type see - <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>The two calls return 0 on success (in which case - <parameter>ret</parameter> is filled in), or a negative - errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_id128_get_machine()</function> and - <function>sd_id128_get_boot()</function> interfaces are available - as a shared library, which can be compiled and linked to with the - <literal>libsystemd</literal> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_id128_randomize</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_id128_randomize.xml b/man/sd_id128_randomize.xml deleted file mode 100644 index ab449d2937..0000000000 --- a/man/sd_id128_randomize.xml +++ /dev/null @@ -1,114 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_id128_randomize"> - - <refentryinfo> - <title>sd_id128_randomize</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_id128_randomize</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_id128_randomize</refname> - <refpurpose>Generate 128-bit IDs</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-id128.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_id128_randomize</function></funcdef> - <paramdef>sd_id128_t *<parameter>ret</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_id128_randomize()</function> generates a new - randomized 128-bit ID and returns it in - <parameter>ret</parameter>. Every invocation returns a new - randomly generated ID. This uses the - <filename>/dev/urandom</filename> kernel random number - generator.</para> - - <para>Note that <function>sd_id128_randomize()</function> always - returns a UUID v4-compatible ID.</para> - - <para>For more information about the <literal>sd_id128_t</literal> - type, see - <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para><citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s - <option>--new-id</option> option may be used as a command line - front-end for <function>sd_id128_randomize()</function>.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>The call returns 0 on success (in which case - <parameter>ret</parameter> is filled in), or a negative - errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_id128_randomize()</function> interface is - available as a shared library, which can be compiled and linked to - with the - <literal>libsystemd</literal> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_id128_get_machine</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_id128_to_string.xml b/man/sd_id128_to_string.xml deleted file mode 100644 index e70c80892e..0000000000 --- a/man/sd_id128_to_string.xml +++ /dev/null @@ -1,132 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_id128_to_string"> - - <refentryinfo> - <title>sd_id128_to_string</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_id128_to_string</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_id128_to_string</refname> - <refname>sd_id128_from_string</refname> - <refpurpose>Format or parse 128-bit IDs as strings</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-id128.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>char *<function>sd_id128_to_string</function></funcdef> - <paramdef>sd_id128_t <parameter>id</parameter>, char <parameter>s</parameter>[33]</paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_id128_from_string</function></funcdef> - <paramdef>const char *<parameter>s</parameter>, sd_id128_t *<parameter>ret</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_id128_to_string()</function> formats a 128-bit - ID as a character string. It expects the ID and a string array - capable of storing 33 characters. The ID will be formatted as 32 - lowercase hexadecimal digits and be terminated by a - <constant>NUL</constant> byte.</para> - - <para><function>sd_id128_from_string()</function> implements the - reverse operation: it takes a 33 character string with 32 - hexadecimal digits (either lowercase or uppercase, terminated by - <constant>NUL</constant>) and parses them back into a 128-bit ID - returned in <parameter>ret</parameter>. Alternatively, this call - can also parse a 37-character string with a 128-bit ID formatted - as RFC UUID.</para> - - <para>For more information about the <literal>sd_id128_t</literal> - type see - <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - Note that these calls operate the same way on all architectures, - i.e. the results do not depend on endianness.</para> - - <para>When formatting a 128-bit ID into a string, it is often - easier to use a format string for - <citerefentry project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - This is easily done using the - <function>SD_ID128_FORMAT_STR</function> and - <function>SD_ID128_FORMAT_VAL()</function> macros. For more - information see - <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_id128_to_string()</function> always succeeds - and returns a pointer to the string array passed in. - <function>sd_id128_from_string</function> returns 0 on success, in - which case <parameter>ret</parameter> is filled in, or a negative - errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_id128_to_string()</function> and - <function>sd_id128_from_string()</function> interfaces are - available as a shared library, which can be compiled and linked to - with the - <literal>libsystemd</literal> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_is_fifo.xml b/man/sd_is_fifo.xml deleted file mode 100644 index 627cb87aaf..0000000000 --- a/man/sd_is_fifo.xml +++ /dev/null @@ -1,200 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_is_fifo" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_is_fifo</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_is_fifo</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_is_fifo</refname> - <refname>sd_is_socket</refname> - <refname>sd_is_socket_inet</refname> - <refname>sd_is_socket_unix</refname> - <refname>sd_is_mq</refname> - <refname>sd_is_special</refname> - <refpurpose>Check the type of a file descriptor</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-daemon.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_is_fifo</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>const char *<parameter>path</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_is_socket</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>int <parameter>family</parameter></paramdef> - <paramdef>int <parameter>type</parameter></paramdef> - <paramdef>int <parameter>listening</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_is_socket_inet</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>int <parameter>family</parameter></paramdef> - <paramdef>int <parameter>type</parameter></paramdef> - <paramdef>int <parameter>listening</parameter></paramdef> - <paramdef>uint16_t <parameter>port</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_is_socket_unix</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>int <parameter>type</parameter></paramdef> - <paramdef>int <parameter>listening</parameter></paramdef> - <paramdef>const char *<parameter>path</parameter></paramdef> - <paramdef>size_t <parameter>length</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_is_mq</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>const char *<parameter>path</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_is_special</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>const char *<parameter>path</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_is_fifo()</function> may be called to check - whether the specified file descriptor refers to a FIFO or pipe. If - the <parameter>path</parameter> parameter is not - <constant>NULL</constant>, it is checked whether the FIFO is bound - to the specified file system path.</para> - - <para><function>sd_is_socket()</function> may be called to check - whether the specified file descriptor refers to a socket. If the - <parameter>family</parameter> parameter is not - <constant>AF_UNSPEC</constant>, it is checked whether the socket - is of the specified family (AF_UNIX, <constant>AF_INET</constant>, - ...). If the <parameter>type</parameter> parameter is not 0, it is - checked whether the socket is of the specified type - (<constant>SOCK_STREAM</constant>, - <constant>SOCK_DGRAM</constant>, ...). If the - <parameter>listening</parameter> parameter is positive, it is - checked whether the socket is in accepting mode, i.e. - <function>listen()</function> has been called for it. If - <parameter>listening</parameter> is 0, it is checked whether the - socket is not in this mode. If the parameter is negative, no such - check is made. The <parameter>listening</parameter> parameter - should only be used for stream sockets and should be set to a - negative value otherwise.</para> - - <para><function>sd_is_socket_inet()</function> is similar to - <function>sd_is_socket()</function>, but optionally checks the - IPv4 or IPv6 port number the socket is bound to, unless - <parameter>port</parameter> is zero. For this call - <parameter>family</parameter> must be passed as either - <constant>AF_UNSPEC</constant>, <constant>AF_INET</constant>, or - <constant>AF_INET6</constant>.</para> - - <para><function>sd_is_socket_unix()</function> is similar to - <function>sd_is_socket()</function> but optionally checks the - <constant>AF_UNIX</constant> path the socket is bound to, unless - the <parameter>path</parameter> parameter is - <constant>NULL</constant>. For normal file system - <constant>AF_UNIX</constant> sockets, set the - <parameter>length</parameter> parameter to 0. For Linux abstract - namespace sockets, set the <parameter>length</parameter> to the - size of the address, including the initial 0 byte, and set the - <parameter>path</parameter> to the initial 0 byte of the socket - address.</para> - - <para><function>sd_is_mq()</function> may be called to check - whether the specified file descriptor refers to a POSIX message - queue. If the <parameter>path</parameter> parameter is not - <constant>NULL</constant>, it is checked whether the message queue - is bound to the specified name.</para> - - <para><function>sd_is_special()</function> may be called to check - whether the specified file descriptor refers to a special file. If - the <parameter>path</parameter> parameter is not - <constant>NULL</constant>, it is checked whether the file - descriptor is bound to the specified file name. Special files in - this context are character device nodes and files in - <filename>/proc</filename> or <filename>/sys</filename>.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On failure, these calls return a negative errno-style error - code. If the file descriptor is of the specified type and bound to - the specified address, a positive return value is returned, - otherwise zero.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <xi:include href="libsystemd-pkgconfig.xml" xpointer="pkgconfig-text"/> - - <para>Internally, these function use a combination of - <filename>fstat()</filename> and - <filename>getsockname()</filename> to check the file descriptor - type and where it is bound to.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_add_match.xml b/man/sd_journal_add_match.xml deleted file mode 100644 index 98415d53fd..0000000000 --- a/man/sd_journal_add_match.xml +++ /dev/null @@ -1,216 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_add_match"> - - <refentryinfo> - <title>sd_journal_add_match</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_add_match</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_add_match</refname> - <refname>sd_journal_add_disjunction</refname> - <refname>sd_journal_add_conjunction</refname> - <refname>sd_journal_flush_matches</refname> - <refpurpose>Add or remove entry matches</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_add_match</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const void *<parameter>data</parameter></paramdef> - <paramdef>size_t <parameter>size</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_add_disjunction</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_add_conjunction</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void <function>sd_journal_flush_matches</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_add_match()</function> adds a match by - which to filter the entries of the journal file. Matches applied - with this call will filter what can be iterated through and read - from the journal file via calls like - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - Parameter <parameter>data</parameter> must be of the form - <literal><replaceable>FIELD</replaceable>=<replaceable>value</replaceable></literal>, - where the <replaceable>FIELD</replaceable> part is a short uppercase string consisting only - of 0–9, A–Z and the underscore; it may not begin with two underscores or be the empty - string. The <replaceable>value</replaceable> part may be anything, including binary. Parameter - <parameter>size</parameter> specifies the number of bytes in <parameter>data</parameter> - (i.e. the length of <replaceable>FIELD</replaceable>, plus one, plus the length of - <replaceable>value</replaceable>). Parameter <parameter>size</parameter> may also be - specified as <constant>0</constant>, in which case <parameter>data</parameter> - must be a <constant>NUL</constant>-terminated string, and the bytes before the terminating - zero are used as the match.</para> - - <para>If a match is applied, only entries with this field set - will be iterated. Multiple matches may be active at the same time: - If they apply to different fields, only entries with both fields - set like this will be iterated. If they apply to the same fields, - only entries where the field takes one of the specified values - will be iterated. Well known fields are documented in - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>. - Whenever a new match is added the current entry position is reset, - and - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - (or a similar call) needs to be called before entries can be read - again.</para> - - <para><function>sd_journal_add_disjunction()</function> may be - used to insert a disjunction (i.e. logical OR) in the match list. - If this call is invoked, all previously added matches since the - last invocation of - <function>sd_journal_add_disjunction()</function> or - <function>sd_journal_add_conjunction()</function> are combined in - an OR with all matches added afterwards, until - <function>sd_journal_add_disjunction()</function> or - <function>sd_journal_add_conjunction()</function> is invoked again - to begin the next OR or AND term. </para> - - <para><function>sd_journal_add_conjunction()</function> may be - used to insert a conjunction (i.e. logical AND) in the match list. - If this call is invoked, all previously added matches since the - last invocation of - <function>sd_journal_add_conjunction()</function> are combined in - an AND with all matches added afterwards, until - <function>sd_journal_add_conjunction()</function> is invoked again - to begin the next AND term. The combination of - <function>sd_journal_add_match()</function>, - <function>sd_journal_add_disjunction()</function> and - <function>sd_journal_add_conjunction()</function> may be used to - build complex search terms, even though full logical expressions - are not available. Note that - <function>sd_journal_add_conjunction()</function> operates one - level 'higher' than - <function>sd_journal_add_disjunction()</function>. It is hence - possible to build an expression of AND terms, consisting of OR - terms, consisting of AND terms, consisting of OR terms of matches - (the latter OR expression is implicitly created for matches with - the same field name, see above).</para> - - <para><function>sd_journal_flush_matches()</function> may be used - to flush all matches, disjunction and conjunction terms again. - After this call all filtering is removed and all entries in the - journal will be iterated again.</para> - - <para>Note that filtering via matches only applies to the way the - journal is read, it has no effect on storage on disk.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_journal_add_match()</function>, - <function>sd_journal_add_disjunction()</function> and - <function>sd_journal_add_conjunction()</function> - return 0 on success or a negative errno-style error - code. <function>sd_journal_flush_matches()</function> - returns nothing.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_add_match()</function>, - <function>sd_journal_add_disjunction()</function>, - <function>sd_journal_add_conjunction()</function> and - <function>sd_journal_flush_matches()</function> - interfaces are available as a shared library, which can - be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <para>The following example adds matches to a journal context - object to iterate only through messages generated by the Avahi - service at the four error log levels, plus all messages of the - message ID 03bb1dab98ab4ecfbf6fff2738bdd964 coming from any - service (this example lacks the necessary error checking):</para> - - <programlisting>... -int add_matches(sd_journal *j) { - sd_journal_add_match(j, "_SYSTEMD_UNIT=avahi-daemon.service", 0); - sd_journal_add_match(j, "PRIORITY=0", 0); - sd_journal_add_match(j, "PRIORITY=1", 0); - sd_journal_add_match(j, "PRIORITY=2", 0); - sd_journal_add_match(j, "PRIORITY=3", 0); - sd_journal_add_disjunction(j); - sd_journal_add_match(j, "MESSAGE_ID=03bb1dab98ab4ecfbf6fff2738bdd964", 0); -}</programlisting> - - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_enumerate_fields.xml b/man/sd_journal_enumerate_fields.xml deleted file mode 100644 index fa5884106b..0000000000 --- a/man/sd_journal_enumerate_fields.xml +++ /dev/null @@ -1,161 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2016 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_enumerate_fields"> - - <refentryinfo> - <title>sd_journal_enumerate_fields</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_enumerate_fields</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_enumerate_fields</refname> - <refname>sd_journal_restart_fields</refname> - <refname>SD_JOURNAL_FOREACH_FIELD</refname> - <refpurpose>Read used field names from the journal</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_enumerate_fields</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const char **<parameter>field</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void <function>sd_journal_restart_fields</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef><function>SD_JOURNAL_FOREACH_FIELD</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const char *<parameter>field</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_enumerate_fields()</function> may be used to iterate through all field names used in the - opened journal files. On each invocation the next field name is returned. The order of the returned field names is - not defined. It takes two arguments: the journal context object, plus a pointer to a constant string pointer where - the field name is stored in. The returned data is in a read-only memory map and is only valid until the next - invocation of <function>sd_journal_enumerate_fields()</function>. Note that this call is subject to the data field - size threshold as controlled by <function>sd_journal_set_data_threshold()</function>.</para> - - <para><function>sd_journal_restart_fields()</function> resets the field name enumeration index to the beginning of - the list. The next invocation of <function>sd_journal_enumerate_fields()</function> will return the first field - name again.</para> - - <para>The <function>SD_JOURNAL_FOREACH_FIELD()</function> macro may be used as a handy wrapper around - <function>sd_journal_restart_fields()</function> and <function>sd_journal_enumerate_fields()</function>.</para> - - <para>These functions currently are not influenced by matches set with <function>sd_journal_add_match()</function> - but this might change in a later version of this software.</para> - - <para>To retrieve the possible values a specific field can take use - <citerefentry><refentrytitle>sd_journal_query_unique</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_journal_enumerate_fields()</function> returns a - positive integer if the next field name has been read, 0 when no - more field names are known, or a negative errno-style error code. - <function>sd_journal_restart_fields()</function> returns - nothing.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_enumerate_fields()</function> and <function>sd_journal_restart_fields()</function> - interfaces are available as a shared library, which can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry - project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> file.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <para>Use the <function>SD_JOURNAL_FOREACH_FIELD</function> macro to iterate through all field names in use in the - current journal.</para> - - <programlisting>#include <stdio.h> -#include <string.h> -#include <systemd/sd-journal.h> - -int main(int argc, char *argv[]) { - sd_journal *j; - const char *field; - int r; - - r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY); - if (r < 0) { - fprintf(stderr, "Failed to open journal: %s\n", strerror(-r)); - return 1; - } - SD_JOURNAL_FOREACH_FIELD(j, field) - printf("%s\n", field); - sd_journal_close(j); - return 0; -}</programlisting> - - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_query_unique</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_add_match</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_get_catalog.xml b/man/sd_journal_get_catalog.xml deleted file mode 100644 index c19eb11b20..0000000000 --- a/man/sd_journal_get_catalog.xml +++ /dev/null @@ -1,137 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_get_catalog"> - - <refentryinfo> - <title>sd_journal_get_catalog</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_get_catalog</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_get_catalog</refname> - <refname>sd_journal_get_catalog_for_message_id</refname> - <refpurpose>Retrieve message catalog entry</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_get_catalog</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>char **<parameter>ret</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_get_catalog_for_message_id</function></funcdef> - <paramdef>sd_id128_t <parameter>id</parameter></paramdef> - <paramdef>char **<parameter>ret</parameter></paramdef> - </funcprototype> - - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_get_catalog()</function> retrieves a - message catalog entry for the current journal entry. This will - look up an entry in the message catalog by using the - <literal>MESSAGE_ID=</literal> field of the current journal entry. - Before returning the entry all journal field names in the catalog - entry text enclosed in "@" will be replaced by the respective - field values of the current entry. If a field name referenced in - the message catalog entry does not exist, in the current journal - entry, the "@" will be removed, but the field name otherwise left - untouched.</para> - - <para><function>sd_journal_get_catalog_for_message_id()</function> - works similar to <function>sd_journal_get_catalog()</function> but - the entry is looked up by the specified message ID (no open - journal context is necessary for this), and no field substitution - is performed.</para> - - <para>For more information about the journal message catalog - please refer to the <ulink - url="http://www.freedesktop.org/wiki/Software/systemd/catalog">Journal - Message Catalogs</ulink> documentation page.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_journal_get_catalog()</function> and - <function>sd_journal_get_catalog_for_message_id()</function> - return 0 on success or a negative errno-style error code. If no - matching message catalog entry is found, -ENOENT is - returned.</para> - - <para>On successful return, <parameter>ret</parameter> points to a - new string, which must be freed with - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - </para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_get_catalog()</function> and - <function>sd_journal_get_catalog_for_message_id()</function> - interfaces are available as a shared library, which can be - compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_get_cursor.xml b/man/sd_journal_get_cursor.xml deleted file mode 100644 index a400d8b1b5..0000000000 --- a/man/sd_journal_get_cursor.xml +++ /dev/null @@ -1,144 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_get_cursor"> - - <refentryinfo> - <title>sd_journal_get_cursor</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_get_cursor</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_get_cursor</refname> - <refname>sd_journal_test_cursor</refname> - <refpurpose>Get cursor string for or test cursor string against the current journal entry</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_get_cursor</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>char **<parameter>cursor</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_test_cursor</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const char *<parameter>cursor</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_get_cursor()</function> returns a - cursor string for the current journal entry. A cursor is a - serialization of the current journal position formatted as text. - The string only contains printable characters and can be passed - around in text form. The cursor identifies a journal entry - globally and in a stable way and may be used to later seek to it - via - <citerefentry><refentrytitle>sd_journal_seek_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - The cursor string should be considered opaque and not be parsed by - clients. Seeking to a cursor position without the specific entry - being available locally will seek to the next closest (in terms of - time) available entry. The call takes two arguments: a journal - context object and a pointer to a string pointer where the cursor - string will be placed. The string is allocated via libc - <citerefentry project='man-pages'><refentrytitle>malloc</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and should be freed after use with - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>Note that <function>sd_journal_get_cursor()</function> will - not work before - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - (or related call) has been called at least once, in order to - position the read pointer at a valid entry.</para> - - <para><function>sd_journal_test_cursor()</function> - may be used to check whether the current position in - the journal matches the specified cursor. This is - useful since cursor strings do not uniquely identify - an entry: the same entry might be referred to by - multiple different cursor strings, and hence string - comparing cursors is not possible. Use this call to - verify after an invocation of - <citerefentry><refentrytitle>sd_journal_seek_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry> - whether the entry being sought to was actually found - in the journal or the next closest entry was used - instead.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_journal_get_cursor()</function> returns 0 on - success or a negative errno-style error code. - <function>sd_journal_test_cursor()</function> returns positive if - the current entry matches the specified cursor, 0 if it does not - match the specified cursor or a negative errno-style error code on - failure.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_get_cursor()</function> and - <function>sd_journal_test_cursor()</function> interfaces are - available as a shared library, which can be compiled and linked to - with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_seek_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_get_cutoff_realtime_usec.xml b/man/sd_journal_get_cutoff_realtime_usec.xml deleted file mode 100644 index 23e7cc65e8..0000000000 --- a/man/sd_journal_get_cutoff_realtime_usec.xml +++ /dev/null @@ -1,145 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_get_cutoff_realtime_usec"> - - <refentryinfo> - <title>sd_journal_get_cutoff_realtime_usec</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_get_cutoff_realtime_usec</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_get_cutoff_realtime_usec</refname> - <refname>sd_journal_get_cutoff_monotonic_usec</refname> - <refpurpose>Read cut-off timestamps from the current journal entry</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_get_cutoff_realtime_usec</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>uint64_t *<parameter>from</parameter></paramdef> - <paramdef>uint64_t *<parameter>to</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_get_cutoff_monotonic_usec</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>sd_id128_t <parameter>boot_id</parameter></paramdef> - <paramdef>uint64_t *<parameter>from</parameter></paramdef> - <paramdef>uint64_t *<parameter>to</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_get_cutoff_realtime_usec()</function> - retrieves the realtime (wallclock) timestamps of the first and - last entries accessible in the journal. It takes three arguments: - the journal context object <parameter>j</parameter> and two - pointers <parameter>from</parameter> and <parameter>to</parameter> - pointing at 64-bit unsigned integers to store the timestamps in. - The timestamps are in microseconds since the epoch, i.e. - <constant>CLOCK_REALTIME</constant>. Either one of the two - timestamp arguments may be passed as <constant>NULL</constant> in - case the timestamp is not needed, but not both.</para> - - <para><function>sd_journal_get_cutoff_monotonic_usec()</function> - retrieves the monotonic timestamps of the first and last entries - accessible in the journal. It takes three arguments: the journal - context object <parameter>j</parameter>, a 128-bit identifier for - the boot <parameter>boot_id</parameter>, and two pointers to - 64-bit unsigned integers to store the timestamps, - <parameter>from</parameter> and <parameter>to</parameter>. The - timestamps are in microseconds since boot-up of the specific boot, - i.e. <constant>CLOCK_MONOTONIC</constant>. Since the monotonic - clock begins new with every reboot it only defines a well-defined - point in time when used together with an identifier identifying - the boot, see - <citerefentry><refentrytitle>sd_id128_get_boot</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information. The function will return the timestamps for - the boot identified by the passed boot ID. Either one of the two - timestamp arguments may be passed as <constant>NULL</constant> in - case the timestamp is not needed, but not both.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_journal_get_cutoff_realtime_usec()</function> - and <function>sd_journal_get_cutoff_monotonic_usec()</function> - return 1 on success, 0 if not suitable entries are in the journal - or a negative errno-style error code.</para> - - <para>Locations pointed to by parameters - <parameter>from</parameter> and <parameter>to</parameter> will be - set only if the return value is positive, and obviously, the - parameters are non-null.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The - <function>sd_journal_get_cutoff_realtime_usec()</function> and - <function>sd_journal_get_cutoff_monotonic_usec()</function> - interfaces are available as a shared library, which can be - compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_id128_get_boot</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_get_data.xml b/man/sd_journal_get_data.xml deleted file mode 100644 index 908ee7db16..0000000000 --- a/man/sd_journal_get_data.xml +++ /dev/null @@ -1,235 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_get_data"> - - <refentryinfo> - <title>sd_journal_get_data</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_get_data</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_get_data</refname> - <refname>sd_journal_enumerate_data</refname> - <refname>sd_journal_restart_data</refname> - <refname>SD_JOURNAL_FOREACH_DATA</refname> - <refname>sd_journal_set_data_threshold</refname> - <refname>sd_journal_get_data_threshold</refname> - <refpurpose>Read data fields from the current journal entry</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_get_data</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const char *<parameter>field</parameter></paramdef> - <paramdef>const void **<parameter>data</parameter></paramdef> - <paramdef>size_t *<parameter>length</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_enumerate_data</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const void **<parameter>data</parameter></paramdef> - <paramdef>size_t *<parameter>length</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void <function>sd_journal_restart_data</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef><function>SD_JOURNAL_FOREACH_DATA</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const void *<parameter>data</parameter></paramdef> - <paramdef>size_t <parameter>length</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_set_data_threshold</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>size_t <parameter>sz</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_get_data_threshold</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>size_t *<parameter>sz</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_get_data()</function> gets the data - object associated with a specific field from the current journal - entry. It takes four arguments: the journal context object, a - string with the field name to request, plus a pair of pointers to - pointer/size variables where the data object and its size shall be - stored in. The field name should be an entry field name. - Well-known field names are listed in - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>. - The returned data is in a read-only memory map and is only valid - until the next invocation of - <function>sd_journal_get_data()</function> or - <function>sd_journal_enumerate_data()</function>, or the read - pointer is altered. Note that the data returned will be prefixed - with the field name and '='. Also note that, by default, data fields - larger than 64K might get truncated to 64K. This threshold may be - changed and turned off with - <function>sd_journal_set_data_threshold()</function> (see - below).</para> - - <para><function>sd_journal_enumerate_data()</function> may be used - to iterate through all fields of the current entry. On each - invocation the data for the next field is returned. The order of - these fields is not defined. The data returned is in the same - format as with <function>sd_journal_get_data()</function> and also - follows the same life-time semantics.</para> - - <para><function>sd_journal_restart_data()</function> resets the - data enumeration index to the beginning of the entry. The next - invocation of <function>sd_journal_enumerate_data()</function> - will return the first field of the entry again.</para> - - <para>Note that the <function>SD_JOURNAL_FOREACH_DATA()</function> - macro may be used as a handy wrapper around - <function>sd_journal_restart_data()</function> and - <function>sd_journal_enumerate_data()</function>.</para> - - <para>Note that these functions will not work before - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - (or related call) has been called at least once, in order to - position the read pointer at a valid entry.</para> - - <para><function>sd_journal_set_data_threshold()</function> may be - used to change the data field size threshold for data returned by - <function>sd_journal_get_data()</function>, - <function>sd_journal_enumerate_data()</function> and - <function>sd_journal_enumerate_unique()</function>. This threshold - is a hint only: it indicates that the client program is interested - only in the initial parts of the data fields, up to the threshold - in size — but the library might still return larger data objects. - That means applications should not rely exclusively on this - setting to limit the size of the data fields returned, but need to - apply a explicit size limit on the returned data as well. This - threshold defaults to 64K by default. To retrieve the complete - data fields this threshold should be turned off by setting it to - 0, so that the library always returns the complete data objects. - It is recommended to set this threshold as low as possible since - this relieves the library from having to decompress large - compressed data objects in full.</para> - - <para><function>sd_journal_get_data_threshold()</function> returns - the currently configured data field size threshold.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_journal_get_data()</function> returns 0 on - success or a negative errno-style error code. If the current entry - does not include the specified field, -ENOENT is returned. If - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - has not been called at least once, -EADDRNOTAVAIL is returned. - <function>sd_journal_enumerate_data()</function> returns a - positive integer if the next field has been read, 0 when no more - fields are known, or a negative errno-style error code. - <function>sd_journal_restart_data()</function> returns nothing. - <function>sd_journal_set_data_threshold()</function> and - <function>sd_journal_get_threshold()</function> return 0 on - success or a negative errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_get_data()</function>, - <function>sd_journal_enumerate_data()</function>, - <function>sd_journal_restart_data()</function>, - <function>sd_journal_set_data_threshold()</function> and - <function>sd_journal_get_data_threshold()</function> interfaces - are available as a shared library, which can be compiled and - linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <para>See - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for a complete example how to use - <function>sd_journal_get_data()</function>.</para> - - <para>Use the - <function>SD_JOURNAL_FOREACH_DATA</function> macro to - iterate through all fields of the current journal - entry:</para> - - <programlisting>... -int print_fields(sd_journal *j) { - const void *data; - size_t length; - SD_JOURNAL_FOREACH_DATA(j, data, length) - printf("%.*s\n", (int) length, data); -} -...</programlisting> - - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_query_unique</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_get_fd.xml b/man/sd_journal_get_fd.xml deleted file mode 100644 index 61293f7f99..0000000000 --- a/man/sd_journal_get_fd.xml +++ /dev/null @@ -1,332 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_get_fd"> - - <refentryinfo> - <title>sd_journal_get_fd</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_get_fd</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_get_fd</refname> - <refname>sd_journal_get_events</refname> - <refname>sd_journal_get_timeout</refname> - <refname>sd_journal_process</refname> - <refname>sd_journal_wait</refname> - <refname>sd_journal_reliable_fd</refname> - <refname>SD_JOURNAL_NOP</refname> - <refname>SD_JOURNAL_APPEND</refname> - <refname>SD_JOURNAL_INVALIDATE</refname> - <refpurpose>Journal change notification - interface</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_get_fd</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_get_events</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_get_timeout</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>uint64_t *<parameter>timeout_usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_process</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_wait</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>uint64_t <parameter>timeout_usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_reliable_fd</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_get_fd()</function> returns a file - descriptor that may be asynchronously polled in an external event - loop and is signaled as soon as the journal changes, because new - entries or files were added, rotation took place, or files have - been deleted, and similar. The file descriptor is suitable for - usage in - <citerefentry><refentrytitle>poll</refentrytitle><manvolnum>2</manvolnum></citerefentry>. - Use <function>sd_journal_get_events()</function> for an events - mask to watch for. The call takes one argument: the journal - context object. Note that not all file systems are capable of - generating the necessary events for wakeups from this file - descriptor for changes to be noticed immediately. In particular - network files systems do not generate suitable file change events - in all cases. Cases like this can be detected with - <function>sd_journal_reliable_fd()</function>, below. - <function>sd_journal_get_timeout()</function> will ensure in these - cases that wake-ups happen frequently enough for changes to be - noticed, although with a certain latency.</para> - - <para><function>sd_journal_get_events()</function> will return the - <function>poll()</function> mask to wait for. This function will - return a combination of <constant>POLLIN</constant> and - <constant>POLLOUT</constant> and similar to fill into the - <literal>.events</literal> field of <varname>struct - pollfd</varname>.</para> - - <para><function>sd_journal_get_timeout()</function> will return a - timeout value for usage in <function>poll()</function>. This - returns a value in microseconds since the epoch of - <constant>CLOCK_MONOTONIC</constant> for timing out - <function>poll()</function> in <varname>timeout_usec</varname>. - See - <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for details about <constant>CLOCK_MONOTONIC</constant>. If there - is no timeout to wait for, this will fill in <constant>(uint64_t) - -1</constant> instead. Note that <function>poll()</function> takes - a relative timeout in milliseconds rather than an absolute timeout - in microseconds. To convert the absolute 'us' timeout into - relative 'ms', use code like the following:</para> - - <programlisting>uint64_t t; -int msec; -sd_journal_get_timeout(m, &t); -if (t == (uint64_t) -1) - msec = -1; -else { - struct timespec ts; - uint64_t n; - clock_getttime(CLOCK_MONOTONIC, &ts); - n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000; - msec = t > n ? (int) ((t - n + 999) / 1000) : 0; -}</programlisting> - - <para>The code above does not do any error checking for brevity's - sake. The calculated <varname>msec</varname> integer can be passed - directly as <function>poll()</function>'s timeout - parameter.</para> - - <para>After each <function>poll()</function> wake-up - <function>sd_journal_process()</function> needs to be called to - process events. This call will also indicate what kind of change - has been detected (see below; note that spurious wake-ups are - possible).</para> - - <para>A synchronous alternative for using - <function>sd_journal_get_fd()</function>, - <function>sd_journal_get_events()</function>, - <function>sd_journal_get_timeout()</function> and - <function>sd_journal_process()</function> is - <function>sd_journal_wait()</function>. It will synchronously wait - until the journal gets changed. The maximum time this call sleeps - may be controlled with the <parameter>timeout_usec</parameter> - parameter. Pass <constant>(uint64_t) -1</constant> to wait - indefinitely. Internally this call simply combines - <function>sd_journal_get_fd()</function>, - <function>sd_journal_get_events()</function>, - <function>sd_journal_get_timeout()</function>, - <function>poll()</function> and - <function>sd_journal_process()</function> into one.</para> - - <para><function>sd_journal_reliable_fd()</function> may be used to - check whether the wakeup events from the file descriptor returned - by <function>sd_journal_get_fd()</function> are known to be - immediately triggered. On certain file systems where file change - events from the OS are not available (such as NFS) changes need to - be polled for repeatedly, and hence are detected only with a - certain latency. This call will return a positive value if the - journal changes are detected immediately and zero when they need - to be polled for and hence might be noticed only with a certain - latency. Note that there is usually no need to invoke this function - directly as <function>sd_journal_get_timeout()</function> on these - file systems will ask for timeouts explicitly anyway.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_journal_get_fd()</function> returns a valid - file descriptor on success or a negative errno-style error - code.</para> - - <para><function>sd_journal_get_events()</function> returns a - combination of <constant>POLLIN</constant>, - <constant>POLLOUT</constant> and suchlike on success or a negative - errno-style error code.</para> - - <para><function>sd_journal_reliable_fd()</function> returns a - positive integer if the file descriptor returned by - <function>sd_journal_get_fd()</function> will generate wake-ups - immediately for all journal changes. Returns 0 if there might be a - latency involved.</para> - - <para><function>sd_journal_process()</function> and - <function>sd_journal_wait()</function> return one of - <constant>SD_JOURNAL_NOP</constant>, - <constant>SD_JOURNAL_APPEND</constant> or - <constant>SD_JOURNAL_INVALIDATE</constant> on success or a - negative errno-style error code. If - <constant>SD_JOURNAL_NOP</constant> is returned, the journal did - not change since the last invocation. If - <constant>SD_JOURNAL_APPEND</constant> is returned, new entries - have been appended to the end of the journal. If - <constant>SD_JOURNAL_INVALIDATE</constant>, journal files were - added or removed (possibly due to rotation). In the latter event, - live-view UIs should probably refresh their entire display, while - in the case of <constant>SD_JOURNAL_APPEND</constant>, it is - sufficient to simply continue reading at the previous end of the - journal.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_get_fd()</function>, - <function>sd_journal_get_events()</function>, - <function>sd_journal_reliable_fd()</function>, - <function>sd_journal_process()</function> and - <function>sd_journal_wait()</function> interfaces are available as - a shared library, which can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <para>Iterating through the journal, in a live view tracking all - changes:</para> - - <programlisting>#include <stdio.h> -#include <string.h> -#include <systemd/sd-journal.h> - -int main(int argc, char *argv[]) { - int r; - sd_journal *j; - r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY); - if (r < 0) { - fprintf(stderr, "Failed to open journal: %s\n", strerror(-r)); - return 1; - } - for (;;) { - const void *d; - size_t l; - r = sd_journal_next(j); - if (r < 0) { - fprintf(stderr, "Failed to iterate to next entry: %s\n", strerror(-r)); - break; - } - if (r == 0) { - /* Reached the end, let's wait for changes, and try again */ - r = sd_journal_wait(j, (uint64_t) -1); - if (r < 0) { - fprintf(stderr, "Failed to wait for changes: %s\n", strerror(-r)); - break; - } - continue; - } - r = sd_journal_get_data(j, "MESSAGE", &d, &l); - if (r < 0) { - fprintf(stderr, "Failed to read message field: %s\n", strerror(-r)); - continue; - } - printf("%.*s\n", (int) l, (const char*) d); - } - sd_journal_close(j); - return 0; -}</programlisting> - - <para>Waiting with <function>poll()</function> (this - example lacks all error checking for the sake of - simplicity):</para> - - <programlisting>#include <poll.h> -#include <systemd/sd-journal.h> - -int wait_for_changes(sd_journal *j) { - struct pollfd pollfd; - int msec; - - sd_journal_get_timeout(m, &t); - if (t == (uint64_t) -1) - msec = -1; - else { - struct timespec ts; - uint64_t n; - clock_getttime(CLOCK_MONOTONIC, &ts); - n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000; - msec = t > n ? (int) ((t - n + 999) / 1000) : 0; - } - - pollfd.fd = sd_journal_get_fd(j); - pollfd.events = sd_journal_get_events(j); - poll(&pollfd, 1, msec); - return sd_journal_process(j); -}</programlisting> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>poll</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_get_realtime_usec.xml b/man/sd_journal_get_realtime_usec.xml deleted file mode 100644 index 607d74666b..0000000000 --- a/man/sd_journal_get_realtime_usec.xml +++ /dev/null @@ -1,141 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_get_realtime_usec"> - - <refentryinfo> - <title>sd_journal_get_realtime_usec</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_get_realtime_usec</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_get_realtime_usec</refname> - <refname>sd_journal_get_monotonic_usec</refname> - <refpurpose>Read timestamps from the current journal entry</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_get_realtime_usec</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>uint64_t *<parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_get_monotonic_usec</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>uint64_t *<parameter>usec</parameter></paramdef> - <paramdef>sd_id128_t *<parameter>boot_id</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_get_realtime_usec()</function> gets the - realtime (wallclock) timestamp of the current journal entry. It - takes two arguments: the journal context object and a pointer to a - 64-bit unsigned integer to store the timestamp in. The timestamp - is in microseconds since the epoch, i.e. - <constant>CLOCK_REALTIME</constant>.</para> - - <para><function>sd_journal_get_monotonic_usec()</function> gets - the monotonic timestamp of the current journal entry. It takes - three arguments: the journal context object, a pointer to a 64-bit - unsigned integer to store the timestamp in, as well as a 128-bit - ID buffer to store the boot ID of the monotonic timestamp. The - timestamp is in microseconds since boot-up of the specific boot, - i.e. <constant>CLOCK_MONOTONIC</constant>. Since the monotonic - clock begins new with every reboot, it only defines a well-defined - point in time when used together with an identifier identifying - the boot. See - <citerefentry><refentrytitle>sd_id128_get_boot</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information. If the boot ID parameter is passed - <constant>NULL</constant>, the function will fail if the monotonic - timestamp of the current entry is not of the current system - boot.</para> - - <para>Note that these functions will not work before - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - (or related call) has been called at least - once, in order to position the read pointer at a valid entry.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_journal_get_realtime_usec()</function> and - <function>sd_journal_get_monotonic_usec()</function> returns 0 on - success or a negative errno-style error code. If the boot ID - parameter was passed <constant>NULL</constant> and the monotonic - timestamp of the current journal entry is not of the current - system boot, <constant>-ESTALE</constant> is returned by - <function>sd_journal_get_monotonic_usec()</function>.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_get_realtime_usec()</function> and - <function>sd_journal_get_monotonic_usec()</function> interfaces - are available as a shared library, which can be compiled and - linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_id128_get_boot</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_cutoff_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_get_usage.xml b/man/sd_journal_get_usage.xml deleted file mode 100644 index 72c804d834..0000000000 --- a/man/sd_journal_get_usage.xml +++ /dev/null @@ -1,100 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_get_usage"> - - <refentryinfo> - <title>sd_journal_get_usage</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_get_usage</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_get_usage</refname> - <refpurpose>Journal disk usage</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_get_usage</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>uint64_t *<parameter>bytes</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_get_usage()</function> determines the - total disk space currently used by journal files (in bytes). If - <constant>SD_JOURNAL_LOCAL_ONLY</constant> was passed when opening - the journal, this value will only reflect the size of journal - files of the local host, otherwise of all hosts.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_journal_get_usage()</function> returns 0 on - success or a negative errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_get_usage()</function> interface is - available as a shared library, which can be compiled and linked to - with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_has_runtime_files.xml b/man/sd_journal_has_runtime_files.xml deleted file mode 100644 index 237e649206..0000000000 --- a/man/sd_journal_has_runtime_files.xml +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2016 Jan Synáček - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_has_runtime_files"> - - <refentryinfo> - <title>sd_journal_has_runtime_files</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Jan</firstname> - <surname>Synáček</surname> - <email>jan.synacek@gmail.com</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_has_runtime_files</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_has_runtime_files</refname> - <refname>sd_journal_has_persistent_files</refname> - <refpurpose>Query availability of runtime or persistent journal files.</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_has_runtime_files</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_has_persistent_files</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_has_runtime_files()</function> returns a positive value - if runtime journal files (present in /run/systemd/journal/) have been found. - Otherwise returns 0.</para> - - <para><function>sd_journal_has_persistent_files()</function> returns a positive value - if persistent journal files (present in /var/log/journal/) have been found. - Otherwise returns 0.</para> - </refsect1> - - <refsect1> - <title>Return value</title> - <para>Both <function>sd_journal_has_runtime_files()</function> - and <function>sd_journal_has_persistent_files()</function> return -EINVAL - if their argument is NULL. - </para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_next.xml b/man/sd_journal_next.xml deleted file mode 100644 index 115fe26661..0000000000 --- a/man/sd_journal_next.xml +++ /dev/null @@ -1,207 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_next"> - - <refentryinfo> - <title>sd_journal_next</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_next</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_next</refname> - <refname>sd_journal_previous</refname> - <refname>sd_journal_next_skip</refname> - <refname>sd_journal_previous_skip</refname> - <refname>SD_JOURNAL_FOREACH</refname> - <refname>SD_JOURNAL_FOREACH_BACKWARDS</refname> - <refpurpose>Advance or set back the read pointer in the journal</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_next</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_previous</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_next_skip</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>uint64_t <parameter>skip</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_previous_skip</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>uint64_t <parameter>skip</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef><function>SD_JOURNAL_FOREACH</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef><function>SD_JOURNAL_FOREACH_BACKWARDS</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_next()</function> advances the read - pointer into the journal by one entry. The only argument taken is - a journal context object as allocated via - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - After successful invocation the entry may be read with functions - such as - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>Similarly, <function>sd_journal_previous()</function> sets - the read pointer back one entry.</para> - - <para><function>sd_journal_next_skip()</function> and - <function>sd_journal_previous_skip()</function> advance/set back - the read pointer by multiple entries at once, as specified in the - <varname>skip</varname> parameter.</para> - - <para>The journal is strictly ordered by reception time, and hence - advancing to the next entry guarantees that the entry then - pointing to is later in time than then previous one, or has the - same timestamp.</para> - - <para>Note that - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and related calls will fail unless - <function>sd_journal_next()</function> has been invoked at least - once in order to position the read pointer on a journal - entry.</para> - - <para>Note that the <function>SD_JOURNAL_FOREACH()</function> - macro may be used as a wrapper around - <citerefentry><refentrytitle>sd_journal_seek_head</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and <function>sd_journal_next()</function> in order to make - iterating through the journal easier. See below for an example. - Similarly, <function>SD_JOURNAL_FOREACH_BACKWARDS()</function> may - be used for iterating the journal in reverse order.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>The four calls return the number of entries advanced/set - back on success or a negative errno-style error code. When the end - or beginning of the journal is reached, a number smaller than - requested is returned. More specifically, if - <function>sd_journal_next()</function> or - <function>sd_journal_previous()</function> reach the end/beginning - of the journal they will return 0, instead of 1 when they are - successful. This should be considered an EOF marker.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_next()</function>, - <function>sd_journal_previous()</function>, - <function>sd_journal_next_skip()</function> and - <function>sd_journal_previous_skip()</function> interfaces are - available as a shared library, which can be compiled and linked to - with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <para>Iterating through the journal:</para> - - <programlisting>#include <stdio.h> -#include <string.h> -#include <systemd/sd-journal.h> - -int main(int argc, char *argv[]) { - int r; - sd_journal *j; - r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY); - if (r < 0) { - fprintf(stderr, "Failed to open journal: %s\n", strerror(-r)); - return 1; - } - SD_JOURNAL_FOREACH(j) { - const char *d; - size_t l; - - r = sd_journal_get_data(j, "MESSAGE", (const void **)&d, &l); - if (r < 0) { - fprintf(stderr, "Failed to read message field: %s\n", strerror(-r)); - continue; - } - - printf("%.*s\n", (int) l, d); - } - sd_journal_close(j); - return 0; -}</programlisting> - - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_open.xml b/man/sd_journal_open.xml deleted file mode 100644 index 153af2387f..0000000000 --- a/man/sd_journal_open.xml +++ /dev/null @@ -1,228 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_open"> - - <refentryinfo> - <title>sd_journal_open</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_open</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_open</refname> - <refname>sd_journal_open_directory</refname> - <refname>sd_journal_open_directory_fd</refname> - <refname>sd_journal_open_files</refname> - <refname>sd_journal_open_files_fd</refname> - <refname>sd_journal_close</refname> - <refname>sd_journal</refname> - <refname>SD_JOURNAL_LOCAL_ONLY</refname> - <refname>SD_JOURNAL_RUNTIME_ONLY</refname> - <refname>SD_JOURNAL_SYSTEM</refname> - <refname>SD_JOURNAL_CURRENT_USER</refname> - <refname>SD_JOURNAL_OS_ROOT</refname> - <refpurpose>Open the system journal for reading</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_open</function></funcdef> - <paramdef>sd_journal **<parameter>ret</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_open_directory</function></funcdef> - <paramdef>sd_journal **<parameter>ret</parameter></paramdef> - <paramdef>const char *<parameter>path</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_open_directory_fd</function></funcdef> - <paramdef>sd_journal **<parameter>ret</parameter></paramdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_open_files</function></funcdef> - <paramdef>sd_journal **<parameter>ret</parameter></paramdef> - <paramdef>const char **<parameter>paths</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_open_files_fd</function></funcdef> - <paramdef>sd_journal **<parameter>ret</parameter></paramdef> - <paramdef>int <parameter>fds[]</parameter></paramdef> - <paramdef>unsigned <parameter>n_fds</parameter></paramdef> - <paramdef>int <parameter>flags</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void <function>sd_journal_close</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_open()</function> opens the log journal - for reading. It will find all journal files automatically and - interleave them automatically when reading. As first argument it - takes a pointer to a <varname>sd_journal</varname> pointer, which, - on success, will contain a journal context object. The second - argument is a flags field, which may consist of the following - flags ORed together: <constant>SD_JOURNAL_LOCAL_ONLY</constant> - makes sure only journal files generated on the local machine will - be opened. <constant>SD_JOURNAL_RUNTIME_ONLY</constant> makes sure - only volatile journal files will be opened, excluding those which - are stored on persistent storage. - <constant>SD_JOURNAL_SYSTEM</constant> will cause journal files of - system services and the kernel (in opposition to user session - processes) to be opened. - <constant>SD_JOURNAL_CURRENT_USER</constant> will cause journal - files of the current user to be opened. If neither - <constant>SD_JOURNAL_SYSTEM</constant> nor - <constant>SD_JOURNAL_CURRENT_USER</constant> are specified, all - journal file types will be opened.</para> - - <para><function>sd_journal_open_directory()</function> is similar to <function>sd_journal_open()</function> but - takes an absolute directory path as argument. All journal files in this directory will be opened and interleaved - automatically. This call also takes a flags argument. The only flags parameter accepted by this call is - <constant>SD_JOURNAL_OS_ROOT</constant>. If specified, the journal files are searched below the usual - <filename>/var/log/journal</filename> and <filename>/run/log/journal</filename> relative to the specified path, - instead of directly beneath it.</para> - - <para><function>sd_journal_open_directory_fd()</function> is similar to - <function>sd_journal_open_directory()</function>, but takes a file descriptor referencing a directory in the file - system instead of an absolute file system path.</para> - - <para><function>sd_journal_open_files()</function> is similar to <function>sd_journal_open()</function> but takes a - <constant>NULL</constant>-terminated list of file paths to open. All files will be opened and interleaved - automatically. This call also takes a flags argument, but it must be passed as 0 as no flags are currently - understood for this call. Please note that in the case of a live journal, this function is only useful for - debugging, because individual journal files can be rotated at any moment, and the opening of specific files is - inherently racy.</para> - - <para><function>sd_journal_open_files_fd()</function> is similar to <function>sd_journal_open_files()</function> - but takes an array of open file descriptors that must reference journal files, instead of an array of file system - paths. Pass the array of file descriptors as second argument, and the number of array entries in the third. The - flags parameter must be passed as 0.</para> - - <para><varname>sd_journal</varname> objects cannot be used in the - child after a fork. Functions which take a journal object as an - argument (<function>sd_journal_next()</function> and others) will - return <constant>-ECHILD</constant> after a fork. - </para> - - <para><function>sd_journal_close()</function> will close the - journal context allocated with - <function>sd_journal_open()</function> or - <function>sd_journal_open_directory()</function> and free its - resources.</para> - - <para>When opening the journal only journal files accessible to - the calling user will be opened. If journal files are not - accessible to the caller, this will be silently ignored.</para> - - <para>See - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for an example of how to iterate through the journal after opening - it with <function>sd_journal_open()</function>.</para> - - <para>A journal context object returned by - <function>sd_journal_open()</function> references a specific - journal entry as <emphasis>current</emphasis> entry, similar to a - file seek index in a classic file system file, but without - absolute positions. It may be altered with - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and - <citerefentry><refentrytitle>sd_journal_seek_head</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and related calls. The current entry position may be exported in - <emphasis>cursor</emphasis> strings, as accessible via - <citerefentry><refentrytitle>sd_journal_get_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - Cursor strings may be used to globally identify a specific journal - entry in a stable way and then later to seek to it (or if the - specific entry is not available locally, to its closest entry in - time) - <citerefentry><refentrytitle>sd_journal_seek_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>Notification of journal changes is available via - <function>sd_journal_get_fd()</function> and related calls.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>The <function>sd_journal_open()</function>, - <function>sd_journal_open_directory()</function>, and - <function>sd_journal_open_files()</function> calls return 0 on - success or a negative errno-style error code. - <function>sd_journal_close()</function> returns nothing.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_open()</function>, - <function>sd_journal_open_directory()</function> and - <function>sd_journal_close()</function> interfaces are available - as a shared library, which can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-machined</refentrytitle><manvolnum>8</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_print.xml b/man/sd_journal_print.xml deleted file mode 100644 index 17fdc9c1f2..0000000000 --- a/man/sd_journal_print.xml +++ /dev/null @@ -1,260 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_print"> - - <refentryinfo> - <title>sd_journal_print</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_print</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_print</refname> - <refname>sd_journal_printv</refname> - <refname>sd_journal_send</refname> - <refname>sd_journal_sendv</refname> - <refname>sd_journal_perror</refname> - <refname>SD_JOURNAL_SUPPRESS_LOCATION</refname> - <refpurpose>Submit log entries to the journal</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_print</function></funcdef> - <paramdef>int <parameter>priority</parameter></paramdef> - <paramdef>const char *<parameter>format</parameter></paramdef> - <paramdef>...</paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_printv</function></funcdef> - <paramdef>int <parameter>priority</parameter></paramdef> - <paramdef>const char *<parameter>format</parameter></paramdef> - <paramdef>va_list <parameter>ap</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_send</function></funcdef> - <paramdef>const char *<parameter>format</parameter></paramdef> - <paramdef>...</paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_sendv</function></funcdef> - <paramdef>const struct iovec *<parameter>iov</parameter></paramdef> - <paramdef>int <parameter>n</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_perror</function></funcdef> - <paramdef>const char *<parameter>message</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_print()</function> may be used to - submit simple, plain text log entries to the system journal. The - first argument is a priority value. This is followed by a format - string and its parameters, similar to - <citerefentry project='man-pages'><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry> - or - <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - The priority value is one of - <constant>LOG_EMERG</constant>, - <constant>LOG_ALERT</constant>, - <constant>LOG_CRIT</constant>, - <constant>LOG_ERR</constant>, - <constant>LOG_WARNING</constant>, - <constant>LOG_NOTICE</constant>, - <constant>LOG_INFO</constant>, - <constant>LOG_DEBUG</constant>, as defined in - <filename>syslog.h</filename>, see - <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for details. It is recommended to use this call to submit log - messages in the application locale or system locale and in UTF-8 - format, but no such restrictions are enforced.</para> - - <para><function>sd_journal_printv()</function> is similar to - <function>sd_journal_print()</function> but takes a variable - argument list encapsulated in an object of type - <varname>va_list</varname> (see - <citerefentry project='man-pages'><refentrytitle>stdarg</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information) instead of the format string. It is - otherwise equivalent in behavior.</para> - - <para><function>sd_journal_send()</function> may be used to submit - structured log entries to the system journal. It takes a series of - format strings, each immediately followed by their associated - parameters, terminated by <constant>NULL</constant>. The strings - passed should be of the format <literal>VARIABLE=value</literal>. - The variable name must be in uppercase and consist only of - characters, numbers and underscores, and may not begin with an - underscore. (All assignments that do not follow this syntax will - be ignored.) The value can be of any size and format. It is highly - recommended to submit text strings formatted in the UTF-8 - character encoding only, and submit binary fields only when - formatting in UTF-8 strings is not sensible. A number of - well-known fields are defined, see - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry> - for details, but additional application defined fields may be - used. A variable may be assigned more than one value per - entry.</para> - - <para><function>sd_journal_sendv()</function> is similar to - <function>sd_journal_send()</function> but takes an array of - <varname>struct iovec</varname> (as defined in - <filename>uio.h</filename>, see - <citerefentry project='man-pages'><refentrytitle>readv</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for details) instead of the format string. Each structure should - reference one field of the entry to submit. The second argument - specifies the number of structures in the array. - <function>sd_journal_sendv()</function> is particularly useful to - submit binary objects to the journal where that is - necessary.</para> - - <para><function>sd_journal_perror()</function> is a similar to - <citerefentry project='die-net'><refentrytitle>perror</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and writes a message to the journal that consists of the passed - string, suffixed with ": " and a human-readable representation of - the current error code stored in - <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - If the message string is passed as <constant>NULL</constant> or - empty string, only the error string representation will be - written, prefixed with nothing. An additional journal field ERRNO= - is included in the entry containing the numeric error code - formatted as decimal string. The log priority used is - <constant>LOG_ERR</constant> (3).</para> - - <para>Note that <function>sd_journal_send()</function> is a - wrapper around <function>sd_journal_sendv()</function> to make it - easier to use when only text strings shall be submitted. Also, the - following two calls are mostly equivalent:</para> - - <programlisting>sd_journal_print(LOG_INFO, "Hello World, this is PID %lu!", (unsigned long) getpid()); - -sd_journal_send("MESSAGE=Hello World, this is PID %lu!", (unsigned long) getpid(), - "PRIORITY=%i", LOG_INFO, - NULL);</programlisting> - - <para>Note that these calls implicitly add fields for the source - file, function name and code line where invoked. This is - implemented with macros. If this is not desired, it can be turned - off by defining SD_JOURNAL_SUPPRESS_LOCATION before including - <filename>sd-journal.h</filename>.</para> - - <para><citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry> - and <function>sd_journal_print()</function> may - largely be used interchangeably - functionality-wise. However, note that log messages - logged via the former take a different path to the - journal server than the later, and hence global - chronological ordering between the two streams cannot - be guaranteed. Using - <function>sd_journal_print()</function> has the - benefit of logging source code line, filenames, and - functions as metadata along all entries, and - guaranteeing chronological ordering with structured - log entries that are generated via - <function>sd_journal_send()</function>. Using - <function>syslog()</function> has the benefit of being - more portable.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>The four calls return 0 on success or a negative errno-style - error code. The - <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry> - variable itself is not altered.</para> - - <para>If - <citerefentry><refentrytitle>systemd-journald</refentrytitle><manvolnum>8</manvolnum></citerefentry> - is not running (the socket is not present), those functions do - nothing, and also return 0.</para> - </refsect1> - - <refsect1> - <title>Async signal safety</title> - <para><function>sd_journal_sendv()</function> is "async signal - safe" in the meaning of - <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>. - </para> - - <para><function>sd_journal_print</function>, - <function>sd_journal_printv</function>, - <function>sd_journal_send</function>, and - <function>sd_journal_perror</function> are - not async signal safe.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_print()</function>, - <function>sd_journal_printv()</function>, - <function>sd_journal_send()</function> and - <function>sd_journal_sendv()</function> interfaces are available - as a shared library, which can be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_stream_fd</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>perror</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>errno</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>socket</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_query_unique.xml b/man/sd_journal_query_unique.xml deleted file mode 100644 index dbff55c105..0000000000 --- a/man/sd_journal_query_unique.xml +++ /dev/null @@ -1,212 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_query_unique"> - - <refentryinfo> - <title>sd_journal_query_unique</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_query_unique</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_query_unique</refname> - <refname>sd_journal_enumerate_unique</refname> - <refname>sd_journal_restart_unique</refname> - <refname>SD_JOURNAL_FOREACH_UNIQUE</refname> - <refpurpose>Read unique data fields from the journal</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_query_unique</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const char *<parameter>field</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_enumerate_unique</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const void **<parameter>data</parameter></paramdef> - <paramdef>size_t *<parameter>length</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void <function>sd_journal_restart_unique</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef><function>SD_JOURNAL_FOREACH_UNIQUE</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const void *<parameter>data</parameter></paramdef> - <paramdef>size_t <parameter>length</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_query_unique()</function> queries the - journal for all unique values the specified field can take. It - takes two arguments: the journal to query and the field name to - look for. Well-known field names are listed on - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>. - Field names must be specified without a trailing '='. After this - function has been executed successfully the field values may be - queried using <function>sd_journal_enumerate_unique()</function>. - Invoking this call a second time will change the field name being - queried and reset the enumeration index to the first field value - that matches.</para> - - <para><function>sd_journal_enumerate_unique()</function> may be - used to iterate through all data fields which match the previously - selected field name as set with - <function>sd_journal_query_unique()</function>. On each invocation - the next field data matching the field name is returned. The order - of the returned data fields is not defined. It takes three - arguments: the journal context object, plus a pair of pointers to - pointer/size variables where the data object and its size shall be - stored in. The returned data is in a read-only memory map and is - only valid until the next invocation of - <function>sd_journal_enumerate_unique()</function>. Note that the - data returned will be prefixed with the field name and '='. Note - that this call is subject to the data field size threshold as - controlled by - <function>sd_journal_set_data_threshold()</function>.</para> - - <para><function>sd_journal_restart_unique()</function> resets the - data enumeration index to the beginning of the list. The next - invocation of <function>sd_journal_enumerate_unique()</function> - will return the first field data matching the field name - again.</para> - - <para>Note that the - <function>SD_JOURNAL_FOREACH_UNIQUE()</function> macro may be used - as a handy wrapper around - <function>sd_journal_restart_unique()</function> and - <function>sd_journal_enumerate_unique()</function>.</para> - - <para>Note that these functions currently are not influenced by - matches set with <function>sd_journal_add_match()</function> but - this might change in a later version of this software.</para> - - <para>To enumerate all field names currently in use (and thus all suitable field parameters for - <function>sd_journal_query_unique()</function>), use the - <citerefentry><refentrytitle>sd_journal_enumerate_fields</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para><function>sd_journal_query_unique()</function> returns 0 on - success or a negative errno-style error code. - <function>sd_journal_enumerate_unique()</function> returns a - positive integer if the next field data has been read, 0 when no - more fields are known, or a negative errno-style error code. - <function>sd_journal_restart_unique()</function> returns - nothing.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_query_unique()</function>, - <function>sd_journal_enumerate_unique()</function> and - <function>sd_journal_restart_unique()</function> interfaces are - available as a shared library, which can be compiled and linked to - with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <para>Use the <function>SD_JOURNAL_FOREACH_UNIQUE</function> macro - to iterate through all values a field of the journal can take. The - following example lists all unit names referenced in the - journal:</para> - - <programlisting>#include <stdio.h> -#include <string.h> -#include <systemd/sd-journal.h> - -int main(int argc, char *argv[]) { - sd_journal *j; - const void *d; - size_t l; - int r; - - r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY); - if (r < 0) { - fprintf(stderr, "Failed to open journal: %s\n", strerror(-r)); - return 1; - } - r = sd_journal_query_unique(j, "_SYSTEMD_UNIT"); - if (r < 0) { - fprintf(stderr, "Failed to query journal: %s\n", strerror(-r)); - return 1; - } - SD_JOURNAL_FOREACH_UNIQUE(j, d, l) - printf("%.*s\n", (int) l, (const char*) d); - sd_journal_close(j); - return 0; -}</programlisting> - - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_enumerate_fields</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_add_match</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_seek_head.xml b/man/sd_journal_seek_head.xml deleted file mode 100644 index d74c2d5bbc..0000000000 --- a/man/sd_journal_seek_head.xml +++ /dev/null @@ -1,172 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_seek_head"> - - <refentryinfo> - <title>sd_journal_seek_head</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_seek_head</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_seek_head</refname> - <refname>sd_journal_seek_tail</refname> - <refname>sd_journal_seek_monotonic_usec</refname> - <refname>sd_journal_seek_realtime_usec</refname> - <refname>sd_journal_seek_cursor</refname> - <refpurpose>Seek to a position in the - journal</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_seek_head</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_seek_tail</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_seek_monotonic_usec</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>sd_id128_t <parameter>boot_id</parameter></paramdef> - <paramdef>uint64_t <parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_seek_realtime_usec</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>uint64_t <parameter>usec</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_journal_seek_cursor</function></funcdef> - <paramdef>sd_journal *<parameter>j</parameter></paramdef> - <paramdef>const char *<parameter>cursor</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_seek_head()</function> seeks to the - beginning of the journal, i.e. the oldest available entry.</para> - - <para>Similarly, <function>sd_journal_seek_tail()</function> may - be used to seek to the end of the journal, i.e. the most recent - available entry.</para> - - <para><function>sd_journal_seek_monotonic_usec()</function> seeks - to the entry with the specified monotonic timestamp, i.e. - <constant>CLOCK_MONOTONIC</constant>. Since monotonic time - restarts on every reboot a boot ID needs to be specified as - well.</para> - - <para><function>sd_journal_seek_realtime_usec()</function> seeks - to the entry with the specified realtime (wallclock) timestamp, - i.e. <constant>CLOCK_REALTIME</constant>. Note that the realtime - clock is not necessarily monotonic. If a realtime timestamp is - ambiguous, it is not defined which position is sought to.</para> - - <para><function>sd_journal_seek_cursor()</function> seeks to the - entry located at the specified cursor string. For details on - cursors, see - <citerefentry><refentrytitle>sd_journal_get_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - If no entry matching the specified cursor is found the call will - seek to the next closest entry (in terms of time) instead. To - verify whether the newly selected entry actually matches the - cursor, use - <citerefentry><refentrytitle>sd_journal_test_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para> - - <para>Note that these calls do not actually make any entry the new - current entry, this needs to be done in a separate step with a - subsequent - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - invocation (or a similar call). Only then, entry data may be - retrieved via - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - If no entry exists that matches exactly the specified seek - address, the next closest is sought to. If - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry> - is used, the closest following entry will be sought to, if - <citerefentry><refentrytitle>sd_journal_previous</refentrytitle><manvolnum>3</manvolnum></citerefentry> - is used the closest preceding entry is sought to.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>The functions return 0 on success or a negative errno-style - error code.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_seek_head()</function>, - <function>sd_journal_seek_tail()</function>, - <function>sd_journal_seek_monotonic_usec()</function>, - <function>sd_journal_seek_realtime_usec()</function>, - and <function>sd_journal_seek_cursor()</function> - interfaces are available as a shared library, which can - be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_open</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_next</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_data</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_cursor</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_get_realtime_usec</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_journal_stream_fd.xml b/man/sd_journal_stream_fd.xml deleted file mode 100644 index 2ea7731b48..0000000000 --- a/man/sd_journal_stream_fd.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_journal_stream_fd"> - - <refentryinfo> - <title>sd_journal_stream_fd</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_journal_stream_fd</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_journal_stream_fd</refname> - <refpurpose>Create log stream file descriptor to the journal</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-journal.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_journal_stream_fd</function></funcdef> - <paramdef>const char *<parameter>identifier</parameter></paramdef> - <paramdef>int <parameter>priority</parameter></paramdef> - <paramdef>int <parameter>level_prefix</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_journal_stream_fd()</function> may be used to - create a log stream file descriptor. Log messages written to this - file descriptor as simple newline-separated text strings are - written to the journal. This file descriptor can be used - internally by applications or be made standard output or standard - error of other processes executed.</para> - - <para><function>sd_journal_stream_fd()</function> takes a short - program identifier string as first argument, which will be written - to the journal as _SYSLOG_IDENTIFIER= field for each log entry - (see - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry> - for more information). The second argument shall be the default - priority level for all messages. The priority level is one of - <constant>LOG_EMERG</constant>, <constant>LOG_ALERT</constant>, - <constant>LOG_CRIT</constant>, <constant>LOG_ERR</constant>, - <constant>LOG_WARNING</constant>, <constant>LOG_NOTICE</constant>, - <constant>LOG_INFO</constant>, <constant>LOG_DEBUG</constant>, as - defined in <filename>syslog.h</filename>, see - <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for details. The third argument is a boolean: if true kernel-style - log level prefixes (such as <constant>SD_WARNING</constant>) are - interpreted, see - <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information.</para> - - <para>It is recommended that applications log UTF-8 messages only - with this API, but this is not enforced.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>The call returns a valid write-only file descriptor on - success or a negative errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_journal_stream_fd()</function> interface is - available as a shared library, which can be compiled and linked to - with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <para>Creating a log stream suitable for - <citerefentry project='man-pages'><refentrytitle>fprintf</refentrytitle><manvolnum>3</manvolnum></citerefentry>:</para> - - <programlisting>#include <syslog.h> -#include <stdio.h> -#include <string.h> -#include <unistd.h> -#include <systemd/sd-journal.h> -#include <systemd/sd-daemon.h> - -int main(int argc, char *argv[]) { - int fd; - FILE *log; - fd = sd_journal_stream_fd("test", LOG_INFO, 1); - if (fd < 0) { - fprintf(stderr, "Failed to create stream fd: %s\n", strerror(-fd)); - return 1; - } - log = fdopen(fd, "w"); - if (!log) { - fprintf(stderr, "Failed to create file object: %m\n"); - close(fd); - return 1; - } - fprintf(log, "Hello World!\n"); - fprintf(log, SD_WARNING "This is a warning!\n"); - fclose(log); - return 0; -}</programlisting> - - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-journal</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_journal_print</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>fprintf</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.journal-fields</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_listen_fds.xml b/man/sd_listen_fds.xml deleted file mode 100644 index 93bf8d853f..0000000000 --- a/man/sd_listen_fds.xml +++ /dev/null @@ -1,257 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_listen_fds" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_listen_fds</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_listen_fds</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_listen_fds</refname> - <refname>sd_listen_fds_with_names</refname> - <refname>SD_LISTEN_FDS_START</refname> - <refpurpose>Check for file descriptors passed by the system manager</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-daemon.h></funcsynopsisinfo> - - <funcsynopsisinfo>#define SD_LISTEN_FDS_START 3</funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_listen_fds</function></funcdef> - <paramdef>int <parameter>unset_environment</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_listen_fds_with_names</function></funcdef> - <paramdef>int <parameter>unset_environment</parameter></paramdef> - <paramdef>char*** <parameter>names</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_listen_fds()</function> may be invoked by a - daemon to check for file descriptors passed by the service manager as - part of the socket-based activation logic. It returns the number - of received file descriptors. If no file descriptors have been - received, zero is returned. The first file descriptor may be found - at file descriptor number 3 - (i.e. <constant>SD_LISTEN_FDS_START</constant>), the remaining - descriptors follow at 4, 5, 6, ..., if any.</para> - - <para>If a daemon receives more than one file descriptor, they - will be passed in the same order as configured in the systemd - socket unit file (see - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details). Nonetheless, it is recommended to verify the correct - socket types before using them. To simplify this checking, the - functions - <citerefentry><refentrytitle>sd_is_fifo</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_is_socket</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_is_socket_inet</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_is_socket_unix</refentrytitle><manvolnum>3</manvolnum></citerefentry> - are provided. In order to maximize flexibility, it is recommended - to make these checks as loose as possible without allowing - incorrect setups. i.e. often, the actual port number a socket is - bound to matters little for the service to work, hence it should - not be verified. On the other hand, whether a socket is a datagram - or stream socket matters a lot for the most common program logics - and should be checked.</para> - - <para>This function call will set the FD_CLOEXEC flag for all - passed file descriptors to avoid further inheritance to children - of the calling process.</para> - - <para>If multiple socket units activate the same service, the order - of the file descriptors passed to its main process is undefined. - If additional file descriptors have been passed to the service - manager using - <citerefentry><refentrytitle>sd_pid_notify_with_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>'s - <literal>FDSTORE=1</literal> messages, these file descriptors are - passed last, in arbitrary order, and with duplicates - removed.</para> - - <para>If the <parameter>unset_environment</parameter> parameter is - non-zero, <function>sd_listen_fds()</function> will unset the - <varname>$LISTEN_FDS</varname>, <varname>$LISTEN_PID</varname> and - <varname>$LISTEN_FDNAMES</varname> environment variables before - returning (regardless of whether the function call itself - succeeded or not). Further calls to - <function>sd_listen_fds()</function> will then return zero, but the - variables are no longer inherited by child processes.</para> - - <para><function>sd_listen_fds_with_names()</function> is like - <function>sd_listen_fds()</function>, but optionally also returns - an array of strings with identification names for the passed file - descriptors, if that is available and the - <parameter>names</parameter> parameter is non-NULL. This - information is read from the <varname>$LISTEN_FDNAMES</varname> - variable, which may contain a colon-separated list of names. For - socket-activated services, these names may be configured with the - <varname>FileDescriptorName=</varname> setting in socket unit - files, see - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details. For file descriptors pushed into the file descriptor - store (see above), the name is set via the - <varname>FDNAME=</varname> field transmitted via - <function>sd_pid_notify_with_fds()</function>. The primary usecase - for these names are services which accept a variety of file - descriptors which are not recognizable with functions like - <function>sd_is_socket()</function> alone, and thus require - identification via a name. It is recommended to rely on named file - descriptors only if identification via - <function>sd_is_socket()</function> and related calls is not - sufficient. Note that the names used are not unique in any - way. The returned array of strings has as many entries as file - descriptors have been received, plus a final NULL pointer - terminating the array. The caller needs to free the array itself - and each of its elements with libc's <function>free()</function> - call after use. If the <parameter>names</parameter> parameter is - NULL, the call is entirely equivalent to - <function>sd_listen_fds()</function>.</para> - - <para>Under specific conditions, the following automatic file - descriptor names are returned: - - <table> - <title> - <command>Special names</command> - </title> - - <tgroup cols='2'> - <thead> - <row> - <entry>Name</entry> - <entry>Description</entry> - </row> - </thead> - <tbody> - <row> - <entry><literal>unknown</literal></entry> - <entry>The process received no name for the specific file descriptor from the service manager.</entry> - </row> - - <row> - <entry><literal>stored</literal></entry> - <entry>The file descriptor originates in the service manager's per-service file descriptor store, and the <varname>FDNAME=</varname> field was absent when the file descriptor was submitted to the service manager.</entry> - </row> - - <row> - <entry><literal>connection</literal></entry> - <entry>The service was activated in per-connection style using <varname>Accept=yes</varname> in the socket unit file, and the file descriptor is the connection socket.</entry> - </row> - </tbody> - </tgroup> - </table> - </para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On failure, these calls returns a negative errno-style error - code. If - <varname>$LISTEN_FDS</varname>/<varname>$LISTEN_PID</varname> was - not set or was not correctly set for this daemon and hence no file - descriptors were received, 0 is returned. Otherwise, the number of - file descriptors passed is returned. The application may find them - starting with file descriptor SD_LISTEN_FDS_START, i.e. file - descriptor 3.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <xi:include href="libsystemd-pkgconfig.xml" xpointer="pkgconfig-text"/> - - <para>Internally, <function>sd_listen_fds()</function> checks - whether the <varname>$LISTEN_PID</varname> environment variable - equals the daemon PID. If not, it returns immediately. Otherwise, - it parses the number passed in the <varname>$LISTEN_FDS</varname> - environment variable, then sets the FD_CLOEXEC flag for the parsed - number of file descriptors starting from SD_LISTEN_FDS_START. - Finally, it returns the parsed - number. <function>sd_listen_fds_with_names()</function> does the - same but also parses <varname>$LISTEN_FDNAMES</varname> if - set.</para> - </refsect1> - - <refsect1> - <title>Environment</title> - - <variablelist class='environment-variables'> - <varlistentry> - <term><varname>$LISTEN_PID</varname></term> - <term><varname>$LISTEN_FDS</varname></term> - <term><varname>$LISTEN_FDNAMES</varname></term> - - <listitem><para>Set by the service manager for supervised - processes that use socket-based activation. This environment - variable specifies the data - <function>sd_listen_fds()</function> and - <function>sd_listen_fds_with_names()</function> parses. See - above for details.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_is_fifo</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_is_socket</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_is_socket_inet</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_is_socket_unix</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_pid_notify_with_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_login_monitor_new.xml b/man/sd_login_monitor_new.xml deleted file mode 100644 index 5625ab9207..0000000000 --- a/man/sd_login_monitor_new.xml +++ /dev/null @@ -1,287 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_login_monitor_new" conditional='HAVE_PAM'> - - <refentryinfo> - <title>sd_login_monitor_new</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_login_monitor_new</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_login_monitor_new</refname> - <refname>sd_login_monitor_unref</refname> - <refname>sd_login_monitor_unrefp</refname> - <refname>sd_login_monitor_flush</refname> - <refname>sd_login_monitor_get_fd</refname> - <refname>sd_login_monitor_get_events</refname> - <refname>sd_login_monitor_get_timeout</refname> - <refname>sd_login_monitor</refname> - <refpurpose>Monitor login sessions, seats, users and virtual machines/containers</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-login.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_login_monitor_new</function></funcdef> - <paramdef>const char *<parameter>category</parameter></paramdef> - <paramdef>sd_login_monitor **<parameter>ret</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>sd_login_monitor *<function>sd_login_monitor_unref</function></funcdef> - <paramdef>sd_login_monitor *<parameter>m</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>void <function>sd_login_monitor_unrefp</function></funcdef> - <paramdef>sd_login_monitor **<parameter>m</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_login_monitor_flush</function></funcdef> - <paramdef>sd_login_monitor *<parameter>m</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_login_monitor_get_fd</function></funcdef> - <paramdef>sd_login_monitor *<parameter>m</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_login_monitor_get_events</function></funcdef> - <paramdef>sd_login_monitor *<parameter>m</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_login_monitor_get_timeout</function></funcdef> - <paramdef>sd_login_monitor *<parameter>m</parameter></paramdef> - <paramdef>uint64_t *<parameter>timeout_usec</parameter></paramdef> - </funcprototype> - - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_login_monitor_new()</function> may be used to - monitor login sessions, users, seats, and virtual - machines/containers. Via a monitor object a file descriptor can be - integrated into an application defined event loop which is woken - up each time a user logs in, logs out or a seat is added or - removed, or a session, user, seat or virtual machine/container - changes state otherwise. The first parameter takes a string which - can be <literal>seat</literal> (to get only notifications about - seats being added, removed or changed), <literal>session</literal> - (to get only notifications about sessions being created or removed - or changed), <literal>uid</literal> (to get only notifications - when a user changes state in respect to logins) or - <literal>machine</literal> (to get only notifications when a - virtual machine or container is started or stopped). If - notifications shall be generated in all these conditions, - <constant>NULL</constant> may be passed. Note that in the future - additional categories may be defined. The second parameter returns - a monitor object and needs to be freed with the - <function>sd_login_monitor_unref()</function> call after - use.</para> - - <para><function>sd_login_monitor_unref()</function> may be used to - destroy a monitor object. Note that this will invalidate any file - descriptor returned by - <function>sd_login_monitor_get_fd()</function>.</para> - - <para><function>sd_login_monitor_unrefp()</function> is similar to - <function>sd_login_monitor_unref()</function> but takes a pointer - to a pointer to an <type>sd_login_monitor</type> object. This call - is useful in conjunction with GCC's and LLVM's <ulink - url="https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html">Clean-up - Variable Attribute</ulink>. Note that this function is defined as - inline function. Use a declaration like the following, in order to - allocate a login monitor object that is freed automatically as the - code block is left:</para> - - <programlisting>{ - __attribute__((cleanup(sd_login_monitor_unrefp)) sd_login_monitor *m = NULL; - int r; - … - r = sd_login_monitor_default(&m); - if (r < 0) - fprintf(stderr, "Failed to allocate login monitor object: %s\n", strerror(-r)); - … -}</programlisting> - - <para><function>sd_login_monitor_flush()</function> may be used to - reset the wakeup state of the monitor object. Whenever an event - causes the monitor to wake up the event loop via the file - descriptor this function needs to be called to reset the wake-up - state. If this call is not invoked, the file descriptor will - immediately wake up the event loop again.</para> - - <para><function>sd_login_monitor_unref()</function> and - <function>sd_login_monitor_unrefp()</function> execute no - operation if the passed in monitor object is - <constant>NULL</constant>.</para> - - <para><function>sd_login_monitor_get_fd()</function> may be used - to retrieve the file descriptor of the monitor object that may be - integrated in an application defined event loop, based around - <citerefentry><refentrytitle>poll</refentrytitle><manvolnum>2</manvolnum></citerefentry> - or a similar interface. The application should include the - returned file descriptor as wake-up source for the events mask - returned by <function>sd_login_monitor_get_events()</function>. It - should pass a timeout value as returned by - <function>sd_login_monitor_get_timeout()</function>. Whenever a - wake-up is triggered the file descriptor needs to be reset via - <function>sd_login_monitor_flush()</function>. An application - needs to reread the login state with a function like - <citerefentry><refentrytitle>sd_get_seats</refentrytitle><manvolnum>3</manvolnum></citerefentry> - or similar to determine what changed.</para> - - <para><function>sd_login_monitor_get_events()</function> will - return the <function>poll()</function> mask to wait for. This - function will return a combination of <constant>POLLIN</constant>, - <constant>POLLOUT</constant> and similar to fill into the - <literal>.events</literal> field of <varname>struct - pollfd</varname>.</para> - - <para><function>sd_login_monitor_get_timeout()</function> will - return a timeout value for usage in <function>poll()</function>. - This returns a value in microseconds since the epoch of - <constant>CLOCK_MONOTONIC</constant> for timing out - <function>poll()</function> in <varname>timeout_usec</varname>. - See - <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry> - for details about <constant>CLOCK_MONOTONIC</constant>. If there - is no timeout to wait for this will fill in <constant>(uint64_t) - -1</constant> instead. Note that <function>poll()</function> takes - a relative timeout in milliseconds rather than an absolute timeout - in microseconds. To convert the absolute 'µs' timeout into - relative 'ms', use code like the following:</para> - - <programlisting>uint64_t t; -int msec; -sd_login_monitor_get_timeout(m, &t); -if (t == (uint64_t) -1) - msec = -1; -else { - struct timespec ts; - uint64_t n; - clock_getttime(CLOCK_MONOTONIC, &ts); - n = (uint64_t) ts.tv_sec * 1000000 + ts.tv_nsec / 1000; - msec = t > n ? (int) ((t - n + 999) / 1000) : 0; -}</programlisting> - - <para>The code above does not do any error checking for brevity's - sake. The calculated <varname>msec</varname> integer can be passed - directly as <function>poll()</function>'s timeout - parameter.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, - <function>sd_login_monitor_new()</function>, - <function>sd_login_monitor_flush()</function> and - <function>sd_login_monitor_get_timeout()</function> - return 0 or a positive integer. On success, - <function>sd_login_monitor_get_fd()</function> returns - a Unix file descriptor. On success, - <function>sd_login_monitor_get_events()</function> - returns a combination of <constant>POLLIN</constant>, - <constant>POLLOUT</constant> and suchlike. On failure, - these calls return a negative errno-style error - code.</para> - - <para><function>sd_login_monitor_unref()</function> - always returns <constant>NULL</constant>.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An input parameter was invalid (out of range, - or NULL, where that is not accepted). The specified category to - watch is not known.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_login_monitor_new()</function>, - <function>sd_login_monitor_unref()</function>, - <function>sd_login_monitor_flush()</function>, - <function>sd_login_monitor_get_fd()</function>, - <function>sd_login_monitor_get_events()</function> and - <function>sd_login_monitor_get_timeout()</function> - interfaces are available as a shared library, which can be - compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_get_seats</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>poll</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry><refentrytitle>clock_gettime</refentrytitle><manvolnum>2</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_machine_get_class.xml b/man/sd_machine_get_class.xml deleted file mode 100644 index ef604139da..0000000000 --- a/man/sd_machine_get_class.xml +++ /dev/null @@ -1,152 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_machine_get_class"> - - <refentryinfo> - <title>sd_machine_get_class</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_machine_get_class</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_machine_get_class</refname> - <refname>sd_machine_get_ifindices</refname> - <refpurpose>Determine the class and network interface indices of a - locally running virtual machine or container.</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-login.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_machine_get_class</function></funcdef> - <paramdef>const char* <parameter>machine</parameter></paramdef> - <paramdef>char **<parameter>class</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_machine_get_ifindices</function></funcdef> - <paramdef>const char* <parameter>machine</parameter></paramdef> - <paramdef>int **<parameter>ifindices</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_machine_get_class()</function> may be used to - determine the class of a locally running virtual machine or - container that is registered with - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - The string returned is either <literal>vm</literal> or - <literal>container</literal>. The returned string needs to be - freed with the libc <citerefentry - project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_machine_get_ifindices()</function> may be used - to determine the numeric indices of the network interfaces on the - host that are pointing towards the specified locally running - virtual machine or container that is registered with - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - The returned array needs to be freed with the libc <citerefentry - project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these calls return 0 or a positive integer. On - failure, these calls return a negative errno-style error - code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-ENXIO</constant></term> - - <listitem><para>The specified machine does not exist or is currently not running.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An input parameter was invalid (out of range, - or NULL, where that is not accepted).</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_machine_get_class()</function> and - <function>sd_machine_get_ifindices()</function> interfaces are - available as a shared library, which can be compiled and linked to - with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_pid_get_machine_name</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_notify.xml b/man/sd_notify.xml deleted file mode 100644 index bd6cfdcd29..0000000000 --- a/man/sd_notify.xml +++ /dev/null @@ -1,399 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_notify" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_notify</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_notify</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_notify</refname> - <refname>sd_notifyf</refname> - <refname>sd_pid_notify</refname> - <refname>sd_pid_notifyf</refname> - <refname>sd_pid_notify_with_fds</refname> - <refpurpose>Notify service manager about start-up completion and other service status changes</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-daemon.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_notify</function></funcdef> - <paramdef>int <parameter>unset_environment</parameter></paramdef> - <paramdef>const char *<parameter>state</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_notifyf</function></funcdef> - <paramdef>int <parameter>unset_environment</parameter></paramdef> - <paramdef>const char *<parameter>format</parameter></paramdef> - <paramdef>...</paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_pid_notify</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>int <parameter>unset_environment</parameter></paramdef> - <paramdef>const char *<parameter>state</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_pid_notifyf</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>int <parameter>unset_environment</parameter></paramdef> - <paramdef>const char *<parameter>format</parameter></paramdef> - <paramdef>...</paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_pid_notify_with_fds</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>int <parameter>unset_environment</parameter></paramdef> - <paramdef>const char *<parameter>state</parameter></paramdef> - <paramdef>const int *<parameter>fds</parameter></paramdef> - <paramdef>unsigned <parameter>n_fds</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - <para><function>sd_notify()</function> may be called by a service - to notify the service manager about state changes. It can be used - to send arbitrary information, encoded in an - environment-block-like string. Most importantly, it can be used for - start-up completion notification.</para> - - <para>If the <parameter>unset_environment</parameter> parameter is - non-zero, <function>sd_notify()</function> will unset the - <varname>$NOTIFY_SOCKET</varname> environment variable before - returning (regardless of whether the function call itself - succeeded or not). Further calls to - <function>sd_notify()</function> will then fail, but the variable - is no longer inherited by child processes.</para> - - <para>The <parameter>state</parameter> parameter should contain a - newline-separated list of variable assignments, similar in style - to an environment block. A trailing newline is implied if none is - specified. The string may contain any kind of variable - assignments, but the following shall be considered - well-known:</para> - - <variablelist> - <varlistentry> - <term>READY=1</term> - - <listitem><para>Tells the service manager that service startup - is finished. This is only used by systemd if the service - definition file has Type=notify set. Since there is little - value in signaling non-readiness, the only value services - should send is <literal>READY=1</literal> (i.e. - <literal>READY=0</literal> is not defined).</para></listitem> - </varlistentry> - - <varlistentry> - <term>RELOADING=1</term> - - <listitem><para>Tells the service manager that the service is - reloading its configuration. This is useful to allow the - service manager to track the service's internal state, and - present it to the user. Note that a service that sends this - notification must also send a <literal>READY=1</literal> - notification when it completed reloading its - configuration.</para></listitem> - </varlistentry> - - <varlistentry> - <term>STOPPING=1</term> - - <listitem><para>Tells the service manager that the service is - beginning its shutdown. This is useful to allow the service - manager to track the service's internal state, and present it - to the user.</para></listitem> - </varlistentry> - - <varlistentry> - <term>STATUS=...</term> - - <listitem><para>Passes a single-line UTF-8 status string back - to the service manager that describes the service state. This - is free-form and can be used for various purposes: general - state feedback, fsck-like programs could pass completion - percentages and failing programs could pass a human-readable - error message. Example: <literal>STATUS=Completed 66% of file - system check...</literal></para></listitem> - </varlistentry> - - <varlistentry> - <term>ERRNO=...</term> - - <listitem><para>If a service fails, the errno-style error - code, formatted as string. Example: <literal>ERRNO=2</literal> - for ENOENT.</para></listitem> - </varlistentry> - - <varlistentry> - <term>BUSERROR=...</term> - - <listitem><para>If a service fails, the D-Bus error-style - error code. Example: - <literal>BUSERROR=org.freedesktop.DBus.Error.TimedOut</literal></para></listitem> - </varlistentry> - - <varlistentry> - <term>MAINPID=...</term> - - <listitem><para>The main process ID (PID) of the service, in - case the service manager did not fork off the process itself. - Example: <literal>MAINPID=4711</literal></para></listitem> - </varlistentry> - - <varlistentry> - <term>WATCHDOG=1</term> - - <listitem><para>Tells the service manager to update the - watchdog timestamp. This is the keep-alive ping that services - need to issue in regular intervals if - <varname>WatchdogSec=</varname> is enabled for it. See - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for information how to enable this functionality and - <citerefentry><refentrytitle>sd_watchdog_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for the details of how the service can check whether the - watchdog is enabled. </para></listitem> - </varlistentry> - - - <varlistentry> - <term>FDSTORE=1</term> - - <listitem><para>Stores additional file descriptors in the - service manager. File descriptors sent this way will be - maintained per-service by the service manager and be passed - again using the usual file descriptor passing logic on the - next invocation of the service (see - <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>). - This is useful for implementing service restart schemes where - services serialize their state to <filename>/run</filename>, - push their file descriptors to the system manager, and are - then restarted, retrieving their state again via socket - passing and <filename>/run</filename>. Note that the service - manager will accept messages for a service only if - <varname>FileDescriptorStoreMax=</varname> is set to non-zero - for it (defaults to zero). See - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details. Multiple arrays of file descriptors may be sent - in separate messages, in which case the arrays are combined. - Note that the service manager removes duplicate file - descriptors before passing them to the service. Use - <function>sd_pid_notify_with_fds()</function> to send messages - with <literal>FDSTORE=1</literal>, see - below.</para></listitem> - </varlistentry> - - <varlistentry> - <term>FDNAME=...</term> - - <listitem><para>When used in combination with - <varname>FDSTORE=1</varname>, specifies a name for the - submitted file descriptors. This name is passed to the service - during activation, and may be queried using - <citerefentry><refentrytitle>sd_listen_fds_with_names</refentrytitle><manvolnum>3</manvolnum></citerefentry>. File - descriptors submitted without this field set, will implicitly - get the name <literal>stored</literal> assigned. Note that, if - multiple file descriptors are submitted at once, the specified - name will be assigned to all of them. In order to assign - different names to submitted file descriptors, submit them in - separate invocations of - <function>sd_pid_notify_with_fds()</function>. The name may - consist of any ASCII character, but must not contain control - characters or <literal>:</literal>. It may not be longer than - 255 characters. If a submitted name does not follow these - restrictions, it is ignored.</para></listitem> - </varlistentry> - - </variablelist> - - <para>It is recommended to prefix variable names that are not - listed above with <varname>X_</varname> to avoid namespace - clashes.</para> - - <para>Note that systemd will accept status data sent from a - service only if the <varname>NotifyAccess=</varname> option is - correctly set in the service definition file. See - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details.</para> - - <para><function>sd_notifyf()</function> is similar to - <function>sd_notify()</function> but takes a - <function>printf()</function>-like format string plus - arguments.</para> - - <para><function>sd_pid_notify()</function> and - <function>sd_pid_notifyf()</function> are similar to - <function>sd_notify()</function> and - <function>sd_notifyf()</function> but take a process ID (PID) to - use as originating PID for the message as first argument. This is - useful to send notification messages on behalf of other processes, - provided the appropriate privileges are available. If the PID - argument is specified as 0, the process ID of the calling process - is used, in which case the calls are fully equivalent to - <function>sd_notify()</function> and - <function>sd_notifyf()</function>.</para> - - <para><function>sd_pid_notify_with_fds()</function> is similar to - <function>sd_pid_notify()</function> but takes an additional array - of file descriptors. These file descriptors are sent along the - notification message to the service manager. This is particularly - useful for sending <literal>FDSTORE=1</literal> messages, as - described above. The additional arguments are a pointer to the - file descriptor array plus the number of file descriptors in the - array. If the number of file descriptors is passed as 0, the call - is fully equivalent to <function>sd_pid_notify()</function>, i.e. - no file descriptors are passed. Note that sending file descriptors - to the service manager on messages that do not expect them (i.e. - without <literal>FDSTORE=1</literal>) they are immediately closed - on reception.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On failure, these calls return a negative errno-style error - code. If <varname>$NOTIFY_SOCKET</varname> was not set and hence - no status data could be sent, 0 is returned. If the status was - sent, these functions return with a positive return value. In - order to support both, init systems that implement this scheme and - those which do not, it is generally recommended to ignore the - return value of this call.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <xi:include href="libsystemd-pkgconfig.xml" xpointer="pkgconfig-text"/> - - <para>These functions send a single datagram with the - state string as payload to the <constant>AF_UNIX</constant> socket - referenced in the <varname>$NOTIFY_SOCKET</varname> environment - variable. If the first character of - <varname>$NOTIFY_SOCKET</varname> is <literal>@</literal>, the - string is understood as Linux abstract namespace socket. The - datagram is accompanied by the process credentials of the sending - service, using SCM_CREDENTIALS.</para> - </refsect1> - - <refsect1> - <title>Environment</title> - - <variablelist class='environment-variables'> - <varlistentry> - <term><varname>$NOTIFY_SOCKET</varname></term> - - <listitem><para>Set by the service manager for supervised - processes for status and start-up completion notification. - This environment variable specifies the socket - <function>sd_notify()</function> talks to. See above for - details.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>Start-up Notification</title> - - <para>When a service finished starting up, it might issue the - following call to notify the service manager:</para> - - <programlisting>sd_notify(0, "READY=1");</programlisting> - </example> - - <example> - <title>Extended Start-up Notification</title> - - <para>A service could send the following after completing - initialization:</para> - - <programlisting>sd_notifyf(0, "READY=1\n" - "STATUS=Processing requests...\n" - "MAINPID=%lu", - (unsigned long) getpid());</programlisting> - </example> - - <example> - <title>Error Cause Notification</title> - - <para>A service could send the following shortly before exiting, on failure:</para> - - <programlisting>sd_notifyf(0, "STATUS=Failed to start up: %s\n" - "ERRNO=%i", - strerror(errno), - errno);</programlisting> - </example> - - <example> - <title>Store a File Descriptor in the Service Manager</title> - - <para>To store an open file descriptor in the service manager, - in order to continue operation after a service restart without - losing state, use <literal>FDSTORE=1</literal>:</para> - - <programlisting>sd_pid_notify_with_fds(0, 0, "FDSTORE=1\nFDNAME=foobar", &fd, 1);</programlisting> - </example> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_listen_fds_with_names</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_watchdog_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_pid_get_session.xml b/man/sd_pid_get_session.xml deleted file mode 100644 index 806cff34e4..0000000000 --- a/man/sd_pid_get_session.xml +++ /dev/null @@ -1,359 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_pid_get_session" conditional='HAVE_PAM'> - - <refentryinfo> - <title>sd_pid_get_session</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_pid_get_session</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_pid_get_session</refname> - <refname>sd_pid_get_unit</refname> - <refname>sd_pid_get_user_unit</refname> - <refname>sd_pid_get_owner_uid</refname> - <refname>sd_pid_get_machine_name</refname> - <refname>sd_pid_get_slice</refname> - <refname>sd_pid_get_user_slice</refname> - <refname>sd_pid_get_cgroup</refname> - <refname>sd_peer_get_session</refname> - <refname>sd_peer_get_unit</refname> - <refname>sd_peer_get_user_unit</refname> - <refname>sd_peer_get_owner_uid</refname> - <refname>sd_peer_get_machine_name</refname> - <refname>sd_peer_get_slice</refname> - <refname>sd_peer_get_user_slice</refname> - <refname>sd_peer_get_cgroup</refname> - <refpurpose>Determine session, unit, owner of a session, - container/VM or slice of a specific PID or socket - peer</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-login.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_pid_get_session</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>char **<parameter>session</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_pid_get_unit</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>char **<parameter>unit</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_pid_get_user_unit</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>char **<parameter>unit</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_pid_get_owner_uid</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>uid_t *<parameter>uid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_pid_get_machine_name</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>char **<parameter>name</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_pid_get_slice</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>char **<parameter>slice</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_pid_get_user_slice</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>char **<parameter>slice</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_pid_get_cgroup</function></funcdef> - <paramdef>pid_t <parameter>pid</parameter></paramdef> - <paramdef>char **<parameter>cgroup</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_peer_get_session</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>char **<parameter>session</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_peer_get_unit</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>char **<parameter>unit</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_peer_get_user_unit</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>char **<parameter>unit</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_peer_get_owner_uid</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>uid_t *<parameter>uid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_peer_get_machine_name</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>char **<parameter>name</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_peer_get_slice</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>char **<parameter>slice</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_peer_get_user_slice</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>char **<parameter>slice</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_peer_get_cgroup</function></funcdef> - <paramdef>int <parameter>fd</parameter></paramdef> - <paramdef>char **<parameter>cgroup</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_pid_get_session()</function> may be used to - determine the login session identifier of a process identified by - the specified process identifier. The session identifier is a - short string, suitable for usage in file system paths. Note that - not all processes are part of a login session (e.g. system service - processes, user processes that are shared between multiple - sessions of the same user, or kernel threads). For processes not - being part of a login session, this function will fail with - -ENODATA. The returned string needs to be freed with the libc - <citerefentry - project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_pid_get_unit()</function> may be used to - determine the systemd system unit (i.e. system service or scope - unit) identifier of a process identified by the specified PID. The - unit name is a short string, suitable for usage in file system - paths. Note that not all processes are part of a system - unit/service (e.g. user processes, or kernel threads). For - processes not being part of a systemd system unit, this function - will fail with -ENODATA. (More specifically, this call will not - work for kernel threads.) The returned string needs to be freed - with the libc <citerefentry - project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_pid_get_user_unit()</function> may be used to - determine the systemd user unit (i.e. user service or scope unit) - identifier of a process identified by the specified PID. This is - similar to <function>sd_pid_get_unit()</function>, but applies to - user units instead of system units.</para> - - <para><function>sd_pid_get_owner_uid()</function> may be used to - determine the Unix UID (user identifier) of the owner of the - session of a process identified the specified PID. Note that this - function will succeed for user processes which are shared between - multiple login sessions of the same user, whereas - <function>sd_pid_get_session()</function> will fail. For processes - not being part of a login session and not being a shared process - of a user, this function will fail with -ENODATA.</para> - - <para><function>sd_pid_get_machine_name()</function> may be used - to determine the name of the VM or container is a member of. The - machine name is a short string, suitable for usage in file system - paths. The returned string needs to be freed with the libc - <citerefentry - project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use. For processes not part of a VM or containers, this - function fails with -ENODATA.</para> - - <para><function>sd_pid_get_slice()</function> may be used to - determine the slice unit the process is a member of. See - <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details about slices. The returned string needs to be freed - with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para>Similarly, <function>sd_pid_get_user_slice()</function> - returns the user slice (as managed by the user's systemd instance) - of a process.</para> - - <para><function>sd_pid_get_cgroup()</function> returns the control - group path of the specified process, relative to the root of the - hierarchy. Returns the path without trailing slash, except for - processes located in the root control group, where "/" is - returned. To find the actual control group path in the file system, - the returned path needs to be prefixed with - <filename>/sys/fs/cgroup/</filename> (if the unified control group - setup is used), or - <filename>/sys/fs/cgroup/<replaceable>HIERARCHY</replaceable>/</filename> - (if the legacy multi-hierarchy control group setup is used).</para> - - <para>If the <varname>pid</varname> parameter of any of these - functions is passed as 0, the operation is executed for the - calling process.</para> - - <para>The <function>sd_peer_get_session()</function>, - <function>sd_peer_get_unit()</function>, - <function>sd_peer_get_user_unit()</function>, - <function>sd_peer_get_owner_uid()</function>, - <function>sd_peer_get_machine_name()</function>, - <function>sd_peer_get_slice()</function>, - <function>sd_peer_get_user_slice()</function> and - <function>sd_peer_get_cgroup()</function> calls operate similar to - their PID counterparts, but operate on a connected AF_UNIX socket - and retrieve information about the connected peer process. Note - that these fields are retrieved via <filename>/proc</filename>, - and hence are not suitable for authorization purposes, as they are - subject to races.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, these calls return 0 or a positive integer. On - failure, these calls return a negative errno-style error - code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-ESRCH</constant></term> - - <listitem><para>The specified PID does not refer to a running - process.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-BADF</constant></term> - - <listitem><para>The specified socket file descriptor was - invalid.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENODATA</constant></term> - - <listitem><para>The given field is not specified for the described - process or peer.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An input parameter was invalid (out of range, - or NULL, where that is not accepted).</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_pid_get_session()</function>, - <function>sd_pid_get_unit()</function>, - <function>sd_pid_get_user_unit()</function>, - <function>sd_pid_get_owner_uid()</function>, - <function>sd_pid_get_machine_name()</function>, - <function>sd_pid_get_slice()</function>, - <function>sd_pid_get_user_slice()</function>, - <function>sd_peer_get_session()</function>, - <function>sd_peer_get_unit()</function>, - <function>sd_peer_get_user_unit()</function>, - <function>sd_peer_get_owner_uid()</function>, - <function>sd_peer_get_machine_name()</function>, - <function>sd_peer_get_slice()</function> and - <function>sd_peer_get_user_slice()</function> interfaces are - available as a shared library, which can be compiled and linked to - with the <constant>libsystemd</constant> <citerefentry - project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - - <para>Note that the login session identifier as - returned by <function>sd_pid_get_session()</function> - is completely unrelated to the process session - identifier as returned by - <citerefentry><refentrytitle>getsid</refentrytitle><manvolnum>2</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_session_is_active</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>getsid</refentrytitle><manvolnum>2</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-machined.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_seat_get_active.xml b/man/sd_seat_get_active.xml deleted file mode 100644 index c5e6ddab02..0000000000 --- a/man/sd_seat_get_active.xml +++ /dev/null @@ -1,212 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_seat_get_active" conditional='HAVE_PAM'> - - <refentryinfo> - <title>sd_seat_get_active</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_seat_get_active</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_seat_get_active</refname> - <refname>sd_seat_get_sessions</refname> - <refname>sd_seat_can_multi_session</refname> - <refname>sd_seat_can_tty</refname> - <refname>sd_seat_can_graphical</refname> - <refpurpose>Determine state of a specific seat</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-login.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_seat_get_active</function></funcdef> - <paramdef>const char *<parameter>seat</parameter></paramdef> - <paramdef>char **<parameter>session</parameter></paramdef> - <paramdef>uid_t *<parameter>uid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_seat_get_sessions</function></funcdef> - <paramdef>const char *<parameter>seat</parameter></paramdef> - <paramdef>char ***<parameter>sessions</parameter></paramdef> - <paramdef>uid_t **<parameter>uid</parameter></paramdef> - <paramdef>unsigned int *<parameter>n_uids</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_seat_can_multi_session</function></funcdef> - <paramdef>const char *<parameter>seat</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_seat_can_tty</function></funcdef> - <paramdef>const char *<parameter>seat</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_seat_can_graphical</function></funcdef> - <paramdef>const char *<parameter>seat</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_seat_get_active()</function> may be used to - determine which session is currently active on a seat, if there is - any. Returns the session identifier and the user identifier of the - Unix user the session is belonging to. Either the session or the - user identifier parameter can be passed <constant>NULL</constant>, - in case only one of the parameters shall be queried. The returned - string needs to be freed with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_seat_get_sessions()</function> may be used to - determine all sessions on the specified seat. Returns two arrays, - one (<constant>NULL</constant> terminated) with the session - identifiers of the sessions and one with the user identifiers of - the Unix users the sessions belong to. An additional parameter may - be used to return the number of entries in the latter array. The - two arrays and the latter parameter may be passed as - <constant>NULL</constant> in case these values need not to be - determined. The arrays and the strings referenced by them need to - be freed with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use. Note that instead of an empty array - <constant>NULL</constant> may be returned and should be considered - equivalent to an empty array.</para> - - <para><function>sd_seat_can_multi_session()</function> may be used - to determine whether a specific seat is capable of multi-session, - i.e. allows multiple login sessions in parallel (with only one - being active at a time).</para> - - <para><function>sd_seat_can_tty()</function> may be used to - determine whether a specific seat provides TTY functionality, i.e. - is useful as a text console.</para> - - <para><function>sd_seat_can_graphical()</function> may be used to - determine whether a specific seat provides graphics functionality, - i.e. is useful as a graphics display.</para> - - <para>If the <varname>seat</varname> parameter of any of these - functions is passed as <constant>NULL</constant>, the operation is - executed for the seat of the session of the calling process, if - there is any.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para> On success, <function>sd_seat_get_active()</function> - returns 0 or a positive integer. On success, - <function>sd_seat_get_sessions()</function> returns the number of - entries in the session identifier array. If the test succeeds, - <function>sd_seat_can_multi_session</function>, - <function>sd_seat_can_tty</function> and - <function>sd_seat_can_graphical</function> return a positive - integer, if it fails 0. On failure, these calls return a negative - errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-ENODATA</constant></term> - - <listitem><para>The given field is not specified for the described - seat.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENXIO</constant></term> - - <listitem><para>The specified seat is unknown.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An input parameter was invalid (out of range, - or NULL, where that is not accepted).</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_seat_get_active()</function>, - <function>sd_seat_get_sessions()</function>, - <function>sd_seat_can_multi_session()</function>, - <function>sd_seat_can_tty()</function> and - <function>sd_seat_can_graphical()</function> interfaces are - available as a shared library, which can be compiled and linked to - with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_session_get_seat</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_session_is_active.xml b/man/sd_session_is_active.xml deleted file mode 100644 index a6076b177a..0000000000 --- a/man/sd_session_is_active.xml +++ /dev/null @@ -1,359 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_session_is_active" conditional='HAVE_PAM'> - - <refentryinfo> - <title>sd_session_is_active</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_session_is_active</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_session_is_active</refname> - <refname>sd_session_is_remote</refname> - <refname>sd_session_get_state</refname> - <refname>sd_session_get_uid</refname> - <refname>sd_session_get_seat</refname> - <refname>sd_session_get_service</refname> - <refname>sd_session_get_type</refname> - <refname>sd_session_get_class</refname> - <refname>sd_session_get_desktop</refname> - <refname>sd_session_get_display</refname> - <refname>sd_session_get_tty</refname> - <refname>sd_session_get_vt</refname> - <refname>sd_session_get_remote_host</refname> - <refname>sd_session_get_remote_user</refname> - <refpurpose>Determine state of a specific session</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-login.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_session_is_active</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_is_remote</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_state</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>char **<parameter>state</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_uid</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>uid_t *<parameter>uid</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_seat</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>char **<parameter>seat</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_service</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>char **<parameter>service</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_type</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>char **<parameter>type</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_class</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>char **<parameter>class</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_desktop</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>char **<parameter>desktop</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_display</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>char **<parameter>display</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_remote_host</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>char **<parameter>remote_host</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_remote_user</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>char **<parameter>remote_user</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_tty</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>char **<parameter>tty</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_session_get_vt</function></funcdef> - <paramdef>const char *<parameter>session</parameter></paramdef> - <paramdef>unsigned int *<parameter>vt</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_session_is_active()</function> may be used to - determine whether the session identified by the specified session - identifier is currently active (i.e. currently in the foreground - and available for user input) or not.</para> - - <para><function>sd_session_is_remote()</function> may be used to - determine whether the session identified by the specified session - identifier is a remote session (i.e. its remote host is known) or - not.</para> - - <para><function>sd_session_get_state()</function> may be used to - determine the state of the session identified by the specified - session identifier. The following states are currently known: - <literal>online</literal> (session logged in, but session not - active, i.e. not in the foreground), <literal>active</literal> - (session logged in and active, i.e. in the foreground), - <literal>closing</literal> (session nominally logged out, but some - processes belonging to it are still around). In the future - additional states might be defined, client code should be written - to be robust in regards to additional state strings being - returned. This function is a more generic version of - <function>sd_session_is_active()</function>. The returned string - needs to be freed with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_session_get_uid()</function> may be used to - determine the user identifier of the Unix user the session - identified by the specified session identifier belongs to.</para> - - <para><function>sd_session_get_seat()</function> may be used to - determine the seat identifier of the seat the session identified - by the specified session identifier belongs to. Note that not all - sessions are attached to a seat, this call will fail for them. The - returned string needs to be freed with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_session_get_service()</function> may be used to - determine the name of the service (as passed during PAM session - setup) that registered the session identified by the specified - session identifier. The returned string needs to be freed with the - libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_session_get_type()</function> may be used to - determine the type of the session identified by the specified - session identifier. The returned string is one of - <literal>x11</literal>, <literal>wayland</literal>, - <literal>tty</literal>, <literal>mir</literal> or - <literal>unspecified</literal> and needs to be freed with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_session_get_class()</function> may be used to - determine the class of the session identified by the specified - session identifier. The returned string is one of - <literal>user</literal>, <literal>greeter</literal>, - <literal>lock-screen</literal>, or <literal>background</literal> - and needs to be freed with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_session_get_desktop()</function> may be used to - determine the brand of the desktop running on the session - identified by the specified session identifier. This field can be - set freely by desktop environments and does not follow any special - formatting. However, desktops are strongly recommended to use the - same identifiers and capitalization as for - <varname>$XDG_CURRENT_DESKTOP</varname>, as defined by the <ulink - url="http://standards.freedesktop.org/desktop-entry-spec/latest/">Desktop - Entry Specification</ulink>. The returned string needs to be freed - with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_session_get_display()</function> may be used to - determine the X11 display of the session identified by the - specified session identifier. The returned string needs to be - freed with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_session_get_remote_host()</function> may be - used to determine the remote hostname of the session identified by - the specified session identifier. The returned string needs to be - freed with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_session_get_remote_user()</function> may be - used to determine the remote username of the session identified by - the specified session identifier. The returned string needs to be - freed with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use. Note that this value is rarely known to the - system, and even then should not be relied on.</para> - - <para><function>sd_session_get_tty()</function> may be used to - determine the TTY device of the session identified by the - specified session identifier. The returned string needs to be - freed with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_session_get_vt()</function> may be used to - determine the VT number of the session identified by the specified - session identifier. This function will return an error if the seat - does not support VTs.</para> - - <para>If the <varname>session</varname> parameter of any of these - functions is passed as <constant>NULL</constant>, the operation is - executed for the session the calling process is a member of, if - there is any.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>If the test succeeds, - <function>sd_session_is_active()</function> and - <function>sd_session_is_remote()</function> return a - positive integer; if it fails, 0. On success, - <function>sd_session_get_state()</function>, - <function>sd_session_get_uid()</function>, - <function>sd_session_get_seat()</function>, - <function>sd_session_get_service()</function>, - <function>sd_session_get_type()</function>, - <function>sd_session_get_class()</function>, - <function>sd_session_get_display()</function>, - <function>sd_session_get_remote_user()</function>, - <function>sd_session_get_remote_host()</function> and - <function>sd_session_get_tty()</function> return 0 or - a positive integer. On failure, these calls return a - negative errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-ENXIO</constant></term> - - <listitem><para>The specified session does not exist.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENODATA</constant></term> - - <listitem><para>The given field is not specified for the described - session.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An input parameter was invalid (out of range, - or NULL, where that is not accepted).</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>The <function>sd_session_is_active()</function>, - <function>sd_session_get_state()</function>, - <function>sd_session_get_uid()</function>, - <function>sd_session_get_seat()</function>, - <function>sd_session_get_service()</function>, - <function>sd_session_get_type()</function>, - <function>sd_session_get_class()</function>, - <function>sd_session_get_display()</function>, - <function>sd_session_get_remote_host()</function>, - <function>sd_session_get_remote_user()</function> and - <function>sd_session_get_tty()</function> - interfaces are available as a shared library, which can - be compiled and linked to with the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - file.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_pid_get_session</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_uid_get_state.xml b/man/sd_uid_get_state.xml deleted file mode 100644 index 130af761da..0000000000 --- a/man/sd_uid_get_state.xml +++ /dev/null @@ -1,230 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_uid_get_state" conditional='HAVE_PAM'> - - <refentryinfo> - <title>sd_uid_get_state</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_uid_get_state</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_uid_get_state</refname> - <refname>sd_uid_is_on_seat</refname> - <refname>sd_uid_get_sessions</refname> - <refname>sd_uid_get_seats</refname> - <refname>sd_uid_get_display</refname> - <refpurpose>Determine login state of a specific Unix user ID</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-login.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_uid_get_state</function></funcdef> - <paramdef>uid_t <parameter>uid</parameter></paramdef> - <paramdef>char **<parameter>state</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_uid_is_on_seat</function></funcdef> - <paramdef>uid_t <parameter>uid</parameter></paramdef> - <paramdef>int <parameter>require_active</parameter></paramdef> - <paramdef>const char *<parameter>seat</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_uid_get_sessions</function></funcdef> - <paramdef>uid_t <parameter>uid</parameter></paramdef> - <paramdef>int <parameter>require_active</parameter></paramdef> - <paramdef>char ***<parameter>sessions</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_uid_get_seats</function></funcdef> - <paramdef>uid_t <parameter>uid</parameter></paramdef> - <paramdef>int <parameter>require_active</parameter></paramdef> - <paramdef>char ***<parameter>seats</parameter></paramdef> - </funcprototype> - - <funcprototype> - <funcdef>int <function>sd_uid_get_display</function></funcdef> - <paramdef>uid_t <parameter>uid</parameter></paramdef> - <paramdef>char **<parameter>session</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><function>sd_uid_get_state()</function> may be used to - determine the login state of a specific Unix user identifier. The - following states are currently known: <literal>offline</literal> - (user not logged in at all), <literal>lingering</literal> (user - not logged in, but some user services running), - <literal>online</literal> (user logged in, but not active, i.e. - has no session in the foreground), <literal>active</literal> (user - logged in, and has at least one active session, i.e. one session - in the foreground), <literal>closing</literal> (user not logged - in, and not lingering, but some processes are still around). In - the future additional states might be defined, client code should - be written to be robust in regards to additional state strings - being returned. The returned string needs to be freed with the - libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use.</para> - - <para><function>sd_uid_is_on_seat()</function> may be used to - determine whether a specific user is logged in or active on a - specific seat. Accepts a Unix user identifier and a seat - identifier string as parameters. The - <parameter>require_active</parameter> parameter is a boolean - value. If non-zero (true), this function will test if the user is - active (i.e. has a session that is in the foreground and accepting - user input) on the specified seat, otherwise (false) only if the - user is logged in (and possibly inactive) on the specified - seat.</para> - - <para><function>sd_uid_get_sessions()</function> may be used to - determine the current sessions of the specified user. Accepts a - Unix user identifier as parameter. The - <parameter>require_active</parameter> parameter controls whether - the returned list shall consist of only those sessions where the - user is currently active (> 0), where the user is currently - online but possibly inactive (= 0), or logged in at all but - possibly closing the session (< 0). The call returns a - <constant>NULL</constant> terminated string array of session - identifiers in <parameter>sessions</parameter> which needs to be - freed by the caller with the libc - <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> - call after use, including all the strings referenced. If the - string array parameter is passed as <constant>NULL</constant>, the - array will not be filled in, but the return code still indicates - the number of current sessions. Note that instead of an empty - array <constant>NULL</constant> may be returned and should be - considered equivalent to an empty array.</para> - - <para>Similarly, <function>sd_uid_get_seats()</function> may be - used to determine the list of seats on which the user currently - has sessions. Similar semantics apply, however note that the user - may have multiple sessions on the same seat as well as sessions - with no attached seat and hence the number of entries in the - returned array may differ from the one returned by - <function>sd_uid_get_sessions()</function>.</para> - - <para><function>sd_uid_get_display()</function> returns the name - of the "primary" session of a user. If the user has graphical - sessions, it will be the oldest graphical session. Otherwise, it - will be the oldest open session.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On success, <function>sd_uid_get_state()</function> returns - 0 or a positive integer. If the test succeeds, - <function>sd_uid_is_on_seat()</function> returns a positive - integer; if it fails, 0. - <function>sd_uid_get_sessions()</function> and - <function>sd_uid_get_seats()</function> return the number of - entries in the returned arrays. - <function>sd_uid_get_display()</function> returns a non-negative - code on success. On failure, these calls return a negative - errno-style error code.</para> - </refsect1> - - <refsect1> - <title>Errors</title> - - <para>Returned errors may indicate the following problems:</para> - - <variablelist> - - <varlistentry> - <term><constant>-ENODATA</constant></term> - - <listitem><para>The given field is not specified for the described - user.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENXIO</constant></term> - - <listitem><para>The specified seat is unknown.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><constant>-EINVAL</constant></term> - - <listitem><para>An input parameter was invalid (out of range, - or NULL, where that is not accepted). This is also returned if - the passed user ID is 0xFFFF or 0xFFFFFFFF, which are - undefined on Linux.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>-ENOMEM</constant></term> - - <listitem><para>Memory allocation failed.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Notes</title> - - <para>Functions described here are available as a shared library, - and can be compiled and linked to using the - <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry> - entry.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-login</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_pid_get_owner_uid</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/sd_watchdog_enabled.xml b/man/sd_watchdog_enabled.xml deleted file mode 100644 index 3de9899453..0000000000 --- a/man/sd_watchdog_enabled.xml +++ /dev/null @@ -1,169 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2013 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="sd_watchdog_enabled" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>sd_watchdog_enabled</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>sd_watchdog_enabled</refentrytitle> - <manvolnum>3</manvolnum> - </refmeta> - - <refnamediv> - <refname>sd_watchdog_enabled</refname> - <refpurpose>Check whether the service manager expects watchdog keep-alive notifications from a service</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <funcsynopsis> - <funcsynopsisinfo>#include <systemd/sd-daemon.h></funcsynopsisinfo> - - <funcprototype> - <funcdef>int <function>sd_watchdog_enabled</function></funcdef> - <paramdef>int <parameter>unset_environment</parameter></paramdef> - <paramdef>uint64_t *<parameter>usec</parameter></paramdef> - </funcprototype> - </funcsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - <para><function>sd_watchdog_enabled()</function> may be called by - a service to detect whether the service manager expects regular - keep-alive watchdog notification events from it, and the timeout - after which the manager will act on the service if it did not get - such a notification.</para> - - <para>If the <varname>$WATCHDOG_USEC</varname> environment - variable is set, and the <varname>$WATCHDOG_PID</varname> variable - is unset or set to the PID of the current process, the service - manager expects notifications from this process. The manager will - usually terminate a service when it does not get a notification - message within the specified time after startup and after each - previous message. It is recommended that a daemon sends a - keep-alive notification message to the service manager every half - of the time returned here. Notification messages may be sent with - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry> - with a message string of <literal>WATCHDOG=1</literal>.</para> - - <para>If the <parameter>unset_environment</parameter> parameter is - non-zero, <function>sd_watchdog_enabled()</function> will unset - the <varname>$WATCHDOG_USEC</varname> and - <varname>$WATCHDOG_PID</varname> environment variables before - returning (regardless of whether the function call itself - succeeded or not). Those variables are no longer inherited by - child processes. Further calls to - <function>sd_watchdog_enabled()</function> will also return with - zero.</para> - - <para>If the <parameter>usec</parameter> parameter is non-NULL, - <function>sd_watchdog_enabled()</function> will write the timeout - in µs for the watchdog logic to it.</para> - - <para>To enable service supervision with the watchdog logic, use - <varname>WatchdogSec=</varname> in service files. See - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details.</para> - - <para>Use - <citerefentry><refentrytitle>sd_event_set_watchdog</refentrytitle><manvolnum>3</manvolnum></citerefentry> - to enable automatic watchdog support in - <citerefentry><refentrytitle>sd-event</refentrytitle><manvolnum>3</manvolnum></citerefentry>-based event loops.</para> - </refsect1> - - <refsect1> - <title>Return Value</title> - - <para>On failure, this call returns a negative errno-style error - code. If the service manager expects watchdog keep-alive - notification messages to be sent, > 0 is returned, otherwise 0 - is returned. Only if the return value is > 0, the - <parameter>usec</parameter> parameter is valid after the - call.</para> - </refsect1> - - <refsect1> - <title>Notes</title> - - <xi:include href="libsystemd-pkgconfig.xml" xpointer="pkgconfig-text"/> - - <para>Internally, this functions parses the - <varname>$WATCHDOG_PID</varname> and - <varname>$WATCHDOG_USEC</varname> environment variable. The call - will ignore these variables if <varname>$WATCHDOG_PID</varname> - does not contain the PID of the current process, under the - assumption that in that case, the variables were set for a - different process further up the process tree.</para> - </refsect1> - - <refsect1> - <title>Environment</title> - - <variablelist class='environment-variables'> - <varlistentry> - <term><varname>$WATCHDOG_PID</varname></term> - - <listitem><para>Set by the system manager for supervised - process for which watchdog support is enabled, and contains - the PID of that process. See above for - details.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$WATCHDOG_USEC</varname></term> - - <listitem><para>Set by the system manager for supervised - process for which watchdog support is enabled, and contains - the watchdog timeout in µs See above for - details.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_event_set_watchdog</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemctl.xml b/man/systemctl.xml deleted file mode 100644 index 991e9bafaf..0000000000 --- a/man/systemctl.xml +++ /dev/null @@ -1,1838 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ -<!ENTITY % entities SYSTEM "custom-entities.ent" > -%entities; -]> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemctl" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemctl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemctl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemctl</refname> - <refpurpose>Control the systemd system and service manager</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemctl</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain">COMMAND</arg> - <arg choice="opt" rep="repeat">NAME</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemctl</command> may be used to introspect and - control the state of the <literal>systemd</literal> system and - service manager. Please refer to - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> - for an introduction into the basic concepts and functionality this - tool manages.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>-t</option></term> - <term><option>--type=</option></term> - - <listitem> - <para>The argument should be a comma-separated list of unit - types such as <option>service</option> and - <option>socket</option>. - </para> - - <para>If one of the arguments is a unit type, when listing - units, limit display to certain unit types. Otherwise, units - of all types will be shown.</para> - - <para>As a special case, if one of the arguments is - <option>help</option>, a list of allowed values will be - printed and the program will exit.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--state=</option></term> - - <listitem> - <para>The argument should be a comma-separated list of unit - LOAD, SUB, or ACTIVE states. When listing units, show only - those in the specified states. Use <option>--state=failed</option> - to show only failed units.</para> - - <para>As a special case, if one of the arguments is - <option>help</option>, a list of allowed values will be - printed and the program will exit.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-p</option></term> - <term><option>--property=</option></term> - - <listitem> - <para>When showing unit/job/manager properties with the - <command>show</command> command, limit display to properties - specified in the argument. The argument should be a - comma-separated list of property names, such as - <literal>MainPID</literal>. Unless specified, all known - properties are shown. If specified more than once, all - properties with the specified names are shown. Shell - completion is implemented for property names.</para> - - <para>For the manager itself, - <command>systemctl show</command> will show all available - properties. Those properties are documented in - <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para> - - <para>Properties for units vary by unit type, so showing any - unit (even a non-existent one) is a way to list properties - pertaining to this type. Similarly, showing any job will list - properties pertaining to all jobs. Properties for units are - documented in - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - and the pages for individual unit types - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - etc.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-a</option></term> - <term><option>--all</option></term> - - <listitem> - <para>When listing units, show all loaded units, regardless - of their state, including inactive units. When showing - unit/job/manager properties, show all properties regardless - whether they are set or not.</para> - <para>To list all units installed on the system, use the - <command>list-unit-files</command> command instead.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-r</option></term> - <term><option>--recursive</option></term> - - <listitem> - <para>When listing units, also show units of local - containers. Units of local containers will be prefixed with - the container name, separated by a single colon character - (<literal>:</literal>).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--reverse</option></term> - - <listitem> - <para>Show reverse dependencies between units with - <command>list-dependencies</command>, i.e. follow - dependencies of type <varname>WantedBy=</varname>, - <varname>RequiredBy=</varname>, - <varname>PartOf=</varname>, <varname>BoundBy=</varname>, - instead of <varname>Wants=</varname> and similar. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--after</option></term> - - <listitem> - <para>With <command>list-dependencies</command>, show the - units that are ordered before the specified unit. In other - words, recursively list units following the - <varname>After=</varname> dependency.</para> - - <para>Note that any <varname>After=</varname> dependency is - automatically mirrored to create a - <varname>Before=</varname> dependency. Temporal dependencies - may be specified explicitly, but are also created implicitly - for units which are <varname>WantedBy=</varname> targets - (see - <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>), - and as a result of other directives (for example - <varname>RequiresMountsFor=</varname>). Both explicitly - and implicitly introduced dependencies are shown with - <command>list-dependencies</command>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--before</option></term> - - <listitem> - <para>With <command>list-dependencies</command>, show the - units that are ordered after the specified unit. In other - words, recursively list units following the - <varname>Before=</varname> dependency.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-l</option></term> - <term><option>--full</option></term> - - <listitem> - <para>Do not ellipsize unit names, process tree entries, - journal output, or truncate unit descriptions in the output - of <command>status</command>, <command>list-units</command>, - <command>list-jobs</command>, and - <command>list-timers</command>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--value</option></term> - - <listitem> - <para>When printing properties with <command>show</command>, - only print the value, and skip the property name and - <literal>=</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--show-types</option></term> - - <listitem> - <para>When showing sockets, show the type of the socket.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--job-mode=</option></term> - - <listitem> - <para>When queuing a new job, this option controls how to deal with - already queued jobs. It takes one of <literal>fail</literal>, - <literal>replace</literal>, - <literal>replace-irreversibly</literal>, - <literal>isolate</literal>, - <literal>ignore-dependencies</literal>, - <literal>ignore-requirements</literal> or - <literal>flush</literal>. Defaults to - <literal>replace</literal>, except when the - <command>isolate</command> command is used which implies the - <literal>isolate</literal> job mode.</para> - - <para>If <literal>fail</literal> is specified and a requested - operation conflicts with a pending job (more specifically: - causes an already pending start job to be reversed into a stop - job or vice versa), cause the operation to fail.</para> - - <para>If <literal>replace</literal> (the default) is - specified, any conflicting pending job will be replaced, as - necessary.</para> - - <para>If <literal>replace-irreversibly</literal> is specified, - operate like <literal>replace</literal>, but also mark the new - jobs as irreversible. This prevents future conflicting - transactions from replacing these jobs (or even being enqueued - while the irreversible jobs are still pending). Irreversible - jobs can still be cancelled using the <command>cancel</command> - command.</para> - - <para><literal>isolate</literal> is only valid for start - operations and causes all other units to be stopped when the - specified unit is started. This mode is always used when the - <command>isolate</command> command is used.</para> - - <para><literal>flush</literal> will cause all queued jobs to - be canceled when the new job is enqueued.</para> - - <para>If <literal>ignore-dependencies</literal> is specified, - then all unit dependencies are ignored for this new job and - the operation is executed immediately. If passed, no required - units of the unit passed will be pulled in, and no ordering - dependencies will be honored. This is mostly a debugging and - rescue tool for the administrator and should not be used by - applications.</para> - - <para><literal>ignore-requirements</literal> is similar to - <literal>ignore-dependencies</literal>, but only causes the - requirement dependencies to be ignored, the ordering - dependencies will still be honoured.</para> - </listitem> - - </varlistentry> - - <varlistentry> - <term><option>--fail</option></term> - - <listitem> - <para>Shorthand for <option>--job-mode=</option>fail.</para> - <para>When used with the <command>kill</command> command, - if no units were killed, the operation results in an error. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-i</option></term> - <term><option>--ignore-inhibitors</option></term> - - <listitem> - <para>When system shutdown or a sleep state is requested, - ignore inhibitor locks. Applications can establish inhibitor - locks to avoid that certain important operations (such as CD - burning or suchlike) are interrupted by system shutdown or a - sleep state. Any user may take these locks and privileged - users may override these locks. If any locks are taken, - shutdown and sleep state requests will normally fail - (regardless of whether privileged or not) and a list of active locks - is printed. However, if <option>--ignore-inhibitors</option> - is specified, the locks are ignored and not printed, and the - operation attempted anyway, possibly requiring additional - privileges.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-q</option></term> - <term><option>--quiet</option></term> - - <listitem> - <para>Suppress printing of the results of various commands - and also the hints about truncated log lines. This does not - suppress output of commands for which the printed output is - the only result (like <command>show</command>). Errors are - always printed.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-block</option></term> - - <listitem> - <para>Do not synchronously wait for the requested operation - to finish. If this is not specified, the job will be - verified, enqueued and <command>systemctl</command> will - wait until the unit's start-up is completed. By passing this - argument, it is only verified and enqueued.</para> - </listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="user" /> - <xi:include href="user-system-options.xml" xpointer="system" /> - - <!-- we do not document -failed here, as it has been made - redundant by -state=failed, which it predates. To keep - things simple, we only document the new switch, while - keeping the old one around for compatibility only. --> - - <varlistentry> - <term><option>--no-wall</option></term> - - <listitem> - <para>Do not send wall message before halt, power-off, - reboot.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--global</option></term> - - <listitem> - <para>When used with <command>enable</command> and - <command>disable</command>, operate on the global user - configuration directory, thus enabling or disabling a unit - file globally for all future logins of all users.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-reload</option></term> - - <listitem> - <para>When used with <command>enable</command> and - <command>disable</command>, do not implicitly reload daemon - configuration after executing the changes.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-ask-password</option></term> - - <listitem> - <para>When used with <command>start</command> and related - commands, disables asking for passwords. Background services - may require input of a password or passphrase string, for - example to unlock system hard disks or cryptographic - certificates. Unless this option is specified and the - command is invoked from a terminal, - <command>systemctl</command> will query the user on the - terminal for the necessary secrets. Use this option to - switch this behavior off. In this case, the password must be - supplied by some other means (for example graphical password - agents) or the service might fail. This also disables - querying the user for authentication for privileged - operations.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--kill-who=</option></term> - - <listitem> - <para>When used with <command>kill</command>, choose which - processes to send a signal to. Must be one of - <option>main</option>, <option>control</option> or - <option>all</option> to select whether to kill only the main - process, the control process or all processes of the - unit. The main process of the unit is the one that defines - the life-time of it. A control process of a unit is one that - is invoked by the manager to induce state changes of it. For - example, all processes started due to the - <varname>ExecStartPre=</varname>, - <varname>ExecStop=</varname> or - <varname>ExecReload=</varname> settings of service units are - control processes. Note that there is only one control - process per unit at a time, as only one state change is - executed at a time. For services of type - <varname>Type=forking</varname>, the initial process started - by the manager for <varname>ExecStart=</varname> is a - control process, while the process ultimately forked off by - that one is then considered the main process of the unit (if - it can be determined). This is different for service units - of other types, where the process forked off by the manager - for <varname>ExecStart=</varname> is always the main process - itself. A service unit consists of zero or one main process, - zero or one control process plus any number of additional - processes. Not all unit types manage processes of these - types however. For example, for mount units, control processes - are defined (which are the invocations of - <filename>&MOUNT_PATH;</filename> and - <filename>&UMOUNT_PATH;</filename>), but no main process - is defined. If omitted, defaults to - <option>all</option>.</para> - </listitem> - - </varlistentry> - - <varlistentry> - <term><option>-s</option></term> - <term><option>--signal=</option></term> - - <listitem> - <para>When used with <command>kill</command>, choose which - signal to send to selected processes. Must be one of the - well-known signal specifiers such as <constant>SIGTERM</constant>, <constant>SIGINT</constant> or - <constant>SIGSTOP</constant>. If omitted, defaults to - <option>SIGTERM</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-f</option></term> - <term><option>--force</option></term> - - <listitem> - <para>When used with <command>enable</command>, overwrite - any existing conflicting symlinks.</para> - - <para>When used with <command>halt</command>, - <command>poweroff</command>, <command>reboot</command> or - <command>kexec</command>, execute the selected operation - without shutting down all units. However, all processes will - be killed forcibly and all file systems are unmounted or - remounted read-only. This is hence a drastic but relatively - safe option to request an immediate reboot. If - <option>--force</option> is specified twice for these - operations, they will be executed immediately without - terminating any processes or unmounting any file - systems. Warning: specifying <option>--force</option> twice - with any of these operations might result in data - loss.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--message=</option></term> - - <listitem> - <para>When used with <command>halt</command>, - <command>poweroff</command>, <command>reboot</command> or - <command>kexec</command>, set a short message explaining the reason - for the operation. The message will be logged together with the - default shutdown message.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--now</option></term> - - <listitem> - <para>When used with <command>enable</command>, the units - will also be started. When used with <command>disable</command> or - <command>mask</command>, the units will also be stopped. The start - or stop operation is only carried out when the respective enable or - disable operation has been successful.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--root=</option></term> - - <listitem> - <para>When used with - <command>enable</command>/<command>disable</command>/<command>is-enabled</command> - (and related commands), use an alternate root path when - looking for unit files.</para> - </listitem> - - </varlistentry> - - <varlistentry> - <term><option>--runtime</option></term> - - <listitem> - <para>When used with <command>enable</command>, - <command>disable</command>, <command>edit</command>, - (and related commands), make changes only temporarily, so - that they are lost on the next reboot. This will have the - effect that changes are not made in subdirectories of - <filename>/etc</filename> but in <filename>/run</filename>, - with identical immediate effects, however, since the latter - is lost on reboot, the changes are lost too.</para> - - <para>Similarly, when used with - <command>set-property</command>, make changes only - temporarily, so that they are lost on the next - reboot.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--preset-mode=</option></term> - - <listitem> - <para>Takes one of <literal>full</literal> (the default), - <literal>enable-only</literal>, - <literal>disable-only</literal>. When used with the - <command>preset</command> or <command>preset-all</command> - commands, controls whether units shall be disabled and - enabled according to the preset rules, or only enabled, or - only disabled.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-n</option></term> - <term><option>--lines=</option></term> - - <listitem> - <para>When used with <command>status</command>, controls the - number of journal lines to show, counting from the most - recent ones. Takes a positive integer argument. Defaults to - 10.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-o</option></term> - <term><option>--output=</option></term> - - <listitem> - <para>When used with <command>status</command>, controls the - formatting of the journal entries that are shown. For the - available choices, see - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - Defaults to <literal>short</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--firmware-setup</option></term> - - <listitem> - <para>When used with the <command>reboot</command> command, - indicate to the system's firmware to boot into setup - mode. Note that this is currently only supported on some EFI - systems and only if the system was booted in EFI - mode.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--plain</option></term> - - <listitem> - <para>When used with <command>list-dependencies</command>, - <command>list-units</command> or <command>list-machines</command>, the - the output is printed as a list instead of a tree, and the bullet - circles are omitted.</para> - </listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="host" /> - <xi:include href="user-system-options.xml" xpointer="machine" /> - - <xi:include href="standard-options.xml" xpointer="no-pager" /> - <xi:include href="standard-options.xml" xpointer="no-legend" /> - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Commands</title> - - <para>The following commands are understood:</para> - - <refsect2> - <title>Unit Commands</title> - - <variablelist> - <varlistentry> - <term><command>list-units <optional><replaceable>PATTERN</replaceable>...</optional></command></term> - - <listitem> - <para>List known units (subject to limitations specified - with <option>-t</option>). If one or more - <replaceable>PATTERN</replaceable>s are specified, only - units matching one of them are shown.</para> - - <para>This is the default command.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>list-sockets <optional><replaceable>PATTERN</replaceable>...</optional></command></term> - - <listitem> - <para>List socket units ordered by listening address. - If one or more <replaceable>PATTERN</replaceable>s are - specified, only socket units matching one of them are - shown. Produces output similar to - <programlisting> -LISTEN UNIT ACTIVATES -/dev/initctl systemd-initctl.socket systemd-initctl.service -... -[::]:22 sshd.socket sshd.service -kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service - -5 sockets listed.</programlisting> - Note: because the addresses might contains spaces, this output - is not suitable for programmatic consumption. - </para> - - <para>See also the options <option>--show-types</option>, - <option>--all</option>, and <option>--state=</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>list-timers <optional><replaceable>PATTERN</replaceable>...</optional></command></term> - - <listitem> - <para>List timer units ordered by the time they elapse - next. If one or more <replaceable>PATTERN</replaceable>s - are specified, only units matching one of them are shown. - </para> - - <para>See also the options <option>--all</option> and - <option>--state=</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>start <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Start (activate) one or more units specified on the - command line.</para> - - <para>Note that glob patterns operate on the set of primary names of currently loaded units. Units which - are not active and are not in a failed state usually are not loaded, and will not be matched by any - pattern. In addition, in case of instantiated units, systemd is often unaware of the instance name until - the instance has been started. Therefore, using glob patterns with <command>start</command> has limited - usefulness. Also, secondary alias names of units are not considered.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>stop <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Stop (deactivate) one or more units specified on the - command line.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>reload <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Asks all units listed on the command line to reload - their configuration. Note that this will reload the - service-specific configuration, not the unit configuration - file of systemd. If you want systemd to reload the - configuration file of a unit, use the - <command>daemon-reload</command> command. In other words: - for the example case of Apache, this will reload Apache's - <filename>httpd.conf</filename> in the web server, not the - <filename>apache.service</filename> systemd unit - file.</para> - - <para>This command should not be confused with the - <command>daemon-reload</command> command.</para> - </listitem> - - </varlistentry> - <varlistentry> - <term><command>restart <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Restart one or more units specified on the command - line. If the units are not running yet, they will be - started.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>try-restart <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Restart one or more units specified on the command - line if the units are running. This does nothing if units are not - running.</para> - <!-- Note that we don't document condrestart here, as that is just compatibility support, and we generally - don't document that. --> - </listitem> - </varlistentry> - <varlistentry> - <term><command>reload-or-restart <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Reload one or more units if they support it. If not, - restart them instead. If the units are not running yet, they - will be started.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>try-reload-or-restart <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Reload one or more units if they support it. If not, - restart them instead. This does nothing if the units are not - running.</para> - <!-- Note that we don't document force-reload here, as that is just compatibility support, and we generally - don't document that. --> - </listitem> - </varlistentry> - <varlistentry> - <term><command>isolate <replaceable>NAME</replaceable></command></term> - - <listitem> - <para>Start the unit specified on the command line and its - dependencies and stop all others. If a unit name with no - extension is given, an extension of - <literal>.target</literal> will be assumed.</para> - - <para>This is similar to changing the runlevel in a - traditional init system. The <command>isolate</command> - command will immediately stop processes that are not enabled - in the new unit, possibly including the graphical - environment or terminal you are currently using.</para> - - <para>Note that this is allowed only on units where - <option>AllowIsolate=</option> is enabled. See - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>kill <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Send a signal to one or more processes of the - unit. Use <option>--kill-who=</option> to select which - process to kill. Use <option>--signal=</option> to select - the signal to send.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>is-active <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Check whether any of the specified units are active - (i.e. running). Returns an exit code - <constant>0</constant> if at least one is active, or - non-zero otherwise. Unless <option>--quiet</option> is - specified, this will also print the current unit state to - standard output.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>is-failed <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Check whether any of the specified units are in a - "failed" state. Returns an exit code - <constant>0</constant> if at least one has failed, - non-zero otherwise. Unless <option>--quiet</option> is - specified, this will also print the current unit state to - standard output.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>status</command> <optional><replaceable>PATTERN</replaceable>...|<replaceable>PID</replaceable>...]</optional></term> - - <listitem> - <para>Show terse runtime status information about one or - more units, followed by most recent log data from the - journal. If no units are specified, show system status. If - combined with <option>--all</option>, also show the status of - all units (subject to limitations specified with - <option>-t</option>). If a PID is passed, show information - about the unit the process belongs to.</para> - - <para>This function is intended to generate human-readable - output. If you are looking for computer-parsable output, - use <command>show</command> instead. By default, this - function only shows 10 lines of output and ellipsizes - lines to fit in the terminal window. This can be changed - with <option>--lines</option> and <option>--full</option>, - see above. In addition, <command>journalctl - --unit=<replaceable>NAME</replaceable></command> or - <command>journalctl - --user-unit=<replaceable>NAME</replaceable></command> use - a similar filter for messages and might be more - convenient. - </para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>show</command> <optional><replaceable>PATTERN</replaceable>...|<replaceable>JOB</replaceable>...</optional></term> - - <listitem> - <para>Show properties of one or more units, jobs, or the - manager itself. If no argument is specified, properties of - the manager will be shown. If a unit name is specified, - properties of the unit is shown, and if a job ID is - specified, properties of the job is shown. By default, empty - properties are suppressed. Use <option>--all</option> to - show those too. To select specific properties to show, use - <option>--property=</option>. This command is intended to be - used whenever computer-parsable output is required. Use - <command>status</command> if you are looking for formatted - human-readable output.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>cat <replaceable>PATTERN</replaceable>...</command></term> - - <listitem> - <para>Show backing files of one or more units. Prints the - "fragment" and "drop-ins" (source files) of units. Each - file is preceded by a comment which includes the file - name.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>set-property <replaceable>NAME</replaceable> <replaceable>ASSIGNMENT</replaceable>...</command></term> - - <listitem> - <para>Set the specified unit properties at runtime where - this is supported. This allows changing configuration - parameter properties such as resource control settings at - runtime. Not all properties may be changed at runtime, but - many resource control settings (primarily those in - <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>) - may. The changes are applied instantly, and stored on disk - for future boots, unless <option>--runtime</option> is - passed, in which case the settings only apply until the - next reboot. The syntax of the property assignment follows - closely the syntax of assignments in unit files.</para> - - <para>Example: <command>systemctl set-property foobar.service CPUShares=777</command></para> - - <para>If the specified unit appears to be inactive, the - changes will be only stored on disk as described - previously hence they will be effective when the unit will - be started.</para> - - <para>Note that this command allows changing multiple - properties at the same time, which is preferable over - setting them individually. Like unit file configuration - settings, assigning the empty list to list parameters will - reset the list.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>help <replaceable>PATTERN</replaceable>...|<replaceable>PID</replaceable>...</command></term> - - <listitem> - <para>Show manual pages for one or more units, if - available. If a PID is given, the manual pages for the unit - the process belongs to are shown.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>reset-failed [<replaceable>PATTERN</replaceable>...]</command></term> - - <listitem> - <para>Reset the <literal>failed</literal> state of the - specified units, or if no unit name is passed, reset the state of all - units. When a unit fails in some way (i.e. process exiting - with non-zero error code, terminating abnormally or timing - out), it will automatically enter the - <literal>failed</literal> state and its exit code and status - is recorded for introspection by the administrator until the - service is restarted or reset with this command.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term> - <command>list-dependencies</command> - <optional><replaceable>NAME</replaceable></optional> - </term> - - <listitem> - <para>Shows units required and wanted by the specified - unit. This recursively lists units following the - <varname>Requires=</varname>, - <varname>Requisite=</varname>, - <varname>ConsistsOf=</varname>, - <varname>Wants=</varname>, <varname>BindsTo=</varname> - dependencies. If no unit is specified, - <filename>default.target</filename> is implied.</para> - - <para>By default, only target units are recursively - expanded. When <option>--all</option> is passed, all other - units are recursively expanded as well.</para> - - <para>Options <option>--reverse</option>, - <option>--after</option>, <option>--before</option> - may be used to change what types of dependencies - are shown.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2> - <title>Unit File Commands</title> - - <variablelist> - <varlistentry> - <term><command>list-unit-files <optional><replaceable>PATTERN...</replaceable></optional></command></term> - - <listitem> - <para>List installed unit files and their enablement state - (as reported by <command>is-enabled</command>). If one or - more <replaceable>PATTERN</replaceable>s are specified, - only units whose filename (just the last component of the - path) matches one of them are shown.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>enable <replaceable>NAME</replaceable>...</command></term> - - <listitem> - <para>Enable one or more unit files or unit file instances, - as specified on the command line. This will create a number - of symlinks as encoded in the <literal>[Install]</literal> - sections of the unit files. After the symlinks have been - created, the systemd configuration is reloaded (in a way that - is equivalent to <command>daemon-reload</command>) to ensure - the changes are taken into account immediately. Note that - this does <emphasis>not</emphasis> have the effect of also - starting any of the units being enabled. If this - is desired, either <option>--now</option> should be used - together with this command, or an additional <command>start</command> - command must be invoked for the unit. Also note that, in case of - instance enablement, symlinks named the same as instances - are created in the install location, however they all point to the - same template unit file.</para> - - <para>This command will print the actions executed. This - output may be suppressed by passing <option>--quiet</option>. - </para> - - <para>Note that this operation creates only the suggested - symlinks for the units. While this command is the - recommended way to manipulate the unit configuration - directory, the administrator is free to make additional - changes manually by placing or removing symlinks in the - directory. This is particularly useful to create - configurations that deviate from the suggested default - installation. In this case, the administrator must make sure - to invoke <command>daemon-reload</command> manually as - necessary to ensure the changes are taken into account. - </para> - - <para>Enabling units should not be confused with starting - (activating) units, as done by the <command>start</command> - command. Enabling and starting units is orthogonal: units - may be enabled without being started and started without - being enabled. Enabling simply hooks the unit into various - suggested places (for example, so that the unit is - automatically started on boot or when a particular kind of - hardware is plugged in). Starting actually spawns the daemon - process (in case of service units), or binds the socket (in - case of socket units), and so on.</para> - - <para>Depending on whether <option>--system</option>, - <option>--user</option>, <option>--runtime</option>, - or <option>--global</option> is specified, this enables the unit - for the system, for the calling user only, for only this boot of - the system, or for all future logins of all users, or only this - boot. Note that in the last case, no systemd daemon - configuration is reloaded.</para> - - <para>Using <command>enable</command> on masked units - results in an error.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>disable <replaceable>NAME</replaceable>...</command></term> - - <listitem> - <para>Disables one or more units. This removes all symlinks - to the specified unit files from the unit configuration - directory, and hence undoes the changes made by - <command>enable</command>. Note however that this removes - all symlinks to the unit files (i.e. including manual - additions), not just those actually created by - <command>enable</command>. This call implicitly reloads the - systemd daemon configuration after completing the disabling - of the units. Note that this command does not implicitly - stop the units that are being disabled. If this is desired, either - <option>--now</option> should be used together with this command, or - an additional <command>stop</command> command should be executed - afterwards.</para> - - <para>This command will print the actions executed. This - output may be suppressed by passing <option>--quiet</option>. - </para> - - <para>This command honors <option>--system</option>, - <option>--user</option>, <option>--runtime</option> and - <option>--global</option> in a similar way as - <command>enable</command>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>reenable <replaceable>NAME</replaceable>...</command></term> - - <listitem> - <para>Reenable one or more unit files, as specified on the - command line. This is a combination of - <command>disable</command> and <command>enable</command> and - is useful to reset the symlinks a unit is enabled with to - the defaults configured in the <literal>[Install]</literal> - section of the unit file.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>preset <replaceable>NAME</replaceable>...</command></term> - - <listitem> - <para>Reset the enable/disable status one or more unit files, as specified on - the command line, to the defaults configured in the preset policy files. This - has the same effect as <command>disable</command> or - <command>enable</command>, depending how the unit is listed in the preset - files.</para> - - <para>Use <option>--preset-mode=</option> to control whether units shall be - enabled and disabled, or only enabled, or only disabled.</para> - - <para>If the unit carries no install information, it will be silently ignored - by this command.</para> - - <para>For more information on the preset policy format, see - <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - For more information on the concept of presets, please consult the - <ulink url="http://freedesktop.org/wiki/Software/systemd/Preset">Preset</ulink> - document.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>preset-all</command></term> - - <listitem> - <para>Resets all installed unit files to the defaults - configured in the preset policy file (see above).</para> - - <para>Use <option>--preset-mode=</option> to control - whether units shall be enabled and disabled, or only - enabled, or only disabled.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>is-enabled <replaceable>NAME</replaceable>...</command></term> - - <listitem> - <para>Checks whether any of the specified unit files are - enabled (as with <command>enable</command>). Returns an - exit code of 0 if at least one is enabled, non-zero - otherwise. Prints the current enable status (see table). - To suppress this output, use <option>--quiet</option>. - </para> - - <table> - <title> - <command>is-enabled</command> output - </title> - - <tgroup cols='3'> - <thead> - <row> - <entry>Name</entry> - <entry>Description</entry> - <entry>Exit Code</entry> - </row> - </thead> - <tbody> - <row> - <entry><literal>enabled</literal></entry> - <entry morerows='1'>Enabled via <filename>.wants/</filename>, <filename>.requires/</filename> or alias symlinks (permanently in <filename>/etc/systemd/system/</filename>, or transiently in <filename>/run/systemd/system/</filename>).</entry> - <entry morerows='1'>0</entry> - </row> - <row> - <entry><literal>enabled-runtime</literal></entry> - </row> - <row> - <entry><literal>linked</literal></entry> - <entry morerows='1'>Made available through one or more symlinks to the unit file (permanently in <filename>/etc/systemd/system/</filename> or transiently in <filename>/run/systemd/system/</filename>), even though the unit file might reside outside of the unit file search path.</entry> - <entry morerows='1'>> 0</entry> - </row> - <row> - <entry><literal>linked-runtime</literal></entry> - </row> - <row> - <entry><literal>masked</literal></entry> - <entry morerows='1'>Completely disabled, so that any start operation on it fails (permanently in <filename>/etc/systemd/system/</filename> or transiently in <filename>/run/systemd/systemd/</filename>).</entry> - <entry morerows='1'>> 0</entry> - </row> - <row> - <entry><literal>masked-runtime</literal></entry> - </row> - <row> - <entry><literal>static</literal></entry> - <entry>The unit file is not enabled, and has no provisions for enabling in the <literal>[Install]</literal> unit file section.</entry> - <entry>0</entry> - </row> - <row> - <entry><literal>indirect</literal></entry> - <entry>The unit file itself is not enabled, but it has a non-empty <varname>Also=</varname> setting in the <literal>[Install]</literal> unit file section, listing other unit files that might be enabled.</entry> - <entry>0</entry> - </row> - <row> - <entry><literal>disabled</literal></entry> - <entry>The unit file is not enabled, but contains an <literal>[Install]</literal> section with installation instructions.</entry> - <entry>> 0</entry> - </row> - <row> - <entry><literal>generated</literal></entry> - <entry>The unit file was generated dynamically via a generator tool. See <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>. Generated unit files may not be enabled, they are enabled implicitly by their generator.</entry> - <entry>0</entry> - </row> - <row> - <entry><literal>transient</literal></entry> - <entry>The unit file has been created dynamically with the runtime API. Transient units may not be enabled.</entry> - <entry>0</entry> - </row> - <row> - <entry><literal>bad</literal></entry> - <entry>The unit file is invalid or another error occurred. Note that <command>is-enabled</command> will not actually return this state, but print an error message instead. However the unit file listing printed by <command>list-unit-files</command> might show it.</entry> - <entry>> 0</entry> - </row> - </tbody> - </tgroup> - </table> - - </listitem> - </varlistentry> - - <varlistentry> - <term><command>mask <replaceable>NAME</replaceable>...</command></term> - - <listitem> - <para>Mask one or more unit files, as specified on the - command line. This will link these units to - <filename>/dev/null</filename>, making it impossible to - start them. This is a stronger version of - <command>disable</command>, since it prohibits all kinds of - activation of the unit, including enablement and manual - activation. Use this option with care. This honors the - <option>--runtime</option> option to only mask temporarily - until the next reboot of the system. The <option>--now</option> - option can be used to ensure that the units are also stopped.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>unmask <replaceable>NAME</replaceable>...</command></term> - - <listitem> - <para>Unmask one or more unit files, as specified on the - command line. This will undo the effect of - <command>mask</command>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>link <replaceable>FILENAME</replaceable>...</command></term> - - <listitem> - <para>Link a unit file that is not in the unit file search - paths into the unit file search path. This requires an - absolute path to a unit file. The effect of this can be - undone with <command>disable</command>. The effect of this - command is that a unit file is available for - <command>start</command> and other commands although it - is not installed directly in the unit search path.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>revert <replaceable>NAME</replaceable>...</command></term> - - <listitem> - <para>Revert one or more unit files to their vendor versions. This command removes drop-in configuration - files that modify the specified units, as well as any user-configured unit file that overrides a matching - vendor supplied unit file. Specifically, for a unit <literal>foo.service</literal> the matching directories - <literal>foo.service.d/</literal> with all their contained files are removed, both below the persistent and - runtime configuration directories (i.e. below <filename>/etc/systemd/system</filename> and - <filename>/run/systemd/system</filename>); if the unit file has a vendor-supplied version (i.e. a unit file - located below <filename>/usr</filename>) any matching peristent or runtime unit file that overrides it is - removed, too. Note that if a unit file has no vendor-supplied version (i.e. is only defined below - <filename>/etc/systemd/system</filename> or <filename>/run/systemd/system</filename>, but not in a unit - file stored below <filename>/usr</filename>), then it is not removed. Also, if a unit is masked, it is - unmasked.</para> - - <para>Effectively, this command may be used to undo all changes made with <command>systemctl - edit</command>, <command>systemctl set-property</command> and <command>systemctl mask</command> and puts - the original unit file with its settings back in effect.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>add-wants <replaceable>TARGET</replaceable> - <replaceable>NAME</replaceable>...</command></term> - <term><command>add-requires <replaceable>TARGET</replaceable> - <replaceable>NAME</replaceable>...</command></term> - - <listitem> - <para>Adds <literal>Wants=</literal> or <literal>Requires=</literal> - dependencies, respectively, to the specified - <replaceable>TARGET</replaceable> for one or more units. </para> - - <para>This command honors <option>--system</option>, - <option>--user</option>, <option>--runtime</option> and - <option>--global</option> in a way similar to - <command>enable</command>.</para> - - </listitem> - </varlistentry> - - <varlistentry> - <term><command>edit <replaceable>NAME</replaceable>...</command></term> - - <listitem> - <para>Edit a drop-in snippet or a whole replacement file if - <option>--full</option> is specified, to extend or override the - specified unit.</para> - - <para>Depending on whether <option>--system</option> (the default), - <option>--user</option>, or <option>--global</option> is specified, - this command creates a drop-in file for each unit either for the system, - for the calling user, or for all futures logins of all users. Then, - the editor (see the "Environment" section below) is invoked on - temporary files which will be written to the real location if the - editor exits successfully.</para> - - <para>If <option>--full</option> is specified, this will copy the - original units instead of creating drop-in files.</para> - - <para>If <option>--runtime</option> is specified, the changes will - be made temporarily in <filename>/run</filename> and they will be - lost on the next reboot.</para> - - <para>If the temporary file is empty upon exit, the modification of - the related unit is canceled.</para> - - <para>After the units have been edited, systemd configuration is - reloaded (in a way that is equivalent to <command>daemon-reload</command>). - </para> - - <para>Note that this command cannot be used to remotely edit units - and that you cannot temporarily edit units which are in - <filename>/etc</filename>, since they take precedence over - <filename>/run</filename>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>get-default</command></term> - - <listitem> - <para>Return the default target to boot into. This returns - the target unit name <filename>default.target</filename> - is aliased (symlinked) to.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>set-default <replaceable>NAME</replaceable></command></term> - - <listitem> - <para>Set the default target to boot into. This sets - (symlinks) the <filename>default.target</filename> alias - to the given target unit.</para> - </listitem> - </varlistentry> - - </variablelist> - </refsect2> - - <refsect2> - <title>Machine Commands</title> - - <variablelist> - <varlistentry> - <term><command>list-machines <optional><replaceable>PATTERN</replaceable>...</optional></command></term> - - <listitem> - <para>List the host and all running local containers with - their state. If one or more - <replaceable>PATTERN</replaceable>s are specified, only - containers matching one of them are shown. - </para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2> - <title>Job Commands</title> - - <variablelist> - <varlistentry> - <term><command>list-jobs <optional><replaceable>PATTERN...</replaceable></optional></command></term> - - <listitem> - <para>List jobs that are in progress. If one or more - <replaceable>PATTERN</replaceable>s are specified, only - jobs for units matching one of them are shown.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>cancel <replaceable>JOB</replaceable>...</command></term> - - <listitem> - <para>Cancel one or more jobs specified on the command line - by their numeric job IDs. If no job ID is specified, cancel - all pending jobs.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2> - <title>Environment Commands</title> - - <variablelist> - <varlistentry> - <term><command>show-environment</command></term> - - <listitem> - <para>Dump the systemd manager environment block. The - environment block will be dumped in straight-forward form - suitable for sourcing into a shell script. This environment - block will be passed to all processes the manager - spawns.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>set-environment <replaceable>VARIABLE=VALUE</replaceable>...</command></term> - - <listitem> - <para>Set one or more systemd manager environment variables, - as specified on the command line.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>unset-environment <replaceable>VARIABLE</replaceable>...</command></term> - - <listitem> - <para>Unset one or more systemd manager environment - variables. If only a variable name is specified, it will be - removed regardless of its value. If a variable and a value - are specified, the variable is only removed if it has the - specified value.</para> - </listitem> - </varlistentry> - <varlistentry> - <term> - <command>import-environment</command> - <optional><replaceable>VARIABLE...</replaceable></optional> - </term> - - <listitem> - <para>Import all, one or more environment variables set on - the client into the systemd manager environment block. If - no arguments are passed, the entire environment block is - imported. Otherwise, a list of one or more environment - variable names should be passed, whose client-side values - are then imported into the manager's environment - block.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2> - <title>Manager Lifecycle Commands</title> - - <variablelist> - <varlistentry> - <term><command>daemon-reload</command></term> - - <listitem> - <para>Reload the systemd manager configuration. This will - rerun all generators (see - <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>), - reload all unit files, and recreate the entire dependency - tree. While the daemon is being reloaded, all sockets - systemd listens on behalf of user configuration will stay - accessible.</para> - - <para>This command should not be confused with the - <command>reload</command> command.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>daemon-reexec</command></term> - - <listitem> - <para>Reexecute the systemd manager. This will serialize the - manager state, reexecute the process and deserialize the - state again. This command is of little use except for - debugging and package upgrades. Sometimes, it might be - helpful as a heavy-weight <command>daemon-reload</command>. - While the daemon is being reexecuted, all sockets systemd listening - on behalf of user configuration will stay accessible. - </para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2> - <title>System Commands</title> - - <variablelist> - <varlistentry> - <term><command>is-system-running</command></term> - - <listitem> - <para>Checks whether the system is operational. This - returns success (exit code 0) when the system is fully up - and running, specifically not in startup, shutdown or - maintenance mode, and with no failed services. Failure is - returned otherwise (exit code non-zero). In addition, the - current state is printed in a short string to standard - output, see the table below. Use <option>--quiet</option> to - suppress this output.</para> - - <table> - <title><command>is-system-running</command> output</title> - <tgroup cols='3'> - <colspec colname='name'/> - <colspec colname='description'/> - <colspec colname='exit-code'/> - <thead> - <row> - <entry>Name</entry> - <entry>Description</entry> - <entry>Exit Code</entry> - </row> - </thead> - <tbody> - <row> - <entry><varname>initializing</varname></entry> - <entry><para>Early bootup, before - <filename>basic.target</filename> is reached - or the <varname>maintenance</varname> state entered. - </para></entry> - <entry>> 0</entry> - </row> - <row> - <entry><varname>starting</varname></entry> - <entry><para>Late bootup, before the job queue - becomes idle for the first time, or one of the - rescue targets are reached.</para></entry> - <entry>> 0</entry> - </row> - <row> - <entry><varname>running</varname></entry> - <entry><para>The system is fully - operational.</para></entry> - <entry>0</entry> - </row> - <row> - <entry><varname>degraded</varname></entry> - <entry><para>The system is operational but one or more - units failed.</para></entry> - <entry>> 0</entry> - </row> - <row> - <entry><varname>maintenance</varname></entry> - <entry><para>The rescue or emergency target is - active.</para></entry> - <entry>> 0</entry> - </row> - <row> - <entry><varname>stopping</varname></entry> - <entry><para>The manager is shutting - down.</para></entry> - <entry>> 0</entry> - </row> - <row> - <entry><varname>offline</varname></entry> - <entry><para>The manager is not - running. Specifically, this is the operational - state if an incompatible program is running as - system manager (PID 1).</para></entry> - <entry>> 0</entry> - </row> - <row> - <entry><varname>unknown</varname></entry> - <entry><para>The operational state could not be - determined, due to lack of resources or another - error cause.</para></entry> - <entry>> 0</entry> - </row> - </tbody> - </tgroup> - </table> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>default</command></term> - - <listitem> - <para>Enter default mode. This is mostly equivalent to - <command>isolate default.target</command>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>rescue</command></term> - - <listitem> - <para>Enter rescue mode. This is mostly equivalent to - <command>isolate rescue.target</command>, but also prints a - wall message to all users.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>emergency</command></term> - - <listitem> - <para>Enter emergency mode. This is mostly equivalent to - <command>isolate emergency.target</command>, but also prints - a wall message to all users.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>halt</command></term> - - <listitem> - <para>Shut down and halt the system. This is mostly equivalent to - <command>start halt.target --job-mode=replace-irreversibly</command>, but also - prints a wall message to all users. If combined with - <option>--force</option>, shutdown of all running services is - skipped, however all processes are killed and all file - systems are unmounted or mounted read-only, immediately - followed by the system halt. If <option>--force</option> is - specified twice, the operation is immediately executed - without terminating any processes or unmounting any file - systems. This may result in data loss.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>poweroff</command></term> - - <listitem> - <para>Shut down and power-off the system. This is mostly - equivalent to <command>start poweroff.target --job-mode=replace-irreversibly</command>, - but also prints a wall message to all users. If combined with - <option>--force</option>, shutdown of all running services is - skipped, however all processes are killed and all file - systems are unmounted or mounted read-only, immediately - followed by the powering off. If <option>--force</option> is - specified twice, the operation is immediately executed - without terminating any processes or unmounting any file - systems. This may result in data loss.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><command>reboot <optional><replaceable>arg</replaceable></optional></command></term> - - <listitem> - <para>Shut down and reboot the system. This is mostly - equivalent to <command>start reboot.target --job-mode=replace-irreversibly</command>, - but also prints a wall message to all users. If combined with - <option>--force</option>, shutdown of all running services is - skipped, however all processes are killed and all file - systems are unmounted or mounted read-only, immediately - followed by the reboot. If <option>--force</option> is - specified twice, the operation is immediately executed - without terminating any processes or unmounting any file - systems. This may result in data loss.</para> - - <para>If the optional argument - <replaceable>arg</replaceable> is given, it will be passed - as the optional argument to the - <citerefentry><refentrytitle>reboot</refentrytitle><manvolnum>2</manvolnum></citerefentry> - system call. The value is architecture and firmware - specific. As an example, <literal>recovery</literal> might - be used to trigger system recovery, and - <literal>fota</literal> might be used to trigger a - <quote>firmware over the air</quote> update.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>kexec</command></term> - - <listitem> - <para>Shut down and reboot the system via kexec. This is - mostly equivalent to <command>start kexec.target --job-mode=replace-irreversibly</command>, - but also prints a wall message to all users. If combined - with <option>--force</option>, shutdown of all running - services is skipped, however all processes are killed and - all file systems are unmounted or mounted read-only, - immediately followed by the reboot.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>exit <optional><replaceable>EXIT_CODE</replaceable></optional></command></term> - - <listitem> - <para>Ask the systemd manager to quit. This is only - supported for user service managers (i.e. in conjunction - with the <option>--user</option> option) or in containers - and is equivalent to <command>poweroff</command> otherwise.</para> - - <para>The systemd manager can exit with a non-zero exit - code if the optional argument - <replaceable>EXIT_CODE</replaceable> is given.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>switch-root <replaceable>ROOT</replaceable> <optional><replaceable>INIT</replaceable></optional></command></term> - - <listitem> - <para>Switches to a different root directory and executes a - new system manager process below it. This is intended for - usage in initial RAM disks ("initrd"), and will transition - from the initrd's system manager process (a.k.a. "init" - process) to the main system manager process. This call takes two - arguments: the directory that is to become the new root directory, and - the path to the new system manager binary below it to - execute as PID 1. If the latter is omitted or the empty - string, a systemd binary will automatically be searched for - and used as init. If the system manager path is omitted or - equal to the empty string, the state of the initrd's system - manager process is passed to the main system manager, which - allows later introspection of the state of the services - involved in the initrd boot.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>suspend</command></term> - - <listitem> - <para>Suspend the system. This will trigger activation of - the special <filename>suspend.target</filename> target. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>hibernate</command></term> - - <listitem> - <para>Hibernate the system. This will trigger activation of - the special <filename>hibernate.target</filename> target. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><command>hybrid-sleep</command></term> - - <listitem> - <para>Hibernate and suspend the system. This will trigger - activation of the special - <filename>hybrid-sleep.target</filename> target.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2> - <title>Parameter Syntax</title> - - <para>Unit commands listed above take either a single unit name (designated as <replaceable>NAME</replaceable>), - or multiple unit specifications (designated as <replaceable>PATTERN</replaceable>...). In the first case, the - unit name with or without a suffix must be given. If the suffix is not specified (unit name is "abbreviated"), - systemctl will append a suitable suffix, <literal>.service</literal> by default, and a type-specific suffix in - case of commands which operate only on specific unit types. For example, - <programlisting># systemctl start sshd</programlisting> and - <programlisting># systemctl start sshd.service</programlisting> - are equivalent, as are - <programlisting># systemctl isolate default</programlisting> - and - <programlisting># systemctl isolate default.target</programlisting> - Note that (absolute) paths to device nodes are automatically converted to device unit names, and other (absolute) - paths to mount unit names. - <programlisting># systemctl status /dev/sda -# systemctl status /home</programlisting> - are equivalent to: - <programlisting># systemctl status dev-sda.device -# systemctl status home.mount</programlisting> - In the second case, shell-style globs will be matched against the primary names of all currently loaded units; - literal unit names, with or without a suffix, will be treated as in the first case. This means that literal unit - names always refer to exactly one unit, but globs may match zero units and this is not considered an - error.</para> - - <para>Glob patterns use - <citerefentry project='man-pages'><refentrytitle>fnmatch</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - so normal shell-style globbing rules are used, and - <literal>*</literal>, <literal>?</literal>, - <literal>[]</literal> may be used. See - <citerefentry project='man-pages'><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry> - for more details. The patterns are matched against the primary names of - currently loaded units, and patterns which do not match anything - are silently skipped. For example: - <programlisting># systemctl stop sshd@*.service</programlisting> - will stop all <filename>sshd@.service</filename> instances. Note that alias names of units, and units that aren't - loaded are not considered for glob expansion. - </para> - - <para>For unit file commands, the specified <replaceable>NAME</replaceable> should be the name of the unit file - (possibly abbreviated, see above), or the absolute path to the unit file: - <programlisting># systemctl enable foo.service</programlisting> - or - <programlisting># systemctl link /path/to/foo.service</programlisting> - </para> - </refsect2> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure - code otherwise.</para> - </refsect1> - - <refsect1> - <title>Environment</title> - - <variablelist class='environment-variables'> - <varlistentry> - <term><varname>$SYSTEMD_EDITOR</varname></term> - - <listitem><para>Editor to use when editing units; overrides - <varname>$EDITOR</varname> and <varname>$VISUAL</varname>. If neither - <varname>$SYSTEMD_EDITOR</varname> nor <varname>$EDITOR</varname> nor - <varname>$VISUAL</varname> are present or if it is set to an empty - string or if their execution failed, systemctl will try to execute well - known editors in this order: - <citerefentry project='die-net'><refentrytitle>editor</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>nano</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>vim</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - </variablelist> - <xi:include href="less-variables.xml" xpointer="pager"/> - <xi:include href="less-variables.xml" xpointer="less"/> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>loginctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.preset</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-analyze.xml b/man/systemd-analyze.xml deleted file mode 100644 index bc37765dff..0000000000 --- a/man/systemd-analyze.xml +++ /dev/null @@ -1,388 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-analyze" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-analyze</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - <author> - <contrib>Developer</contrib> - <firstname>Harald</firstname> - <surname>Hoyer</surname> - <email>harald@redhat.com</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-analyze</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-analyze</refname> - <refpurpose>Analyze system boot-up performance</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-analyze</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg>time</arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-analyze</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain">blame</arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-analyze</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain">critical-chain</arg> - <arg choice="opt" rep="repeat"><replaceable>UNIT</replaceable></arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-analyze</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain">plot</arg> - <arg choice="opt">> file.svg</arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-analyze</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain">dot</arg> - <arg choice="opt" rep="repeat"><replaceable>PATTERN</replaceable></arg> - <arg choice="opt">> file.dot</arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-analyze</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain">dump</arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-analyze</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain">set-log-level</arg> - <arg choice="plain"><replaceable>LEVEL</replaceable></arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-analyze</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain">set-log-target</arg> - <arg choice="plain"><replaceable>TARGET</replaceable></arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-analyze</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain">verify</arg> - <arg choice="opt" rep="repeat"><replaceable>FILES</replaceable></arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-analyze</command> may be used to determine - system boot-up performance statistics and retrieve other state and - tracing information from the system and service manager, and to - verify the correctness of unit files.</para> - - <para><command>systemd-analyze time</command> prints the time - spent in the kernel before userspace has been reached, the time - spent in the initial RAM disk (initrd) before normal system - userspace has been reached, and the time normal system userspace - took to initialize. Note that these measurements simply measure - the time passed up to the point where all system services have - been spawned, but not necessarily until they fully finished - initialization or the disk is idle.</para> - - <para><command>systemd-analyze blame</command> prints a list of - all running units, ordered by the time they took to initialize. - This information may be used to optimize boot-up times. Note that - the output might be misleading as the initialization of one - service might be slow simply because it waits for the - initialization of another service to complete.</para> - - <para><command>systemd-analyze critical-chain - [<replaceable>UNIT...</replaceable>]</command> prints a tree of - the time-critical chain of units (for each of the specified - <replaceable>UNIT</replaceable>s or for the default target - otherwise). The time after the unit is active or started is - printed after the "@" character. The time the unit takes to start - is printed after the "+" character. Note that the output might be - misleading as the initialization of one service might depend on - socket activation and because of the parallel execution of - units.</para> - - <para><command>systemd-analyze plot</command> prints an SVG - graphic detailing which system services have been started at what - time, highlighting the time they spent on initialization.</para> - - <para><command>systemd-analyze dot</command> generates textual - dependency graph description in dot format for further processing - with the GraphViz - <citerefentry project='die-net'><refentrytitle>dot</refentrytitle><manvolnum>1</manvolnum></citerefentry> - tool. Use a command line like <command>systemd-analyze dot | dot - -Tsvg > systemd.svg</command> to generate a graphical dependency - tree. Unless <option>--order</option> or - <option>--require</option> is passed, the generated graph will - show both ordering and requirement dependencies. Optional pattern - globbing style specifications (e.g. <filename>*.target</filename>) - may be given at the end. A unit dependency is included in the - graph if any of these patterns match either the origin or - destination node.</para> - - <para><command>systemd-analyze dump</command> outputs a (usually - very long) human-readable serialization of the complete server - state. Its format is subject to change without notice and should - not be parsed by applications.</para> - - <para><command>systemd-analyze set-log-level - <replaceable>LEVEL</replaceable></command> changes the current log - level of the <command>systemd</command> daemon to - <replaceable>LEVEL</replaceable> (accepts the same values as - <option>--log-level=</option> described in - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>).</para> - - <para><command>systemd-analyze set-log-target - <replaceable>TARGET</replaceable></command> changes the current log - target of the <command>systemd</command> daemon to - <replaceable>TARGET</replaceable> (accepts the same values as - <option>--log-target=</option>, described in - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>).</para> - - <para><command>systemd-analyze verify</command> will load unit - files and print warnings if any errors are detected. Files - specified on the command line will be loaded, but also any other - units referenced by them. This command works by prepending the - directories for all command line arguments at the beginning of the - unit load path, which means that all units files found in those - directories will be used in preference to the unit files found in - the standard locations, even if not listed explicitly.</para> - - <para>If no command is passed, <command>systemd-analyze - time</command> is implied.</para> - - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--user</option></term> - - <listitem><para>Operates on the user systemd - instance.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--system</option></term> - - <listitem><para>Operates on the system systemd instance. This - is the implied default.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--order</option></term> - <term><option>--require</option></term> - - <listitem><para>When used in conjunction with the - <command>dot</command> command (see above), selects which - dependencies are shown in the dependency graph. If - <option>--order</option> is passed, only dependencies of type - <varname>After=</varname> or <varname>Before=</varname> are - shown. If <option>--require</option> is passed, only - dependencies of type <varname>Requires=</varname>, - <varname>Requisite=</varname>, - <varname>Wants=</varname> and <varname>Conflicts=</varname> - are shown. If neither is passed, this shows dependencies of - all these types.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--from-pattern=</option></term> - <term><option>--to-pattern=</option></term> - - <listitem><para>When used in conjunction with the - <command>dot</command> command (see above), this selects which - relationships are shown in the dependency graph. Both options - require a - <citerefentry project='die-net'><refentrytitle>glob</refentrytitle><manvolnum>7</manvolnum></citerefentry> - pattern as an argument, which will be matched against the - left-hand and the right-hand, respectively, nodes of a - relationship.</para> - - <para>Each of these can be used more than once, in which case - the unit name must match one of the values. When tests for - both sides of the relation are present, a relation must pass - both tests to be shown. When patterns are also specified as - positional arguments, they must match at least one side of the - relation. In other words, patterns specified with those two - options will trim the list of edges matched by the positional - arguments, if any are given, and fully determine the list of - edges shown otherwise.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--fuzz=</option><replaceable>timespan</replaceable></term> - - <listitem><para>When used in conjunction with the - <command>critical-chain</command> command (see above), also - show units, which finished <replaceable>timespan</replaceable> - earlier, than the latest unit in the same level. The unit of - <replaceable>timespan</replaceable> is seconds unless - specified with a different unit, e.g. - "50ms".</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-man</option></term> - - <listitem><para>Do not invoke man to verify the existence of - man pages listed in <varname>Documentation=</varname>. - </para></listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="host" /> - <xi:include href="user-system-options.xml" xpointer="machine" /> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - <xi:include href="standard-options.xml" xpointer="no-pager" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>Examples for <command>dot</command></title> - - <example> - <title>Plots all dependencies of any unit whose name starts with - <literal>avahi-daemon</literal></title> - - <programlisting>$ systemd-analyze dot 'avahi-daemon.*' | dot -Tsvg > avahi.svg - $ eog avahi.svg</programlisting> - </example> - - <example> - <title>Plots the dependencies between all known target units</title> - - <programlisting>systemd-analyze dot --to-pattern='*.target' --from-pattern='*.target' | dot -Tsvg > targets.svg -$ eog targets.svg</programlisting> - </example> - </refsect1> - - <refsect1> - <title>Examples for <command>verify</command></title> - - <para>The following errors are currently detected:</para> - <itemizedlist> - <listitem><para>unknown sections and directives, - </para></listitem> - - <listitem><para>missing dependencies which are required to start - the given unit, </para></listitem> - - <listitem><para>man pages listed in - <varname>Documentation=</varname> which are not found in the - system,</para></listitem> - - <listitem><para>commands listed in <varname>ExecStart=</varname> - and similar which are not found in the system or not - executable.</para></listitem> - </itemizedlist> - - <example> - <title>Misspelt directives</title> - - <programlisting>$ cat ./user.slice -[Unit] -WhatIsThis=11 -Documentation=man:nosuchfile(1) -Requires=different.service - -[Service] -Desription=x - -$ systemd-analyze verify ./user.slice -[./user.slice:9] Unknown lvalue 'WhatIsThis' in section 'Unit' -[./user.slice:13] Unknown section 'Service'. Ignoring. -Error: org.freedesktop.systemd1.LoadFailed: - Unit different.service failed to load: - No such file or directory. -Failed to create user.slice/start: Invalid argument -user.slice: man nosuchfile(1) command failed with code 16 - </programlisting> - </example> - - <example> - <title>Missing service units</title> - - <programlisting>$ tail ./a.socket ./b.socket -==> ./a.socket <== -[Socket] -ListenStream=100 - -==> ./b.socket <== -[Socket] -ListenStream=100 -Accept=yes - -$ systemd-analyze verify ./a.socket ./b.socket -Service a.service not loaded, a.socket cannot be started. -Service b@0.service not loaded, b.socket cannot be started. - </programlisting> - </example> - </refsect1> - - <xi:include href="less-variables.xml" /> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-ask-password.xml b/man/systemd-ask-password.xml deleted file mode 100644 index 2b6fb5a82f..0000000000 --- a/man/systemd-ask-password.xml +++ /dev/null @@ -1,227 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2011 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-ask-password" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-ask-password</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-ask-password</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-ask-password</refname> - <refpurpose>Query the user for a system password</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-ask-password <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="opt">MESSAGE</arg></command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-ask-password</command> may be used to query - a system password or passphrase from the user, using a question - message specified on the command line. When run from a TTY it will - query a password on the TTY and print it to standard output. When - run with no TTY or with <option>--no-tty</option> it will query - the password system-wide and allow active users to respond via - several agents. The latter is only available to privileged - processes.</para> - - <para>The purpose of this tool is to query system-wide passwords - — that is passwords not attached to a specific user account. - Examples include: unlocking encrypted hard disks when they are - plugged in or at boot, entering an SSL certificate passphrase for - web and VPN servers.</para> - - <para>Existing agents are: - <itemizedlist> - - <listitem><para>A boot-time password agent asking the user for - passwords using Plymouth</para></listitem> - - <listitem><para>A boot-time password agent querying the user - directly on the console</para></listitem> - - <listitem><para>An agent requesting password input via a - <citerefentry - project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry> - message</para></listitem> - - <listitem><para>A command line agent which can be started - temporarily to process queued password - requests</para></listitem> - - <listitem><para>A TTY agent that is temporarily spawned during - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - invocations</para></listitem> - </itemizedlist></para> - - <para>Additional password agents may be implemented according to - the <ulink - url="http://www.freedesktop.org/wiki/Software/systemd/PasswordAgents">systemd - Password Agent Specification</ulink>.</para> - - <para>If a password is queried on a TTY, the user may press TAB to - hide the asterisks normally shown for each character typed. - Pressing Backspace as first key achieves the same effect.</para> - - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--icon=</option></term> - - <listitem><para>Specify an icon name alongside the password - query, which may be used in all agents supporting graphical - display. The icon name should follow the <ulink - url="http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html">XDG - Icon Naming Specification</ulink>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--id=</option></term> - <listitem><para>Specify an identifier for this password - query. This identifier is freely choosable and allows - recognition of queries by involved agents. It should include - the subsystem doing the query and the specific object the - query is done for. Example: - <literal>--id=cryptsetup:/dev/sda5</literal>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--keyname=</option></term> - <listitem><para>Configure a kernel keyring key name to use as - cache for the password. If set, then the tool will try to push - any collected passwords into the kernel keyring of the root - user, as a key of the specified name. If combined with - <option>--accept-cached</option>, it will also try to retrieve - such cached passwords from the key in the kernel keyring - instead of querying the user right away. By using this option, - the kernel keyring may be used as effective cache to avoid - repeatedly asking users for passwords, if there are multiple - objects that may be unlocked with the same password. The - cached key will have a timeout of 2.5min set, after which it - will be purged from the kernel keyring. Note that it is - possible to cache multiple passwords under the same keyname, - in which case they will be stored as NUL-separated list of - passwords. Use - <citerefentry project='die-net'><refentrytitle>keyctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to access the cached key via the kernel keyring - directly. Example: <literal>--keyname=cryptsetup</literal></para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--timeout=</option></term> - - <listitem><para>Specify the query timeout in seconds. Defaults - to 90s. A timeout of 0 waits indefinitely. </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--echo</option></term> - - <listitem><para>Echo the user input instead of masking it. - This is useful when using - <filename>systemd-ask-password</filename> to query for - usernames. </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-tty</option></term> - - <listitem><para>Never ask for password on current TTY even if - one is available. Always use agent system.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--accept-cached</option></term> - - <listitem><para>If passed, accept cached passwords, i.e. - passwords previously entered.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--multiple</option></term> - - <listitem><para>When used in conjunction with - <option>--accept-cached</option> accept multiple passwords. - This will output one password per line.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-output</option></term> - - <listitem><para>Do not print passwords to standard output. - This is useful if you want to store a password in kernel - keyring with <option>--keyname</option> but do not want it - to show up on screen or in logs.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>keyctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>plymouth</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-cat.xml b/man/systemd-cat.xml deleted file mode 100644 index 160db9fb5c..0000000000 --- a/man/systemd-cat.xml +++ /dev/null @@ -1,178 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-cat" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-cat</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-cat</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-cat</refname> - <refpurpose>Connect a pipeline or program's output with the journal</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-cat <arg choice="opt" rep="repeat">OPTIONS</arg> <arg>COMMAND</arg> <arg choice="opt" rep="repeat">ARGUMENTS</arg></command> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-cat <arg choice="opt" rep="repeat">OPTIONS</arg></command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-cat</command> may be used to connect the - standard input and output of a process to the journal, or as a - filter tool in a shell pipeline to pass the output the previous - pipeline element generates to the journal.</para> - - <para>If no parameter is passed, <command>systemd-cat</command> - will write everything it reads from standard input (stdin) to the - journal.</para> - - <para>If parameters are passed, they are executed as command line - with standard output (stdout) and standard error output (stderr) - connected to the journal, so that all it writes is stored in the - journal.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - - <varlistentry> - <term><option>-t</option></term> - <term><option>--identifier=</option></term> - - <listitem><para>Specify a short string that is used to - identify the logging tool. If not specified, no identification - string is written to the journal.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-p</option></term> - <term><option>--priority=</option></term> - - <listitem><para>Specify the default priority level for the - logged messages. Pass one of - <literal>emerg</literal>, - <literal>alert</literal>, - <literal>crit</literal>, - <literal>err</literal>, - <literal>warning</literal>, - <literal>notice</literal>, - <literal>info</literal>, - <literal>debug</literal>, or a - value between 0 and 7 (corresponding to the same named - levels). These priority values are the same as defined by - <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - Defaults to <literal>info</literal>. Note that this simply - controls the default, individual lines may be logged with - different levels if they are prefixed accordingly. For details, - see <option>--level-prefix=</option> below.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--level-prefix=</option></term> - - <listitem><para>Controls whether lines read are parsed for - syslog priority level prefixes. If enabled (the default), a - line prefixed with a priority prefix such as - <literal><5></literal> is logged at priority 5 - (<literal>notice</literal>), and similar for the other - priority levels. Takes a boolean argument.</para></listitem> - </varlistentry> - - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>Invoke a program</title> - - <para>This calls <filename noindex='true'>/bin/ls</filename> - with standard output and error connected to the journal:</para> - - <programlisting># systemd-cat ls</programlisting> - </example> - - <example> - <title>Usage in a shell pipeline</title> - - <para>This builds a shell pipeline also invoking - <filename>/bin/ls</filename> and writes the output it generates - to the journal:</para> - - <programlisting># ls | systemd-cat</programlisting> - </example> - - <para>Even though the two examples have very similar effects the - first is preferable since only one process is running at a time, - and both stdout and stderr are captured while in the second - example, only stdout is captured.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>logger</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-cgls.xml b/man/systemd-cgls.xml deleted file mode 100644 index e8f0368f48..0000000000 --- a/man/systemd-cgls.xml +++ /dev/null @@ -1,139 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-cgls" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-cgls</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-cgls</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-cgls</refname> - <refpurpose>Recursively show control group contents</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-cgls</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="repeat">CGROUP</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-cgls</command> recursively shows the - contents of the selected Linux control group hierarchy in a tree. - If arguments are specified, shows all member processes of the - specified control groups plus all their subgroups and their - members. The control groups may either be specified by their full - file paths or are assumed in the systemd control group hierarchy. - If no argument is specified and the current working directory is - beneath the control group mount point - <filename>/sys/fs/cgroup</filename>, shows the contents of the - control group the working directory refers to. Otherwise, the full - systemd control group hierarchy is shown.</para> - - <para>By default, empty control groups are not shown.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--all</option></term> - - <listitem><para>Do not hide empty control groups in the - output.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-l</option></term> - <term><option>--full</option></term> - - <listitem><para>Do not ellipsize process tree members.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-k</option></term> - - <listitem><para>Include kernel threads in output. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-M <replaceable>MACHINE</replaceable></option></term> - <term><option>--machine=<replaceable>MACHINE</replaceable></option></term> - - <listitem><para>Limit control groups shown to the part - corresponding to the container - <replaceable>MACHINE</replaceable>.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - <xi:include href="standard-options.xml" xpointer="no-pager" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-cgtop</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-cgtop.xml b/man/systemd-cgtop.xml deleted file mode 100644 index c76f646984..0000000000 --- a/man/systemd-cgtop.xml +++ /dev/null @@ -1,373 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-cgtop" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-cgtop</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-cgtop</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-cgtop</refname> - <refpurpose>Show top control groups by their resource usage</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-cgtop</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-cgtop</command> shows the top control - groups of the local Linux control group hierarchy, ordered by - their CPU, memory, or disk I/O load. The display is refreshed in - regular intervals (by default every 1s), similar in style to - <citerefentry project='man-pages'><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para> - - <para>If <command>systemd-cgtop</command> is not connected to a - tty, no column headers are printed and the default is to only run - one iteration. The <varname>--iterations=</varname> argument, if - given, is honored. This mode is suitable for scripting.</para> - - <para>Resource usage is only accounted for control groups in the - relevant hierarchy, i.e. CPU usage is only accounted for control - groups in the <literal>cpuacct</literal> hierarchy, memory usage - only for those in <literal>memory</literal> and disk I/O usage for - those in <literal>blkio</literal>. If resource monitoring for - these resources is required, it is recommended to add the - <varname>CPUAccounting=1</varname>, - <varname>MemoryAccounting=1</varname> and - <varname>BlockIOAccounting=1</varname> settings in the unit files - in question. See - <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details.</para> - - <para>The CPU load value can be between 0 and 100 times the number of - processors the system has. For example, if the system has 8 processors, - the CPU load value is going to be between 0% and 800%. The number of - processors can be found in <literal>/proc/cpuinfo</literal>.</para> - - <para>To emphasize this: unless - <literal>CPUAccounting=1</literal>, - <literal>MemoryAccounting=1</literal> and - <literal>BlockIOAccounting=1</literal> are enabled for the - services in question, no resource accounting will be available for - system services and the data shown by - <command>systemd-cgtop</command> will be incomplete.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>-p</option></term> - <term><option>--order=path</option></term> - - <listitem><para>Order by control group - path name.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-t</option></term> - <term><option>--order=tasks</option></term> - - <listitem><para>Order by number of tasks/processes in the control group.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-c</option></term> - <term><option>--order=cpu</option></term> - - <listitem><para>Order by CPU load.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-m</option></term> - <term><option>--order=memory</option></term> - - <listitem><para>Order by memory usage.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-i</option></term> - <term><option>--order=io</option></term> - - <listitem><para>Order by disk I/O load.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-b</option></term> - <term><option>--batch</option></term> - - <listitem><para>Run in "batch" mode: do not accept input and - run until the iteration limit set with - <option>--iterations=</option> is exhausted or until killed. - This mode could be useful for sending output from - <command>systemd-cgtop</command> to other programs or to a - file.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-r</option></term> - <term><option>--raw</option></term> - - <listitem><para>Format byte counts (as in memory usage and I/O metrics) - with raw numeric values rather than human-readable - numbers.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--cpu=percentage</option></term> - <term><option>--cpu=time</option></term> - - <listitem><para>Controls whether the CPU usage is shown as - percentage or time. By default, the CPU usage is shown as - percentage. This setting may also be toggled at runtime by - pressing the <keycap>%</keycap> key.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-P</option></term> - - <listitem><para>Count only userspace processes instead of all - tasks. By default, all tasks are counted: each kernel thread - and each userspace thread individually. With this setting, - kernel threads are excluded from the counting and each - userspace process only counts as one, regardless how many - threads it consists of. This setting may also be toggled at - runtime by pressing the <keycap>P</keycap> key. This option - may not be combined with - <option>-k</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-k</option></term> - - <listitem><para>Count only userspace processes and kernel - threads instead of all tasks. By default, all tasks are - counted: each kernel thread and each userspace thread - individually. With this setting, kernel threads are included in - the counting and each userspace process only counts as on one, - regardless how many threads it consists of. This setting may - also be toggled at runtime by pressing the <keycap>k</keycap> - key. This option may not be combined with - <option>-P</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--recursive=</option></term> - - <listitem><para>Controls whether the number of processes shown - for a control group shall include all processes that are - contained in any of the child control groups as well. Takes a - boolean argument, which defaults to <literal>yes</literal>. If - enabled, the processes in child control groups are included, if - disabled, only the processes in the control group itself are - counted. This setting may also be toggled at runtime by - pressing the <keycap>r</keycap> key. Note that this setting - only applies to process counting, i.e. when the - <option>-P</option> or <option>-k</option> options are - used. It has not effect if all tasks are counted, in which - case the counting is always recursive.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-n</option></term> - <term><option>--iterations=</option></term> - - <listitem><para>Perform only this many iterations. A value of - 0 indicates that the program should run - indefinitely.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-d</option></term> - <term><option>--delay=</option></term> - - <listitem><para>Specify refresh delay in seconds (or if one of - <literal>ms</literal>, <literal>us</literal>, - <literal>min</literal> is specified as unit in this time - unit). This setting may also be increased and decreased at - runtime by pressing the <keycap>+</keycap> and - <keycap>-</keycap> keys.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--depth=</option></term> - - <listitem><para>Maximum control group tree traversal depth. - Specifies how deep <command>systemd-cgtop</command> shall - traverse the control group hierarchies. If 0 is specified, - only the root group is monitored. For 1, only the first level - of control groups is monitored, and so on. Defaults to - 3.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-M <replaceable>MACHINE</replaceable></option></term> - <term><option>--machine=<replaceable>MACHINE</replaceable></option></term> - - <listitem><para>Limit control groups shown to the part - corresponding to the container - <replaceable>MACHINE</replaceable>.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Keys</title> - - <para><command>systemd-cgtop</command> is an interactive tool and - may be controlled via user input using the following keys:</para> - - <variablelist> - <varlistentry> - <term><keycap>h</keycap></term> - - <listitem><para>Shows a short help text.</para></listitem> - </varlistentry> - - <varlistentry> - <term><keycap function="space"/></term> - - <listitem><para>Immediately refresh output.</para></listitem> - </varlistentry> - - <varlistentry> - <term><keycap>q</keycap></term> - - <listitem><para>Terminate the program.</para></listitem> - </varlistentry> - - <varlistentry> - <term><keycap>p</keycap></term> - <term><keycap>t</keycap></term> - <term><keycap>c</keycap></term> - <term><keycap>m</keycap></term> - <term><keycap>i</keycap></term> - - <listitem><para>Sort the control groups by path, number of - tasks, CPU load, memory usage, or I/O load, respectively. This - setting may also be controlled using the - <option>--order=</option> command line - switch.</para></listitem> - </varlistentry> - - <varlistentry> - <term><keycap>%</keycap></term> - - <listitem><para>Toggle between showing CPU time as time or - percentage. This setting may also be controlled using the - <option>--cpu=</option> command line switch.</para></listitem> - </varlistentry> - - <varlistentry> - <term><keycap>+</keycap></term> - <term><keycap>-</keycap></term> - - <listitem><para>Increase or decrease refresh delay, - respectively. This setting may also be controlled using the - <option>--delay=</option> command line - switch.</para></listitem> - </varlistentry> - - <varlistentry> - <term><keycap>P</keycap></term> - - <listitem><para>Toggle between counting all tasks, or only - userspace processes. This setting may also be controlled using - the <option>-P</option> command line switch (see - above).</para></listitem> - </varlistentry> - - <varlistentry> - <term><keycap>k</keycap></term> - - <listitem><para>Toggle between counting all tasks, or only - userspace processes and kernel threads. This setting may also - be controlled using the <option>-k</option> command line - switch (see above).</para></listitem> - </varlistentry> - - <varlistentry> - <term><keycap>r</keycap></term> - - <listitem><para>Toggle between recursively including or - excluding processes in child control groups in control group - process counts. This setting may also be controlled using the - <option>--recursive=</option> command line switch. This key is - not available if all tasks are counted, it is only available - if processes are counted, as enabled with the - <keycap>P</keycap> or <keycap>k</keycap> - keys.</para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-cgls</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-coredump.xml b/man/systemd-coredump.xml deleted file mode 100644 index a28dc62e5a..0000000000 --- a/man/systemd-coredump.xml +++ /dev/null @@ -1,145 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-coredump" conditional='ENABLE_COREDUMP' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-coredump</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-coredump</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-coredump</refname> - <refname>systemd-coredump.socket</refname> - <refname>systemd-coredump@.service</refname> - <refpurpose>Acquire, save and process core dumps</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>/usr/lib/systemd/systemd-coredump</filename></para> - <para><filename>systemd-coredump@.service</filename></para> - <para><filename>systemd-coredump.socket</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - <para><command>systemd-coredump</command> is a system service that can acquire core dumps - from the kernel and handle them in various ways.</para> - - <para>Core dumps can be written to the journal or saved as a file. Once saved they can be retrieved - for further processing, for example in - <citerefentry project='man-pages'><refentrytitle>gdb</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - </para> - - <para>By default, <command>systemd-coredump</command> will log the core dump including a backtrace - if possible to the journal and store the core dump itself in an external file in - <filename>/var/lib/systemd/coredump</filename>.</para> - - <para>When the kernel invokes <command>systemd-coredump</command> to handle a core dump, - it will connect to the socket created by the <filename>systemd-coredump.socket</filename> - unit, which in turn will spawn a <filename>systemd-coredump@.service</filename> instance - to process the core dump. Hence <filename>systemd-coredump.socket</filename> - and <filename>systemd-coredump@.service</filename> are helper units which do the actual - processing of core dumps and are subject to normal service management.</para> - - <para>The behavior of a specific program upon reception of a signal is governed by a few - factors which are described in detail in - <citerefentry project='man-pages'><refentrytitle>core</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - In particular, the core dump will only be processed when the related resource limits are sufficient. - </para> - </refsect1> - - <refsect1> - <title>Configuration</title> - <para>For programs started by <command>systemd</command> process resource limits can be set by directive - <varname>LimitCore=</varname>, see - <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para> - - <para>In order to be used <command>systemd-coredump</command> must be configured in - <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> - parameter <varname>kernel.core_pattern</varname>. The syntax of this parameter is explained in - <citerefentry project='man-pages'><refentrytitle>core</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - Systemd installs the file <filename>/usr/lib/sysctl.d/50-coredump.conf</filename> which configures - <varname>kernel.core_pattern</varname> accordingly. This file may be masked or overridden to use a different - setting following normal - <citerefentry><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry> - rules. - If the sysctl configuration is modified, it must be updated in the kernel before - it takes effect, see - <citerefentry project='man-pages'><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> - and - <citerefentry><refentrytitle>systemd-sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - </para> - - <para>The behaviour of <command>systemd-coredump</command> itself is configured through the configuration file - <filename>/etc/systemd/coredump.conf</filename> and corresponding snippets - <filename>/etc/systemd/coredump.conf.d/*.conf</filename>, see - <citerefentry><refentrytitle>coredump.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. A new - instance of <command>systemd-coredump</command> is invoked upon receiving every core dump. Therefore, changes - in these files will take effect the next time a core dump is received.</para> - - <para>Resources used by core dump files are restricted in two ways. Parameters like maximum size of acquired - core dumps and files can be set in files <filename>/etc/systemd/coredump.conf</filename> and snippets mentioned - above. In addition the storage time of core dump files is restricted by <command>systemd-tmpfiles</command>, - corresponding settings are by default in <filename>/usr/lib/tmpfiles.d/systemd.conf</filename>.</para> - </refsect1> - - <refsect1> - <title>Usage</title> - <para>Data stored in the journal can be viewed with - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - as usual. - <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - can be used to retrieve saved core dumps independent of their location, to display information and to process - them e.g. by passing to the GNU debugger (gdb).</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>coredump.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>coredumpctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-tmpfiles</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>core</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sysctl.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-sysctl.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - </para> - </refsect1> -</refentry> diff --git a/man/systemd-debug-generator.xml b/man/systemd-debug-generator.xml deleted file mode 100644 index 5c5e9fc4a1..0000000000 --- a/man/systemd-debug-generator.xml +++ /dev/null @@ -1,95 +0,0 @@ -<?xml version="1.0"?> -<!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> -<!-- - This file is part of systemd. - - Copyright 2014 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> -<refentry id="systemd-debug-generator"> - - <refentryinfo> - <title>systemd-debug-generator</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-debug-generator</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-debug-generator</refname> - <refpurpose>Generator for enabling a runtime debug shell and - masking specific units at boot</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>/usr/lib/systemd/system-generators/systemd-debug-generator</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>systemd-debug-generator</filename> is a generator - that reads the kernel command line and understands three - options:</para> - - <para>If the <option>systemd.mask=</option> option is specified - and followed by a unit name, this unit is masked for the runtime, - similar to the effect of - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s - <command>mask</command> command. This is useful to boot with - certain units removed from the initial boot transaction for - debugging system startup. May be specified more than once.</para> - - <para>If the <option>systemd.wants=</option> option is specified - and followed by a unit name, a start job for this unit is added to - the initial transaction. This is useful to start one or more - additional units at boot. May be specified more than once.</para> - - <para>If the <option>systemd.debug-shell</option> option is - specified, the debug shell service - <literal>debug-shell.service</literal> is pulled into the boot - transaction. It will spawn a debug shell on tty9 during early - system startup. Note that the shell may also be turned on - persistently by enabling it with - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s - <command>enable</command> command.</para> - - <para><filename>systemd-debug-generator</filename> implements - <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-delta.xml b/man/systemd-delta.xml deleted file mode 100644 index 99709604aa..0000000000 --- a/man/systemd-delta.xml +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-delta" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-delta</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-delta</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-delta</refname> - <refpurpose>Find overridden configuration files</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-delta</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="repeat"><replaceable>PREFIX</replaceable><optional>/<replaceable>SUFFIX</replaceable></optional>|<replaceable>SUFFIX</replaceable></arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-delta</command> may be used to identify and - compare configuration files that override other configuration - files. Files in <filename>/etc</filename> have highest priority, - files in <filename>/run</filename> have the second highest - priority, ..., files in <filename>/lib</filename> have lowest - priority. Files in a directory with higher priority override files - with the same name in directories of lower priority. In addition, - certain configuration files can have <literal>.d</literal> - directories which contain "drop-in" files with configuration - snippets which augment the main configuration file. "Drop-in" - files can be overridden in the same way by placing files with the - same name in a directory of higher priority (except that, in case - of "drop-in" files, both the "drop-in" file name and the name of - the containing directory, which corresponds to the name of the - main configuration file, must match). For a fuller explanation, - see - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para> - - <para>The command line argument will be split into a prefix and a - suffix. Either is optional. The prefix must be one of the - directories containing configuration files - (<filename>/etc</filename>, <filename>/run</filename>, - <filename>/usr/lib</filename>, ...). If it is given, only - overriding files contained in this directory will be shown. - Otherwise, all overriding files will be shown. The suffix must be - a name of a subdirectory containing configuration files like - <filename>tmpfiles.d</filename>, <filename>sysctl.d</filename> or - <filename>systemd/system</filename>. If it is given, only - configuration files in this subdirectory (across all configuration - paths) will be analyzed. Otherwise, all configuration files will - be analyzed. If the command line argument is not given at all, all - configuration files will be analyzed. See below for some - examples.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>-t</option></term> - <term><option>--type=</option></term> - - <listitem><para>When listing the differences, only list those - that are asked for. The list itself is a comma-separated list - of desired difference types.</para> - - <para>Recognized types are: - - <variablelist> - <varlistentry> - <term><varname>masked</varname></term> - - <listitem><para>Show masked files</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>equivalent</varname></term> - - <listitem><para>Show overridden files that while - overridden, do not differ in content.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>redirected</varname></term> - - <listitem><para>Show files that are redirected to - another.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>overridden</varname></term> - - <listitem><para>Show overridden, and changed - files.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>extended</varname></term> - - <listitem><para>Show <filename>*.conf</filename> files - in drop-in directories for units.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>unchanged</varname></term> - - <listitem><para>Show unmodified files - too.</para></listitem> - </varlistentry> - </variablelist> - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--diff=</option></term> - - <listitem><para>When showing modified files, when a file is - overridden show a diff as well. This option takes a boolean - argument. If omitted, it defaults to - <option>true</option>.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - <xi:include href="standard-options.xml" xpointer="no-pager" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Examples</title> - - <para>To see all local configuration:</para> - <programlisting>systemd-delta</programlisting> - - <para>To see all runtime configuration:</para> - <programlisting>systemd-delta /run</programlisting> - - <para>To see all system unit configuration changes:</para> - <programlisting>systemd-delta systemd/system</programlisting> - - <para>To see all runtime "drop-in" changes for system units:</para> - <programlisting>systemd-delta --type=extended /run/systemd/system</programlisting> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-detect-virt.xml b/man/systemd-detect-virt.xml deleted file mode 100644 index 2b7f4e69ab..0000000000 --- a/man/systemd-detect-virt.xml +++ /dev/null @@ -1,245 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-detect-virt" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-detect-virt</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-detect-virt</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-detect-virt</refname> - <refpurpose>Detect execution in a virtualized environment</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-detect-virt <arg choice="opt" rep="repeat">OPTIONS</arg></command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-detect-virt</command> detects execution in - a virtualized environment. It identifies the virtualization - technology and can distinguish full machine virtualization from - container virtualization. <filename>systemd-detect-virt</filename> - exits with a return value of 0 (success) if a virtualization - technology is detected, and non-zero (error) otherwise. By default, - any type of virtualization is detected, and the options - <option>--container</option> and <option>--vm</option> can be used - to limit what types of virtualization are detected.</para> - - <para>When executed without <option>--quiet</option> will print a - short identifier for the detected virtualization technology. The - following technologies are currently identified:</para> - - <table> - <title>Known virtualization technologies (both - VM, i.e. full hardware virtualization, - and container, i.e. shared kernel virtualization)</title> - <tgroup cols='3' align='left' colsep='1' rowsep='1'> - <colspec colname="type" /> - <colspec colname="id" /> - <colspec colname="product" /> - <thead> - <row> - <entry>Type</entry> - <entry>ID</entry> - <entry>Product</entry> - </row> - </thead> - <tbody> - <row> - <entry valign="top" morerows="9">VM</entry> - <entry><varname>qemu</varname></entry> - <entry>QEMU software virtualization</entry> - </row> - - <row> - <entry><varname>kvm</varname></entry> - <entry>Linux KVM kernel virtual machine</entry> - </row> - - <row> - <entry><varname>zvm</varname></entry> - <entry>s390 z/VM</entry> - </row> - - <row> - <entry><varname>vmware</varname></entry> - <entry>VMware Workstation or Server, and related products</entry> - </row> - - <row> - <entry><varname>microsoft</varname></entry> - <entry>Hyper-V, also known as Viridian or Windows Server Virtualization</entry> - </row> - - <row> - <entry><varname>oracle</varname></entry> - <entry>Oracle VM VirtualBox (historically marketed by innotek and Sun Microsystems)</entry> - </row> - - <row> - <entry><varname>xen</varname></entry> - <entry>Xen hypervisor (only domU, not dom0)</entry> - </row> - - <row> - <entry><varname>bochs</varname></entry> - <entry>Bochs Emulator</entry> - </row> - - <row> - <entry><varname>uml</varname></entry> - <entry>User-mode Linux</entry> - </row> - - <row> - <entry><varname>parallels</varname></entry> - <entry>Parallels Desktop, Parallels Server</entry> - </row> - - <row> - <entry valign="top" morerows="5">Container</entry> - <entry><varname>openvz</varname></entry> - <entry>OpenVZ/Virtuozzo</entry> - </row> - - <row> - <entry><varname>lxc</varname></entry> - <entry>Linux container implementation by LXC</entry> - </row> - - <row> - <entry><varname>lxc-libvirt</varname></entry> - <entry>Linux container implementation by libvirt</entry> - </row> - - <row> - <entry><varname>systemd-nspawn</varname></entry> - <entry>systemd's minimal container implementation, see <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry></entry> - </row> - - <row> - <entry><varname>docker</varname></entry> - <entry>Docker container manager</entry> - </row> - - <row> - <entry><varname>rkt</varname></entry> - <entry>rkt app container runtime</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>If multiple virtualization solutions are used, only the - "innermost" is detected and identified. That means if both - machine and container virtualization are used in - conjunction, only the latter will be identified (unless - <option>--vm</option> is passed).</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>-c</option></term> - <term><option>--container</option></term> - - <listitem><para>Only detects container virtualization (i.e. - shared kernel virtualization).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-v</option></term> - <term><option>--vm</option></term> - - <listitem><para>Only detects hardware virtualization).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-r</option></term> - <term><option>--chroot</option></term> - - <listitem><para>Detect whether invoked in a - <citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>2</manvolnum></citerefentry> - environment. In this mode, no output is written, but the return - value indicates whether the process was invoked in a - <function>chroot()</function> - environment or not.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-q</option></term> - <term><option>--quiet</option></term> - - <listitem><para>Suppress output of the virtualization - technology identifier.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>If a virtualization technology is detected, 0 is returned, a - non-zero code otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-nspawn</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>2</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-escape.xml b/man/systemd-escape.xml deleted file mode 100644 index dbb3869a24..0000000000 --- a/man/systemd-escape.xml +++ /dev/null @@ -1,178 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-escape" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-escape</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-escape</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-escape</refname> - <refpurpose>Escape strings for usage in system unit names</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-escape</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="repeat">STRING</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-escape</command> may be used to escape - strings for inclusion in systemd unit names. The command may be - used to escape and to undo escaping of strings.</para> - - <para>The command takes any number of strings on the command line, - and will process them individually, one after another. It will - output them separated by spaces to stdout.</para> - - <para>By default, this command will escape the strings passed, - unless <option>--unescape</option> is passed which results in the - inverse operation being applied. If <option>--mangle</option> is given, a - special mode of escaping is applied instead, which assumes the - string is already escaped but will escape everything that - appears obviously non-escaped.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--suffix=</option></term> - - <listitem><para>Appends the specified unit type suffix to the - escaped string. Takes one of the unit types supported by - systemd, such as <literal>.service</literal> or - <literal>.mount</literal>. May not be used in conjunction with - <option>--template=</option>, <option>--unescape</option> or - <option>--mangle</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--template=</option></term> - - <listitem><para>Inserts the escaped strings in a unit name - template. Takes a unit name template such as - <filename>foobar@.service</filename> May not be used in - conjunction with <option>--suffix=</option>, - <option>--unescape</option> or - <option>--mangle</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--path</option></term> - <term><option>-p</option></term> - - <listitem><para>When escaping or unescaping a string, assume - it refers to a file system path. This enables special - processing of the initial <literal>/</literal> of the - path.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--unescape</option></term> - - <listitem><para>Instead of escaping the specified strings, - undo the escaping, reversing the operation. May not be used in - conjunction with <option>--suffix=</option>, - <option>--template=</option> or - <option>--mangle</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--mangle</option></term> - - <listitem><para>Like <option>--escape</option>, but only - escape characters that are obviously not escaped yet, and - possibly automatically append an appropriate unit type suffix - to the string. May not be used in conjunction with - <option>--suffix=</option>, <option>--template=</option> or - <option>--unescape</option>.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Examples</title> - - <para>Escape a single string:</para> - <programlisting>$ systemd-escape 'Hallöchen, Meister' -Hall\xc3\xb6chen\x2c\x20Meister</programlisting> - - <para>To undo escaping on a single string:</para> - <programlisting>$ systemd-escape -u 'Hall\xc3\xb6chen\x2c\x20Meister' -Hallöchen, Meister</programlisting> - - <para>To generate the mount unit for a path:</para> - <programlisting>$ systemd-escape -p --suffix=mount "/tmp//waldi/foobar/" -tmp-waldi-foobar.mount</programlisting> - - <para>To generate instance names of three strings</para> - <programlisting>$ systemd-escape --template=systemd-nspawn@.service 'My Container 1' 'containerb' 'container/III' -systemd-nspawn@My\x20Container\x201.service systemd-nspawn@containerb.service systemd-nspawn@container-III.service</programlisting> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-firstboot.xml b/man/systemd-firstboot.xml deleted file mode 100644 index b269e48113..0000000000 --- a/man/systemd-firstboot.xml +++ /dev/null @@ -1,259 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-firstboot" conditional='ENABLE_FIRSTBOOT' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-firstboot</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-firstboot</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-firstboot</refname> - <refname>systemd-firstboot.service</refname> - <refpurpose>Initialize basic system settings on or before the first boot-up of a system</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-firstboot</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - </cmdsynopsis> - - <para><filename>systemd-firstboot.service</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-firstboot</command> initializes the most - basic system settings interactively on the first boot, or - optionally non-interactively when a system image is created. The - following settings may be set up:</para> - - <itemizedlist> - <listitem><para>The system locale, more specifically the two - locale variables <varname>LANG=</varname> and - <varname>LC_MESSAGES</varname></para></listitem> - - <listitem><para>The system time zone</para></listitem> - - <listitem><para>The system host name</para></listitem> - - <listitem><para>The machine ID of the system</para></listitem> - - <listitem><para>The root user's password</para></listitem> - </itemizedlist> - - <para>Each of the fields may either be queried interactively by - users, set non-interactively on the tool's command line, or be - copied from a host system that is used to set up the system - image.</para> - - <para>If a setting is already initialized, it will not be - overwritten and the user will not be prompted for the - setting.</para> - - <para>Note that this tool operates directly on the file system and - does not involve any running system services, unlike - <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>timedatectl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - or - <citerefentry><refentrytitle>hostnamectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - This allows <command>systemd-firstboot</command> to operate on - mounted but not booted disk images and in early boot. It is not - recommended to use <command>systemd-firstboot</command> on the - running system while it is up.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--root=<replaceable>root</replaceable></option></term> - <listitem><para>Takes a directory path as an argument. All - paths will be prefixed with the given alternate - <replaceable>root</replaceable> path, including config search - paths. This is useful to operate on a system image mounted to - the specified directory instead of the host system itself. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--locale=<replaceable>LOCALE</replaceable></option></term> - <term><option>--locale-messages=<replaceable>LOCALE</replaceable></option></term> - - <listitem><para>Sets the system locale, more specifically the - <varname>LANG=</varname> and <varname>LC_MESSAGES</varname> - settings. The argument should be a valid locale identifier, - such as <literal>de_DE.UTF-8</literal>. This controls the - <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> - configuration file.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--timezone=<replaceable>TIMEZONE</replaceable></option></term> - - <listitem><para>Sets the system time zone. The argument should - be a valid time zone identifier, such as - <literal>Europe/Berlin</literal>. This controls the - <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>5</manvolnum></citerefentry> - symlink.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--hostname=<replaceable>HOSTNAME</replaceable></option></term> - - <listitem><para>Sets the system hostname. The argument should - be a host name, compatible with DNS. This controls the - <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry> - configuration file.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--machine-id=<replaceable>ID</replaceable></option></term> - - <listitem><para>Sets the system's machine ID. This controls - the - <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry> - file.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--root-password=<replaceable>PASSWORD</replaceable></option></term> - <term><option>--root-password-file=<replaceable>PATH</replaceable></option></term> - - <listitem><para>Sets the password of the system's root user. - This creates a - <citerefentry project='die-net'><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry> - file. This setting exists in two forms: - <option>--root-password=</option> accepts the password to set - directly on the command line, and - <option>--root-password-file=</option> reads it from a file. - Note that it is not recommended to specify passwords on the - command line, as other users might be able to see them simply - by invoking - <citerefentry project='die-net'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--prompt-locale</option></term> - <term><option>--prompt-timezone</option></term> - <term><option>--prompt-hostname</option></term> - <term><option>--prompt-root-password</option></term> - - <listitem><para>Prompt the user interactively for a specific - basic setting. Note that any explicit configuration settings - specified on the command line take precedence, and the user is - not prompted for it.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--prompt</option></term> - - <listitem><para>Query the user for locale, timezone, hostname - and root password. This is equivalent to specifying - <option>--prompt-locale</option>, - <option>--prompt-timezone</option>, - <option>--prompt-hostname</option>, - <option>--prompt-root-password</option> in combination.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--copy-locale</option></term> - <term><option>--copy-timezone</option></term> - <term><option>--copy-root-password</option></term> - - <listitem><para>Copy a specific basic setting from the host. - This only works in combination with <option>--root=</option> - (see above).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--copy</option></term> - - <listitem><para>Copy locale, time zone and root password from - the host. This is equivalent to specifying - <option>--copy-locale</option>, - <option>--copy-timezone</option>, - <option>--copy-root-password</option> in combination.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--setup-machine-id</option></term> - - <listitem><para>Initialize the system's machine ID to a random - ID. This only works in combination with - <option>--root=</option>.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>hostname</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-machine-id-setup</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>localectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>timedatectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>hostnamectl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-fstab-generator.xml b/man/systemd-fstab-generator.xml deleted file mode 100644 index a971cb3675..0000000000 --- a/man/systemd-fstab-generator.xml +++ /dev/null @@ -1,183 +0,0 @@ -<?xml version="1.0"?> -<!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> -<refentry id="systemd-fstab-generator"> - - <refentryinfo> - <title>systemd-fstab-generator</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-fstab-generator</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-fstab-generator</refname> - <refpurpose>Unit generator for /etc/fstab</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>/usr/lib/systemd/system-generators/systemd-fstab-generator</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>systemd-fstab-generator</filename> is a generator - that translates <filename>/etc/fstab</filename> (see - <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details) into native systemd units early at boot and when - configuration of the system manager is reloaded. This will - instantiate mount and swap units as necessary.</para> - - <para>The <varname>passno</varname> field is treated like a simple - boolean, and the ordering information is discarded. However, if - the root file system is checked, it is checked before all the - other file systems.</para> - - <para>See - <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry> - and - <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for more information about special <filename>/etc/fstab</filename> - mount options this generator understands.</para> - - <para><filename>systemd-fstab-generator</filename> implements - <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>Kernel Command Line</title> - - <para><filename>systemd-fstab-generator</filename> understands the - following kernel command line parameters:</para> - - <variablelist class='kernel-commandline-options'> - - <varlistentry> - <term><varname>fstab=</varname></term> - <term><varname>rd.fstab=</varname></term> - - <listitem><para>Takes a boolean argument. Defaults to - <literal>yes</literal>. If <literal>no</literal>, causes the - generator to ignore any mounts or swaps configured in - <filename>/etc/fstab</filename>. <varname>rd.fstab=</varname> - is honored only by initial RAM disk (initrd) while - <varname>fstab=</varname> is honored by both the main system - and the initrd.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>root=</varname></term> - - <listitem><para>Takes the root filesystem to mount in the - initrd. <varname>root=</varname> is honored by the - initrd.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>rootfstype=</varname></term> - - <listitem><para>Takes the root filesystem type that will be - passed to the mount command. <varname>rootfstype=</varname> is - honored by the initrd.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>rootflags=</varname></term> - - <listitem><para>Takes the root filesystem mount options to - use. <varname>rootflags=</varname> is honored by the - initrd.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>mount.usr=</varname></term> - - <listitem><para>Takes the <filename>/usr</filename> filesystem - to be mounted by the initrd. If - <varname>mount.usrfstype=</varname> or - <varname>mount.usrflags=</varname> is set, then - <varname>mount.usr=</varname> will default to the value set in - <varname>root=</varname>.</para> - - <para>Otherwise, this parameter defaults to the - <filename>/usr</filename> entry found in - <filename>/etc/fstab</filename> on the root filesystem.</para> - - <para><varname>mount.usr=</varname> is honored by the initrd. - </para></listitem> - </varlistentry> - <varlistentry> - <term><varname>mount.usrfstype=</varname></term> - - <listitem><para>Takes the <filename>/usr</filename> filesystem - type that will be passed to the mount command. If - <varname>mount.usr=</varname> or - <varname>mount.usrflags=</varname> is set, then - <varname>mount.usrfstype=</varname> will default to the value - set in <varname>rootfstype=</varname>.</para> - - <para>Otherwise, this value will be read from the - <filename>/usr</filename> entry in - <filename>/etc/fstab</filename> on the root filesystem.</para> - - <para><varname>mount.usrfstype=</varname> is honored by the - initrd.</para></listitem> - </varlistentry> - <varlistentry> - <term><varname>mount.usrflags=</varname></term> - - <listitem><para>Takes the <filename>/usr</filename> filesystem - mount options to use. If <varname>mount.usr=</varname> or - <varname>mount.usrfstype=</varname> is set, then - <varname>mount.usrflags=</varname> will default to the value - set in <varname>rootflags=</varname>.</para> - - <para>Otherwise, this value will be read from the - <filename>/usr</filename> entry in - <filename>/etc/fstab</filename> on the root filesystem.</para> - - <para><varname>mount.usrflags=</varname> is honored by the - initrd.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-getty-generator.xml b/man/systemd-getty-generator.xml deleted file mode 100644 index 338925964d..0000000000 --- a/man/systemd-getty-generator.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0"?> -<!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> -<refentry id="systemd-getty-generator"> - - <refentryinfo> - <title>systemd-getty-generator</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-getty-generator</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-getty-generator</refname> - <refpurpose>Generator for enabling getty instances on the - console</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>/usr/lib/systemd/system-generators/systemd-getty-generator</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>systemd-getty-generator</filename> is a generator - that automatically instantiates - <filename>serial-getty@.service</filename> on the kernel console - <filename>/dev/console</filename> if that is not directed to the - virtual console subsystem. It will also instantiate - <filename>serial-getty@.service</filename> instances for - virtualizer consoles, if execution in a virtualized environment is - detected. Finally, it will instantiate - <filename>container-getty@.service</filename> instances for - additional container pseudo TTYs as requested by the container - manager (see <ulink - url="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface/"><filename>Container - Interface</filename></ulink>). This should ensure that the user is - shown a login prompt at the right place, regardless of which - environment the system is started in. For example, it is - sufficient to redirect the kernel console with a kernel command - line argument such as <varname>console=</varname> to get both - kernel messages and a getty prompt on a serial TTY. See <ulink - url="https://www.kernel.org/doc/Documentation/kernel-parameters.txt"><filename>kernel-parameters.txt</filename></ulink> - for more information on the <varname>console=</varname> kernel - parameter.</para> - - <para><filename>systemd-getty-generator</filename> implements - <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> - - <para>Further information about configuration of gettys you may - find in - <ulink url="http://0pointer.de/blog/projects/serial-console.html">systemd - for Administrators, Part XVI: Gettys on Serial Consoles (and - Elsewhere)</ulink>.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>agetty</refentrytitle><manvolnum>8</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-gpt-auto-generator.xml b/man/systemd-gpt-auto-generator.xml deleted file mode 100644 index e890c4dce2..0000000000 --- a/man/systemd-gpt-auto-generator.xml +++ /dev/null @@ -1,186 +0,0 @@ -<?xml version="1.0"?> -<!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> -<!-- - This file is part of systemd. - - Copyright 2013 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> -<refentry id="systemd-gpt-auto-generator"> - - <refentryinfo> - <title>systemd-gpt-auto-generator</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-gpt-auto-generator</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-gpt-auto-generator</refname> - <refpurpose>Generator for automatically discovering - and mounting root, <filename>/home</filename> and - <filename>/srv</filename> partitions, as well as - discovering and enabling swap partitions, based on GPT - partition type GUIDs.</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>/usr/lib/systemd/system-generators/systemd-gpt-auto-generator</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>systemd-gpt-auto-generator</filename> is a unit - generator that automatically discovers root, - <filename>/home</filename>, <filename>/srv</filename> and swap - partitions and creates mount and swap units for them, based on the - partition type GUIDs of GUID partition tables (GPT). It implements - the <ulink - url="http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/">Discoverable - Partitions Specification</ulink>. Note that this generator has no - effect on non-GPT systems, or where the directories under the - mount points are already non-empty. Also, on systems where the - units are explicitly configured (for example, listed in - <citerefentry - project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>), - the units this generator creates are overridden, but additional - automatic dependencies might be created.</para> - - <para>This generator will only look for root partitions on the - same physical disk the EFI System Partition (ESP) is located on. - It will only look for the other partitions on the same physical - disk the root file system is located on. These partitions will not - be searched on systems where the root file system is distributed - on multiple disks, for example via btrfs RAID.</para> - - <para><filename>systemd-gpt-auto-generator</filename> is useful - for centralizing file system configuration in the partition table - and making manual configuration in <filename>/etc/fstab</filename> - or suchlike unnecessary.</para> - - <para>This generator looks for the partitions based on their - partition type GUID. The following partition type GUIDs are - identified:</para> - - <table> - <title>Partition Type GUIDs</title> - <tgroup cols='3' align='left' colsep='1' rowsep='1'> - <colspec colname="guid" /> - <colspec colname="name" /> - <colspec colname="explanation" /> - <thead> - <row> - <entry>Partition Type GUID</entry> - <entry>Name</entry> - <entry>Explanation</entry> - </row> - </thead> - <tbody> - <row> - <entry>44479540-f297-41b2-9af7-d131d5f0458a</entry> - <entry><filename>Root Partition (x86)</filename></entry> - <entry>On 32-bit x86 systems, the first x86 root partition on the disk the EFI ESP is located on is mounted to the root directory <filename>/</filename>.</entry> - </row> - <row> - <entry>4f68bce3-e8cd-4db1-96e7-fbcaf984b709</entry> - <entry><filename>Root Partition (x86-64)</filename></entry> - <entry>On 64-bit x86 systems, the first x86-64 root partition on the disk the EFI ESP is located on is mounted to the root directory <filename>/</filename>.</entry> - </row> - <row> - <entry>69dad710-2ce4-4e3c-b16c-21a1d49abed3</entry> - <entry><filename>Root Partition (32-bit ARM)</filename></entry> - <entry>On 32-bit ARM systems, the first ARM root partition on the disk the EFI ESP is located on is mounted to the root directory <filename>/</filename>.</entry> - </row> - <row> - <entry>b921b045-1df0-41c3-af44-4c6f280d3fae</entry> - <entry><filename>Root Partition (64-bit ARM)</filename></entry> - <entry>On 64-bit ARM systems, the first ARM root partition on the disk the EFI ESP is located on is mounted to the root directory <filename>/</filename>.</entry> - </row> - <row> - <entry>933ac7e1-2eb4-4f13-b844-0e14e2aef915</entry> - <entry>Home Partition</entry> - <entry>The first home partition on the disk the root partition is located on is mounted to <filename>/home</filename>.</entry> - </row> - <row> - <entry>3b8f8425-20e0-4f3b-907f-1a25a76f98e8</entry> - <entry>Server Data Partition</entry> - <entry>The first server data partition on the disk the root partition is located on is mounted to <filename>/srv</filename>.</entry> - </row> - <row> - <entry>0657fd6d-a4ab-43c4-84e5-0933c84b4f4f</entry> - <entry>Swap</entry> - <entry>All swap partitions located on the disk the root partition is located on are enabled.</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>The <filename>/home</filename> and <filename>/srv</filename> - partitions may be encrypted in LUKS format. In this case, a device - mapper device is set up under the names - <filename>/dev/mapper/home</filename> and - <filename>/dev/mapper/srv</filename>. Note that this might create - conflicts if the same partition is listed in - <filename>/etc/crypttab</filename> with a different device mapper - device name.</para> - - <para>Mount and automount units for the EFI System Partition (ESP), - mounting it to <filename>/boot</filename>, are generated on EFI - systems where the boot loader communicates the used ESP to the operating - system. Since this generator creates an automount unit, the mount will - only be activated on-demand, when accessed. On systems where - <filename>/boot</filename> is an explicitly configured mount - (for example, listed in - <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>) - or where the <filename>/boot</filename> mount point is non-empty, no - mount units are generated.</para> - - <para>When using this generator in conjunction with btrfs file - systems, make sure to set the correct default subvolumes on them, - using <command>btrfs subvolume set-default</command>.</para> - - <para><filename>systemd-gpt-auto-generator</filename> implements - <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-cryptsetup@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>cryptsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-hibernate-resume-generator.xml b/man/systemd-hibernate-resume-generator.xml deleted file mode 100644 index d811b9b551..0000000000 --- a/man/systemd-hibernate-resume-generator.xml +++ /dev/null @@ -1,93 +0,0 @@ -<?xml version="1.0"?> -<!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> -<!-- - This file is part of systemd. - - Copyright 2014 Ivan Shapovalov - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> -<refentry id="systemd-hibernate-resume-generator"> - - <refentryinfo> - <title>systemd-hibernate-resume-generator</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Ivan</firstname> - <surname>Shapovalov</surname> - <email>intelfx100@gmail.com</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-hibernate-resume-generator</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-hibernate-resume-generator</refname> - <refpurpose>Unit generator for resume= kernel parameter</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>/usr/lib/systemd/system-generators/systemd-hibernate-resume-generator</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>systemd-hibernate-resume-generator</filename> is a - generator that instantiates - <citerefentry><refentrytitle>systemd-hibernate-resume@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - unit according to the value of <option>resume=</option> parameter - specified on the kernel command line.</para> - </refsect1> - - <refsect1> - <title>Kernel Command Line</title> - - <para><filename>systemd-hibernate-resume-generator</filename> - understands the following kernel command line parameters:</para> - - <variablelist class='kernel-commandline-options'> - - <varlistentry> - <term><varname>resume=</varname></term> - - <listitem><para>Takes a path to the resume device. Both - persistent block device paths like - <filename>/dev/disk/by-foo/bar</filename> and - <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>-style - specifiers like <literal>FOO=bar</literal> are - supported.</para></listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-hibernate-resume@.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-hwdb.xml b/man/systemd-hwdb.xml deleted file mode 100644 index 2b363c77f2..0000000000 --- a/man/systemd-hwdb.xml +++ /dev/null @@ -1,93 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<refentry id="systemd-hwdb" conditional="ENABLE_HWDB"> - <refentryinfo> - <title>systemd-hwdb</title> - <productname>systemd</productname> - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Kay</firstname> - <surname>Sievers</surname> - <email>kay@vrfy.org</email> - </author> - <author> - <contrib>Developer</contrib> - <firstname>Tom</firstname> - <surname>Gundersen</surname> - <email>teg@jklm.no</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-hwdb</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-hwdb</refname><refpurpose>hardware database management tool</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-hwdb <optional>options</optional> update</command> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-hwdb <optional>options</optional> query <replaceable>modalias</replaceable></command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1><title>Description</title> - <para><command>systemd-hwdb</command> expects a command and command - specific arguments. It manages the binary hardware database.</para> - </refsect1> - - <refsect1><title>Options</title> - <variablelist> - <varlistentry> - <term><option>-h</option></term> - <term><option>--help</option></term> - <listitem> - <para>Print help text.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>--usr</option></term> - <listitem> - <para>Generate in /usr/lib/udev instead of /etc/udev.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-r</option></term> - <term><option>--root=<replaceable>PATH</replaceable></option></term> - <listitem> - <para>Alternate root path in the filesystem.</para> - </listitem> - </varlistentry> - </variablelist> - - <refsect2><title>systemd-hwdb - <arg choice="opt"><replaceable>options</replaceable></arg> - update</title> - <para>Update the binary database.</para> - </refsect2> - - <refsect2><title>systemd-hwdb - <arg choice="opt"><replaceable>options</replaceable></arg> - query - <arg><replaceable>MODALIAS</replaceable></arg> - </title> - <para>Query database and print result.</para> - </refsect2> - </refsect1> - - <refsect1> - <title>See Also</title> - <para><citerefentry> - <refentrytitle>hwdb</refentrytitle><manvolnum>7</manvolnum> - </citerefentry></para> - </refsect1> -</refentry> diff --git a/man/systemd-inhibit.xml b/man/systemd-inhibit.xml deleted file mode 100644 index 9d85908f97..0000000000 --- a/man/systemd-inhibit.xml +++ /dev/null @@ -1,177 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-inhibit" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-inhibit</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-inhibit</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-inhibit</refname> - <refpurpose>Execute a program with an inhibition lock taken</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-inhibit <arg choice="opt" rep="repeat">OPTIONS</arg> <arg>COMMAND</arg> <arg choice="opt" rep="repeat">ARGUMENTS</arg></command> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-inhibit <arg choice="opt" rep="repeat">OPTIONS</arg> --list</command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-inhibit</command> may be used to execute a - program with a shutdown, sleep or idle inhibitor lock taken. The - lock will be acquired before the specified command line is - executed and released afterwards.</para> - - <para>Inhibitor locks may be used to block or delay system sleep - and shutdown requests from the user, as well as automatic idle - handling of the OS. This is useful to avoid system suspends while - an optical disc is being recorded, or similar operations that - should not be interrupted.</para> - - <para>For more information see the <ulink - url="http://www.freedesktop.org/wiki/Software/systemd/inhibit">Inhibitor - Lock Developer Documentation</ulink>.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--what=</option></term> - - <listitem><para>Takes a colon-separated list of one or more - operations to inhibit: - <literal>shutdown</literal>, - <literal>sleep</literal>, - <literal>idle</literal>, - <literal>handle-power-key</literal>, - <literal>handle-suspend-key</literal>, - <literal>handle-hibernate-key</literal>, - <literal>handle-lid-switch</literal>, - for inhibiting reboot/power-off/halt/kexec, - suspending/hibernating, the automatic idle detection, or the - low-level handling of the power/sleep key and the lid switch, - respectively. If omitted, defaults to - <literal>idle:sleep:shutdown</literal>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--who=</option></term> - - <listitem><para>Takes a short, human-readable descriptive - string for the program taking the lock. If not passed, - defaults to the command line string.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--why=</option></term> - - <listitem><para>Takes a short, human-readable descriptive - string for the reason for taking the lock. Defaults to - "Unknown reason".</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--mode=</option></term> - - <listitem><para>Takes either <literal>block</literal> or - <literal>delay</literal> and describes how the lock is - applied. If <literal>block</literal> is used (the default), - the lock prohibits any of the requested operations without - time limit, and only privileged users may override it. If - <literal>delay</literal> is used, the lock can only delay the - requested operations for a limited time. If the time elapses, - the lock is ignored and the operation executed. The time limit - may be specified in - <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - Note that <literal>delay</literal> is only available for - <literal>sleep</literal> and - <literal>shutdown</literal>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--list</option></term> - - <listitem><para>Lists all active inhibition locks instead of - acquiring one.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>Returns the exit status of the executed program.</para> - </refsect1> - - <refsect1> - <title>Example</title> - - <programlisting># systemd-inhibit wodim foobar.iso</programlisting> - - <para>This burns the ISO image - <filename>foobar.iso</filename> on a CD using - <citerefentry project='man-pages'><refentrytitle>wodim</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - and inhibits system sleeping, shutdown and idle while - doing so.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-journal-remote.xml b/man/systemd-journal-remote.xml deleted file mode 100644 index 3899f175d4..0000000000 --- a/man/systemd-journal-remote.xml +++ /dev/null @@ -1,325 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-journal-remote" conditional='HAVE_MICROHTTPD' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-journal-remote</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-journal-remote</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-journal-remote</refname> - <refpurpose>Receive journal messages over the network</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-journal-remote</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="norepeat">-o/--output=<replaceable>DIR</replaceable>|<replaceable>FILE</replaceable></arg> - <arg choice="opt" rep="repeat">SOURCES</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para> - <filename>systemd-journal-remote</filename> is a command to - receive serialized journal events and store them to the journal. - Input streams are in the - <ulink url="http://www.freedesktop.org/wiki/Software/systemd/export"> - Journal Export Format - </ulink>, - i.e. like the output from - <command>journalctl --output=export</command>. For transport over - the network, this serialized stream is usually carried over an - HTTPS connection. - </para> - </refsect1> - - <refsect1> - <title>Sources</title> - - <para> - Sources can be either "active" - (<command>systemd-journal-remote</command> requests and pulls - the data), or "passive" - (<command>systemd-journal-remote</command> waits for a - connection and then receives events pushed by the other side). - </para> - - <para> - <command>systemd-journal-remote</command> can read more than one - event stream at a time. They will be interleaved in the output - file. In case of "active" connections, each "source" is one - stream, and in case of "passive" connections, each connection can - result in a separate stream. Sockets can be configured in - "accept" mode (i.e. only one connection), or "listen" mode (i.e. - multiple connections, each resulting in a stream). - </para> - - <para> - When there are no more connections, and no more can be created - (there are no listening sockets), then - <command>systemd-journal-remote</command> will exit. - </para> - - <para>Active sources can be specified in the following - ways:</para> - - <variablelist> - <varlistentry> - <listitem><para>When <option>-</option> is given as a - positional argument, events will be read from standard input. - Other positional arguments will be treated as filenames - to open and read from.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--url=<replaceable>ADDRESS</replaceable></option></term> - - <listitem><para>With the - <option>--url=<replaceable>ADDRESS</replaceable></option> option, - events will be retrieved using HTTP from - <replaceable>ADDRESS</replaceable>. This URL should refer to the - root of a remote - <citerefentry><refentrytitle>systemd-journal-gatewayd</refentrytitle><manvolnum>8</manvolnum></citerefentry> - instance (e.g. <ulink>http://some.host:19531/</ulink> or - <ulink>https://some.host:19531/</ulink>).</para></listitem> - </varlistentry> - </variablelist> - - <para>Passive sources can be specified in the following - ways:</para> - - <variablelist> - <varlistentry> - <term><option>--listen-raw=<replaceable>ADDRESS</replaceable></option></term> - - <listitem><para><replaceable>ADDRESS</replaceable> must be an - address suitable for <option>ListenStream=</option> (cf. - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>). - <command>systemd-journal-remote</command> will listen on this - socket for connections. Each connection is expected to be a - stream of journal events.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--listen-http=<replaceable>ADDRESS</replaceable></option></term> - <term><option>--listen-https=<replaceable>ADDRESS</replaceable></option></term> - - <listitem><para><replaceable>ADDRESS</replaceable> must be - either a negative integer, in which case it will be - interpreted as the (negated) file descriptor number, or an - address suitable for <option>ListenStream=</option> (c.f. - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>). - In the first case, matching file descriptor must be inherited - through - <varname>$LISTEN_FDS</varname>/<varname>$LISTEN_PID</varname>. - In the second case, an HTTP or HTTPS server will be spawned on - this port, respectively for <option>--listen-http</option> and - <option>--listen-https</option>. Currently, only POST requests - to <filename>/upload</filename> with <literal>Content-Type: - application/vnd.fdo.journal</literal> are supported.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>$LISTEN_FDS</varname></term> - - <listitem><para><command>systemd-journal-remote</command> - supports the - <varname>$LISTEN_FDS</varname>/<varname>$LISTEN_PID</varname> - protocol. Open sockets inherited through socket activation - behave like those opened with <option>--listen-raw=</option> - described above, unless they are specified as an argument in - <option>--listen-http=-<replaceable>n</replaceable></option> - or - <option>--listen-https=-<replaceable>n</replaceable></option> - above. In the latter case, an HTTP or HTTPS server will be - spawned using this descriptor and connections must be made - over the HTTP protocol.</para> - </listitem> - </varlistentry> - - </variablelist> - </refsect1> - - <refsect1> - <title>Sinks</title> - - <para>The location of the output journal can be specified - with <option>-o</option> or <option>--output=</option>. For "active" - sources, this option is required. - </para> - - <variablelist> - <varlistentry> - <term><option>--output=<replaceable>FILE</replaceable></option></term> - - <listitem><para>Will write to this journal file. The filename - must end with <filename>.journal</filename>. The file will be - created if it does not exist. If necessary (journal file full, - or corrupted), the file will be renamed following normal - journald rules and a new journal file will be created in its - stead.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--output=<replaceable>DIR</replaceable></option></term> - - <listitem><para>Will create journal files underneath directory - <replaceable>DIR</replaceable>. The directory must exist. If - necessary (journal files over size, or corrupted), journal - files will be rotated following normal journald rules. Names - of files underneath <replaceable>DIR</replaceable> will be - generated using the rules described below.</para></listitem> - </varlistentry> - </variablelist> - - <para>If <option>--output=</option> is not used, the output - directory <filename>/var/log/journal/remote/</filename> will be - used. In case the output file is not specified, journal files - will be created underneath the selected directory. Files will be - called - <filename>remote-<replaceable>hostname</replaceable>.journal</filename>, - where the <replaceable>hostname</replaceable> part is the - escaped hostname of the source endpoint of the connection, or the - numerical address if the hostname cannot be determined.</para> - - <para>In case of "active" sources, the output file name must - always be given explicitly.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--split-mode</option></term> - - <listitem><para>One of <constant>none</constant> or - <constant>host</constant>. For the first, only one output - journal file is used. For the latter, a separate output file - is used, based on the hostname of the other endpoint of a - connection.</para> - - <para>In case of "active" sources, the output file name must - always be given explicitly and only <constant>none</constant> - is allowed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--compress</option></term> - <term><option>--no-compress</option></term> - - <listitem><para>Compress or not, respectively, the data in the - journal using XZ.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--seal</option></term> - <term><option>--no-seal</option></term> - - <listitem><para>Periodically sign or not, respectively, the - data in the journal using Forward Secure Sealing. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--getter=<replaceable>PROG --option1 --option2</replaceable></option></term> - - <listitem><para>Program to invoke to retrieve data. The journal - event stream must be generated on standard output.</para> - - <para>Examples:</para> - - <programlisting>--getter='curl "-HAccept: application/vnd.fdo.journal" https://some.host:19531/'</programlisting> - - <programlisting>--getter='wget --header="Accept: application/vnd.fdo.journal" -O- https://some.host:19531/'</programlisting> - </listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Examples</title> - <para>Copy local journal events to a different journal directory: - <programlisting> -journalctl -o export | systemd-journal-remote -o /tmp/dir - - </programlisting> - </para> - - <para>Retrieve all available events from a remote - <citerefentry><refentrytitle>systemd-journal-gatewayd</refentrytitle><manvolnum>8</manvolnum></citerefentry> - instance and store them in - <filename>/var/log/journal/remote/remote-some.host.journal</filename>: - <programlisting> -systemd-journal-remote --url http://some.host:19531/ - </programlisting> - </para> - - <para>Retrieve current boot events and wait for new events from a remote - <citerefentry><refentrytitle>systemd-journal-gatewayd</refentrytitle><manvolnum>8</manvolnum></citerefentry> - instance, and store them in - <filename>/var/log/journal/remote/remote-some.host.journal</filename>: - <programlisting> -systemd-journal-remote --url http://some.host:19531/entries?boot&follow - </programlisting> - </para> -</refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd-journal-upload</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-journal-gatewayd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - <citerefentry><refentrytitle>journal-remote.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> -</refentry> diff --git a/man/systemd-journal-upload.xml b/man/systemd-journal-upload.xml deleted file mode 100644 index f9723dea89..0000000000 --- a/man/systemd-journal-upload.xml +++ /dev/null @@ -1,263 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-journal-upload" conditional='HAVE_MICROHTTPD' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-journal-upload</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-journal-upload</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-journal-upload</refname> - <refpurpose>Send journal messages over the network</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-journal-upload</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="norepeat">-u/--url=<replaceable>URL</replaceable></arg> - <arg choice="opt" rep="repeat">SOURCES</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para> - <command>systemd-journal-upload</command> will upload journal - entries to the URL specified with <option>--url</option>. Unless - limited by one of the options specified below, all journal - entries accessible to the user the program is running as will be - uploaded, and then the program will wait and send new entries - as they become available. - </para> - </refsect1> - - <refsect1> - <title>Options</title> - - <variablelist> - <varlistentry> - <term><option>-u</option></term> - <term><option>--url=<optional>https://</optional><replaceable>URL</replaceable></option></term> - <term><option>--url=<optional>http://</optional><replaceable>URL</replaceable></option></term> - - <listitem><para>Upload to the specified - address. <replaceable>URL</replaceable> may specify either - just the hostname or both the protocol and - hostname. <constant>https</constant> is the default. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--system</option></term> - <term><option>--user</option></term> - - <listitem><para>Limit uploaded entries to entries from system - services and the kernel, or to entries from services of - current user. This has the same meaning as - <option>--system</option> and <option>--user</option> options - for - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. If - neither is specified, all accessible entries are uploaded. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-m</option></term> - <term><option>--merge</option></term> - - <listitem><para>Upload entries interleaved from all available - journals, including other machines. This has the same meaning - as <option>--merge</option> option for - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-D</option></term> - <term><option>--directory=<replaceable>DIR</replaceable></option></term> - - <listitem><para>Takes a directory path as argument. Upload - entries from the specified journal directory - <replaceable>DIR</replaceable> instead of the default runtime - and system journal paths. This has the same meaning as - <option>--directory</option> option for - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--file=<replaceable>GLOB</replaceable></option></term> - - <listitem><para>Takes a file glob as an argument. Upload - entries from the specified journal files matching - <replaceable>GLOB</replaceable> instead of the default runtime - and system journal paths. May be specified multiple times, in - which case files will be suitably interleaved. This has the same meaning as - <option>--file</option> option for - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--cursor=</option></term> - - <listitem><para>Upload entries from the location in the - journal specified by the passed cursor. This has the same - meaning as <option>--cursor</option> option for - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--after-cursor=</option></term> - - <listitem><para>Upload entries from the location in the - journal <emphasis>after</emphasis> the location specified by - the this cursor. This has the same meaning as - <option>--after-cursor</option> option for - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - - - <varlistentry> - <term><option>--save-state</option><optional>=<replaceable>PATH</replaceable></optional></term> - - <listitem><para>Upload entries from the location in the - journal <emphasis>after</emphasis> the location specified by - the cursor saved in file at <replaceable>PATH</replaceable> - (<filename>/var/lib/systemd/journal-upload/state</filename> by default). - After an entry is successfully uploaded, update this file - with the cursor of that entry. - </para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned; otherwise, a non-zero - failure code is returned.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - <example> - <title>Setting up certificates for authentication</title> - - <para>Certificates signed by a trusted authority are used to - verify that the server to which messages are uploaded is - legitimate, and vice versa, that the client is trusted.</para> - - <para>A suitable set of certificates can be generated with - <command>openssl</command>:</para> - - <programlisting>openssl req -newkey rsa:2048 -days 3650 -x509 -nodes \ - -out ca.pem -keyout ca.key -subj '/CN=Certificate authority/' - -cat >ca.conf <<EOF -[ ca ] -default_ca = this - -[ this ] -new_certs_dir = . -certificate = ca.pem -database = ./index -private_key = ca.key -serial = ./serial -default_days = 3650 -default_md = default -policy = policy_anything - -[ policy_anything ] -countryName = optional -stateOrProvinceName = optional -localityName = optional -organizationName = optional -organizationalUnitName = optional -commonName = supplied -emailAddress = optional -EOF - -touch index -echo 0001 >serial - -SERVER=server -CLIENT=client - -openssl req -newkey rsa:1024 -nodes -out $SERVER.csr -keyout $SERVER.key -subj "/CN=$SERVER/" -openssl ca -batch -config ca.conf -notext -in $SERVER.csr -out $SERVER.pem - -openssl req -newkey rsa:1024 -nodes -out $CLIENT.csr -keyout $CLIENT.key -subj "/CN=$CLIENT/" -openssl ca -batch -config ca.conf -notext -in $CLIENT.csr -out $CLIENT.pem -</programlisting> - - <para>Generated files <filename>ca.pem</filename>, - <filename>server.pem</filename>, and - <filename>server.key</filename> should be installed on server, - and <filename>ca.pem</filename>, - <filename>client.pem</filename>, and - <filename>client.key</filename> on the client. The location of - those files can be specified using - <varname>TrustedCertificateFile=</varname>, - <varname>ServerCertificateFile=</varname>, - <varname>ServerKeyFile=</varname>, in - <filename>/etc/systemd/journal-remote.conf</filename> and - <filename>/etc/systemd/journal-upload.conf</filename>, - respectively. The default locations can be queried by using - <command>systemd-journal-remote --help</command> and - <command>systemd-journal-upload --help</command>.</para> - </example> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd-journal-remote</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-journal-gatewayd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - </para> - </refsect1> -</refentry> diff --git a/man/systemd-machine-id-setup.xml b/man/systemd-machine-id-setup.xml deleted file mode 100644 index bfcd74f436..0000000000 --- a/man/systemd-machine-id-setup.xml +++ /dev/null @@ -1,178 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-machine-id-setup" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-machine-id-setup</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - <author> - <contrib>Developer</contrib> - <firstname>Didier</firstname> - <surname>Roche</surname> - <email>didrocks@ubuntu.com</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-machine-id-setup</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-machine-id-setup</refname> - <refpurpose>Initialize the machine ID in /etc/machine-id</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-machine-id-setup</command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-machine-id-setup</command> may be used by - system installer tools to initialize the machine ID stored in - <filename>/etc/machine-id</filename> at install time, with a - provisioned or randomly generated ID. See - <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for more information about this file.</para> - - <para>If the tool is invoked without the <option>--commit</option> - switch, <filename>/etc/machine-id</filename> is initialized with a - valid, new machined ID if it is missing or empty. The new machine - ID will be acquired in the following fashion:</para> - - <orderedlist> - <listitem><para>If a valid D-Bus machine ID is already - configured for the system, the D-Bus machine ID is copied and - used to initialize the machine ID in - <filename>/etc/machine-id</filename>.</para></listitem> - - <listitem><para>If run inside a KVM virtual machine and a UUID - is was configured (via the <option>-uuid</option> - option), this UUID is used to initialize the machine ID. The - caller must ensure that the UUID passed is sufficiently unique - and is different for every booted instance of the - VM.</para></listitem> - - <listitem><para>Similarly, if run inside a Linux container - environment and a UUID is configured for the container, this is - used to initialize the machine ID. For details, see the - documentation of the <ulink - url="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface">Container - Interface</ulink>.</para></listitem> - - <listitem><para>Otherwise, a new ID is randomly - generated.</para></listitem> - </orderedlist> - - <para>The <option>--commit</option> switch may be used to commit a - transient machined ID to disk, making it persistent. For details, - see below.</para> - - <para>Use - <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to initialize the machine ID on mounted (but not booted) system - images.</para> - - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - - <varlistentry> - <term><option>--root=<replaceable>root</replaceable></option></term> - <listitem><para>Takes a directory path as argument. All paths - operated will be prefixed with the given alternate - <replaceable>root</replaceable> path, including the path for - <filename>/etc/machine-id</filename> itself.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--commit</option></term> - <listitem><para>Commit a transient machine ID to disk. This - command may be used to convert a transient machine ID into a - persistent one. A transient machine ID file is one that was - bind mounted from a memory file system (usually - <literal>tmpfs</literal>) to - <filename>/etc/machine-id</filename> during the early phase of - the boot process. This may happen because - <filename>/etc</filename> is initially read-only and was - missing a valid machine ID file at that point.</para> - - <para>This command will execute no operation if - <filename>/etc/machine-id</filename> is not mounted from a - memory file system, or if <filename>/etc</filename> is - read-only. The command will write the current transient - machine ID to disk and unmount the - <filename>/etc/machine-id</filename> mount point in a - race-free manner to ensure that this file is always valid and - accessible for other processes.</para> - - <para>This command is primarily used by the - <citerefentry><refentrytitle>systemd-machine-id-commit.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - early boot service.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-machine-id-commit.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='dbus'><refentrytitle>dbus-uuidgen</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-notify.xml b/man/systemd-notify.xml deleted file mode 100644 index a5f4077166..0000000000 --- a/man/systemd-notify.xml +++ /dev/null @@ -1,185 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-notify" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-notify</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-notify</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-notify</refname> - <refpurpose>Notify service manager about start-up completion and other daemon status changes</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-notify <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="opt" rep="repeat">VARIABLE=VALUE</arg></command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-notify</command> may be called by daemon - scripts to notify the init system about status changes. It can be - used to send arbitrary information, encoded in an - environment-block-like list of strings. Most importantly, it can be - used for start-up completion notification.</para> - - <para>This is mostly just a wrapper around - <function>sd_notify()</function> and makes this functionality - available to shell scripts. For details see - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - </para> - - <para>The command line may carry a list of environment variables - to send as part of the status update.</para> - - <para>Note that systemd will refuse reception of status updates - from this command unless <varname>NotifyAccess=all</varname> is - set for the service unit this command is called from.</para> - - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--ready</option></term> - - <listitem><para>Inform the init system about service start-up - completion. This is equivalent to <command>systemd-notify - READY=1</command>. For details about the semantics of this - option see - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--pid=</option></term> - - <listitem><para>Inform the init system about the main PID of - the daemon. Takes a PID as argument. If the argument is - omitted, the PID of the process that invoked - <command>systemd-notify</command> is used. This is equivalent - to <command>systemd-notify MAINPID=$PID</command>. For details - about the semantics of this option see - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--status=</option></term> - - <listitem><para>Send a free-form status string for the daemon - to the init systemd. This option takes the status string as - argument. This is equivalent to <command>systemd-notify - STATUS=...</command>. For details about the semantics of this - option see - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--booted</option></term> - - <listitem><para>Returns 0 if the system was booted up with - systemd, non-zero otherwise. If this option is passed, no - message is sent. This option is hence unrelated to the other - options. For details about the semantics of this option, see - <citerefentry><refentrytitle>sd_booted</refentrytitle><manvolnum>3</manvolnum></citerefentry>. An - alternate way to check for this state is to call - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - with the <command>is-system-running</command> command. It will - return <literal>offline</literal> if the system was not booted - with systemd. </para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>Example</title> - - <example> - <title>Start-up Notification and Status Updates</title> - - <para>A simple shell daemon that sends start-up notifications - after having set up its communication channel. During runtime it - sends further status updates to the init system:</para> - - <programlisting>#!/bin/bash - -mkfifo /tmp/waldo -systemd-notify --ready --status="Waiting for data..." - -while : ; do - read a < /tmp/waldo - systemd-notify --status="Processing $a" - - # Do something with $a ... - - systemd-notify --status="Waiting for data..." -done</programlisting> - </example> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_booted</refentrytitle><manvolnum>3</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml deleted file mode 100644 index 476cc2932f..0000000000 --- a/man/systemd-nspawn.xml +++ /dev/null @@ -1,1066 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-nspawn" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-nspawn</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-nspawn</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-nspawn</refname> - <refpurpose>Spawn a namespace container for debugging, testing and building</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-nspawn</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt"><replaceable>COMMAND</replaceable> - <arg choice="opt" rep="repeat">ARGS</arg> - </arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-nspawn</command> - <arg choice="plain">--boot</arg> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="repeat">ARGS</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-nspawn</command> may be used to run a - command or OS in a light-weight namespace container. In many ways - it is similar to - <citerefentry project='man-pages'><refentrytitle>chroot</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - but more powerful since it fully virtualizes the file system - hierarchy, as well as the process tree, the various IPC subsystems - and the host and domain name.</para> - - <para><command>systemd-nspawn</command> limits access to various - kernel interfaces in the container to read-only, such as - <filename>/sys</filename>, <filename>/proc/sys</filename> or - <filename>/sys/fs/selinux</filename>. Network interfaces and the - system clock may not be changed from within the container. Device - nodes may not be created. The host system cannot be rebooted and - kernel modules may not be loaded from within the container.</para> - - <para>Note that even though these security precautions are taken - <command>systemd-nspawn</command> is not suitable for fully secure - container setups. Many of the security features may be - circumvented and are hence primarily useful to avoid accidental - changes to the host system from the container.</para> - - <para>In contrast to - <citerefentry project='man-pages'><refentrytitle>chroot</refentrytitle><manvolnum>1</manvolnum></citerefentry> <command>systemd-nspawn</command> - may be used to boot full Linux-based operating systems in a - container.</para> - - <para>Use a tool like - <citerefentry project='mankier'><refentrytitle>dnf</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - or - <citerefentry project='archlinux'><refentrytitle>pacman</refentrytitle><manvolnum>8</manvolnum></citerefentry> - to set up an OS directory tree suitable as file system hierarchy - for <command>systemd-nspawn</command> containers.</para> - - <para>Note that <command>systemd-nspawn</command> will mount file - systems private to the container to <filename>/dev</filename>, - <filename>/run</filename> and similar. These will not be visible - outside of the container, and their contents will be lost when the - container exits.</para> - - <para>Note that running two <command>systemd-nspawn</command> - containers from the same directory tree will not make processes in - them see each other. The PID namespace separation of the two - containers is complete and the containers will share very few - runtime objects except for the underlying file system. Use - <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s - <command>login</command> command to request an additional login - prompt in a running container.</para> - - <para><command>systemd-nspawn</command> implements the - <ulink - url="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface">Container - Interface</ulink> specification.</para> - - <para>As a safety check <command>systemd-nspawn</command> will - verify the existence of <filename>/usr/lib/os-release</filename> - or <filename>/etc/os-release</filename> in the container tree - before starting the container (see - <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>). - It might be necessary to add this file to the container tree - manually if the OS of the container is too old to contain this - file out-of-the-box.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>If option <option>-b</option> is specified, the arguments - are used as arguments for the init binary. Otherwise, - <replaceable>COMMAND</replaceable> specifies the program to launch - in the container, and the remaining arguments are used as - arguments for this program. If <option>-b</option> is not used and - no arguments are specified, a shell is launched in the - container.</para> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>-D</option></term> - <term><option>--directory=</option></term> - - <listitem><para>Directory to use as file system root for the - container.</para> - - <para>If neither <option>--directory=</option>, nor - <option>--image=</option> is specified the directory is - determined by searching for a directory named the same as the - machine name specified with <option>--machine=</option>. See - <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - section "Files and Directories" for the precise search path.</para> - - <para>If neither <option>--directory=</option>, - <option>--image=</option>, nor <option>--machine=</option> - are specified, the current directory will - be used. May not be specified together with - <option>--image=</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--template=</option></term> - - <listitem><para>Directory or <literal>btrfs</literal> - subvolume to use as template for the container's root - directory. If this is specified and the container's root - directory (as configured by <option>--directory=</option>) - does not yet exist it is created as <literal>btrfs</literal> - subvolume and populated from this template tree. Ideally, the - specified template path refers to the root of a - <literal>btrfs</literal> subvolume, in which case a simple - copy-on-write snapshot is taken, and populating the root - directory is instant. If the specified template path does not - refer to the root of a <literal>btrfs</literal> subvolume (or - not even to a <literal>btrfs</literal> file system at all), - the tree is copied, which can be substantially more - time-consuming. Note that if this option is used the - container's root directory (in contrast to the template - directory!) must be located on a <literal>btrfs</literal> file - system, so that the <literal>btrfs</literal> subvolume may be - created. May not be specified together with - <option>--image=</option> or - <option>--ephemeral</option>.</para> - - <para>Note that this switch leaves host name, machine ID and - all other settings that could identify the instance - unmodified.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-x</option></term> - <term><option>--ephemeral</option></term> - - <listitem><para>If specified, the container is run with a - temporary <literal>btrfs</literal> snapshot of its root - directory (as configured with <option>--directory=</option>), - that is removed immediately when the container terminates. - This option is only supported if the root file system is - <literal>btrfs</literal>. May not be specified together with - <option>--image=</option> or - <option>--template=</option>.</para> - <para>Note that this switch leaves host name, machine ID and - all other settings that could identify the instance - unmodified.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-i</option></term> - <term><option>--image=</option></term> - - <listitem><para>Disk image to mount the root directory for the - container from. Takes a path to a regular file or to a block - device node. The file or block device must contain - either:</para> - - <itemizedlist> - <listitem><para>An MBR partition table with a single - partition of type 0x83 that is marked - bootable.</para></listitem> - - <listitem><para>A GUID partition table (GPT) with a single - partition of type - 0fc63daf-8483-4772-8e79-3d69d8477de4.</para></listitem> - - <listitem><para>A GUID partition table (GPT) with a marked - root partition which is mounted as the root directory of the - container. Optionally, GPT images may contain a home and/or - a server data partition which are mounted to the appropriate - places in the container. All these partitions must be - identified by the partition types defined by the <ulink - url="http://www.freedesktop.org/wiki/Specifications/DiscoverablePartitionsSpec/">Discoverable - Partitions Specification</ulink>.</para></listitem> - </itemizedlist> - - <para>Any other partitions, such as foreign partitions, swap - partitions or EFI system partitions are not mounted. May not - be specified together with <option>--directory=</option>, - <option>--template=</option> or - <option>--ephemeral</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-a</option></term> - <term><option>--as-pid2</option></term> - - <listitem><para>Invoke the shell or specified program as process ID (PID) 2 instead of PID 1 (init). By - default, if neither this option nor <option>--boot</option> is used, the selected binary is run as process with - PID 1, a mode only suitable for programs that are aware of the special semantics that the process with PID 1 - has on UNIX. For example, it needs to reap all processes reparented to it, and should implement - <command>sysvinit</command> compatible signal handling (specifically: it needs to reboot on SIGINT, reexecute - on SIGTERM, reload configuration on SIGHUP, and so on). With <option>--as-pid2</option> a minimal stub init - process is run as PID 1 and the selected binary is executed as PID 2 (and hence does not need to implement any - special semantics). The stub init process will reap processes as necessary and react appropriately to - signals. It is recommended to use this mode to invoke arbitrary commands in containers, unless they have been - modified to run correctly as PID 1. Or in other words: this switch should be used for pretty much all commands, - except when the command refers to an init or shell implementation, as these are generally capable of running - correctly as PID 1. This option may not be combined with <option>--boot</option> or - <option>--share-system</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-b</option></term> - <term><option>--boot</option></term> - - <listitem><para>Automatically search for an init binary and invoke it as PID 1, instead of a shell or a user - supplied program. If this option is used, arguments specified on the command line are used as arguments for the - init binary. This option may not be combined with <option>--as-pid2</option> or - <option>--share-system</option>.</para> - - <para>The following table explains the different modes of invocation and relationship to - <option>--as-pid2</option> (see above):</para> - - <table> - <title>Invocation Mode</title> - <tgroup cols='2' align='left' colsep='1' rowsep='1'> - <colspec colname="switch" /> - <colspec colname="explanation" /> - <thead> - <row> - <entry>Switch</entry> - <entry>Explanation</entry> - </row> - </thead> - <tbody> - <row> - <entry>Neither <option>--as-pid2</option> nor <option>--boot</option> specified</entry> - <entry>The passed parameters are interpreted as the command line, which is executed as PID 1 in the container.</entry> - </row> - - <row> - <entry><option>--as-pid2</option> specified</entry> - <entry>The passed parameters are interpreted as the command line, which is executed as PID 2 in the container. A stub init process is run as PID 1.</entry> - </row> - - <row> - <entry><option>--boot</option> specified</entry> - <entry>An init binary as automatically searched and run as PID 1 in the container. The passed parameters are used as invocation parameters for this process.</entry> - </row> - - </tbody> - </tgroup> - </table> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--chdir=</option></term> - - <listitem><para>Change to the specified working directory before invoking the process in the container. Expects - an absolute path in the container's file system namespace.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-u</option></term> - <term><option>--user=</option></term> - - <listitem><para>After transitioning into the container, change - to the specified user-defined in the container's user - database. Like all other systemd-nspawn features, this is not - a security feature and provides protection against accidental - destructive operations only.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-M</option></term> - <term><option>--machine=</option></term> - - <listitem><para>Sets the machine name for this container. This - name may be used to identify this container during its runtime - (for example in tools like - <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - and similar), and is used to initialize the container's - hostname (which the container can choose to override, - however). If not specified, the last component of the root - directory path of the container is used, possibly suffixed - with a random identifier in case <option>--ephemeral</option> - mode is selected. If the root directory selected is the host's - root directory the host's hostname is used as default - instead.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--uuid=</option></term> - - <listitem><para>Set the specified UUID for the container. The - init system will initialize - <filename>/etc/machine-id</filename> from this if this file is - not set yet. Note that this option takes effect only if - <filename>/etc/machine-id</filename> in the container is - unpopulated.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--slice=</option></term> - - <listitem><para>Make the container part of the specified - slice, instead of the default - <filename>machine.slice</filename>. This is only applies if - the machine is run in its own scope unit, i.e. if - <option>--keep-unit</option> is not used.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--property=</option></term> - - <listitem><para>Set a unit property on the scope unit to - register for the machine. This only applies if the machine is - run in its own scope unit, i.e. if - <option>--keep-unit</option> is not used. Takes unit property - assignments in the same format as <command>systemctl - set-property</command>. This is useful to set memory limits - and similar for machines.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--private-users=</option></term> - - <listitem><para>Controls user namespacing. If enabled, the container will run with its own private set of UNIX - user and group ids (UIDs and GIDs). This involves mapping the private UIDs/GIDs used in the container (starting - with the container's root user 0 and up) to a range of UIDs/GIDs on the host that are not used for other - purposes (usually in the range beyond the host's UID/GID 65536). The parameter may be specified as follows:</para> - - <orderedlist> - <listitem><para>The value <literal>no</literal> turns off user namespacing. This is the default.</para></listitem> - - <listitem><para>The value <literal>yes</literal> (or the omission of a parameter) turns on user - namespacing. The UID/GID range to use is determined automatically from the file ownership of the root - directory of the container's directory tree. To use this option, make sure to prepare the directory tree in - advance, and ensure that all files and directories in it are owned by UIDs/GIDs in the range you'd like to - use. Also, make sure that used file ACLs exclusively reference UIDs/GIDs in the appropriate range. If this - mode is used the number of UIDs/GIDs assigned to the container for use is 65536, and the UID/GID of the - root directory must be a multiple of 65536.</para></listitem> - - <listitem><para>The value "pick" turns on user namespacing. In this case the UID/GID range is automatically - chosen. As first step, the file owner of the root directory of the container's directory tree is read, and it - is checked that it is currently not used by the system otherwise (in particular, that no other container is - using it). If this check is successful, the UID/GID range determined this way is used, similar to the - behaviour if "yes" is specified. If the check is not successful (and thus the UID/GID range indicated in the - root directory's file owner is already used elsewhere) a new – currently unused – UID/GID range of 65536 - UIDs/GIDs is randomly chosen between the host UID/GIDs of 524288 and 1878982656, always starting at a - multiple of 65536. This setting implies <option>--private-users-chown</option> (see below), which has the - effect that the files and directories in the container's directory tree will be owned by the appropriate - users of the range picked. Using this option makes user namespace behaviour fully automatic. Note that the - first invocation of a previously unused container image might result in picking a new UID/GID range for it, - and thus in the (possibly expensive) file ownership adjustment operation. However, subsequent invocations of - the container will be cheap (unless of course the picked UID/GID range is assigned to a different use by - then).</para></listitem> - - <listitem><para>Finally if one or two colon-separated numeric parameters are specified, user namespacing is - turned on, too. The first parameter specifies the first host UID/GID to assign to the container, the second - parameter specifies the number of host UIDs/GIDs to assign to the container. If the second parameter is - omitted, 65536 UIDs/GIDs are assigned.</para></listitem> - </orderedlist> - - <para>It is recommended to assign at least 65536 UIDs/GIDs to each container, so that the usable UID/GID range in the - container covers 16 bit. For best security, do not assign overlapping UID/GID ranges to multiple containers. It is - hence a good idea to use the upper 16 bit of the host 32-bit UIDs/GIDs as container identifier, while the lower 16 - bit encode the container UID/GID used. This is in fact the behaviour enforced by the - <option>--private-users=pick</option> option.</para> - - <para>When user namespaces are used, the GID range assigned to each container is always chosen identical to the - UID range.</para> - - <para>In most cases, using <option>--private-users=pick</option> is the recommended option as it enhances - container security massively and operates fully automatically in most cases.</para> - - <para>Note that the picked UID/GID range is not written to <filename>/etc/passwd</filename> or - <filename>/etc/group</filename>. In fact, the allocation of the range is not stored persistently anywhere, - except in the file ownership of the files and directories of the container.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-U</option></term> - - <listitem><para>If the kernel supports the user namespaces feature, equivalent to - <option>--private-users=pick</option>, otherwise equivalent to - <option>--private-users=no</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--private-users-chown</option></term> - - <listitem><para>If specified, all files and directories in the container's directory tree will adjusted so that - they are owned to the appropriate UIDs/GIDs selected for the container (see above). This operation is - potentially expensive, as it involves descending and iterating through the full directory tree of the - container. Besides actual file ownership, file ACLs are adjusted as well.</para> - - <para>This option is implied if <option>--private-users=pick</option> is used. This option has no effect if - user namespacing is not used.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--private-network</option></term> - - <listitem><para>Disconnect networking of the container from - the host. This makes all network interfaces unavailable in the - container, with the exception of the loopback device and those - specified with <option>--network-interface=</option> and - configured with <option>--network-veth</option>. If this - option is specified, the CAP_NET_ADMIN capability will be - added to the set of capabilities the container retains. The - latter may be disabled by using - <option>--drop-capability=</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--network-interface=</option></term> - - <listitem><para>Assign the specified network interface to the - container. This will remove the specified interface from the - calling namespace and place it in the container. When the - container terminates, it is moved back to the host namespace. - Note that <option>--network-interface=</option> implies - <option>--private-network</option>. This option may be used - more than once to add multiple network interfaces to the - container.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--network-macvlan=</option></term> - - <listitem><para>Create a <literal>macvlan</literal> interface - of the specified Ethernet network interface and add it to the - container. A <literal>macvlan</literal> interface is a virtual - interface that adds a second MAC address to an existing - physical Ethernet link. The interface in the container will be - named after the interface on the host, prefixed with - <literal>mv-</literal>. Note that - <option>--network-macvlan=</option> implies - <option>--private-network</option>. This option may be used - more than once to add multiple network interfaces to the - container.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--network-ipvlan=</option></term> - - <listitem><para>Create an <literal>ipvlan</literal> interface - of the specified Ethernet network interface and add it to the - container. An <literal>ipvlan</literal> interface is a virtual - interface, similar to a <literal>macvlan</literal> interface, - which uses the same MAC address as the underlying interface. - The interface in the container will be named after the - interface on the host, prefixed with <literal>iv-</literal>. - Note that <option>--network-ipvlan=</option> implies - <option>--private-network</option>. This option may be used - more than once to add multiple network interfaces to the - container.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-n</option></term> - <term><option>--network-veth</option></term> - - <listitem><para>Create a virtual Ethernet link (<literal>veth</literal>) between host and container. The host - side of the Ethernet link will be available as a network interface named after the container's name (as - specified with <option>--machine=</option>), prefixed with <literal>ve-</literal>. The container side of the - Ethernet link will be named <literal>host0</literal>. The <option>--network-veth</option> option implies - <option>--private-network</option>.</para> - - <para>Note that - <citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - includes by default a network file <filename>/usr/lib/systemd/network/80-container-ve.network</filename> - matching the host-side interfaces created this way, which contains settings to enable automatic address - provisioning on the created virtual link via DHCP, as well as automatic IP routing onto the host's external - network interfaces. It also contains <filename>/usr/lib/systemd/network/80-container-host0.network</filename> - matching the container-side interface created this way, containing settings to enable client side address - assignment via DHCP. In case <filename>systemd-networkd</filename> is running on both the host and inside the - container, automatic IP communication from the container to the host is thus available, with further - connectivity to the external network.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--network-veth-extra=</option></term> - - <listitem><para>Adds an additional virtual Ethernet link - between host and container. Takes a colon-separated pair of - host interface name and container interface name. The latter - may be omitted in which case the container and host sides will - be assigned the same name. This switch is independent of - <option>--network-veth</option>, and — in contrast — may be - used multiple times, and allows configuration of the network - interface names. Note that <option>--network-bridge=</option> - has no effect on interfaces created with - <option>--network-veth-extra=</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--network-bridge=</option></term> - - <listitem><para>Adds the host side of the Ethernet link created with <option>--network-veth</option> to the - specified Ethernet bridge interface. Expects a valid network interface name of a bridge device as - argument. Note that <option>--network-bridge=</option> implies <option>--network-veth</option>. If this option - is used, the host side of the Ethernet link will use the <literal>vb-</literal> prefix instead of - <literal>ve-</literal>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--network-zone=</option></term> - - <listitem><para>Creates a virtual Ethernet link (<literal>veth</literal>) to the container and adds it to an - automatically managed Ethernet bridge interface. The bridge interface is named after the passed argument, - prefixed with <literal>vz-</literal>. The bridge interface is automatically created when the first container - configured for its name is started, and is automatically removed when the last container configured for its - name exits. Hence, each bridge interface configured this way exists only as long as there's at least one - container referencing it running. This option is very similar to <option>--network-bridge=</option>, besides - this automatic creation/removal of the bridge device.</para> - - <para>This setting makes it easy to place multiple related containers on a common, virtual Ethernet-based - broadcast domain, here called a "zone". Each container may only be part of one zone, but each zone may contain - any number of containers. Each zone is referenced by its name. Names may be chosen freely (as long as they form - valid network interface names when prefixed with <literal>vz-</literal>), and it is sufficient to pass the same - name to the <option>--network-zones=</option> switch of the various concurrently running containers to join - them in one zone.</para> - - <para>Note that - <citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - includes by default a network file <filename>/usr/lib/systemd/network/80-container-vz.network</filename> - matching the bridge interfaces created this way, which contains settings to enable automatic address - provisioning on the created virtual network via DHCP, as well as automatic IP routing onto the host's external - network interfaces. Using <option>--network-zone=</option> is hence in most cases fully automatic and - sufficient to connect multiple local containers in a joined broadcast domain to the host, with further - connectivity to the external network.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-p</option></term> - <term><option>--port=</option></term> - - <listitem><para>If private networking is enabled, maps an IP - port on the host onto an IP port on the container. Takes a - protocol specifier (either <literal>tcp</literal> or - <literal>udp</literal>), separated by a colon from a host port - number in the range 1 to 65535, separated by a colon from a - container port number in the range from 1 to 65535. The - protocol specifier and its separating colon may be omitted, in - which case <literal>tcp</literal> is assumed. The container - port number and its colon may be omitted, in which case the - same port as the host port is implied. This option is only - supported if private networking is used, such as with - <option>--network-veth</option>, <option>--network-zone=</option> - <option>--network-bridge=</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-Z</option></term> - <term><option>--selinux-context=</option></term> - - <listitem><para>Sets the SELinux security context to be used - to label processes in the container.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-L</option></term> - <term><option>--selinux-apifs-context=</option></term> - - <listitem><para>Sets the SELinux security context to be used - to label files in the virtual API file systems in the - container.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--capability=</option></term> - - <listitem><para>List one or more additional capabilities to - grant the container. Takes a comma-separated list of - capability names, see - <citerefentry project='man-pages'><refentrytitle>capabilities</refentrytitle><manvolnum>7</manvolnum></citerefentry> - for more information. Note that the following capabilities - will be granted in any way: CAP_CHOWN, CAP_DAC_OVERRIDE, - CAP_DAC_READ_SEARCH, CAP_FOWNER, CAP_FSETID, CAP_IPC_OWNER, - CAP_KILL, CAP_LEASE, CAP_LINUX_IMMUTABLE, - CAP_NET_BIND_SERVICE, CAP_NET_BROADCAST, CAP_NET_RAW, - CAP_SETGID, CAP_SETFCAP, CAP_SETPCAP, CAP_SETUID, - CAP_SYS_ADMIN, CAP_SYS_CHROOT, CAP_SYS_NICE, CAP_SYS_PTRACE, - CAP_SYS_TTY_CONFIG, CAP_SYS_RESOURCE, CAP_SYS_BOOT, - CAP_AUDIT_WRITE, CAP_AUDIT_CONTROL. Also CAP_NET_ADMIN is - retained if <option>--private-network</option> is specified. - If the special value <literal>all</literal> is passed, all - capabilities are retained.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--drop-capability=</option></term> - - <listitem><para>Specify one or more additional capabilities to - drop for the container. This allows running the container with - fewer capabilities than the default (see - above).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--kill-signal=</option></term> - - <listitem><para>Specify the process signal to send to the - container's PID 1 when nspawn itself receives SIGTERM, in - order to trigger an orderly shutdown of the - container. Defaults to SIGRTMIN+3 if <option>--boot</option> - is used (on systemd-compatible init systems SIGRTMIN+3 - triggers an orderly shutdown). For a list of valid signals, see - <citerefentry project='man-pages'><refentrytitle>signal</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--link-journal=</option></term> - - <listitem><para>Control whether the container's journal shall - be made visible to the host system. If enabled, allows viewing - the container's journal files from the host (but not vice - versa). Takes one of <literal>no</literal>, - <literal>host</literal>, <literal>try-host</literal>, - <literal>guest</literal>, <literal>try-guest</literal>, - <literal>auto</literal>. If <literal>no</literal>, the journal - is not linked. If <literal>host</literal>, the journal files - are stored on the host file system (beneath - <filename>/var/log/journal/<replaceable>machine-id</replaceable></filename>) - and the subdirectory is bind-mounted into the container at the - same location. If <literal>guest</literal>, the journal files - are stored on the guest file system (beneath - <filename>/var/log/journal/<replaceable>machine-id</replaceable></filename>) - and the subdirectory is symlinked into the host at the same - location. <literal>try-host</literal> and - <literal>try-guest</literal> do the same but do not fail if - the host does not have persistent journalling enabled. If - <literal>auto</literal> (the default), and the right - subdirectory of <filename>/var/log/journal</filename> exists, - it will be bind mounted into the container. If the - subdirectory does not exist, no linking is performed. - Effectively, booting a container once with - <literal>guest</literal> or <literal>host</literal> will link - the journal persistently if further on the default of - <literal>auto</literal> is used.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-j</option></term> - - <listitem><para>Equivalent to - <option>--link-journal=try-guest</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--read-only</option></term> - - <listitem><para>Mount the root file system read-only for the - container.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--bind=</option></term> - <term><option>--bind-ro=</option></term> - - <listitem><para>Bind mount a file or directory from the host - into the container. Takes one of: a path argument — in which - case the specified path will be mounted from the host to the - same path in the container —, or a colon-separated pair of - paths — in which case the first specified path is the source - in the host, and the second path is the destination in the - container —, or a colon-separated triple of source path, - destination path and mount options. Mount options are - comma-separated and currently, only "rbind" and "norbind" - are allowed. Defaults to "rbind". Backslash escapes are interpreted, so - <literal>\:</literal> may be used to embed colons in either path. - This option may be specified multiple times for - creating multiple independent bind mount points. The - <option>--bind-ro=</option> option creates read-only bind - mounts.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--tmpfs=</option></term> - - <listitem><para>Mount a tmpfs file system into the container. - Takes a single absolute path argument that specifies where to - mount the tmpfs instance to (in which case the directory - access mode will be chosen as 0755, owned by root/root), or - optionally a colon-separated pair of path and mount option - string that is used for mounting (in which case the kernel - default for access mode and owner will be chosen, unless - otherwise specified). This option is particularly useful for - mounting directories such as <filename>/var</filename> as - tmpfs, to allow state-less systems, in particular when - combined with <option>--read-only</option>. - Backslash escapes are interpreted in the path, so - <literal>\:</literal> may be used to embed colons in the path. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--overlay=</option></term> - <term><option>--overlay-ro=</option></term> - - <listitem><para>Combine multiple directory trees into one - overlay file system and mount it into the container. Takes a - list of colon-separated paths to the directory trees to - combine and the destination mount point.</para> - - <para>Backslash escapes are interpreted in the paths, so - <literal>\:</literal> may be used to embed colons in the paths. - </para> - - <para>If three or more paths are specified, then the last - specified path is the destination mount point in the - container, all paths specified before refer to directory trees - on the host and are combined in the specified order into one - overlay file system. The left-most path is hence the lowest - directory tree, the second-to-last path the highest directory - tree in the stacking order. If <option>--overlay-ro=</option> - is used instead of <option>--overlay=</option>, a read-only - overlay file system is created. If a writable overlay file - system is created, all changes made to it are written to the - highest directory tree in the stacking order, i.e. the - second-to-last specified.</para> - - <para>If only two paths are specified, then the second - specified path is used both as the top-level directory tree in - the stacking order as seen from the host, as well as the mount - point for the overlay file system in the container. At least - two paths have to be specified.</para> - - <para>For details about overlay file systems, see <ulink - url="https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt">overlayfs.txt</ulink>. Note - that the semantics of overlay file systems are substantially - different from normal file systems, in particular regarding - reported device and inode information. Device and inode - information may change for a file while it is being written - to, and processes might see out-of-date versions of files at - times. Note that this switch automatically derives the - <literal>workdir=</literal> mount option for the overlay file - system from the top-level directory tree, making it a sibling - of it. It is hence essential that the top-level directory tree - is not a mount point itself (since the working directory must - be on the same file system as the top-most directory - tree). Also note that the <literal>lowerdir=</literal> mount - option receives the paths to stack in the opposite order of - this switch.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-E <replaceable>NAME</replaceable>=<replaceable>VALUE</replaceable></option></term> - <term><option>--setenv=<replaceable>NAME</replaceable>=<replaceable>VALUE</replaceable></option></term> - - <listitem><para>Specifies an environment variable assignment - to pass to the init process in the container, in the format - <literal>NAME=VALUE</literal>. This may be used to override - the default variables or to set additional variables. This - parameter may be used more than once.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--share-system</option></term> - - <listitem><para>Allows the container to share certain system - facilities with the host. More specifically, this turns off - PID namespacing, UTS namespacing and IPC namespacing, and thus - allows the guest to see and interact more easily with - processes outside of the container. Note that using this - option makes it impossible to start up a full Operating System - in the container, as an init system cannot operate in this - mode. It is only useful to run specific programs or - applications this way, without involving an init system in the - container. This option implies <option>--register=no</option>. - This option may not be combined with - <option>--boot</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--register=</option></term> - - <listitem><para>Controls whether the container is registered - with - <citerefentry><refentrytitle>systemd-machined</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - Takes a boolean argument, which defaults to <literal>yes</literal>. - This option should be enabled when the container runs a full - Operating System (more specifically: an init system), and is - useful to ensure that the container is accessible via - <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - and shown by tools such as - <citerefentry project='man-pages'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - If the container does not run an init system, it is - recommended to set this option to <literal>no</literal>. Note - that <option>--share-system</option> implies - <option>--register=no</option>. </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--keep-unit</option></term> - - <listitem><para>Instead of creating a transient scope unit to - run the container in, simply register the service or scope - unit <command>systemd-nspawn</command> has been invoked in - with - <citerefentry><refentrytitle>systemd-machined</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - This has no effect if <option>--register=no</option> is used. - This switch should be used if - <command>systemd-nspawn</command> is invoked from within a - service unit, and the service unit's sole purpose is to run a - single <command>systemd-nspawn</command> container. This - option is not available if run from a user - session.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--personality=</option></term> - - <listitem><para>Control the architecture ("personality") - reported by - <citerefentry project='man-pages'><refentrytitle>uname</refentrytitle><manvolnum>2</manvolnum></citerefentry> - in the container. Currently, only <literal>x86</literal> and - <literal>x86-64</literal> are supported. This is useful when - running a 32-bit container on a 64-bit host. If this setting - is not used, the personality reported in the container is the - same as the one reported on the host.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-q</option></term> - <term><option>--quiet</option></term> - - <listitem><para>Turns off any status output by the tool - itself. When this switch is used, the only output from nspawn - will be the console output of the container OS - itself.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--volatile</option></term> - <term><option>--volatile=</option><replaceable>MODE</replaceable></term> - - <listitem><para>Boots the container in volatile mode. When no - mode parameter is passed or when mode is specified as - <option>yes</option>, full volatile mode is enabled. This - means the root directory is mounted as a mostly unpopulated - <literal>tmpfs</literal> instance, and - <filename>/usr</filename> from the OS tree is mounted into it - in read-only mode (the system thus starts up with read-only OS - resources, but pristine state and configuration, any changes - to the either are lost on shutdown). When the mode parameter - is specified as <option>state</option>, the OS tree is - mounted read-only, but <filename>/var</filename> is mounted as - a <literal>tmpfs</literal> instance into it (the system thus - starts up with read-only OS resources and configuration, but - pristine state, and any changes to the latter are lost on - shutdown). When the mode parameter is specified as - <option>no</option> (the default), the whole OS tree is made - available writable.</para> - - <para>Note that setting this to <option>yes</option> or - <option>state</option> will only work correctly with - operating systems in the container that can boot up with only - <filename>/usr</filename> mounted, and are able to populate - <filename>/var</filename> automatically, as - needed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--settings=</option><replaceable>MODE</replaceable></term> - - <listitem><para>Controls whether - <command>systemd-nspawn</command> shall search for and use - additional per-container settings from - <filename>.nspawn</filename> files. Takes a boolean or the - special values <option>override</option> or - <option>trusted</option>.</para> - - <para>If enabled (the default), a settings file named after the - machine (as specified with the <option>--machine=</option> - setting, or derived from the directory or image file name) - with the suffix <filename>.nspawn</filename> is searched in - <filename>/etc/systemd/nspawn/</filename> and - <filename>/run/systemd/nspawn/</filename>. If it is found - there, its settings are read and used. If it is not found - there, it is subsequently searched in the same directory as the - image file or in the immediate parent of the root directory of - the container. In this case, if the file is found, its settings - will be also read and used, but potentially unsafe settings - are ignored. Note that in both these cases, settings on the - command line take precedence over the corresponding settings - from loaded <filename>.nspawn</filename> files, if both are - specified. Unsafe settings are considered all settings that - elevate the container's privileges or grant access to - additional resources such as files or directories of the - host. For details about the format and contents of - <filename>.nspawn</filename> files, consult - <citerefentry><refentrytitle>systemd.nspawn</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para> - - <para>If this option is set to <option>override</option>, the - file is searched, read and used the same way, however, the order of - precedence is reversed: settings read from the - <filename>.nspawn</filename> file will take precedence over - the corresponding command line options, if both are - specified.</para> - - <para>If this option is set to <option>trusted</option>, the - file is searched, read and used the same way, but regardless - of being found in <filename>/etc/systemd/nspawn/</filename>, - <filename>/run/systemd/nspawn/</filename> or next to the image - file or container root directory, all settings will take - effect, however, command line arguments still take precedence - over corresponding settings.</para> - - <para>If disabled, no <filename>.nspawn</filename> file is read - and no settings except the ones on the command line are in - effect.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>Build and boot a minimal BLAG distribution in a container</title> - - <programlisting># dnf -y --releasever=210k --installroot=/srv/mycontainer --disablerepo='*' --enablerepo=blag --enablerepo=updates install systemd passwd dnf blag-release vim-minimal -# systemd-nspawn -bD /srv/mycontainer</programlisting> - - <para>This installs a minimal BLAG distribution into the - directory <filename noindex='true'>/srv/mycontainer/</filename> - and then boots an OS in a namespace container in it.</para> - </example> - - <example> - <title>Spawn a shell in a container of a minimal gNewSense unstable distribution</title> - - <programlisting># debootstrap --arch=amd64 unstable ~/gnewsense-tree/ -# systemd-nspawn -D ~/gnewsense-tree/</programlisting> - - <para>This installs a minimal gNewSense unstable distribution into - the directory <filename>~/gnewsense-tree/</filename> and then - spawns a shell in a namespace container in it.</para> - </example> - - <example> - <title>Boot a minimal Parabola GNU/Linux-libre distribution in a container</title> - - <programlisting># pacstrap -c -d ~/parabola-tree/ base -# systemd-nspawn -bD ~/parabola-tree/</programlisting> - - <para>This installs a minimal Parabola GNU/Linux-libre distribution into the - directory <filename>~/parabola-tree/</filename> and then boots an OS - in a namespace container in it.</para> - </example> - - <example> - <title>Boot into an ephemeral <literal>btrfs</literal> snapshot of the host system</title> - - <programlisting># systemd-nspawn -D / -xb</programlisting> - - <para>This runs a copy of the host system in a - <literal>btrfs</literal> snapshot which is removed immediately - when the container exits. All file system changes made during - runtime will be lost on shutdown, hence.</para> - </example> - - <example> - <title>Run a container with SELinux sandbox security contexts</title> - - <programlisting># chcon system_u:object_r:svirt_sandbox_file_t:s0:c0,c1 -R /srv/container -# systemd-nspawn -L system_u:object_r:svirt_sandbox_file_t:s0:c0,c1 -Z system_u:system_r:svirt_lxc_net_t:s0:c0,c1 -D /srv/container /bin/sh</programlisting> - </example> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>The exit code of the program executed in the container is - returned.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.nspawn</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>chroot</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='mankier'><refentrytitle>dnf</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='archlinux'><refentrytitle>pacman</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>btrfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-path.xml b/man/systemd-path.xml deleted file mode 100644 index e2b23eec51..0000000000 --- a/man/systemd-path.xml +++ /dev/null @@ -1,107 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-path" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-path</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-path</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-path</refname> - <refpurpose>List and query system and user paths</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-path <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="opt" rep="repeat">NAME</arg></command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-path</command> may be used to query system - and user paths. The tool makes many of the paths described in - <citerefentry><refentrytitle>file-hierarchy</refentrytitle><manvolnum>7</manvolnum></citerefentry> - available for querying.</para> - - <para>When invoked without arguments, a list of known paths and - their current values is shown. When at least one argument is - passed, the path with this name is queried and its value shown. - The variables whose name begins with <literal>search-</literal> - do not refer to individual paths, but instead to a list of - colon-separated search paths, in their order of precedence.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--suffix=</option></term> - - <listitem><para>The printed paths are suffixed by the - specified string.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>file-hierarchy</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-resolve.xml b/man/systemd-resolve.xml deleted file mode 100644 index 4b66f836a2..0000000000 --- a/man/systemd-resolve.xml +++ /dev/null @@ -1,375 +0,0 @@ -<?xml version='1.0'?> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2016 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-resolve" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-resolve</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-resolve</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-resolve</refname> - <refpurpose>Resolve domain names, IPV4 and IPv6 addresses, DNS resource records, and services</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-resolve</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain" rep="repeat"><replaceable>HOSTNAME</replaceable></arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>systemd-resolve</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain" rep="repeat"><replaceable>ADDRESS</replaceable></arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>systemd-resolve</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <command> --type=<replaceable>TYPE</replaceable></command> - <arg choice="plain" rep="repeat"><replaceable>DOMAIN</replaceable></arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>systemd-resolve</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <command> --service</command> - <arg choice="plain"><arg choice="opt"><arg choice="opt"><replaceable>NAME</replaceable></arg> - <replaceable>TYPE</replaceable></arg> <replaceable>DOMAIN</replaceable></arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>systemd-resolve</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <command> --openpgp</command> - <arg choice="plain"><replaceable>USER@DOMAIN</replaceable></arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>systemd-resolve</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <command> --tlsa</command> - <arg choice="plain"><replaceable>DOMAIN<optional>:PORT</optional></replaceable></arg> - </cmdsynopsis> - - <cmdsynopsis> - <command>systemd-resolve</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <command> --statistics</command> - </cmdsynopsis> - - <cmdsynopsis> - <command>systemd-resolve</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <command> --reset-statistics</command> - </cmdsynopsis> - - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-resolve</command> may be used to resolve domain names, IPv4 and IPv6 addresses, DNS resource - records and services with the - <citerefentry><refentrytitle>systemd-resolved.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - resolver service. By default, the specified list of parameters will be resolved as hostnames, retrieving their IPv4 - and IPv6 addresses. If the parameters specified are formatted as IPv4 or IPv6 operation the reverse operation is - done, and a hostname is retrieved for the specified addresses.</para> - - <para>The <option>--type=</option> switch may be used to specify a DNS resource record type (A, AAAA, SOA, MX, ...) in - order to request a specific DNS resource record, instead of the address or reverse address lookups. - The special value <literal>help</literal> may be used to list known values.</para> - - <para>The <option>--service</option> switch may be used to resolve <ulink - url="https://tools.ietf.org/html/rfc2782">SRV</ulink> and <ulink - url="https://tools.ietf.org/html/rfc6763">DNS-SD</ulink> services (see below). In this mode, between one and three - arguments are required. If three parameters are passed the first is assumed to be the DNS-SD service name, the - second the SRV service type, and the third the domain to search in. In this case a full DNS-SD style SRV and TXT - lookup is executed. If only two parameters are specified, the first is assumed to be the SRV service type, and the - second the domain to look in. In this case no TXT RR is requested. Finally, if only one parameter is specified, it - is assumed to be a domain name, that is already prefixed with an SRV type, and an SRV lookup is done (no - TXT).</para> - - <para>The <option>--openpgp</option> switch may be used to query PGP keys stored as - <ulink url="https://tools.ietf.org/html/draft-wouters-dane-openpgp-02">OPENPGPKEY</ulink> resource records. - When this option is specified one or more e-mail address must be specified.</para> - - <para>The <option>--tlsa</option> switch maybe be used to query TLS public - keys stored as - <ulink url="https://tools.ietf.org/html/rfc6698">TLSA</ulink> resource records. - When this option is specified one or more domain names must be specified.</para> - - <para>The <option>--statistics</option> switch may be used to show resolver statistics, including information about - the number of successful and failed DNSSEC validations.</para> - - <para>The <option>--reset-statistics</option> may be used to reset various statistics counters maintained the - resolver, including those shown in the <option>--statistics</option> output. This operation requires root - privileges.</para> - </refsect1> - - <refsect1> - <title>Options</title> - <variablelist> - <varlistentry> - <term><option>-4</option></term> - <term><option>-6</option></term> - - <listitem><para>By default, when resolving a hostname, both IPv4 and IPv6 - addresses are acquired. By specifying <option>-4</option> only IPv4 addresses are requested, by specifying - <option>-6</option> only IPv6 addresses are requested.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-i</option> <replaceable>INTERFACE</replaceable></term> - <term><option>--interface=</option><replaceable>INTERFACE</replaceable></term> - - <listitem><para>Specifies the network interface to execute the query on. This may either be specified as numeric - interface index or as network interface string (e.g. <literal>en0</literal>). Note that this option has no - effect if system-wide DNS configuration (as configured in <filename>/etc/resolv.conf</filename> or - <filename>/etc/systemd/resolve.conf</filename>) in place of per-link configuration is used.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-p</option> <replaceable>PROTOCOL</replaceable></term> - <term><option>--protocol=</option><replaceable>PROTOCOL</replaceable></term> - - <listitem><para>Specifies the network protocol for the query. May be one of <literal>dns</literal> - (i.e. classic unicast DNS), <literal>llmnr</literal> (<ulink - url="https://tools.ietf.org/html/rfc4795">Link-Local Multicast Name Resolution</ulink>), - <literal>llmnr-ipv4</literal>, <literal>llmnr-ipv6</literal> (LLMNR via the indicated underlying IP - protocols). By default the lookup is done via all protocols suitable for the lookup. If used, limits the set of - protocols that may be used. Use this option multiple times to enable resolving via multiple protocols at the - same time. The setting <literal>llmnr</literal> is identical to specifying this switch once with - <literal>llmnr-ipv4</literal> and once via <literal>llmnr-ipv6</literal>. Note that this option does not force - the service to resolve the operation with the specified protocol, as that might require a suitable network - interface and configuration. - The special value <literal>help</literal> may be used to list known values. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-t</option> <replaceable>TYPE</replaceable></term> - <term><option>--type=</option><replaceable>TYPE</replaceable></term> - <term><option>-c</option> <replaceable>CLASS</replaceable></term> - <term><option>--class=</option><replaceable>CLASS</replaceable></term> - - <listitem><para>Specifies the DNS resource record type (e.g. A, AAAA, MX, …) and class (e.g. IN, ANY, …) to - look up. If these options are used a DNS resource record set matching the specified class and type is - requested. The class defaults to IN if only a type is specified. - The special value <literal>help</literal> may be used to list known values. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--service</option></term> - - <listitem><para>Enables service resolution. This enables DNS-SD and simple SRV service resolution, depending - on the specified list of parameters (see above).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--service-address=</option><replaceable>BOOL</replaceable></term> - - <listitem><para>Takes a boolean parameter. If true (the default), when doing a service lookup with - <option>--service</option> the hostnames contained in the SRV resource records are resolved as well.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--service-txt=</option><replaceable>BOOL</replaceable></term> - - <listitem><para>Takes a boolean parameter. If true (the default), when doing a DNS-SD service lookup with - <option>--service</option> the TXT service metadata record is resolved as well.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--openpgp</option></term> - - <listitem><para>Enables OPENPGPKEY resource record resolution (see above). Specified e-mail - addresses are converted to the corresponding DNS domain name, and any OPENPGPKEY keys are - printed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--tlsa</option></term> - - <listitem><para>Enables TLSA resource record resolution (see above). - A query will be performed for each of the specified names prefixed with - the port and family - (<literal>_<replaceable>port</replaceable>._<replaceable>family</replaceable>.<replaceable>domain</replaceable></literal>). - The port number may be specified after a colon - (<literal>:</literal>), otherwise <constant>443</constant> will be used - by default. The family may be specified as an argument after - <option>--tlsa</option>, otherwise <constant>tcp</constant> will be - used.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--cname=</option><replaceable>BOOL</replaceable></term> - - <listitem><para>Takes a boolean parameter. If true (the default), DNS CNAME or DNAME redirections are - followed. Otherwise, if a CNAME or DNAME record is encountered while resolving, an error is - returned.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--search=</option><replaceable>BOOL</replaceable></term> - - <listitem><para>Takes a boolean parameter. If true (the default), any specified single-label hostnames will be - searched in the domains configured in the search domain list, if it is non-empty. Otherwise, the search domain - logic is disabled.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--raw</option><optional>=payload|packet</optional></term> - - <listitem><para>Dump the answer as binary data. If there is no argument or if the argument is - <literal>payload</literal>, the payload of the packet is exported. If the argument is - <literal>packet</literal>, the whole packet is dumped in wire format, prefixed by - length specified as a little-endian 64-bit number. This format allows multiple packets - to be dumped and unambigously parsed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--legend=</option><replaceable>BOOL</replaceable></term> - - <listitem><para>Takes a boolean parameter. If true (the default), column headers and meta information about the - query response are shown. Otherwise, this output is suppressed.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--statistics</option></term> - - <listitem><para>If specified general resolver statistics are shown, including information whether DNSSEC is - enabled and available, as well as resolution and validation statistics.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--reset-statistics</option></term> - - <listitem><para>Resets the statistics counters shown in <option>--statistics</option> to zero.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>Retrieve the addresses of the <literal>www.0pointer.net</literal> domain</title> - - <programlisting>$ systemd-resolve www.0pointer.net -www.0pointer.net: 2a01:238:43ed:c300:10c3:bcf3:3266:da74 - 85.214.157.71 - --- Information acquired via protocol DNS in 611.6ms. --- Data is authenticated: no -</programlisting> - </example> - - <example> - <title>Retrieve the domain of the <literal>85.214.157.71</literal> IP address</title> - - <programlisting>$ systemd-resolve 85.214.157.71 -85.214.157.71: gardel.0pointer.net - --- Information acquired via protocol DNS in 1.2997s. --- Data is authenticated: no -</programlisting> - </example> - - <example> - <title>Retrieve the MX record of the <literal>0pointer.net</literal> domain</title> - - <programlisting>$ systemd-resolve -t MX yahoo.com --legend=no -yahoo.com. IN MX 1 mta7.am0.yahoodns.net -yahoo.com. IN MX 1 mta6.am0.yahoodns.net -yahoo.com. IN MX 1 mta5.am0.yahoodns.net -</programlisting> - </example> - - <example> - <title>Resolve an SRV service</title> - - <programlisting>$ systemd-resolve --service _xmpp-server._tcp gmail.com -_xmpp-server._tcp/gmail.com: alt1.xmpp-server.l.google.com:5269 [priority=20, weight=0] - 173.194.210.125 - alt4.xmpp-server.l.google.com:5269 [priority=20, weight=0] - 173.194.65.125 - ... -</programlisting> - </example> - - <example> - <title>Retrieve a PGP key</title> - - <programlisting>$ systemd-resolve --openpgp zbyszek@fedoraproject.org -d08ee310438ca124a6149ea5cc21b6313b390dce485576eff96f8722._openpgpkey.fedoraproject.org. IN OPENPGPKEY - mQINBFBHPMsBEACeInGYJCb+7TurKfb6wGyTottCDtiSJB310i37/6ZYoeIay/5soJjlMyf - MFQ9T2XNT/0LM6gTa0MpC1st9LnzYTMsT6tzRly1D1UbVI6xw0g0vE5y2Cjk3xUwAynCsSs - ... -</programlisting> - </example> - - <example> - <title>Retrieve a TLS key (<literal>=tcp</literal> and - <literal>:443</literal> could be skipped)</title> - - <programlisting>$ systemd-resolve --tlsa=tcp fedoraproject.org:443 -_443._tcp.fedoraproject.org IN TLSA 0 0 1 19400be5b7a31fb733917700789d2f0a2471c0c9d506c0e504c06c16d7cb17c0 - -- Cert. usage: CA constraint - -- Selector: Full Certificate - -- Matching type: SHA-256 -</programlisting> - </example> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-resolved.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - </para> - </refsect1> -</refentry> diff --git a/man/systemd-run.xml b/man/systemd-run.xml deleted file mode 100644 index 9c1a29218e..0000000000 --- a/man/systemd-run.xml +++ /dev/null @@ -1,459 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2013 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-run" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-run</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-run</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-run</refname> - <refpurpose>Run programs in transient scope or service or timer units</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-run</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain"><replaceable>COMMAND</replaceable> - <arg choice="opt" rep="repeat">ARGS</arg> - </arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-run</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="repeat">TIMER OPTIONS</arg> - <arg choice="req"><replaceable>COMMAND</replaceable></arg> - <arg choice="opt" rep="repeat">ARGS</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-run</command> may be used to create and - start a transient <filename>.service</filename> or - <filename>.scope</filename> unit and run the specified - <replaceable>COMMAND</replaceable> in it. It may also be used to - create and start transient <filename>.timer</filename> - units.</para> - - <para>If a command is run as transient service unit, it will be - started and managed by the service manager like any other service, - and thus shows up in the output of <command>systemctl - list-units</command> like any other unit. It will run in a clean - and detached execution environment, with the service manager as - its parent process. In this mode, <command>systemd-run</command> - will start the service asynchronously in the background and return - after the command has begun execution.</para> - - <para>If a command is run as transient scope unit, it will be - started by <command>systemd-run</command> itself as parent process - and will thus inherit the execution environment of the - caller. However, the processes of the command are managed by the - service manager similar to normal services, and will show up in - the output of <command>systemctl list-units</command>. Execution - in this case is synchronous, and will return only when the command - finishes. This mode is enabled via the <option>--scope</option> - switch (see below). </para> - - <para>If a command is run with timer options such as - <option>--on-calendar=</option> (see below), a transient timer - unit is created alongside the service unit for the specified - command. Only the transient timer unit is started immediately, the - transient service unit will be started when the transient timer - elapses. If the <option>--unit=</option> is specified, the - <replaceable>COMMAND</replaceable> may be omitted. In this case, - <command>systemd-run</command> only creates a - <filename>.timer</filename> unit that invokes the specified unit - when elapsing.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--no-ask-password</option></term> - - <listitem><para>Do not query the user for authentication for - privileged operations.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--scope</option></term> - - <listitem> - <para>Create a transient <filename>.scope</filename> unit instead of - the default transient <filename>.service</filename> unit. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--unit=</option></term> - - <listitem><para>Use this unit name instead of an automatically - generated one.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--property=</option></term> - <term><option>-p</option></term> - - <listitem><para>Sets a unit property for the scope or service - unit that is created. This takes an assignment in the same - format as - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s - <command>set-property</command> command.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--description=</option></term> - - <listitem><para>Provide a description for the service or scope - unit. If not specified, the command itself will be used as a - description. See <varname>Description=</varname> in - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--slice=</option></term> - - <listitem><para>Make the new <filename>.service</filename> or - <filename>.scope</filename> unit part of the specified slice, - instead of the <filename>system.slice</filename>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--remain-after-exit</option></term> - - <listitem><para>After the service or scope process has - terminated, keep the service around until it is explicitly - stopped. This is useful to collect runtime information about - the service after it finished running. Also see - <varname>RemainAfterExit=</varname> in - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--send-sighup</option></term> - - <listitem><para>When terminating the scope or service unit, - send a SIGHUP immediately after SIGTERM. This is useful to - indicate to shells and shell-like processes that the - connection has been severed. Also see - <varname>SendSIGHUP=</varname> in - <citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--service-type=</option></term> - - <listitem><para>Sets the service type. Also see - <varname>Type=</varname> in - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>. This - option has no effect in conjunction with - <option>--scope</option>. Defaults to - <constant>simple</constant>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--uid=</option></term> - <term><option>--gid=</option></term> - - <listitem><para>Runs the service process under the UNIX user - and group. Also see <varname>User=</varname> and - <varname>Group=</varname> in - <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--nice=</option></term> - - <listitem><para>Runs the service process with the specified - nice level. Also see <varname>Nice=</varname> in - <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-E <replaceable>NAME</replaceable>=<replaceable>VALUE</replaceable></option></term> - <term><option>--setenv=<replaceable>NAME</replaceable>=<replaceable>VALUE</replaceable></option></term> - - <listitem><para>Runs the service process with the specified environment variable set. - Also see <varname>Environment=</varname> in - <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--pty</option></term> - <term><option>-t</option></term> - - <listitem><para>When invoking a command, the service connects - its standard input and output to the invoking tty via a - pseudo TTY device. This allows invoking binaries as services - that expect interactive user input, such as interactive - command shells.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--quiet</option></term> - <term><option>-q</option></term> - - <listitem><para>Suppresses additional informational output - while running. This is particularly useful in combination with - <option>--pty</option> when it will suppress the initial - message explaining how to terminate the TTY connection.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--on-active=</option></term> - <term><option>--on-boot=</option></term> - <term><option>--on-startup=</option></term> - <term><option>--on-unit-active=</option></term> - <term><option>--on-unit-inactive=</option></term> - - <listitem><para>Defines monotonic timers relative to different - starting points. Also see <varname>OnActiveSec=</varname>, - <varname>OnBootSec=</varname>, - <varname>OnStartupSec=</varname>, - <varname>OnUnitActiveSec=</varname> and - <varname>OnUnitInactiveSec=</varname> in - <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>. This - options have no effect in conjunction with - <option>--scope</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--on-calendar=</option></term> - - <listitem><para>Defines realtime (i.e. wallclock) timers with - calendar event expressions. Also see - <varname>OnCalendar=</varname> in - <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>. This - option has no effect in conjunction with - <option>--scope</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>--timer-property=</option></term> - - <listitem><para>Sets a timer unit property for the timer unit - that is created. It is similar with - <option>--property</option> but only for created timer - unit. This option only has effect in conjunction with - <option>--on-active=</option>, <option>--on-boot=</option>, - <option>--on-startup=</option>, - <option>--on-unit-active=</option>, - <option>--on-unit-inactive=</option>, - <option>--on-calendar=</option>. This takes an assignment in - the same format as - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>'s - <command>set-property</command> command.</para> </listitem> - </varlistentry> - - <varlistentry> - <term><option>--no-block</option></term> - - <listitem> - <para>Do not synchronously wait for the requested operation - to finish. If this is not specified, the job will be - verified, enqueued and <command>systemd-run</command> will - wait until the unit's start-up is completed. By passing this - argument, it is only verified and enqueued.</para> - </listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="user" /> - <xi:include href="user-system-options.xml" xpointer="system" /> - <xi:include href="user-system-options.xml" xpointer="host" /> - <xi:include href="user-system-options.xml" xpointer="machine" /> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - <para>All command line arguments after the first non-option - argument become part of the command line of the launched - process. If a command is run as service unit, its first argument - needs to be an absolute binary path.</para> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure - code otherwise.</para> - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>Logging environment variables provided by systemd to services</title> - - <programlisting># systemd-run env -Running as unit: run-19945.service -# journalctl -u run-19945.service -Sep 08 07:37:21 bupkis systemd[1]: Starting /usr/bin/env... -Sep 08 07:37:21 bupkis systemd[1]: Started /usr/bin/env. -Sep 08 07:37:21 bupkis env[19948]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin -Sep 08 07:37:21 bupkis env[19948]: LANG=en_US.UTF-8 -Sep 08 07:37:21 bupkis env[19948]: BOOT_IMAGE=/vmlinuz-3.11.0-0.rc5.git6.2.fc20.x86_64</programlisting> - </example> - - <example> - <title>Limiting resources available to a command</title> - - <programlisting># systemd-run -p BlockIOWeight=10 updatedb</programlisting> - - <para>This command invokes the - <citerefentry project='man-pages'><refentrytitle>updatedb</refentrytitle><manvolnum>8</manvolnum></citerefentry> - tool, but lowers the block I/O weight for it to 10. See - <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for more information on the <varname>BlockIOWeight=</varname> - property.</para> - </example> - - <example> - <title>Running commands at a specified time</title> - - <para>The following command will touch a file after 30 seconds.</para> - - <programlisting># date; systemd-run --on-active=30 --timer-property=AccuracySec=100ms /bin/touch /tmp/foo -Mon Dec 8 20:44:24 KST 2014 -Running as unit: run-71.timer -Will run service as unit: run-71.service -# journalctl -b -u run-71.timer --- Logs begin at Fri 2014-12-05 19:09:21 KST, end at Mon 2014-12-08 20:44:54 KST. -- -Dec 08 20:44:38 container systemd[1]: Starting /bin/touch /tmp/foo. -Dec 08 20:44:38 container systemd[1]: Started /bin/touch /tmp/foo. -# journalctl -b -u run-71.service --- Logs begin at Fri 2014-12-05 19:09:21 KST, end at Mon 2014-12-08 20:44:54 KST. -- -Dec 08 20:44:48 container systemd[1]: Starting /bin/touch /tmp/foo... -Dec 08 20:44:48 container systemd[1]: Started /bin/touch /tmp/foo.</programlisting> - </example> - - <example> - <title>Allowing access to the tty</title> - - <para>The following command invokes <filename>/bin/bash</filename> as a service - passing its standard input, output and error to the calling TTY.</para> - - <programlisting># systemd-run -t --send-sighup /bin/bash</programlisting> - </example> - - <example> - <title>Start <command>screen</command> as a user service</title> - - <programlisting>$ systemd-run --scope --user screen -Running scope as unit run-r14b0047ab6df45bfb45e7786cc839e76.scope. - -$ screen -ls -There is a screen on: - 492..laptop (Detached) -1 Socket in /var/run/screen/S-fatima. -</programlisting> - - <para>This starts the <command>screen</command> process as a child of the - <command>systemd --user</command> process that was started by - <filename>user@.service</filename>, in a scope unit. A - <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry> - unit is used instead of a - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry> - unit, because <command>screen</command> will exit when detaching from the terminal, - and a service unit would be terminated. Running <command>screen</command> - as a user unit has the advantage that it is not part of the session scope. - If <varname>KillUserProcesses=yes</varname> is configured in - <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - the default, the session scope will be terminated when the user logs - out of that session.</para> - - <para>The <filename>user@.service</filename> is started automatically - when the user first logs in, and stays around as long as at least one - login session is open. After the user logs out of the last session, - <filename>user@.service</filename> and all services underneath it - are terminated. This behaviour is the default, when "lingering" is - not enabled for that user. Enabling lingering means that - <filename>user@.service</filename> is started automatically during - boot, even if the user is not logged in, and that the service is - not terminated when the user logs out.</para> - - <para>Enabling lingering allows the user to run processes without being logged in, - for example to allow <command>screen</command> to persist after the user logs out, - even if the session scope is terminated. In the default configuration, users can - enable lingering for themselves:</para> - - <programlisting>$ loginctl enable-linger</programlisting> - </example> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.resource-control</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>machinectl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-socket-activate.xml b/man/systemd-socket-activate.xml deleted file mode 100644 index 5d7f157c72..0000000000 --- a/man/systemd-socket-activate.xml +++ /dev/null @@ -1,206 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" -"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2013 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-socket-activate" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-socket-activate</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-socket-activate</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-socket-activate</refname> - <refpurpose>Test socket activation of daemons</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-socket-activate</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="plain"><replaceable>daemon</replaceable></arg> - <arg choice="opt" rep="repeat">OPTIONS</arg> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-socket-activate</command> may be used to launch a socket-activated service binary from the command - line for testing purposes. It may also be used to launch individual instances of the service binary per connection. - </para> - - <para>The daemon to launch and its options should be specified - after options intended for <command>systemd-socket-activate</command>. - </para> - - <para>If the <option>--inetd</option> option is given, the socket file descriptor will be used as the standard - input and output of the launched process. Otherwise, standard input and output will be inherited, and sockets will - be passed through file descriptors 3 and higher. Sockets passed through <varname>$LISTEN_FDS</varname> to - <command>systemd-socket-activate</command> will be passed through to the daemon, in the original positions. Other sockets - specified with <option>--listen=</option> will use consecutive descriptors. By default, - <command>systemd-socket-activate</command> listens on a stream socket, use <option>--datagram</option> and - <option>--seqpacket</option> to listen on datagram or sequential packet sockets instead (see below). - </para> - </refsect1> - - <refsect1> - <title>Options</title> - <variablelist> - <varlistentry> - <term><option>-l <replaceable>address</replaceable></option></term> - <term><option>--listen=<replaceable>address</replaceable></option></term> - - <listitem><para>Listen on this <replaceable>address</replaceable>. - Takes a string like <literal>2000</literal> or - <literal>127.0.0.1:2001</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>-a</option></term> - <term><option>--accept</option></term> - - <listitem><para>Launch an instance of the service binary for each connection and pass the connection - socket.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-d</option></term> - <term><option>--datagram</option></term> - - <listitem><para>Listen on a datagram socket (<constant>SOCK_DGRAM</constant>), instead of a stream socket - (<constant>SOCK_STREAM</constant>). May not be combined with <option>--seqpacket</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--seqpacket</option></term> - - <listitem><para>Listen on a sequential packet socket (<constant>SOCK_SEQPACKET</constant>), instead of a stream - socket (<constant>SOCK_STREAM</constant>). May not be combined with - <option>--datagram</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--inetd</option></term> - - <listitem><para>Use the inetd protocol for passing file descriptors, i.e. as standard input and standard - output, instead of the new-style protocol for passing file descriptors using <varname>$LISTEN_FDS</varname> - (see above).</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>-E <replaceable>VAR</replaceable><optional>=<replaceable>VALUE</replaceable></optional></option></term> - <term><option>--setenv=<replaceable>VAR</replaceable><optional>=<replaceable>VALUE</replaceable></optional></option></term> - - <listitem><para>Add this variable to the environment of the - launched process. If <replaceable>VAR</replaceable> is - followed by <literal>=</literal>, assume that it is a - variable–value pair. Otherwise, obtain the value from the - environment of <command>systemd-socket-activate</command> itself. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--fdname=</option><replaceable>NAME</replaceable><optional>:<replaceable>NAME</replaceable>...</optional></term> - - <listitem><para>Specify names for the file descriptors passed. This is equivalent to setting - <varname>FileDescriptorName=</varname> in socket unit files, and enables use of - <citerefentry><refentrytitle>sd_listen_fds_with_names</refentrytitle><manvolnum>3</manvolnum></citerefentry>. - Multiple entries may be specifies using separate options or by separating names with colons - (<literal>:</literal>) in one option. In case more names are given than descriptors, superflous ones willl be - ignored. In case less names are given than descriptors, the remaining file descriptors will be unnamed. - </para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Environment variables</title> - <variablelist class='environment-variables'> - <varlistentry> - <term><varname>$LISTEN_FDS</varname></term> - <term><varname>$LISTEN_PID</varname></term> - <term><varname>$LISTEN_FDNAMES</varname></term> - - <listitem><para>See - <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$SYSTEMD_LOG_TARGET</varname></term> - <term><varname>$SYSTEMD_LOG_LEVEL</varname></term> - <term><varname>$SYSTEMD_LOG_COLOR</varname></term> - <term><varname>$SYSTEMD_LOG_LOCATION</varname></term> - - <listitem><para>Same as in - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Examples</title> - - <example> - <title>Run an echo server on port 2000</title> - - <programlisting>$ systemd-socket-activate -l 2000 --inetd -a cat</programlisting> - </example> - - <example> - <title>Run a socket-activated instance of <citerefentry><refentrytitle>systemd-journal-gatewayd</refentrytitle><manvolnum>8</manvolnum></citerefentry></title> - - <programlisting>$ systemd-socket-activate -l 19531 /usr/lib/systemd/systemd-journal-gatewayd</programlisting> - </example> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd_listen_fds_with_names</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>cat</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> -</refentry> diff --git a/man/systemd-socket-proxyd.xml b/man/systemd-socket-proxyd.xml deleted file mode 100644 index ae4217b910..0000000000 --- a/man/systemd-socket-proxyd.xml +++ /dev/null @@ -1,190 +0,0 @@ -<?xml version="1.0"?> -<!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> -<!-- - This file is part of systemd. - - Copyright 2013 David Strauss - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> -<refentry id="systemd-socket-proxyd" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-socket-proxyd</title> - <productname>systemd</productname> - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>David</firstname> - <surname>Strauss</surname> - <email>david@davidstrauss.net</email> - </author> - </authorgroup> - </refentryinfo> - <refmeta> - <refentrytitle>systemd-socket-proxyd</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - <refnamediv> - <refname>systemd-socket-proxyd</refname> - <refpurpose>Bidirectionally proxy local sockets to another (possibly remote) socket.</refpurpose> - </refnamediv> - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-socket-proxyd</command> - <arg choice="opt" rep="repeat"><replaceable>OPTIONS</replaceable></arg> - <arg choice="plain"><replaceable>HOST</replaceable>:<replaceable>PORT</replaceable></arg> - </cmdsynopsis> - <cmdsynopsis> - <command>systemd-socket-proxyd</command> - <arg choice="opt" rep="repeat"><replaceable>OPTIONS</replaceable></arg> - <arg choice="plain"><replaceable>UNIX-DOMAIN-SOCKET-PATH</replaceable> - </arg> - </cmdsynopsis> - </refsynopsisdiv> - <refsect1> - <title>Description</title> - <para> - <command>systemd-socket-proxyd</command> is a generic - socket-activated network socket forwarder proxy daemon for IPv4, - IPv6 and UNIX stream sockets. It may be used to bi-directionally - forward traffic from a local listening socket to a local or remote - destination socket.</para> - - <para>One use of this tool is to provide socket activation support - for services that do not natively support socket activation. On - behalf of the service to activate, the proxy inherits the socket - from systemd, accepts each client connection, opens a connection - to a configured server for each client, and then bidirectionally - forwards data between the two.</para> - <para>This utility's behavior is similar to - <citerefentry project='die-net'><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>. - The main differences for <command>systemd-socket-proxyd</command> - are support for socket activation with - <literal>Accept=false</literal> and an event-driven - design that scales better with the number of - connections.</para> - </refsect1> - <refsect1> - <title>Options</title> - <para>The following options are understood:</para> - <variablelist> - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - <refsect1> - <title>Exit status</title> - <para>On success, 0 is returned, a non-zero failure - code otherwise.</para> - </refsect1> - <refsect1> - <title>Examples</title> - <refsect2> - <title>Simple Example</title> - <para>Use two services with a dependency and no namespace - isolation.</para> - <example> - <title>proxy-to-nginx.socket</title> - <programlisting><![CDATA[[Socket] -ListenStream=80 - -[Install] -WantedBy=sockets.target]]></programlisting> - </example> - <example> - <title>proxy-to-nginx.service</title> - <programlisting><![CDATA[[Unit] -Requires=nginx.service -After=nginx.service - -[Service] -ExecStart=/usr/lib/systemd/systemd-socket-proxyd /tmp/nginx.sock -PrivateTmp=yes -PrivateNetwork=yes]]></programlisting> - </example> - <example> - <title>nginx.conf</title> - <programlisting> -<![CDATA[[...] -server { - listen unix:/tmp/nginx.sock; - [...]]]> -</programlisting> - </example> - <example> - <title>Enabling the proxy</title> - <programlisting><![CDATA[# systemctl enable proxy-to-nginx.socket -# systemctl start proxy-to-nginx.socket -$ curl http://localhost:80/]]></programlisting> - </example> - </refsect2> - <refsect2> - <title>Namespace Example</title> - <para>Similar as above, but runs the socket proxy and the main - service in the same private namespace, assuming that - <filename>nginx.service</filename> has - <varname>PrivateTmp=</varname> and - <varname>PrivateNetwork=</varname> set, too.</para> - <example> - <title>proxy-to-nginx.socket</title> - <programlisting><![CDATA[[Socket] -ListenStream=80 - -[Install] -WantedBy=sockets.target]]></programlisting> - </example> - <example> - <title>proxy-to-nginx.service</title> - <programlisting><![CDATA[[Unit] -Requires=nginx.service -After=nginx.service -JoinsNamespaceOf=nginx.service - -[Service] -ExecStart=/usr/lib/systemd/systemd-socket-proxyd 127.0.0.1:8080 -PrivateTmp=yes -PrivateNetwork=yes]]></programlisting> - </example> - <example> - <title>nginx.conf</title> - <programlisting><![CDATA[[...] -server { - listen 8080; - [...]]]></programlisting> - </example> - <example> - <title>Enabling the proxy</title> - <programlisting><![CDATA[# systemctl enable proxy-to-nginx.socket -# systemctl start proxy-to-nginx.socket -$ curl http://localhost:80/]]></programlisting> - </example> - </refsect2> - </refsect1> - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>socat</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>nginx</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>curl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> -</refentry> diff --git a/man/systemd-system-update-generator.xml b/man/systemd-system-update-generator.xml deleted file mode 100644 index e7fc95c742..0000000000 --- a/man/systemd-system-update-generator.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0"?> -<!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> -<refentry id="systemd-system-update-generator"> - - <refentryinfo> - <title>systemd-system-update-generator</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-system-update-generator</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-system-update-generator</refname> - <refpurpose>Generator for redirecting boot to offline update mode</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>/usr/lib/systemd/system-generators/systemd-system-update-generator</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>systemd-system-update-generator</filename> is a - generator that automatically redirects the boot process to - <filename>system-update.target</filename> if - <filename>/system-update</filename> exists. This is required to - implement the logic explained in the <ulink - url="http://freedesktop.org/wiki/Software/systemd/SystemUpdates">System - Updates Specification</ulink>. - </para> - - <para><filename>systemd-system-update-generator</filename> implements - <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-sysusers.xml b/man/systemd-sysusers.xml deleted file mode 100644 index 4892caad12..0000000000 --- a/man/systemd-sysusers.xml +++ /dev/null @@ -1,116 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2014 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-sysusers" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-sysusers</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-sysusers</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-sysusers</refname> - <refname>systemd-sysusers.service</refname> - <refpurpose>Allocate system users and groups</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-sysusers</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="repeat"><replaceable>CONFIGFILE</replaceable></arg> - </cmdsynopsis> - - <para><filename>systemd-sysusers.service</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-sysusers</command> creates system users and - groups, based on the file format and location specified in - <citerefentry><refentrytitle>sysusers.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para> - - <para>If invoked with no arguments, it applies all directives from - all files found. If one or more filenames are passed on the - command line, only the directives in these files are applied. If - only the basename of a file is specified, all directories as - specified in - <citerefentry><refentrytitle>sysusers.d</refentrytitle><manvolnum>5</manvolnum></citerefentry> - are searched for a matching file. If the string - <filename>-</filename> is specified as filename, entries from the - standard input of the process are read.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--root=<replaceable>root</replaceable></option></term> - <listitem><para>Takes a directory path as an argument. All - paths will be prefixed with the given alternate - <replaceable>root</replaceable> path, including config search - paths. </para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sysusers.d</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-sysv-generator.xml b/man/systemd-sysv-generator.xml deleted file mode 100644 index 2353eb3efe..0000000000 --- a/man/systemd-sysv-generator.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> -<!-- - This file is part of systemd. - - Copyright 2014 Zbigniew Jędrzejewski-Szmek - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> -<refentry id="systemd-sysv-generator" conditional="HAVE_SYSV_COMPAT"> - - <refentryinfo> - <title>systemd-sysv-generator</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Documentation</contrib> - <firstname>Zbigniew</firstname> - <surname>Jędrzejewski-Szmek</surname> - <email>zbyszek@in.waw.pl</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-sysv-generator</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-sysv-generator</refname> - <refpurpose>Unit generator for SysV init scripts</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <para><filename>/usr/lib/systemd/system-generators/systemd-sysv-generator</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><filename>systemd-sysv-generator</filename> is a generator - that creates wrapper .service units for - <ulink url="https://savannah.nongnu.org/projects/sysvinit">SysV init</ulink> - scripts in <filename>/etc/init.d/*</filename> at boot and when - configuration of the system manager is reloaded. This will allow - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to support them similarly to native units.</para> - - <para><ulink url="http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html">LSB headers</ulink> - in SysV init scripts are interpreted, and the ordering specified - in the header is turned into dependencies between the generated - unit and other units. The LSB facilities - <literal>$remote_fs</literal>, <literal>$network</literal>, - <literal>$named</literal>, <literal>$portmap</literal>, - <literal>$time</literal> are supported and will be turned into - dependencies on specific native systemd targets. See - <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for more details.</para> - - <para>SysV runlevels have corresponding systemd targets - (<filename>runlevel<replaceable>X</replaceable>.target</filename>). - The wrapper unit that is generated will be wanted by those targets - which correspond to runlevels for which the script is - enabled.</para> - - <para><command>systemd</command> does not support SysV scripts as - part of early boot, so all wrapper units are ordered after - <filename>basic.target</filename>.</para> - - <para><filename>systemd-sysv-generator</filename> implements - <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-tmpfiles.xml b/man/systemd-tmpfiles.xml deleted file mode 100644 index c1aab51551..0000000000 --- a/man/systemd-tmpfiles.xml +++ /dev/null @@ -1,200 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-tmpfiles" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-tmpfiles</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-tmpfiles</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-tmpfiles</refname> - <refname>systemd-tmpfiles-setup.service</refname> - <refname>systemd-tmpfiles-setup-dev.service</refname> - <refname>systemd-tmpfiles-clean.service</refname> - <refname>systemd-tmpfiles-clean.timer</refname> - <refpurpose>Creates, deletes and cleans up volatile - and temporary files and directories</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-tmpfiles</command> - <arg choice="opt" rep="repeat">OPTIONS</arg> - <arg choice="opt" rep="repeat"><replaceable>CONFIGFILE</replaceable></arg> - </cmdsynopsis> - - <para><filename>systemd-tmpfiles-setup.service</filename></para> - <para><filename>systemd-tmpfiles-setup-dev.service</filename></para> - <para><filename>systemd-tmpfiles-clean.service</filename></para> - <para><filename>systemd-tmpfiles-clean.timer</filename></para> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-tmpfiles</command> creates, deletes, and - cleans up volatile and temporary files and directories, based on - the configuration file format and location specified in - <citerefentry><refentrytitle>tmpfiles.d</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para> - - <para>If invoked with no arguments, it applies all directives from all configuration - files. If one or more absolute filenames are passed on the command line, only the - directives in these files are applied. If <literal>-</literal> is specified instead - of a filename, directives are read from standard input. If only the basename of a - configuration file is specified, all configuration directories as specified in - <citerefentry><refentrytitle>tmpfiles.d</refentrytitle><manvolnum>5</manvolnum></citerefentry> - are searched for a matching file.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--create</option></term> - <listitem><para>If this option is passed, all files and - directories marked with - <varname>f</varname>, - <varname>F</varname>, - <varname>w</varname>, - <varname>d</varname>, - <varname>D</varname>, - <varname>v</varname>, - <varname>p</varname>, - <varname>L</varname>, - <varname>c</varname>, - <varname>b</varname>, - <varname>m</varname> - in the configuration files are created or written to. Files - and directories marked with - <varname>z</varname>, - <varname>Z</varname>, - <varname>t</varname>, - <varname>T</varname>, - <varname>a</varname>, and - <varname>A</varname> have their ownership, access mode and - security labels set. </para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--clean</option></term> - <listitem><para>If this option is passed, all files and - directories with an age parameter configured will be cleaned - up.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--remove</option></term> - <listitem><para>If this option is passed, the contents of - directories marked with <varname>D</varname> or - <varname>R</varname>, and files or directories themselves - marked with <varname>r</varname> or <varname>R</varname> are - removed.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--boot</option></term> - <listitem><para>Also execute lines with an exclamation mark. - </para></listitem> - </varlistentry> - <varlistentry> - <term><option>--prefix=<replaceable>path</replaceable></option></term> - <listitem><para>Only apply rules with paths that start with - the specified prefix. This option can be specified multiple - times.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--exclude-prefix=<replaceable>path</replaceable></option></term> - <listitem><para>Ignore rules with paths that start with the - specified prefix. This option can be specified multiple - times.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--root=<replaceable>root</replaceable></option></term> - <listitem><para>Takes a directory path as an argument. All - paths will be prefixed with the given alternate - <replaceable>root</replaceable> path, including config search - paths. </para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - <para>It is possible to combine <option>--create</option>, - <option>--clean</option>, and <option>--remove</option> in one - invocation. For example, during boot the following command line is - executed to ensure that all temporary and volatile directories are - removed and created according to the configuration file:</para> - - <programlisting>systemd-tmpfiles --remove --create</programlisting> - - </refsect1> - - <refsect1> - <title>Unprivileged --cleanup operation</title> - - <para><command>systemd-tmpfiles</command> tries to avoid changing - the access and modification times on the directories it accesses, - which requires <constant>CAP_ADMIN</constant> privileges. When - running as non-root, directories which are checked for files to - clean up will have their access time bumped, which might prevent - their cleanup. - </para> - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure code - otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>tmpfiles.d</refentrytitle><manvolnum>5</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd-tty-ask-password-agent.xml b/man/systemd-tty-ask-password-agent.xml deleted file mode 100644 index 2876fab644..0000000000 --- a/man/systemd-tty-ask-password-agent.xml +++ /dev/null @@ -1,149 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd-tty-ask-password-agent" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd-tty-ask-password-agent</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd-tty-ask-password-agent</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd-tty-ask-password-agent</refname> - <refpurpose>List or process pending systemd password requests</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd-tty-ask-password-agent <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="opt" rep="repeat">VARIABLE=VALUE</arg></command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>systemd-tty-ask-password-agent</command> is a - password agent that handles password requests of the system, for - example for hard disk encryption passwords or SSL certificate - passwords that need to be queried at boot-time or during - runtime.</para> - - <para><command>systemd-tty-ask-password-agent</command> implements - the <ulink url="http://www.freedesktop.org/wiki/Software/systemd/PasswordAgents">Password - Agents Specification</ulink>.</para> - - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--list</option></term> - - <listitem><para>Lists all currently pending system password requests.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--query</option></term> - - <listitem><para>Process all currently pending system password - requests by querying the user on the calling - TTY.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--watch</option></term> - - <listitem><para>Continuously process password - requests.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--wall</option></term> - - <listitem><para>Forward password requests to - <citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry> - instead of querying the user on the calling - TTY.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--plymouth</option></term> - - <listitem><para>Ask question with - <citerefentry project='die-net'><refentrytitle>plymouth</refentrytitle><manvolnum>8</manvolnum></citerefentry> - instead of querying the user on the calling - TTY.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--console</option></term> - - <listitem><para>Ask question on - <filename>/dev/console</filename> instead of querying the user - on the calling TTY. </para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure - code otherwise.</para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-ask-password-console.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>wall</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>plymouth</refentrytitle><manvolnum>8</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/systemd.xml b/man/systemd.xml deleted file mode 100644 index e05a9d6e29..0000000000 --- a/man/systemd.xml +++ /dev/null @@ -1,1153 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2010 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="systemd" - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>systemd</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>systemd</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>systemd</refname> - <refname>init</refname> - <refpurpose>systemd system and service manager</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>systemd <arg choice="opt" rep="repeat">OPTIONS</arg></command> - </cmdsynopsis> - <cmdsynopsis> - <command>init <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg></command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para>systemd is a system and service manager for GNU/Linux operating - systems. When run as first process on boot (as PID 1), it acts as - init system that brings up and maintains userspace - services.</para> - - <para>For compatibility with SysV, if systemd is called as - <command>init</command> and a PID that is not 1, it will execute - <command>telinit</command> and pass all command line arguments - unmodified. That means <command>init</command> and - <command>telinit</command> are mostly equivalent when invoked from - normal login sessions. See - <citerefentry><refentrytitle>telinit</refentrytitle><manvolnum>8</manvolnum></citerefentry> - for more information.</para> - - <para>When run as a system instance, systemd interprets the - configuration file <filename>system.conf</filename> and the files - in <filename>system.conf.d</filename> directories; when run as a - user instance, systemd interprets the configuration file - <filename>user.conf</filename> and the files in - <filename>user.conf.d</filename> directories. See - <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for more information.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--test</option></term> - - <listitem><para>Determine startup sequence, dump it and exit. - This is an option useful for debugging only.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--dump-configuration-items</option></term> - - <listitem><para>Dump understood unit configuration items. This - outputs a terse but complete list of configuration items - understood in unit definition files.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--unit=</option></term> - - <listitem><para>Set default unit to activate on startup. If - not specified, defaults to - <filename>default.target</filename>.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--system</option></term> - <term><option>--user</option></term> - - <listitem><para>For <option>--system</option>, tell systemd to - run a system instance, even if the process ID is not 1, i.e. - systemd is not run as init process. <option>--user</option> - does the opposite, running a user instance even if the process - ID is 1. Normally, it should not be necessary to pass these - options, as systemd automatically detects the mode it is - started in. These options are hence of little use except for - debugging. Note that it is not supported booting and - maintaining a full system with systemd running in - <option>--system</option> mode, but PID not 1. In practice, - passing <option>--system</option> explicitly is only useful in - conjunction with <option>--test</option>.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--dump-core</option></term> - - <listitem><para>Enable core dumping on crash. This switch has - no effect when running as user instance. This setting may also - be enabled during boot on the kernel command line via the - <varname>systemd.dump_core=</varname> option, see - below.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--crash-vt=</option><replaceable>VT</replaceable></term> - - <listitem><para>Switch to a specific virtual console (VT) on - crash. Takes a positive integer in the range 1–63, or a - boolean argument. If an integer is passed, selects which VT to - switch to. If <constant>yes</constant>, the VT kernel messages - are written to is selected. If <constant>no</constant>, no VT - switch is attempted. This switch has no effect when running as - user instance. This setting may also be enabled during boot, - on the kernel command line via the - <varname>systemd.crash_vt=</varname> option, see - below.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--crash-shell</option></term> - - <listitem><para>Run a shell on crash. This switch has no - effect when running as user instance. This setting may also be - enabled during boot, on the kernel command line via the - <varname>systemd.crash_shell=</varname> option, see - below.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--crash-reboot</option></term> - - <listitem><para>Automatically reboot the system on crash. This - switch has no effect when running as user instance. This - setting may also be enabled during boot, on the kernel command - line via the <varname>systemd.crash_reboot=</varname> option, - see below.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--confirm-spawn</option></term> - - <listitem><para>Ask for confirmation when spawning processes. - This switch has no effect when run as user - instance.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--show-status=</option></term> - - <listitem><para>Show terse service status information while - booting. This switch has no effect when run as user instance. - Takes a boolean argument which may be omitted which is - interpreted as <option>true</option>.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--log-target=</option></term> - - <listitem><para>Set log target. Argument must be one of - <option>console</option>, - <option>journal</option>, - <option>kmsg</option>, - <option>journal-or-kmsg</option>, - <option>null</option>.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--log-level=</option></term> - - <listitem><para>Set log level. As - argument this accepts a numerical log - level or the well-known <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry> - symbolic names (lowercase): - <option>emerg</option>, - <option>alert</option>, - <option>crit</option>, - <option>err</option>, - <option>warning</option>, - <option>notice</option>, - <option>info</option>, - <option>debug</option>.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--log-color=</option></term> - - <listitem><para>Highlight important log messages. Argument is - a boolean value. If the argument is omitted, it defaults to - <option>true</option>.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--log-location=</option></term> - - <listitem><para>Include code location in log messages. This is - mostly relevant for debugging purposes. Argument is a boolean - value. If the argument is omitted it defaults to - <option>true</option>.</para></listitem> - </varlistentry> - <varlistentry> - <term><option>--default-standard-output=</option></term> - <term><option>--default-standard-error=</option></term> - - <listitem><para>Sets the default output or error output for - all services and sockets, respectively. That is, controls the - default for <option>StandardOutput=</option> and - <option>StandardError=</option> (see - <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for details). Takes one of - <option>inherit</option>, - <option>null</option>, - <option>tty</option>, - <option>journal</option>, - <option>journal+console</option>, - <option>syslog</option>, - <option>syslog+console</option>, - <option>kmsg</option>, - <option>kmsg+console</option>. If the - argument is omitted - <option>--default-standard-output=</option> defaults to - <option>journal</option> and - <option>--default-standard-error=</option> to - <option>inherit</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--machine-id=</option></term> - - <listitem><para>Override the machine-id set on the hard drive, - useful for network booting or for containers. May not be set - to all zeros.</para></listitem> - </varlistentry> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - </variablelist> - </refsect1> - - <refsect1> - <title>Concepts</title> - - <para>systemd provides a dependency system between various - entities called "units" of 12 different types. Units encapsulate - various objects that are relevant for system boot-up and - maintenance. The majority of units are configured in unit - configuration files, whose syntax and basic set of options is - described in - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - however some are created automatically from other configuration, - dynamically from system state or programmatically at runtime. - Units may be "active" (meaning started, bound, plugged in, ..., - depending on the unit type, see below), or "inactive" (meaning - stopped, unbound, unplugged, ...), as well as in the process of - being activated or deactivated, i.e. between the two states (these - states are called "activating", "deactivating"). A special - "failed" state is available as well, which is very similar to - "inactive" and is entered when the service failed in some way - (process returned error code on exit, or crashed, or an operation - timed out). If this state is entered, the cause will be logged, - for later reference. Note that the various unit types may have a - number of additional substates, which are mapped to the five - generalized unit states described here.</para> - - <para>The following unit types are available:</para> - - <orderedlist> - <listitem><para>Service units, which start and control daemons - and the processes they consist of. For details, see - <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Socket units, which encapsulate local IPC or - network sockets in the system, useful for socket-based - activation. For details about socket units, see - <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - for details on socket-based activation and other forms of - activation, see - <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Target units are useful to group units, or - provide well-known synchronization points during boot-up, see - <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Device units expose kernel devices in systemd - and may be used to implement device-based activation. For - details, see - <citerefentry><refentrytitle>systemd.device</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Mount units control mount points in the file - system, for details see - <citerefentry><refentrytitle>systemd.mount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Automount units provide automount capabilities, - for on-demand mounting of file systems as well as parallelized - boot-up. See - <citerefentry><refentrytitle>systemd.automount</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Timer units are useful for triggering activation - of other units based on timers. You may find details in - <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Swap units are very similar to mount units and - encapsulate memory swap partitions or files of the operating - system. They are described in - <citerefentry><refentrytitle>systemd.swap</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Path units may be used to activate other - services when file system objects change or are modified. See - <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Slice units may be used to group units which - manage system processes (such as service and scope units) in a - hierarchical tree for resource management purposes. See - <citerefentry><refentrytitle>systemd.slice</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> - - <listitem><para>Scope units are similar to service units, but - manage foreign processes instead of starting them as well. See - <citerefentry><refentrytitle>systemd.scope</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para></listitem> - - </orderedlist> - - <para>Units are named as their configuration files. Some units - have special semantics. A detailed list is available in - <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> - - <para>systemd knows various kinds of dependencies, including - positive and negative requirement dependencies (i.e. - <varname>Requires=</varname> and <varname>Conflicts=</varname>) as - well as ordering dependencies (<varname>After=</varname> and - <varname>Before=</varname>). NB: ordering and requirement - dependencies are orthogonal. If only a requirement dependency - exists between two units (e.g. <filename>foo.service</filename> - requires <filename>bar.service</filename>), but no ordering - dependency (e.g. <filename>foo.service</filename> after - <filename>bar.service</filename>) and both are requested to start, - they will be started in parallel. It is a common pattern that both - requirement and ordering dependencies are placed between two - units. Also note that the majority of dependencies are implicitly - created and maintained by systemd. In most cases, it should be - unnecessary to declare additional dependencies manually, however - it is possible to do this.</para> - - <para>Application programs and units (via dependencies) may - request state changes of units. In systemd, these requests are - encapsulated as 'jobs' and maintained in a job queue. Jobs may - succeed or can fail, their execution is ordered based on the - ordering dependencies of the units they have been scheduled - for.</para> - - <para>On boot systemd activates the target unit - <filename>default.target</filename> whose job is to activate - on-boot services and other on-boot units by pulling them in via - dependencies. Usually, the unit name is just an alias (symlink) for - either <filename>graphical.target</filename> (for fully-featured - boots into the UI) or <filename>multi-user.target</filename> (for - limited console-only boots for use in embedded or server - environments, or similar; a subset of graphical.target). However, - it is at the discretion of the administrator to configure it as an - alias to any other target unit. See - <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry> - for details about these target units.</para> - - <para>Processes systemd spawns are placed in individual Linux - control groups named after the unit which they belong to in the - private systemd hierarchy. (see <ulink - url="https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt">cgroups.txt</ulink> - for more information about control groups, or short "cgroups"). - systemd uses this to effectively keep track of processes. Control - group information is maintained in the kernel, and is accessible - via the file system hierarchy (beneath - <filename>/sys/fs/cgroup/systemd/</filename>), or in tools such as - <citerefentry project='man-pages'><refentrytitle>systemd-cgls</refentrytitle><manvolnum>1</manvolnum></citerefentry> - or - <citerefentry project='man-pages'><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry> - (<command>ps xawf -eo pid,user,cgroup,args</command> is - particularly useful to list all processes and the systemd units - they belong to.).</para> - - <para>systemd is compatible with the SysV init system to a large - degree: SysV init scripts are supported and simply read as an - alternative (though limited) configuration file format. The SysV - <filename>/dev/initctl</filename> interface is provided, and - compatibility implementations of the various SysV client tools are - available. In addition to that, various established Unix - functionality such as <filename>/etc/fstab</filename> or the - <filename>utmp</filename> database are supported.</para> - - <para>systemd has a minimal transaction system: if a unit is - requested to start up or shut down it will add it and all its - dependencies to a temporary transaction. Then, it will verify if - the transaction is consistent (i.e. whether the ordering of all - units is cycle-free). If it is not, systemd will try to fix it up, - and removes non-essential jobs from the transaction that might - remove the loop. Also, systemd tries to suppress non-essential - jobs in the transaction that would stop a running service. Finally - it is checked whether the jobs of the transaction contradict jobs - that have already been queued, and optionally the transaction is - aborted then. If all worked out and the transaction is consistent - and minimized in its impact it is merged with all already - outstanding jobs and added to the run queue. Effectively this - means that before executing a requested operation, systemd will - verify that it makes sense, fixing it if possible, and only - failing if it really cannot work.</para> - - <para>Systemd contains native implementations of various tasks - that need to be executed as part of the boot process. For example, - it sets the hostname or configures the loopback network device. It - also sets up and mounts various API file systems, such as - <filename>/sys</filename> or <filename>/proc</filename>.</para> - - <para>For more information about the concepts and - ideas behind systemd, please refer to the - <ulink url="http://0pointer.de/blog/projects/systemd.html">Original Design Document</ulink>.</para> - - <para>Note that some but not all interfaces provided - by systemd are covered by the - <ulink url="http://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise">Interface - Stability Promise</ulink>.</para> - - <para>Units may be generated dynamically at boot and system - manager reload time, for example based on other configuration - files or parameters passed on the kernel command line. For details, see - <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> - - <para>Systems which invoke systemd in a container or initrd - environment should implement the - <ulink url="http://www.freedesktop.org/wiki/Software/systemd/ContainerInterface">Container Interface</ulink> or - <ulink url="http://www.freedesktop.org/wiki/Software/systemd/InitrdInterface">initrd Interface</ulink> - specifications, respectively.</para> - </refsect1> - - <refsect1> - <title>Directories</title> - - <variablelist> - <varlistentry> - <term>System unit directories</term> - - <listitem><para>The systemd system manager reads unit - configuration from various directories. Packages that want to - install unit files shall place them in the directory returned - by <command>pkg-config systemd - --variable=systemdsystemunitdir</command>. Other directories - checked are <filename>/usr/local/lib/systemd/system</filename> - and <filename>/usr/lib/systemd/system</filename>. User - configuration always takes precedence. <command>pkg-config - systemd --variable=systemdsystemconfdir</command> returns the - path of the system configuration directory. Packages should - alter the content of these directories only with the - <command>enable</command> and <command>disable</command> - commands of the - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - tool. Full list of directories is provided in - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - </variablelist> - - <variablelist> - <varlistentry> - <term>User unit directories</term> - - <listitem><para>Similar rules apply for the user unit - directories. However, here the - <ulink url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG - Base Directory specification</ulink> is followed to find - units. Applications should place their unit files in the - directory returned by <command>pkg-config systemd - --variable=systemduserunitdir</command>. Global configuration - is done in the directory reported by <command>pkg-config - systemd --variable=systemduserconfdir</command>. The - <command>enable</command> and <command>disable</command> - commands of the - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - tool can handle both global (i.e. for all users) and private - (for one user) enabling/disabling of units. Full list of - directories is provided in - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - </variablelist> - - <variablelist> - <varlistentry> - <term>SysV init scripts directory</term> - - <listitem><para>The location of the SysV init script directory - varies between distributions. If systemd cannot find a native - unit file for a requested service, it will look for a SysV - init script of the same name (with the - <filename>.service</filename> suffix - removed).</para></listitem> - </varlistentry> - </variablelist> - - <variablelist> - <varlistentry> - <term>SysV runlevel link farm directory</term> - - <listitem><para>The location of the SysV runlevel link farm - directory varies between distributions. systemd will take the - link farm into account when figuring out whether a service - shall be enabled. Note that a service unit with a native unit - configuration file cannot be started by activating it in the - SysV runlevel link farm.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Signals</title> - - <variablelist> - <varlistentry> - <term><constant>SIGTERM</constant></term> - - <listitem><para>Upon receiving this signal the systemd system - manager serializes its state, reexecutes itself and - deserializes the saved state again. This is mostly equivalent - to <command>systemctl daemon-reexec</command>.</para> - - <para>systemd user managers will start the - <filename>exit.target</filename> unit when this signal is - received. This is mostly equivalent to <command>systemctl - --user start exit.target</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGINT</constant></term> - - <listitem><para>Upon receiving this signal the systemd system - manager will start the - <filename>ctrl-alt-del.target</filename> unit. This is mostly - equivalent to <command>systemctl start - ctl-alt-del.target</command>. If this signal is received more - than 7 times per 2s, an immediate reboot is triggered. - Note that pressing Ctrl-Alt-Del on the console will trigger - this signal. Hence, if a reboot is hanging, pressing - Ctrl-Alt-Del more than 7 times in 2s is a relatively safe way - to trigger an immediate reboot.</para> - - <para>systemd user managers treat this signal the same way as - <constant>SIGTERM</constant>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGWINCH</constant></term> - - <listitem><para>When this signal is received the systemd - system manager will start the - <filename>kbrequest.target</filename> unit. This is mostly - equivalent to <command>systemctl start - kbrequest.target</command>.</para> - - <para>This signal is ignored by systemd user - managers.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGPWR</constant></term> - - <listitem><para>When this signal is received the systemd - manager will start the <filename>sigpwr.target</filename> - unit. This is mostly equivalent to <command>systemctl start - sigpwr.target</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGUSR1</constant></term> - - <listitem><para>When this signal is received the systemd - manager will try to reconnect to the D-Bus - bus.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGUSR2</constant></term> - - <listitem><para>When this signal is received the systemd - manager will log its complete state in human-readable form. - The data logged is the same as printed by - <command>systemd-analyze dump</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGHUP</constant></term> - - <listitem><para>Reloads the complete daemon configuration. - This is mostly equivalent to <command>systemctl - daemon-reload</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+0</constant></term> - - <listitem><para>Enters default mode, starts the - <filename>default.target</filename> unit. This is mostly - equivalent to <command>systemctl start - default.target</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+1</constant></term> - - <listitem><para>Enters rescue mode, starts the - <filename>rescue.target</filename> unit. This is mostly - equivalent to <command>systemctl isolate - rescue.target</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+2</constant></term> - - <listitem><para>Enters emergency mode, starts the - <filename>emergency.service</filename> unit. This is mostly - equivalent to <command>systemctl isolate - emergency.service</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+3</constant></term> - - <listitem><para>Halts the machine, starts the - <filename>halt.target</filename> unit. This is mostly - equivalent to <command>systemctl start - halt.target</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+4</constant></term> - - <listitem><para>Powers off the machine, starts the - <filename>poweroff.target</filename> unit. This is mostly - equivalent to <command>systemctl start - poweroff.target</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+5</constant></term> - - <listitem><para>Reboots the machine, starts the - <filename>reboot.target</filename> unit. This is mostly - equivalent to <command>systemctl start - reboot.target</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+6</constant></term> - - <listitem><para>Reboots the machine via kexec, starts the - <filename>kexec.target</filename> unit. This is mostly - equivalent to <command>systemctl start - kexec.target</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+13</constant></term> - - <listitem><para>Immediately halts the machine.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+14</constant></term> - - <listitem><para>Immediately powers off the machine.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+15</constant></term> - - <listitem><para>Immediately reboots the machine.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+16</constant></term> - - <listitem><para>Immediately reboots the machine with kexec.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+20</constant></term> - - <listitem><para>Enables display of status messages on the - console, as controlled via - <varname>systemd.show_status=1</varname> on the kernel command - line.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+21</constant></term> - - <listitem><para>Disables display of - status messages on the console, as - controlled via - <varname>systemd.show_status=0</varname> - on the kernel command - line.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+22</constant></term> - <term><constant>SIGRTMIN+23</constant></term> - - <listitem><para>Sets the log level to <literal>debug</literal> - (or <literal>info</literal> on - <constant>SIGRTMIN+23</constant>), as controlled via - <varname>systemd.log_level=debug</varname> (or - <varname>systemd.log_level=info</varname> on - <constant>SIGRTMIN+23</constant>) on the kernel command - line.</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+24</constant></term> - - <listitem><para>Immediately exits the manager (only available - for --user instances).</para></listitem> - </varlistentry> - - <varlistentry> - <term><constant>SIGRTMIN+26</constant></term> - <term><constant>SIGRTMIN+27</constant></term> - <term><constant>SIGRTMIN+28</constant></term> - - <listitem><para>Sets the log level to - <literal>journal-or-kmsg</literal> (or - <literal>console</literal> on - <constant>SIGRTMIN+27</constant>, <literal>kmsg</literal> on - <constant>SIGRTMIN+28</constant>), as controlled via - <varname>systemd.log_target=journal-or-kmsg</varname> (or - <varname>systemd.log_target=console</varname> on - <constant>SIGRTMIN+27</constant> or - <varname>systemd.log_target=kmsg</varname> on - <constant>SIGRTMIN+28</constant>) on the kernel command - line.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Environment</title> - - <variablelist class='environment-variables'> - <varlistentry> - <term><varname>$SYSTEMD_LOG_LEVEL</varname></term> - <listitem><para>systemd reads the log level from this - environment variable. This can be overridden with - <option>--log-level=</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$SYSTEMD_LOG_TARGET</varname></term> - <listitem><para>systemd reads the log target from this - environment variable. This can be overridden with - <option>--log-target=</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$SYSTEMD_LOG_COLOR</varname></term> - <listitem><para>Controls whether systemd highlights important - log messages. This can be overridden with - <option>--log-color=</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$SYSTEMD_LOG_LOCATION</varname></term> - <listitem><para>Controls whether systemd prints the code - location along with log messages. This can be overridden with - <option>--log-location=</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$XDG_CONFIG_HOME</varname></term> - <term><varname>$XDG_CONFIG_DIRS</varname></term> - <term><varname>$XDG_DATA_HOME</varname></term> - <term><varname>$XDG_DATA_DIRS</varname></term> - - <listitem><para>The systemd user manager uses these variables - in accordance to the <ulink - url="http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html">XDG - Base Directory specification</ulink> to find its - configuration.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$SYSTEMD_UNIT_PATH</varname></term> - - <listitem><para>Controls where systemd looks for unit - files.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$SYSTEMD_SYSVINIT_PATH</varname></term> - - <listitem><para>Controls where systemd looks for SysV init - scripts.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$SYSTEMD_SYSVRCND_PATH</varname></term> - - <listitem><para>Controls where systemd looks for SysV init - script runlevel link farms.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$SYSTEMD_COLORS</varname></term> - - <listitem><para>Controls whether colorized output should be generated. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$LISTEN_PID</varname></term> - <term><varname>$LISTEN_FDS</varname></term> - <term><varname>$LISTEN_FDNAMES</varname></term> - - <listitem><para>Set by systemd for supervised processes during - socket-based activation. See - <citerefentry><refentrytitle>sd_listen_fds</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information. </para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>$NOTIFY_SOCKET</varname></term> - - <listitem><para>Set by systemd for supervised processes for - status and start-up completion notification. See - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry> - for more information. </para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>Kernel Command Line</title> - - <para>When run as system instance systemd parses a number of - kernel command line arguments<footnote><para>If run inside a Linux - container these arguments may be passed as command line arguments - to systemd itself, next to any of the command line options listed - in the Options section above. If run outside of Linux containers, - these arguments are parsed from <filename>/proc/cmdline</filename> - instead.</para></footnote>:</para> - - <variablelist class='kernel-commandline-options'> - <varlistentry> - <term><varname>systemd.unit=</varname></term> - <term><varname>rd.systemd.unit=</varname></term> - - <listitem><para>Overrides the unit to activate on boot. - Defaults to <filename>default.target</filename>. This may be - used to temporarily boot into a different boot unit, for - example <filename>rescue.target</filename> or - <filename>emergency.service</filename>. See - <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry> - for details about these units. The option prefixed with - <literal>rd.</literal> is honored only in the initial RAM disk - (initrd), while the one that is not prefixed only in the main - system.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>systemd.dump_core=</varname></term> - - <listitem><para>Takes a boolean argument. If - <option>yes</option>, the systemd manager (PID 1) dumps core - when it crashes. Otherwise, no core dump is created. Defaults - to <option>yes</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>systemd.crash_chvt=</varname></term> - - <listitem><para>Takes a positive integer, or a boolean - argument. If a positive integer (in the range 1–63) is - specified, the system manager (PID 1) will activate the specified - virtual terminal (VT) when it crashes. Defaults to - <constant>no</constant>, meaning that no such switch is - attempted. If set to <constant>yes</constant>, the VT the - kernel messages are written to is selected.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>systemd.crash_shell=</varname></term> - - <listitem><para>Takes a boolean argument. If - <option>yes</option>, the system manager (PID 1) spawns a - shell when it crashes, after a 10s delay. Otherwise, no shell - is spawned. Defaults to <option>no</option>, for security - reasons, as the shell is not protected by password - authentication.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>systemd.crash_reboot=</varname></term> - - <listitem><para>Takes a boolean argument. If - <option>yes</option>, the system manager (PID 1) will reboot - the machine automatically when it crashes, after a 10s delay. - Otherwise, the system will hang indefinitely. Defaults to - <option>no</option>, in order to avoid a reboot loop. If - combined with <varname>systemd.crash_shell=</varname>, the - system is rebooted after the shell exits.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>systemd.confirm_spawn=</varname></term> - - <listitem><para>Takes a boolean argument. If - <option>yes</option>, the system manager (PID 1) asks for - confirmation when spawning processes. Defaults to - <option>no</option>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>systemd.show_status=</varname></term> - - <listitem><para>Takes a boolean argument or the constant - <constant>auto</constant>. If <option>yes</option>, the - systemd manager (PID 1) shows terse service status updates on - the console during bootup. <constant>auto</constant> behaves - like <option>false</option> until a service fails or there is - a significant delay in boot. Defaults to - <option>yes</option>, unless <option>quiet</option> is passed - as kernel command line option, in which case it defaults to - <constant>auto</constant>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>systemd.log_target=</varname></term> - <term><varname>systemd.log_level=</varname></term> - <term><varname>systemd.log_color=</varname></term> - <term><varname>systemd.log_location=</varname></term> - - <listitem><para>Controls log output, with the same effect as - the <varname>$SYSTEMD_LOG_TARGET</varname>, - <varname>$SYSTEMD_LOG_LEVEL</varname>, - <varname>$SYSTEMD_LOG_COLOR</varname>, - <varname>$SYSTEMD_LOG_LOCATION</varname> environment variables - described above.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>systemd.default_standard_output=</varname></term> - <term><varname>systemd.default_standard_error=</varname></term> - <listitem><para>Controls default standard output and error - output for services, with the same effect as the - <option>--default-standard-output=</option> and - <option>--default-standard-error=</option> command line - arguments described above, respectively.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>systemd.setenv=</varname></term> - - <listitem><para>Takes a string argument in the form - VARIABLE=VALUE. May be used to set default environment - variables to add to forked child processes. May be used more - than once to set multiple variables.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>systemd.machine_id=</varname></term> - - <listitem><para>Takes a 32 character hex value to be - used for setting the machine-id. Intended mostly for - network booting where the same machine-id is desired - for every boot.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>quiet</varname></term> - - <listitem><para>Turn off status output at boot, much like - <varname>systemd.show_status=false</varname> would. Note that - this option is also read by the kernel itself and disables - kernel log output. Passing this option hence turns off the - usual output from both the system manager and the kernel. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>debug</varname></term> - - <listitem><para>Turn on debugging output. This is equivalent - to <varname>systemd.log_level=debug</varname>. Note that this - option is also read by the kernel itself and enables kernel - debug output. Passing this option hence turns on the debug - output from both the system manager and the - kernel.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>emergency</varname></term> - <term><varname>-b</varname></term> - - <listitem><para>Boot into emergency mode. This is equivalent - to <varname>systemd.unit=emergency.target</varname> and - provided for compatibility reasons and to be easier to - type.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>rescue</varname></term> - <term><varname>single</varname></term> - <term><varname>s</varname></term> - <term><varname>S</varname></term> - <term><varname>1</varname></term> - - <listitem><para>Boot into rescue mode. This is equivalent to - <varname>systemd.unit=rescue.target</varname> and provided for - compatibility reasons and to be easier to - type.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>2</varname></term> - <term><varname>3</varname></term> - <term><varname>4</varname></term> - <term><varname>5</varname></term> - - <listitem><para>Boot into the specified legacy SysV runlevel. - These are equivalent to - <varname>systemd.unit=runlevel2.target</varname>, - <varname>systemd.unit=runlevel3.target</varname>, - <varname>systemd.unit=runlevel4.target</varname>, and - <varname>systemd.unit=runlevel5.target</varname>, - respectively, and provided for compatibility reasons and to be - easier to type.</para></listitem> - </varlistentry> - - <varlistentry> - <term><varname>locale.LANG=</varname></term> - <term><varname>locale.LANGUAGE=</varname></term> - <term><varname>locale.LC_CTYPE=</varname></term> - <term><varname>locale.LC_NUMERIC=</varname></term> - <term><varname>locale.LC_TIME=</varname></term> - <term><varname>locale.LC_COLLATE=</varname></term> - <term><varname>locale.LC_MONETARY=</varname></term> - <term><varname>locale.LC_MESSAGES=</varname></term> - <term><varname>locale.LC_PAPER=</varname></term> - <term><varname>locale.LC_NAME=</varname></term> - <term><varname>locale.LC_ADDRESS=</varname></term> - <term><varname>locale.LC_TELEPHONE=</varname></term> - <term><varname>locale.LC_MEASUREMENT=</varname></term> - <term><varname>locale.LC_IDENTIFICATION=</varname></term> - - <listitem><para>Set the system locale to use. This overrides - the settings in <filename>/etc/locale.conf</filename>. For - more information, see - <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> - and - <citerefentry project='man-pages'><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - </variablelist> - - <para>For other kernel command line parameters understood by - components of the core OS, please refer to - <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para> - </refsect1> - - <refsect1> - <title>Sockets and FIFOs</title> - - <variablelist> - <varlistentry> - <term><filename>/run/systemd/notify</filename></term> - - <listitem><para>Daemon status notification socket. This is an - <constant>AF_UNIX</constant> datagram socket and is used to - implement the daemon notification logic as implemented by - <citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para></listitem> - - </varlistentry> - - <varlistentry> - <term><filename>/run/systemd/private</filename></term> - - <listitem><para>Used internally as communication channel - between - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry> - and the systemd process. This is an - <constant>AF_UNIX</constant> stream socket. This interface is - private to systemd and should not be used in external - projects.</para></listitem> - </varlistentry> - - <varlistentry> - <term><filename>/dev/initctl</filename></term> - - <listitem><para>Limited compatibility support for the SysV - client interface, as implemented by the - <filename>systemd-initctl.service</filename> unit. This is a - named pipe in the file system. This interface is obsolete and - should not be used in new applications.</para></listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - The <ulink url="http://www.freedesktop.org/wiki/Software/systemd/">systemd Homepage</ulink>, - <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-notify</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>daemon</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>sd-daemon</refentrytitle><manvolnum>3</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/timedatectl.xml b/man/timedatectl.xml deleted file mode 100644 index 415e2c799a..0000000000 --- a/man/timedatectl.xml +++ /dev/null @@ -1,253 +0,0 @@ -<?xml version='1.0'?> <!--*-nxml-*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<!-- - This file is part of systemd. - - Copyright 2012 Lennart Poettering - - systemd is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or - (at your option) any later version. - - systemd is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with systemd; If not, see <http://www.gnu.org/licenses/>. ---> - -<refentry id="timedatectl" conditional='ENABLE_TIMEDATED' - xmlns:xi="http://www.w3.org/2001/XInclude"> - - <refentryinfo> - <title>timedatectl</title> - <productname>systemd</productname> - - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Lennart</firstname> - <surname>Poettering</surname> - <email>lennart@poettering.net</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>timedatectl</refentrytitle> - <manvolnum>1</manvolnum> - </refmeta> - - <refnamediv> - <refname>timedatectl</refname> - <refpurpose>Control the system time and date</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>timedatectl <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg></command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1> - <title>Description</title> - - <para><command>timedatectl</command> may be used to query and - change the system clock and its settings.</para> - - <para>Use - <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry> - to initialize the system time zone for mounted (but not booted) - system images.</para> - </refsect1> - - <refsect1> - <title>Options</title> - - <para>The following options are understood:</para> - - <variablelist> - <varlistentry> - <term><option>--no-ask-password</option></term> - - <listitem><para>Do not query the user for authentication for - privileged operations.</para></listitem> - </varlistentry> - - <varlistentry> - <term><option>--adjust-system-clock</option></term> - - <listitem><para>If <command>set-local-rtc</command> is invoked - and this option is passed, the system clock is synchronized - from the RTC again, taking the new setting into account. - Otherwise, the RTC is synchronized from the system - clock.</para></listitem> - </varlistentry> - - <xi:include href="user-system-options.xml" xpointer="host" /> - <xi:include href="user-system-options.xml" xpointer="machine" /> - - <xi:include href="standard-options.xml" xpointer="help" /> - <xi:include href="standard-options.xml" xpointer="version" /> - <xi:include href="standard-options.xml" xpointer="no-pager" /> - </variablelist> - - <para>The following commands are understood:</para> - - <variablelist> - <varlistentry> - <term><command>status</command></term> - - <listitem><para>Show current settings of the system clock and - RTC, including whether network time synchronization is - on. Note that whether network time synchronization is on - simply reflects whether the - <filename>systemd-timesyncd.service</filename> unit is - enabled. Even if this command shows the status as off, a - different service might still synchronize the clock with the - network.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-time [TIME]</command></term> - - <listitem><para>Set the system clock to the specified time. - This will also update the RTC time accordingly. The time may - be specified in the format "2012-10-30 - 18:17:16".</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-timezone [TIMEZONE]</command></term> - - <listitem><para>Set the system time zone to the specified - value. Available timezones can be listed with - <command>list-timezones</command>. If the RTC is configured to - be in the local time, this will also update the RTC time. This - call will alter the <filename>/etc/localtime</filename> - symlink. See - <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for more information.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>list-timezones</command></term> - - <listitem><para>List available time zones, one per line. - Entries from the list can be set as the system timezone with - <command>set-timezone</command>.</para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-local-rtc [BOOL]</command></term> - - <listitem><para>Takes a boolean argument. If - <literal>0</literal>, the system is configured to maintain the - RTC in universal time. If <literal>1</literal>, it will - maintain the RTC in local time instead. Note that maintaining - the RTC in the local timezone is not fully supported and will - create various problems with time zone changes and daylight - saving adjustments. If at all possible, keep the RTC in UTC - mode. Note that invoking this will also synchronize the RTC - from the system clock, unless - <option>--adjust-system-clock</option> is passed (see above). - This command will change the 3rd line of - <filename>/etc/adjtime</filename>, as documented in - <citerefentry project='man-pages'><refentrytitle>hwclock</refentrytitle><manvolnum>8</manvolnum></citerefentry>. - </para></listitem> - </varlistentry> - - <varlistentry> - <term><command>set-ntp [BOOL]</command></term> - - <listitem><para>Takes a boolean argument. Controls whether - network time synchronization is active and enabled (if - available). This enables and starts, or disables and stops the - <filename>systemd-timesyncd.service</filename> unit. It does - not affect the state of any other, unrelated network time - synchronization services that might be installed on the - system. This command is hence mostly equivalent to: - <command>systemctl enable --now - systemd-timesyncd.service</command> and <command>systemctl - disable --now systemd-timesyncd.service</command>, but is - protected by a different access policy.</para> - - <para>Note that even if time synchronization is turned off - with this command, another unrelated system service might - still synchronize the clock with the network. Also note that, - strictly speaking, - <filename>systemd-timesyncd.service</filename> does more than - just network time synchronization, as it ensures a monotonic - clock on systems without RTC even if no network is - available. See - <citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> - for details about this.</para></listitem> - </varlistentry> - - </variablelist> - - </refsect1> - - <refsect1> - <title>Exit status</title> - - <para>On success, 0 is returned, a non-zero failure - code otherwise.</para> - </refsect1> - - <xi:include href="less-variables.xml" /> - - <refsect1> - <title>Examples</title> - <para>Show current settings: - <programlisting>$ timedatectl - Local time: Di 2015-04-07 16:26:56 CEST - Universal time: Di 2015-04-07 14:26:56 UTC - RTC time: Di 2015-04-07 14:26:56 - Time zone: Europe/Berlin (CEST, +0200) - Network time on: yes -NTP synchronized: yes - RTC in local TZ: no</programlisting> - </para> - - <para>Enable network time synchronization: - <programlisting>$ timedatectl set-ntp true -==== AUTHENTICATING FOR org.freedesktop.timedate1.set-ntp === -Authentication is required to control whether network time synchronization shall be enabled. -Authenticating as: user -Password: ******** -==== AUTHENTICATION COMPLETE ===</programlisting> - - <programlisting>$ systemctl status systemd-timesyncd.service -● systemd-timesyncd.service - Network Time Synchronization - Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled) - Active: active (running) since Mo 2015-03-30 14:20:38 CEST; 5s ago - Docs: man:systemd-timesyncd.service(8) - Main PID: 595 (systemd-timesyn) - Status: "Using Time Server 216.239.38.15:123 (time4.google.com)." - CGroup: /system.slice/systemd-timesyncd.service - └─595 /usr/lib/systemd/systemd-timesyncd -...</programlisting> - </para> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>hwclock</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry project='man-pages'><refentrytitle>date</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>5</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-timedated.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-timesyncd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, - <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry> - </para> - </refsect1> - -</refentry> diff --git a/man/udev.xml b/man/udev.xml deleted file mode 100644 index dd5563605c..0000000000 --- a/man/udev.xml +++ /dev/null @@ -1,755 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<refentry id="udev"> - <refentryinfo> - <title>udev</title> - <productname>systemd</productname> - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Greg</firstname> - <surname>Kroah-Hartmann</surname> - <email>greg@kroah.com</email> - </author> - <author> - <contrib>Developer</contrib> - <firstname>Kay</firstname> - <surname>Sievers</surname> - <email>kay@vrfy.org</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>udev</refentrytitle> - <manvolnum>7</manvolnum> - </refmeta> - - <refnamediv> - <refname>udev</refname> - <refpurpose>Dynamic device management</refpurpose> - </refnamediv> - - <refsect1><title>Description</title> - <para>udev supplies the system software with device events, manages permissions - of device nodes and may create additional symlinks in the <filename>/dev</filename> - directory, or renames network interfaces. The kernel usually just assigns unpredictable - device names based on the order of discovery. Meaningful symlinks or network device - names provide a way to reliably identify devices based on their properties or - current configuration.</para> - - <para>The udev daemon, <citerefentry><refentrytitle>systemd-udevd.service</refentrytitle> - <manvolnum>8</manvolnum></citerefentry>, receives device uevents directly from - the kernel whenever a device is added or removed from the system, or it changes its - state. When udev receives a device event, it matches its configured set of rules - against various device attributes to identify the device. Rules that match may - provide additional device information to be stored in the udev database or - to be used to create meaningful symlink names.</para> - - <para>All device information udev processes is stored in the udev database and - sent out to possible event subscribers. Access to all stored data and the event - sources is provided by the library libudev.</para> - </refsect1> - - <refsect1><title>Rules Files</title> - <para>The udev rules are read from the files located in the - system rules directory <filename>/usr/lib/udev/rules.d</filename>, - the volatile runtime directory <filename>/run/udev/rules.d</filename> - and the local administration directory <filename>/etc/udev/rules.d</filename>. - All rules files are collectively sorted and processed in lexical order, - regardless of the directories in which they live. However, files with - identical filenames replace each other. Files in <filename>/etc</filename> - have the highest priority, files in <filename>/run</filename> take precedence - over files with the same name in <filename>/usr/lib</filename>. This can be - used to override a system-supplied rules file with a local file if needed; - a symlink in <filename>/etc</filename> with the same name as a rules file in - <filename>/usr/lib</filename>, pointing to <filename>/dev/null</filename>, - disables the rules file entirely. Rule files must have the extension - <filename>.rules</filename>; other extensions are ignored.</para> - - <para>Every line in the rules file contains at least one key-value pair. - Except for empty lines or lines beginning with <literal>#</literal>, which are ignored. - There are two kinds of keys: match and assignment. - If all match keys match against their values, the rule gets applied and the - assignment keys get the specified values assigned.</para> - - <para>A matching rule may rename a network interface, add symlinks - pointing to the device node, or run a specified program as part of - the event handling.</para> - - <para>A rule consists of a comma-separated list of one or more key-value pairs. - Each key has a distinct operation, depending on the used operator. Valid - operators are:</para> - <variablelist> - <varlistentry> - <term><literal>==</literal></term> - <listitem> - <para>Compare for equality.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>!=</literal></term> - <listitem> - <para>Compare for inequality.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>=</literal></term> - <listitem> - <para>Assign a value to a key. Keys that represent a list are reset - and only this single value is assigned.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>+=</literal></term> - <listitem> - <para>Add the value to a key that holds a list of entries.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>-=</literal></term> - <listitem> - <para>Remove the value from a key that holds a list of entries.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>:=</literal></term> - <listitem> - <para>Assign a value to a key finally; disallow any later changes.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>The following key names can be used to match against device properties. - Some of the keys also match against properties of the parent devices in sysfs, - not only the device that has generated the event. If multiple keys that match - a parent device are specified in a single rule, all these keys must match at - one and the same parent device.</para> - <variablelist class='udev-directives'> - <varlistentry> - <term><varname>ACTION</varname></term> - <listitem> - <para>Match the name of the event action.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>DEVPATH</varname></term> - <listitem> - <para>Match the devpath of the event device.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>KERNEL</varname></term> - <listitem> - <para>Match the name of the event device.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>NAME</varname></term> - <listitem> - <para>Match the name of a network interface. It can be used once the - NAME key has been set in one of the preceding rules.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SYMLINK</varname></term> - <listitem> - <para>Match the name of a symlink targeting the node. It can - be used once a SYMLINK key has been set in one of the preceding - rules. There may be multiple symlinks; only one needs to match. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SUBSYSTEM</varname></term> - <listitem> - <para>Match the subsystem of the event device.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><varname>DRIVER</varname></term> - <listitem> - <para>Match the driver name of the event device. Only set this key for devices - which are bound to a driver at the time the event is generated.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><varname>ATTR{<replaceable>filename</replaceable>}</varname></term> - <listitem> - <para>Match sysfs attribute values of the event device. Trailing - whitespace in the attribute values is ignored unless the specified match - value itself contains trailing whitespace. - </para> - </listitem> - <term><varname>SYSCTL{<replaceable>kernel parameter</replaceable>}</varname></term> - <listitem> - <para>Match a kernel parameter value. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>KERNELS</varname></term> - <listitem> - <para>Search the devpath upwards for a matching device name.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SUBSYSTEMS</varname></term> - <listitem> - <para>Search the devpath upwards for a matching device subsystem name.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>DRIVERS</varname></term> - <listitem> - <para>Search the devpath upwards for a matching device driver name.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>ATTRS{<replaceable>filename</replaceable>}</varname></term> - <listitem> - <para>Search the devpath upwards for a device with matching sysfs attribute values. - If multiple <varname>ATTRS</varname> matches are specified, all of them - must match on the same device. Trailing whitespace in the attribute values is ignored - unless the specified match value itself contains trailing whitespace.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>TAGS</varname></term> - <listitem> - <para>Search the devpath upwards for a device with matching tag.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>ENV{<replaceable>key</replaceable>}</varname></term> - <listitem> - <para>Match against a device property value.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>TAG</varname></term> - <listitem> - <para>Match against a device tag.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>TEST{<replaceable>octal mode mask</replaceable>}</varname></term> - <listitem> - <para>Test the existence of a file. An octal mode mask can be specified - if needed.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>PROGRAM</varname></term> - <listitem> - <para>Execute a program to determine whether there - is a match; the key is true if the program returns - successfully. The device properties are made available to the - executed program in the environment. The program's standard output - is available in the <varname>RESULT</varname> key.</para> - <para>This can only be used for very short-running foreground tasks. For details, - see <varname>RUN</varname>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>RESULT</varname></term> - <listitem> - <para>Match the returned string of the last <varname>PROGRAM</varname> call. - This key can be used in the same or in any later rule after a - <varname>PROGRAM</varname> call.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>Most of the fields support shell glob pattern matching and - alternate patterns. The following special characters are supported:</para> - <variablelist> - <varlistentry> - <term><literal>*</literal></term> - <listitem> - <para>Matches zero or more characters.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>?</literal></term> - <listitem> - <para>Matches any single character.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>[]</literal></term> - <listitem> - <para>Matches any single character specified within the brackets. For - example, the pattern string <literal>tty[SR]</literal> - would match either <literal>ttyS</literal> or <literal>ttyR</literal>. - Ranges are also supported via the <literal>-</literal> character. - For example, to match on the range of all digits, the pattern - <literal>[0-9]</literal> could be used. If the first character - following the <literal>[</literal> is a <literal>!</literal>, - any characters not enclosed are matched.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>|</literal></term> - <listitem> - <para>Separates alternative patterns. For example, the pattern string - <literal>abc|x*</literal> would match either <literal>abc</literal> - or <literal>x*</literal>.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>The following keys can get values assigned:</para> - <variablelist class='udev-directives'> - <varlistentry> - <term><varname>NAME</varname></term> - <listitem> - <para>The name to use for a network interface. See - <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry> - for a higher-level mechanism for setting the interface name. - The name of a device node cannot be changed by udev, only additional - symlinks can be created.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SYMLINK</varname></term> - <listitem> - <para>The name of a symlink targeting the node. Every matching rule adds - this value to the list of symlinks to be created.</para> - <para>The set of characters to name a symlink is limited. Allowed - characters are <literal>0-9A-Za-z#+-.:=@_/</literal>, valid UTF-8 character - sequences, and <literal>\x00</literal> hex encoding. All other - characters are replaced by a <literal>_</literal> character.</para> - <para>Multiple symlinks may be specified by separating the names by the - space character. In case multiple devices claim the same name, the link - always points to the device with the highest link_priority. If the current - device goes away, the links are re-evaluated and the device with the - next highest link_priority becomes the owner of the link. If no - link_priority is specified, the order of the devices (and which one of - them owns the link) is undefined.</para> - <para>Symlink names must never conflict with the kernel's default device - node names, as that would result in unpredictable behavior. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>OWNER</varname>, <varname>GROUP</varname>, <varname>MODE</varname></term> - <listitem> - <para>The permissions for the device node. Every specified value overrides - the compiled-in default value.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SECLABEL{<replaceable>module</replaceable>}</varname></term> - <listitem> - <para>Applies the specified Linux Security Module label to the device node.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>ATTR{<replaceable>key</replaceable>}</varname></term> - <listitem> - <para>The value that should be written to a sysfs attribute of the - event device.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>SYSCTL{<replaceable>kernel parameter</replaceable>}</varname></term> - <listitem> - <para>The value that should be written to kernel parameter.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>ENV{<replaceable>key</replaceable>}</varname></term> - <listitem> - <para>Set a device property value. Property names with a leading <literal>.</literal> - are neither stored in the database nor exported to events or - external tools (run by, for example, the <varname>PROGRAM</varname> - match key).</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>TAG</varname></term> - <listitem> - <para>Attach a tag to a device. This is used to filter events for users - of libudev's monitor functionality, or to enumerate a group of tagged - devices. The implementation can only work efficiently if only a few - tags are attached to a device. It is only meant to be used in - contexts with specific device filter requirements, and not as a - general-purpose flag. Excessive use might result in inefficient event - handling.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>RUN{<replaceable>type</replaceable>}</varname></term> - <listitem> - <para>Add a program to the list of programs to be executed after - processing all the rules for a specific event, depending on - <literal>type</literal>:</para> - <variablelist> - <varlistentry> - <term><literal>program</literal></term> - <listitem> - <para>Execute an external program specified as the assigned - value. If no absolute path is given, the program is expected - to live in <filename>/usr/lib/udev</filename>; otherwise, the - absolute path must be specified.</para> - <para>This is the default if no <replaceable>type</replaceable> - is specified.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>builtin</literal></term> - <listitem> - <para>As <varname>program</varname>, but use one of the - built-in programs rather than an external one.</para> - </listitem> - </varlistentry> - </variablelist> - <para>The program name and following arguments are separated by spaces. - Single quotes can be used to specify arguments with spaces.</para> - <para>This can only be used for very short-running foreground tasks. Running an - event process for a long period of time may block all further events for - this or a dependent device.</para> - <para>Starting daemons or other long-running processes is not appropriate - for udev; the forked processes, detached or not, will be unconditionally - killed after the event handling has finished.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>LABEL</varname></term> - <listitem> - <para>A named label to which a <varname>GOTO</varname> may jump.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>GOTO</varname></term> - <listitem> - <para>Jumps to the next <varname>LABEL</varname> with a matching name.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>IMPORT{<replaceable>type</replaceable>}</varname></term> - <listitem> - <para>Import a set of variables as device properties, - depending on <literal>type</literal>:</para> - <variablelist> - <varlistentry> - <term><literal>program</literal></term> - <listitem> - <para>Execute an external program specified as the assigned - value and, if it returns successfully, - import its output, which must be in environment key - format. Path specification, command/argument separation, - and quoting work like in <varname>RUN</varname>.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>builtin</literal></term> - <listitem> - <para>Similar to <literal>program</literal>, but use one of the - built-in programs rather than an external one.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>file</literal></term> - <listitem> - <para>Import a text file specified as the assigned value, the content - of which must be in environment key format.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>db</literal></term> - <listitem> - <para>Import a single property specified as the assigned value from the - current device database. This works only if the database is already populated - by an earlier event.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>cmdline</literal></term> - <listitem> - <para>Import a single property from the kernel command line. For simple flags - the value of the property is set to <literal>1</literal>.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>parent</literal></term> - <listitem> - <para>Import the stored keys from the parent device by reading - the database entry of the parent device. The value assigned to - <option>IMPORT{parent}</option> is used as a filter of key names - to import (with the same shell glob pattern matching used for - comparisons).</para> - </listitem> - </varlistentry> - </variablelist> - <para>This can only be used for very short-running foreground tasks. For details - see <option>RUN</option>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><varname>OPTIONS</varname></term> - <listitem> - <para>Rule and device options:</para> - <variablelist class='udev-directives'> - <varlistentry> - <term><option>link_priority=<replaceable>value</replaceable></option></term> - <listitem> - <para>Specify the priority of the created symlinks. Devices with higher - priorities overwrite existing symlinks of other devices. The default is 0.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>string_escape=<replaceable>none|replace</replaceable></option></term> - <listitem> - <para>Usually, control and other possibly unsafe characters are replaced - in strings used for device naming. The mode of replacement can be specified - with this option.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>static_node=</option></term> - <listitem> - <para>Apply the permissions specified in this rule to the - static device node with the specified name. Also, for every - tag specified in this rule, create a symlink - in the directory - <filename>/run/udev/static_node-tags/<replaceable>tag</replaceable></filename> - pointing at the static device node with the specified name. - Static device node creation is performed by systemd-tmpfiles - before systemd-udevd is started. The static nodes might not - have a corresponding kernel device; they are used to trigger - automatic kernel module loading when they are accessed.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>watch</option></term> - <listitem> - <para>Watch the device node with inotify; when the node is - closed after being opened for writing, a change uevent is - synthesized.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>nowatch</option></term> - <listitem> - <para>Disable the watching of a device node with inotify.</para> - </listitem> - </varlistentry> - </variablelist> - </listitem> - </varlistentry> - </variablelist> - - <para>The <varname>NAME</varname>, <varname>SYMLINK</varname>, - <varname>PROGRAM</varname>, <varname>OWNER</varname>, - <varname>GROUP</varname>, <varname>MODE</varname>, and - <varname>RUN</varname> fields support simple string substitutions. - The <varname>RUN</varname> substitutions are performed after all rules - have been processed, right before the program is executed, allowing for - the use of device properties set by earlier matching rules. For all other - fields, substitutions are performed while the individual rule is being - processed. The available substitutions are:</para> - <variablelist class='udev-directives'> - <varlistentry> - <term><option>$kernel</option>, <option>%k</option></term> - <listitem> - <para>The kernel name for this device.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$number</option>, <option>%n</option></term> - <listitem> - <para>The kernel number for this device. For example, - <literal>sda3</literal> has kernel number <literal>3</literal>. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$devpath</option>, <option>%p</option></term> - <listitem> - <para>The devpath of the device.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$id</option>, <option>%b</option></term> - <listitem> - <para>The name of the device matched while searching the devpath - upwards for <option>SUBSYSTEMS</option>, <option>KERNELS</option>, - <option>DRIVERS</option>, and <option>ATTRS</option>. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$driver</option></term> - <listitem> - <para>The driver name of the device matched while searching the - devpath upwards for <option>SUBSYSTEMS</option>, - <option>KERNELS</option>, <option>DRIVERS</option>, and - <option>ATTRS</option>. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$attr{<replaceable>file</replaceable>}</option>, <option>%s{<replaceable>file</replaceable>}</option></term> - <listitem> - <para>The value of a sysfs attribute found at the device where - all keys of the rule have matched. If the matching device does not - have such an attribute, and a previous <option>KERNELS</option>, - <option>SUBSYSTEMS</option>, <option>DRIVERS</option>, or - <option>ATTRS</option> test selected a parent device, then the - attribute from that parent device is used. - </para> - <para>If the attribute is a symlink, the last element of the - symlink target is returned as the value. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$env{<replaceable>key</replaceable>}</option>, <option>%E{<replaceable>key</replaceable>}</option></term> - <listitem> - <para>A device property value.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$major</option>, <option>%M</option></term> - <listitem> - <para>The kernel major number for the device.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$minor</option>, <option>%m</option></term> - <listitem> - <para>The kernel minor number for the device.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$result</option>, <option>%c</option></term> - <listitem> - <para>The string returned by the external program requested with - <varname>PROGRAM</varname>. - A single part of the string, separated by a space character, may be selected - by specifying the part number as an attribute: <literal>%c{N}</literal>. - If the number is followed by the <literal>+</literal> character, this part plus all remaining parts - of the result string are substituted: <literal>%c{N+}</literal>.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$parent</option>, <option>%P</option></term> - <listitem> - <para>The node name of the parent device.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$name</option></term> - <listitem> - <para>The current name of the device. If not changed by a rule, it is the - name of the kernel device.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$links</option></term> - <listitem> - <para>A space-separated list of the current symlinks. The value is - only set during a remove event or if an earlier rule assigned a value.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$root</option>, <option>%r</option></term> - <listitem> - <para>The udev_root value.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$sys</option>, <option>%S</option></term> - <listitem> - <para>The sysfs mount point.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$devnode</option>, <option>%N</option></term> - <listitem> - <para>The name of the device node.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>%%</option></term> - <listitem> - <para>The <literal>%</literal> character itself.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term><option>$$</option></term> - <listitem> - <para>The <literal>$</literal> character itself.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect1> - - <refsect1> - <title>See Also</title> - <para> - <citerefentry> - <refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum> - </citerefentry>, - <citerefentry> - <refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum> - </citerefentry>, - <citerefentry> - <refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum> - </citerefentry> - </para> - </refsect1> -</refentry> diff --git a/man/udevadm.xml b/man/udevadm.xml deleted file mode 100644 index 8c1abd2770..0000000000 --- a/man/udevadm.xml +++ /dev/null @@ -1,576 +0,0 @@ -<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*--> -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" - "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> - -<refentry id="udevadm"> - <refentryinfo> - <title>udevadm</title> - <productname>systemd</productname> - <authorgroup> - <author> - <contrib>Developer</contrib> - <firstname>Kay</firstname> - <surname>Sievers</surname> - <email>kay@vrfy.org</email> - </author> - </authorgroup> - </refentryinfo> - - <refmeta> - <refentrytitle>udevadm</refentrytitle> - <manvolnum>8</manvolnum> - </refmeta> - - <refnamediv> - <refname>udevadm</refname><refpurpose>udev management tool</refpurpose> - </refnamediv> - - <refsynopsisdiv> - <cmdsynopsis> - <command>udevadm</command> - <arg><option>--debug</option></arg> - <arg><option>--version</option></arg> - <arg><option>--help</option></arg> - </cmdsynopsis> - <cmdsynopsis> - <command>udevadm info <replaceable>options</replaceable></command> - </cmdsynopsis> - <cmdsynopsis> - <command>udevadm trigger <optional>options</optional></command> - </cmdsynopsis> - <cmdsynopsis> - <command>udevadm settle <optional>options</optional></command> - </cmdsynopsis> - <cmdsynopsis> - <command>udevadm control <replaceable>command</replaceable></command> - </cmdsynopsis> - <cmdsynopsis> - <command>udevadm monitor <optional>options</optional></command> - </cmdsynopsis> - <cmdsynopsis> - <command>udevadm test <optional>options</optional> <replaceable>devpath</replaceable></command> - </cmdsynopsis> - <cmdsynopsis> - <command>udevadm test-builtin <optional>options</optional> <replaceable>command</replaceable> <replaceable>devpath</replaceable></command> - </cmdsynopsis> - </refsynopsisdiv> - - <refsect1><title>Description</title> - <para><command>udevadm</command> expects a command and command - specific options. It controls the runtime behavior of - <command>systemd-udevd</command>, requests kernel events, manages - the event queue, and provides simple debugging mechanisms.</para> - </refsect1> - - <refsect1><title>Options</title> - <variablelist> - <varlistentry> - <term><option>--debug</option></term> - <listitem> - <para>Print debug messages to standard error.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>--version</option></term> - <listitem> - <para>Print version number.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-h</option></term> - <term><option>--help</option></term> - <listitem> - <para>Print help text.</para> - </listitem> - </varlistentry> - </variablelist> - - <refsect2><title>udevadm info - <arg choice="opt"><replaceable>options</replaceable></arg> - <arg choice="opt"><replaceable>devpath</replaceable>|<replaceable>file</replaceable></arg> - </title> - - <para>Queries the udev database for device information - stored in the udev database. It can also query the properties - of a device from its sysfs representation to help creating udev - rules that match this device.</para> - <variablelist> - <varlistentry> - <term><option>-q</option></term> - <term><option>--query=<replaceable>TYPE</replaceable></option></term> - <listitem> - <para>Query the database for the specified type of device - data. It needs the <option>--path</option> or - <option>--name</option> to identify the specified device. - Valid <replaceable>TYPE</replaceable>s are: - <constant>name</constant>, <constant>symlink</constant>, - <constant>path</constant>, <constant>property</constant>, - <constant>all</constant>.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-p</option></term> - <term><option>--path=<replaceable>DEVPATH</replaceable></option></term> - <listitem> - <para>The <filename>/sys</filename> path of the device to - query, e.g. - <filename><optional>/sys</optional>/class/block/sda</filename>. - Note that this option usually is not very useful, since - <command>udev</command> can guess the type of the - argument, so <command>udevadm - --devpath=/class/block/sda</command> is equivalent to - <command>udevadm /sys/class/block/sda</command>.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-n</option></term> - <term><option>--name=<replaceable>FILE</replaceable></option></term> - <listitem> - <para>The name of the device node or a symlink to query, - e.g. <filename><optional>/dev</optional>/sda</filename>. - Note that this option usually is not very useful, since - <command>udev</command> can guess the type of the - argument, so <command>udevadm --name=sda</command> is - equivalent to <command>udevadm /dev/sda</command>.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-r</option></term> - <term><option>--root</option></term> - <listitem> - <para>Print absolute paths in <command>name</command> or <command>symlink</command> - query.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-a</option></term> - <term><option>--attribute-walk</option></term> - <listitem> - <para>Print all sysfs properties of the specified device that can be used - in udev rules to match the specified device. It prints all devices - along the chain, up to the root of sysfs that can be used in udev rules.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-x</option></term> - <term><option>--export</option></term> - <listitem> - <para>Print output as key/value pairs. Values are enclosed in single quotes.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-P</option></term> - <term><option>--export-prefix=<replaceable>NAME</replaceable></option></term> - <listitem> - <para>Add a prefix to the key name of exported values.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-d</option></term> - <term><option>--device-id-of-file=<replaceable>FILE</replaceable></option></term> - <listitem> - <para>Print major/minor numbers of the underlying device, where the file - lives on.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-e</option></term> - <term><option>--export-db</option></term> - <listitem> - <para>Export the content of the udev database.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-c</option></term> - <term><option>--cleanup-db</option></term> - <listitem> - <para>Cleanup the udev database.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>--version</option></term> - <listitem> - <para>Print version.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-h</option></term> - <term><option>--help</option></term> - <listitem> - <para>Print help text.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>In addition, an optional positional argument can be used - to specify a device name or a sys path. It must start with - <filename>/dev</filename> or <filename>/sys</filename> - respectively.</para> - </refsect2> - - <refsect2><title>udevadm trigger - <arg choice="opt"><replaceable>options</replaceable></arg> - <arg choice="opt" rep="repeat"><replaceable>devpath</replaceable>|<replaceable>file</replaceable></arg></title> - <para>Request device events from the kernel. Primarily used to replay events at system coldplug time.</para> - <variablelist> - <varlistentry> - <term><option>-v</option></term> - <term><option>--verbose</option></term> - <listitem> - <para>Print the list of devices which will be triggered.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-n</option></term> - <term><option>--dry-run</option></term> - <listitem> - <para>Do not actually trigger the event.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-t</option></term> - <term><option>--type=<replaceable>TYPE</replaceable></option></term> - <listitem> - <para>Trigger a specific type of devices. Valid types are: - <command>devices</command>, <command>subsystems</command>. - The default value is <command>devices</command>.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-c</option></term> - <term><option>--action=<replaceable>ACTION</replaceable></option></term> - <listitem> - <para>Type of event to be triggered. The default value is - <command>change</command>.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-s</option></term> - <term><option>--subsystem-match=<replaceable>SUBSYSTEM</replaceable></option></term> - <listitem> - <para>Trigger events for devices which belong to a - matching subsystem. This option can be specified multiple - times and supports shell style pattern matching.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-S</option></term> - <term><option>--subsystem-nomatch=<replaceable>SUBSYSTEM</replaceable></option></term> - <listitem> - <para>Do not trigger events for devices which belong to a matching subsystem. This option - can be specified multiple times and supports shell style pattern matching.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-a</option></term> - <term><option>--attr-match=<replaceable>ATTRIBUTE</replaceable>=<replaceable>VALUE</replaceable></option></term> - <listitem> - <para>Trigger events for devices with a matching sysfs - attribute. If a value is specified along with the - attribute name, the content of the attribute is matched - against the given value using shell style pattern - matching. If no value is specified, the existence of the - sysfs attribute is checked. This option can be specified - multiple times.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-A</option></term> - <term><option>--attr-nomatch=<replaceable>ATTRIBUTE</replaceable>=<replaceable>VALUE</replaceable></option></term> - <listitem> - <para>Do not trigger events for devices with a matching - sysfs attribute. If a value is specified along with the - attribute name, the content of the attribute is matched - against the given value using shell style pattern - matching. If no value is specified, the existence of the - sysfs attribute is checked. This option can be specified - multiple times.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-p</option></term> - <term><option>--property-match=<replaceable>PROPERTY</replaceable>=<replaceable>VALUE</replaceable></option></term> - <listitem> - <para>Trigger events for devices with a matching property - value. This option can be specified multiple times and - supports shell style pattern matching.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-g</option></term> - <term><option>--tag-match=<replaceable>PROPERTY</replaceable></option></term> - <listitem> - <para>Trigger events for devices with a matching tag. This - option can be specified multiple times.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-y</option></term> - <term><option>--sysname-match=<replaceable>PATH</replaceable></option></term> - <listitem> - <para>Trigger events for devices with a matching sys - device path. This option can be specified multiple times - and supports shell style pattern matching.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>--name-match=<replaceable>NAME</replaceable></option></term> - <listitem> - <para>Trigger events for devices with a matching - device path. This option can be specified multiple - times.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-b</option></term> - <term><option>--parent-match=<replaceable>SYSPATH</replaceable></option></term> - <listitem> - <para>Trigger events for all children of a given - device.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-h</option></term> - <term><option>--help</option></term> - <listitem> - <para>Print help text.</para> - </listitem> - </varlistentry> - </variablelist> - - <para>In addition, optional positional arguments can be used - to specify device names or sys paths. They must start with - <filename>/dev</filename> or <filename>/sys</filename> - respectively.</para> - </refsect2> - - <refsect2><title>udevadm settle - <arg choice="opt"><replaceable>options</replaceable></arg> - </title> - <para>Watches the udev event queue, and exits if all current events are handled.</para> - <variablelist> - <varlistentry> - <term><option>-t</option></term> - <term><option>--timeout=<replaceable>SECONDS</replaceable></option></term> - <listitem> - <para>Maximum number of seconds to wait for the event - queue to become empty. The default value is 120 seconds. A - value of 0 will check if the queue is empty and always - return immediately.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-E</option></term> - <term><option>--exit-if-exists=<replaceable>FILE</replaceable></option></term> - <listitem> - <para>Stop waiting if file exists.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-h</option></term> - <term><option>--help</option></term> - <listitem> - <para>Print help text.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2><title>udevadm control <replaceable>command</replaceable></title> - <para>Modify the internal state of the running udev daemon.</para> - <variablelist> - <varlistentry> - <term><option>-x</option></term> - <term><option>--exit</option></term> - <listitem> - <para>Signal and wait for systemd-udevd to exit.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-l</option></term> - <term><option>--log-priority=<replaceable>value</replaceable></option></term> - <listitem> - <para>Set the internal log level of - <filename>systemd-udevd</filename>. Valid values are the - numerical syslog priorities or their textual - representations: <option>emerg</option>, - <option>alert</option>, <option>crit</option>, - <option>err</option>, <option>warning</option>, - <option>notice</option>, <option>info</option>, and - <option>debug</option>.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-s</option></term> - <term><option>--stop-exec-queue</option></term> - <listitem> - <para>Signal systemd-udevd to stop executing new events. Incoming events - will be queued.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-S</option></term> - <term><option>--start-exec-queue</option></term> - <listitem> - <para>Signal systemd-udevd to enable the execution of events.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-R</option></term> - <term><option>--reload</option></term> - <listitem> - <para>Signal systemd-udevd to reload the rules files and other databases like the kernel - module index. Reloading rules and databases does not apply any changes to already - existing devices; the new configuration will only be applied to new events.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-p</option></term> - <term><option>--property=<replaceable>KEY</replaceable>=<replaceable>value</replaceable></option></term> - <listitem> - <para>Set a global property for all events.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-m</option></term> - <term><option>--children-max=</option><replaceable>value</replaceable></term> - <listitem> - <para>Set the maximum number of events, systemd-udevd will handle at the - same time.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>--timeout=</option><replaceable>seconds</replaceable></term> - <listitem> - <para>The maximum number of seconds to wait for a reply from systemd-udevd.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-h</option></term> - <term><option>--help</option></term> - <listitem> - <para>Print help text.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2><title>udevadm monitor - <arg choice="opt"><replaceable>options</replaceable></arg> - </title> - <para>Listens to the kernel uevents and events sent out by a udev rule - and prints the devpath of the event to the console. It can be used to analyze the - event timing, by comparing the timestamps of the kernel uevent and the udev event. - </para> - <variablelist> - <varlistentry> - <term><option>-k</option></term> - <term><option>--kernel</option></term> - <listitem> - <para>Print the kernel uevents.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-u</option></term> - <term><option>--udev</option></term> - <listitem> - <para>Print the udev event after the rule processing.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-p</option></term> - <term><option>--property</option></term> - <listitem> - <para>Also print the properties of the event.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-s</option></term> - <term><option>--subsystem-match=<replaceable>string[/string]</replaceable></option></term> - <listitem> - <para>Filter events by subsystem[/devtype]. Only udev events with a matching subsystem value will pass.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-t</option></term> - <term><option>--tag-match=<replaceable>string</replaceable></option></term> - <listitem> - <para>Filter events by property. Only udev events with a given tag attached will pass.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-h</option></term> - <term><option>--help</option></term> - <listitem> - <para>Print help text.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2><title>udevadm test - <arg choice="opt"><replaceable>options</replaceable></arg> - <arg><replaceable>devpath</replaceable></arg> - </title> - <para>Simulate a udev event run for the given device, and print debug output.</para> - <variablelist> - <varlistentry> - <term><option>-a</option></term> - <term><option>--action=<replaceable>string</replaceable></option></term> - <listitem> - <para>The action string.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-N</option></term> - <term><option>--resolve-names=<constant>early</constant>|<constant>late</constant>|<constant>never</constant></option></term> - <listitem> - <para>Specify when udevadm should resolve names of users - and groups. When set to <constant>early</constant> (the - default), names will be resolved when the rules are - parsed. When set to <constant>late</constant>, names will - be resolved for every event. When set to - <constant>never</constant>, names will never be resolved - and all devices will be owned by root.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><option>-h</option></term> - <term><option>--help</option></term> - <listitem> - <para>Print help text.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - - <refsect2><title>udevadm test-builtin - <arg choice="opt"><replaceable>options</replaceable></arg> - <arg><replaceable>command</replaceable></arg> - <arg><replaceable>devpath</replaceable></arg> - </title> - <para>Run a built-in command <replaceable>COMMAND</replaceable> - for device <replaceable>DEVPATH</replaceable>, and print debug - output.</para> - <variablelist> - <varlistentry> - <term><option>-h</option></term> - <term><option>--help</option></term> - <listitem> - <para>Print help text.</para> - </listitem> - </varlistentry> - </variablelist> - </refsect2> - </refsect1> - - <refsect1> - <title>See Also</title> - <para><citerefentry> - <refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum> - </citerefentry>, - <citerefentry> - <refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum> - </citerefentry></para> - </refsect1> -</refentry> |