man: add libudev man-pages (skeletons)

This adds man-pages for most of the libudev symbols we export. Similar
symbols are grouped together in a single man-page, with respective links
added. All man-pages contain the full skeleton including NAME, SYNOPSIS,
RETURN VALUE and SEE ALSO. However, most of them still lack the
DESCRIPTION part. This should be copied from the gtkdoc descriptions in
src/libudev/libudev*.[ch]. Any help is welcome! (the whole skeleton is
already done, so it's really just about the prose-part of the man-pages to
be written).

Missing from the man-pages are the following parts:
  - udev_set_log_fn()
  - udev_[gs]et_log_priority()
  - udev_[gs]et_userdata()
  - udev_list_entry_foreach()
  - udev_device_get_seqnum()
  - udev_device_get_usec_since_initialized()
  - udev_util_encode_string()
These are considered legacy, afaik. If not, please feel free to add them
now!

Furthermore, udev-hwdb and udev-queue are not documented at all (for the
same reasons).
This commit is contained in:
David Herrmann 2015-06-17 15:11:11 +02:00
parent f1398fa59c
commit 06255d6f76
13 changed files with 1951 additions and 0 deletions

View File

@ -18,6 +18,7 @@ MANPAGES += \
man/journald.conf.5 \
man/kernel-command-line.7 \
man/kernel-install.8 \
man/libudev.3 \
man/locale.conf.5 \
man/localtime.5 \
man/machine-id.5 \
@ -122,6 +123,17 @@ MANPAGES += \
man/tmpfiles.d.5 \
man/udev.7 \
man/udev.conf.5 \
man/udev_device_get_syspath.3 \
man/udev_device_has_tag.3 \
man/udev_device_new_from_syspath.3 \
man/udev_enumerate_add_match_subsystem.3 \
man/udev_enumerate_new.3 \
man/udev_enumerate_scan_devices.3 \
man/udev_list_entry.3 \
man/udev_monitor_filter_update.3 \
man/udev_monitor_new_from_netlink.3 \
man/udev_monitor_receive_device.3 \
man/udev_new.3 \
man/udevadm.8
MANPAGES_ALIAS += \
man/SD_ALERT.3 \
@ -233,6 +245,61 @@ MANPAGES_ALIAS += \
man/systemd-udevd.8 \
man/systemd-update-done.8 \
man/systemd-user.conf.5 \
man/udev_device_get_action.3 \
man/udev_device_get_devlinks_list_entry.3 \
man/udev_device_get_devnode.3 \
man/udev_device_get_devnum.3 \
man/udev_device_get_devpath.3 \
man/udev_device_get_devtype.3 \
man/udev_device_get_driver.3 \
man/udev_device_get_is_initialized.3 \
man/udev_device_get_parent.3 \
man/udev_device_get_parent_with_subsystem_devtype.3 \
man/udev_device_get_properties_list_entry.3 \
man/udev_device_get_property_value.3 \
man/udev_device_get_subsystem.3 \
man/udev_device_get_sysattr_list_entry.3 \
man/udev_device_get_sysattr_value.3 \
man/udev_device_get_sysname.3 \
man/udev_device_get_sysnum.3 \
man/udev_device_get_tags_list_entry.3 \
man/udev_device_get_udev.3 \
man/udev_device_new_from_device_id.3 \
man/udev_device_new_from_devnum.3 \
man/udev_device_new_from_environment.3 \
man/udev_device_new_from_subsystem_sysname.3 \
man/udev_device_ref.3 \
man/udev_device_set_sysattr_value.3 \
man/udev_device_unref.3 \
man/udev_enumerate_add_match_is_initialized.3 \
man/udev_enumerate_add_match_parent.3 \
man/udev_enumerate_add_match_property.3 \
man/udev_enumerate_add_match_sysattr.3 \
man/udev_enumerate_add_match_sysname.3 \
man/udev_enumerate_add_match_tag.3 \
man/udev_enumerate_add_nomatch_subsystem.3 \
man/udev_enumerate_add_nomatch_sysattr.3 \
man/udev_enumerate_add_syspath.3 \
man/udev_enumerate_get_list_entry.3 \
man/udev_enumerate_get_udev.3 \
man/udev_enumerate_ref.3 \
man/udev_enumerate_scan_subsystems.3 \
man/udev_enumerate_unref.3 \
man/udev_list_entry_get_by_name.3 \
man/udev_list_entry_get_name.3 \
man/udev_list_entry_get_next.3 \
man/udev_list_entry_get_value.3 \
man/udev_monitor_enable_receiving.3 \
man/udev_monitor_filter_add_match_subsystem_devtype.3 \
man/udev_monitor_filter_add_match_tag.3 \
man/udev_monitor_filter_remove.3 \
man/udev_monitor_get_fd.3 \
man/udev_monitor_get_udev.3 \
man/udev_monitor_ref.3 \
man/udev_monitor_set_receive_buffer_size.3 \
man/udev_monitor_unref.3 \
man/udev_ref.3 \
man/udev_unref.3 \
man/user.conf.d.5
man/SD_ALERT.3: man/sd-daemon.3
man/SD_CRIT.3: man/sd-daemon.3
@ -343,6 +410,61 @@ man/systemd-udevd-kernel.socket.8: man/systemd-udevd.service.8
man/systemd-udevd.8: man/systemd-udevd.service.8
man/systemd-update-done.8: man/systemd-update-done.service.8
man/systemd-user.conf.5: man/systemd-system.conf.5
man/udev_device_get_action.3: man/udev_device_get_syspath.3
man/udev_device_get_devlinks_list_entry.3: man/udev_device_has_tag.3
man/udev_device_get_devnode.3: man/udev_device_get_syspath.3
man/udev_device_get_devnum.3: man/udev_device_get_syspath.3
man/udev_device_get_devpath.3: man/udev_device_get_syspath.3
man/udev_device_get_devtype.3: man/udev_device_get_syspath.3
man/udev_device_get_driver.3: man/udev_device_get_syspath.3
man/udev_device_get_is_initialized.3: man/udev_device_get_syspath.3
man/udev_device_get_parent.3: man/udev_device_get_syspath.3
man/udev_device_get_parent_with_subsystem_devtype.3: man/udev_device_get_syspath.3
man/udev_device_get_properties_list_entry.3: man/udev_device_has_tag.3
man/udev_device_get_property_value.3: man/udev_device_has_tag.3
man/udev_device_get_subsystem.3: man/udev_device_get_syspath.3
man/udev_device_get_sysattr_list_entry.3: man/udev_device_has_tag.3
man/udev_device_get_sysattr_value.3: man/udev_device_has_tag.3
man/udev_device_get_sysname.3: man/udev_device_get_syspath.3
man/udev_device_get_sysnum.3: man/udev_device_get_syspath.3
man/udev_device_get_tags_list_entry.3: man/udev_device_has_tag.3
man/udev_device_get_udev.3: man/udev_device_get_syspath.3
man/udev_device_new_from_device_id.3: man/udev_device_new_from_syspath.3
man/udev_device_new_from_devnum.3: man/udev_device_new_from_syspath.3
man/udev_device_new_from_environment.3: man/udev_device_new_from_syspath.3
man/udev_device_new_from_subsystem_sysname.3: man/udev_device_new_from_syspath.3
man/udev_device_ref.3: man/udev_device_new_from_syspath.3
man/udev_device_set_sysattr_value.3: man/udev_device_has_tag.3
man/udev_device_unref.3: man/udev_device_new_from_syspath.3
man/udev_enumerate_add_match_is_initialized.3: man/udev_enumerate_add_match_subsystem.3
man/udev_enumerate_add_match_parent.3: man/udev_enumerate_add_match_subsystem.3
man/udev_enumerate_add_match_property.3: man/udev_enumerate_add_match_subsystem.3
man/udev_enumerate_add_match_sysattr.3: man/udev_enumerate_add_match_subsystem.3
man/udev_enumerate_add_match_sysname.3: man/udev_enumerate_add_match_subsystem.3
man/udev_enumerate_add_match_tag.3: man/udev_enumerate_add_match_subsystem.3
man/udev_enumerate_add_nomatch_subsystem.3: man/udev_enumerate_add_match_subsystem.3
man/udev_enumerate_add_nomatch_sysattr.3: man/udev_enumerate_add_match_subsystem.3
man/udev_enumerate_add_syspath.3: man/udev_enumerate_scan_devices.3
man/udev_enumerate_get_list_entry.3: man/udev_enumerate_scan_devices.3
man/udev_enumerate_get_udev.3: man/udev_enumerate_scan_devices.3
man/udev_enumerate_ref.3: man/udev_enumerate_new.3
man/udev_enumerate_scan_subsystems.3: man/udev_enumerate_scan_devices.3
man/udev_enumerate_unref.3: man/udev_enumerate_new.3
man/udev_list_entry_get_by_name.3: man/udev_list_entry.3
man/udev_list_entry_get_name.3: man/udev_list_entry.3
man/udev_list_entry_get_next.3: man/udev_list_entry.3
man/udev_list_entry_get_value.3: man/udev_list_entry.3
man/udev_monitor_enable_receiving.3: man/udev_monitor_receive_device.3
man/udev_monitor_filter_add_match_subsystem_devtype.3: man/udev_monitor_filter_update.3
man/udev_monitor_filter_add_match_tag.3: man/udev_monitor_filter_update.3
man/udev_monitor_filter_remove.3: man/udev_monitor_filter_update.3
man/udev_monitor_get_fd.3: man/udev_monitor_receive_device.3
man/udev_monitor_get_udev.3: man/udev_monitor_receive_device.3
man/udev_monitor_ref.3: man/udev_monitor_new_from_netlink.3
man/udev_monitor_set_receive_buffer_size.3: man/udev_monitor_receive_device.3
man/udev_monitor_unref.3: man/udev_monitor_new_from_netlink.3
man/udev_ref.3: man/udev_new.3
man/udev_unref.3: man/udev_new.3
man/user.conf.d.5: man/systemd-system.conf.5
man/SD_ALERT.html: man/sd-daemon.html
$(html-alias)
@ -671,6 +793,171 @@ man/systemd-update-done.html: man/systemd-update-done.service.html
man/systemd-user.conf.html: man/systemd-system.conf.html
$(html-alias)
man/udev_device_get_action.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_devlinks_list_entry.html: man/udev_device_has_tag.html
$(html-alias)
man/udev_device_get_devnode.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_devnum.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_devpath.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_devtype.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_driver.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_is_initialized.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_parent.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_parent_with_subsystem_devtype.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_properties_list_entry.html: man/udev_device_has_tag.html
$(html-alias)
man/udev_device_get_property_value.html: man/udev_device_has_tag.html
$(html-alias)
man/udev_device_get_subsystem.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_sysattr_list_entry.html: man/udev_device_has_tag.html
$(html-alias)
man/udev_device_get_sysattr_value.html: man/udev_device_has_tag.html
$(html-alias)
man/udev_device_get_sysname.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_sysnum.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_get_tags_list_entry.html: man/udev_device_has_tag.html
$(html-alias)
man/udev_device_get_udev.html: man/udev_device_get_syspath.html
$(html-alias)
man/udev_device_new_from_device_id.html: man/udev_device_new_from_syspath.html
$(html-alias)
man/udev_device_new_from_devnum.html: man/udev_device_new_from_syspath.html
$(html-alias)
man/udev_device_new_from_environment.html: man/udev_device_new_from_syspath.html
$(html-alias)
man/udev_device_new_from_subsystem_sysname.html: man/udev_device_new_from_syspath.html
$(html-alias)
man/udev_device_ref.html: man/udev_device_new_from_syspath.html
$(html-alias)
man/udev_device_set_sysattr_value.html: man/udev_device_has_tag.html
$(html-alias)
man/udev_device_unref.html: man/udev_device_new_from_syspath.html
$(html-alias)
man/udev_enumerate_add_match_is_initialized.html: man/udev_enumerate_add_match_subsystem.html
$(html-alias)
man/udev_enumerate_add_match_parent.html: man/udev_enumerate_add_match_subsystem.html
$(html-alias)
man/udev_enumerate_add_match_property.html: man/udev_enumerate_add_match_subsystem.html
$(html-alias)
man/udev_enumerate_add_match_sysattr.html: man/udev_enumerate_add_match_subsystem.html
$(html-alias)
man/udev_enumerate_add_match_sysname.html: man/udev_enumerate_add_match_subsystem.html
$(html-alias)
man/udev_enumerate_add_match_tag.html: man/udev_enumerate_add_match_subsystem.html
$(html-alias)
man/udev_enumerate_add_nomatch_subsystem.html: man/udev_enumerate_add_match_subsystem.html
$(html-alias)
man/udev_enumerate_add_nomatch_sysattr.html: man/udev_enumerate_add_match_subsystem.html
$(html-alias)
man/udev_enumerate_add_syspath.html: man/udev_enumerate_scan_devices.html
$(html-alias)
man/udev_enumerate_get_list_entry.html: man/udev_enumerate_scan_devices.html
$(html-alias)
man/udev_enumerate_get_udev.html: man/udev_enumerate_scan_devices.html
$(html-alias)
man/udev_enumerate_ref.html: man/udev_enumerate_new.html
$(html-alias)
man/udev_enumerate_scan_subsystems.html: man/udev_enumerate_scan_devices.html
$(html-alias)
man/udev_enumerate_unref.html: man/udev_enumerate_new.html
$(html-alias)
man/udev_list_entry_get_by_name.html: man/udev_list_entry.html
$(html-alias)
man/udev_list_entry_get_name.html: man/udev_list_entry.html
$(html-alias)
man/udev_list_entry_get_next.html: man/udev_list_entry.html
$(html-alias)
man/udev_list_entry_get_value.html: man/udev_list_entry.html
$(html-alias)
man/udev_monitor_enable_receiving.html: man/udev_monitor_receive_device.html
$(html-alias)
man/udev_monitor_filter_add_match_subsystem_devtype.html: man/udev_monitor_filter_update.html
$(html-alias)
man/udev_monitor_filter_add_match_tag.html: man/udev_monitor_filter_update.html
$(html-alias)
man/udev_monitor_filter_remove.html: man/udev_monitor_filter_update.html
$(html-alias)
man/udev_monitor_get_fd.html: man/udev_monitor_receive_device.html
$(html-alias)
man/udev_monitor_get_udev.html: man/udev_monitor_receive_device.html
$(html-alias)
man/udev_monitor_ref.html: man/udev_monitor_new_from_netlink.html
$(html-alias)
man/udev_monitor_set_receive_buffer_size.html: man/udev_monitor_receive_device.html
$(html-alias)
man/udev_monitor_unref.html: man/udev_monitor_new_from_netlink.html
$(html-alias)
man/udev_ref.html: man/udev_new.html
$(html-alias)
man/udev_unref.html: man/udev_new.html
$(html-alias)
man/user.conf.d.html: man/systemd-system.conf.html
$(html-alias)
@ -1708,6 +1995,7 @@ EXTRA_DIST += \
man/kernel-install.xml \
man/less-variables.xml \
man/libsystemd-pkgconfig.xml \
man/libudev.xml \
man/locale.conf.xml \
man/localectl.xml \
man/localtime.xml \
@ -1891,6 +2179,17 @@ EXTRA_DIST += \
man/tmpfiles.d.xml \
man/udev.conf.xml \
man/udev.xml \
man/udev_device_get_syspath.xml \
man/udev_device_has_tag.xml \
man/udev_device_new_from_syspath.xml \
man/udev_enumerate_add_match_subsystem.xml \
man/udev_enumerate_new.xml \
man/udev_enumerate_scan_devices.xml \
man/udev_list_entry.xml \
man/udev_monitor_filter_update.xml \
man/udev_monitor_new_from_netlink.xml \
man/udev_monitor_receive_device.xml \
man/udev_new.xml \
man/udevadm.xml \
man/user-system-options.xml \
man/vconsole.conf.xml

125
man/libudev.xml Normal file
View File

@ -0,0 +1,125 @@
<?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 &lt;libudev.h&gt;</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 of 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>

View File

@ -0,0 +1,207 @@
<?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="udev_device_get_syspath"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_device_get_syspath</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>udev_device_get_syspath</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_device_get_syspath</refname>
<refname>udev_device_get_sysname</refname>
<refname>udev_device_get_sysnum</refname>
<refname>udev_device_get_devpath</refname>
<refname>udev_device_get_devnode</refname>
<refname>udev_device_get_devnum</refname>
<refname>udev_device_get_devtype</refname>
<refname>udev_device_get_subsystem</refname>
<refname>udev_device_get_driver</refname>
<refname>udev_device_get_udev</refname>
<refname>udev_device_get_parent</refname>
<refname>udev_device_get_parent_with_subsystem_devtype</refname>
<refname>udev_device_get_is_initialized</refname>
<refname>udev_device_get_action</refname>
<refpurpose>Query device properties</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>const char *<function>udev_device_get_syspath</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_device_get_sysname</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_device_get_sysnum</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_device_get_devpath</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_device_get_devnode</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>dev_t <function>udev_device_get_devnum</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_device_get_devtype</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_device_get_subsystem</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_device_get_driver</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev *<function>udev_device_get_udev</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_device *<function>udev_device_get_parent</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_device *<function>udev_device_get_parent_with_subsystem_devtype</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_device_get_is_initialized</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_device_get_action</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
<paramdef>const char *<parameter>subsystem</parameter></paramdef>
<paramdef>const char *<parameter>devtype</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!--<refsect1>
<title>Description</title>
<para>XXX: Add documentation.</para>
</refsect1>-->
<refsect1>
<title>Return Value</title>
<para>On success, <function>udev_device_get_syspath()</function>,
<function>udev_device_get_sysname()</function>,
<function>udev_device_get_sysnum()</function>,
<function>udev_device_get_devpath()</function>,
<function>udev_device_get_devnode()</function>,
<function>udev_device_get_devtype()</function>,
<function>udev_device_get_subsystem()</function>,
<function>udev_device_get_driver()</function> and
<function>udev_device_get_action()</function> return a pointer
to a constant string that describes the requested property. The
lifetime of this string is bound to the device it was requested
on. On failure, each function may return
<constant>NULL</constant>.</para>
<para>On success, <function>udev_device_get_devnum()</function>
returns the device type of the passed device. On failure, a
device type with minor and major number set to
<constant>0</constant> is returned.</para>
<para><function>udev_device_get_udev()</function> always returns
a valid pointer to the udev context that this device belongs
to.</para>
<para>On success, <function>udev_device_get_parent()</function>
and
<function>udev_device_get_parent_with_subsystem_devtype()</function>
return a pointer to the parent device. No additional reference
to this device is acquired, but the child device owns a reference
to such parent device. On failure, <constant>NULL</constant>
is returned.</para>
<para>On success, <function>udev_device_get_is_initialized()</function>
returns either <constant>1</constant> or <constant>0</constant>,
depending on whether the passed device is initialized or not. On
failure, a negative error code is returned.</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_device_has_tag</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>,
</para>
</refsect1>
</refentry>

163
man/udev_device_has_tag.xml Normal file
View File

@ -0,0 +1,163 @@
<?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="udev_device_has_tag"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_device_has_tag</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>udev_device_has_tag</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_device_has_tag</refname>
<refname>udev_device_get_devlinks_list_entry</refname>
<refname>udev_device_get_properties_list_entry</refname>
<refname>udev_device_get_tags_list_entry</refname>
<refname>udev_device_get_sysattr_list_entry</refname>
<refname>udev_device_get_property_value</refname>
<refname>udev_device_get_sysattr_value</refname>
<refname>udev_device_set_sysattr_value</refname>
<refpurpose>Retrieve or set device attributes</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>struct udev_list_entry *<function>udev_device_get_devlinks_list_entry</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_list_entry *<function>udev_device_get_properties_list_entry</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_list_entry *<function>udev_device_get_tags_list_entry</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_list_entry *<function>udev_device_get_sysattr_list_entry</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_device_get_property_value</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
<paramdef>const char *<parameter>key</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_device_has_tag</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
<paramdef>const char *<parameter>tag</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_device_get_sysattr_value</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
<paramdef>const char *<parameter>sysattr</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_device_set_sysattr_value</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
<paramdef>const char *<parameter>sysattr</parameter></paramdef>
<paramdef>const char *<parameter>value</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!--<refsect1>
<title>Description</title>
<para>XXX: Add short description.</para>
</refsect1>-->
<refsect1>
<title>Return Value</title>
<para>On success,
<function>udev_device_get_devlinks_list_entry()</function>,
<function>udev_device_get_properties_list_entry()</function>,
<function>udev_device_get_tags_list_entry()</function> and
<function>udev_device_get_sysattr_list_entry()</function> return
a pointer to the first entry of the retrieved list. If that list
is empty, or if an error occurred, <constant>NULL</constant> is
returned.</para>
<para>On success,
<function>udev_device_get_property_value()</function> and
<function>udev_device_get_sysattr_value()</function> return a
pointer to a constant string of the requested value. On error,
<constant>NULL</constant> is returned.</para>
<para>On success,
<function>udev_device_set_sysattr_value()</function> returns
an integer greater than, or equal to, <constant>0</constant>.
On failure, a negative error code is returned.</para>
<para>On success, <function>udev_device_has_tag()</function>
returns <constant>1</constant> or <constant>0</constant>,
depending on whether the device has the given tag or not.
On failure, a negative error code is returned.</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_device_get_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>,
</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,145 @@
<?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="udev_device_new_from_syspath"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_device_new_from_syspath</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>udev_device_new_from_syspath</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_device_new_from_syspath</refname>
<refname>udev_device_new_from_devnum</refname>
<refname>udev_device_new_from_subsystem_sysname</refname>
<refname>udev_device_new_from_device_id</refname>
<refname>udev_device_new_from_environment</refname>
<refname>udev_device_ref</refname>
<refname>udev_device_unref</refname>
<refpurpose>Create, acquire and release a udev device object</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>struct udev_device *<function>udev_device_new_from_syspath</function></funcdef>
<paramdef>struct udev *<parameter>udev</parameter></paramdef>
<paramdef>const char *<parameter>syspath</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_device *<function>udev_device_new_from_devnum</function></funcdef>
<paramdef>struct udev *<parameter>udev</parameter></paramdef>
<paramdef>char <parameter>type</parameter></paramdef>
<paramdef>dev_t <parameter>devnum</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_device *<function>udev_device_new_from_subsystem_sysname</function></funcdef>
<paramdef>struct udev *<parameter>udev</parameter></paramdef>
<paramdef>const char *<parameter>subsystem</parameter></paramdef>
<paramdef>const char *<parameter>sysname</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_device *<function>udev_device_new_from_device_id</function></funcdef>
<paramdef>struct udev *<parameter>udev</parameter></paramdef>
<paramdef>const char *<parameter>id</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_device *<function>udev_device_new_from_environment</function></funcdef>
<paramdef>struct udev *<parameter>udev</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_device *<function>udev_device_ref</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_device *<function>udev_device_unref</function></funcdef>
<paramdef>struct udev_device *<parameter>udev_device</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!--<refsect1>
<title>Description</title>
<para>XXX: Add some description.</para>
</refsect1>-->
<refsect1>
<title>Return Value</title>
<para>On success, <function>udev_device_new_from_syspath()</function>,
<function>udev_device_new_from_devnum()</function>,
<function>udev_device_new_from_subsystem_sysname()</function>,
<function>udev_device_new_from_device_id()</function> and
<function>udev_device_new_from_environment()</function> return a
pointer to the allocated udev device. On failure,
<constant>NULL</constant> is returned.
<function>udev_device_ref()</function> returns the argument
that it was passed, unmodified.
<function>udev_device_unref()</function> always returns
<constant>NULL</constant>.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>udev_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>udev_device_get_syspath</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>udev_device_has_tag</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>,
</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,163 @@
<?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="udev_enumerate_add_match_subsystem"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_enumerate_add_match_subsystem</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>udev_enumerate_add_match_subsystem</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_enumerate_add_match_subsystem</refname>
<refname>udev_enumerate_add_nomatch_subsystem</refname>
<refname>udev_enumerate_add_match_sysattr</refname>
<refname>udev_enumerate_add_nomatch_sysattr</refname>
<refname>udev_enumerate_add_match_property</refname>
<refname>udev_enumerate_add_match_sysname</refname>
<refname>udev_enumerate_add_match_tag</refname>
<refname>udev_enumerate_add_match_parent</refname>
<refname>udev_enumerate_add_match_is_initialized</refname>
<refpurpose>Modify filters</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>int <function>udev_enumerate_add_match_subsystem</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
<paramdef>const char *<parameter>subsystem</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_enumerate_add_nomatch_subsystem</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
<paramdef>const char *<parameter>subsystem</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_enumerate_add_match_sysattr</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
<paramdef>const char *<parameter>sysattr</parameter></paramdef>
<paramdef>const char *<parameter>value</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_enumerate_add_nomatch_sysattr</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
<paramdef>const char *<parameter>sysattr</parameter></paramdef>
<paramdef>const char *<parameter>value</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_enumerate_add_match_property</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
<paramdef>const char *<parameter>property</parameter></paramdef>
<paramdef>const char *<parameter>value</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_enumerate_add_match_sysname</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
<paramdef>const char *<parameter>sysname</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_enumerate_add_match_tag</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
<paramdef>const char *<parameter>tag</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_enumerate_add_match_parent</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
<paramdef>struct udev_device *<parameter>parent</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_enumerate_add_match_is_initialized</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!--<refsect1>
<title>Description</title>
<para>XXX: Add short description.</para>
</refsect1>-->
<refsect1>
<title>Return Value</title>
<para>On success,
<function>udev_enumerate_add_match_subsystem</function>,
<function>udev_enumerate_add_nomatch_subsystem</function>,
<function>udev_enumerate_add_match_sysattr</function>,
<function>udev_enumerate_add_nomatch_sysattr</function>,
<function>udev_enumerate_add_match_property</function>,
<function>udev_enumerate_add_match_sysname</function>,
<function>udev_enumerate_add_match_tag</function>,
<function>udev_enumerate_add_match_parent</function> and
<function>udev_enumerate_add_match_is_initialized</function>
return an integer greater than, or equal to,
<constant>0</constant>.</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_enumerate_scan_devices</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>,
</para>
</refsect1>
</refentry>

111
man/udev_enumerate_new.xml Normal file
View File

@ -0,0 +1,111 @@
<?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="udev_enumerate_new"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_enumerate_new</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>udev_enumerate_new</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_enumerate_new</refname>
<refname>udev_enumerate_ref</refname>
<refname>udev_enumerate_unref</refname>
<refpurpose>Create, acquire and release a udev enumerate object</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>struct udev_enumerate *<function>udev_enumerate_new</function></funcdef>
<paramdef>struct udev *<parameter>udev</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_enumerate *<function>udev_enumerate_ref</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_enumerate *<function>udev_enumerate_unref</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!--<refsect1>
<title>Description</title>
<para>XXX: Add short description.</para>
</refsect1>-->
<refsect1>
<title>Return Value</title>
<para>On success, <function>udev_enumerate_new()</function> returns a
pointer to the allocated udev monitor. On failure,
<constant>NULL</constant> is returned.
<function>udev_enumerate_ref()</function> returns the argument
that it was passed, unmodified.
<function>udev_enumerate_unref()</function> always returns
<constant>NULL</constant>.</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_add_match_subsystem</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>udev_enumerate_scan_devices</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>,
</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,133 @@
<?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="udev_enumerate_scan_devices"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_enumerate_scan_devices</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>udev_enumerate_scan_devices</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_enumerate_scan_devices</refname>
<refname>udev_enumerate_scan_subsystems</refname>
<refname>udev_enumerate_get_list_entry</refname>
<refname>udev_enumerate_add_syspath</refname>
<refname>udev_enumerate_get_udev</refname>
<refpurpose>Query or modify a udev enumerate object</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>int <function>udev_enumerate_scan_devices</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_enumerate_scan_subsystems</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_list_entry *<function>udev_enumerate_get_list_entry</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_enumerate_add_syspath</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
<paramdef>const char *<parameter>syspath</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev *<function>udev_enumerate_get_udev</function></funcdef>
<paramdef>struct udev_enumerate *<parameter>udev_enumerate</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!--<refsect1>
<title>Description</title>
<para>XXX: Add short description.</para>
</refsect1>-->
<refsect1>
<title>Return Value</title>
<para>On success,
<function>udev_enumerate_scan_devices()</function>,
<function>udev_enumerate_scan_subsystems()</function> and
<function>udev_enumerate_add_syspath()</function>
return an integer greater than, or equal to,
<constant>0</constant>.</para>
<para>On success,
<function>udev_enumerate_get_list_entry()</function>
returns a pointer to the first entry in the list of found
devices. If the list is empty, or on failure,
<constant>NULL</constant> is returned.</para>
<para><function>udev_enumerate_get_udev()</function> always
returns a pointer to the udev context that this enumerate
object is associated with.</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_enumerate_add_match_subsystem</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>,
</para>
</refsect1>
</refentry>

123
man/udev_list_entry.xml Normal file
View File

@ -0,0 +1,123 @@
<?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="udev_list_entry"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_list_entry</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>udev_list_entry</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_list_entry</refname>
<refname>udev_list_entry_get_next</refname>
<refname>udev_list_entry_get_by_name</refname>
<refname>udev_list_entry_get_name</refname>
<refname>udev_list_entry_get_value</refname>
<refpurpose>Iterate and access udev lists</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>struct udev_list_entry *<function>udev_list_entry_get_next</function></funcdef>
<paramdef>struct udev_list_entry *<parameter>list_entry</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_list_entry *<function>udev_list_entry_get_by_name</function></funcdef>
<paramdef>struct udev_list_entry *<parameter>list_entry</parameter></paramdef>
<paramdef>const char *<parameter>name</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_list_entry_get_name</function></funcdef>
<paramdef>struct udev_list_entry *<parameter>list_entry</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>const char *<function>udev_list_entry_get_value</function></funcdef>
<paramdef>struct udev_list_entry *<parameter>list_entry</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!--<refsect1>
<title>Description</title>
<para>XXX: Add short description.</para>
</refsect1>-->
<refsect1>
<title>Return Value</title>
<para>On success,
<function>udev_list_entry_get_next()</function> and
<function>udev_list_entry_get_by_name()</function> return
a pointer to the requested list entry. If no such entry can
be found, or on failure, <constant>NULL</constant> is
returned.</para>
<para>On success,
<function>udev_list_entry_get_name()</function> and
<function>udev_list_entry_get_value()</function> return a
pointer to a constant string representing the requested value.
The string is bound to the lifetime of the list-entry itself.
On failure, <constant>NULL</constant> is returned.</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>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,122 @@
<?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="udev_monitor_filter_update"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_monitor_filter_update</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>udev_monitor_filter_update</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_monitor_filter_update</refname>
<refname>udev_monitor_filter_remove</refname>
<refname>udev_monitor_filter_add_match_subsystem_devtype</refname>
<refname>udev_monitor_filter_add_match_tag</refname>
<refpurpose>Modify filters</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>int <function>udev_monitor_filter_update</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_monitor_filter_remove</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_monitor_filter_add_match_subsystem_devtype</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
<paramdef>const char *<parameter>subsystem</parameter></paramdef>
<paramdef>const char *<parameter>devtype</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_monitor_filter_add_match_tag</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
<paramdef>const char *<parameter>tag</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!--<refsect1>
<title>Description</title>
<para>XXX: Add short description.</para>
</refsect1>-->
<refsect1>
<title>Return Value</title>
<para>On success,
<function>udev_monitor_filter_update()</function>,
<function>udev_monitor_filter_remove()</function>,
<function>udev_monitor_filter_add_match_subsystem_devtype()</function>
and
<function>udev_monitor_filter_add_match_tag()</function>
return an integer greater than, or equal to,
<constant>0</constant>. On failure, a negative error code is
returned.</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_monitor_receive_device</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>udev_list_entry</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,113 @@
<?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="udev_monitor_new_from_netlink"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_monitor_new_from_netlink</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>udev_monitor_new_from_netlink</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_monitor_new_from_netlink</refname>
<refname>udev_monitor_ref</refname>
<refname>udev_monitor_unref</refname>
<refpurpose>Create, acquire and release a udev monitor object</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>struct udev_monitor *<function>udev_monitor_new_from_netlink</function></funcdef>
<paramdef>struct udev *<parameter>udev</parameter></paramdef>
<paramdef>const char *<parameter>name</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_monitor *<function>udev_monitor_ref</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev_monitor *<function>udev_monitor_unref</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!--<refsect1>
<title>Description</title>
<para>XXX: Add short description.</para>
</refsect1>-->
<refsect1>
<title>Return Value</title>
<para>On success,
<function>udev_monitor_new_from_netlink()</function> returns a
pointer to the allocated udev monitor. On failure,
<constant>NULL</constant> is returned.
<function>udev_monitor_ref()</function> returns the argument
that it was passed, unmodified.
<function>udev_monitor_unref()</function> always returns
<constant>NULL</constant>.</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_filter_update</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>udev_monitor_receive_device</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>udev_list_entry</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

View File

@ -0,0 +1,137 @@
<?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="udev_monitor_receive_device"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_monitor_receive_device</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>udev_monitor_receive_device</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_monitor_receive_device</refname>
<refname>udev_monitor_enable_receiving</refname>
<refname>udev_monitor_set_receive_buffer_size</refname>
<refname>udev_monitor_get_fd</refname>
<refname>udev_monitor_get_udev</refname>
<refpurpose>Query and modify device monitor</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>struct udev_device *<function>udev_monitor_receive_device</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_monitor_enable_receiving</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_monitor_set_receive_buffer_size</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
<paramdef>int <parameter>size</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>int <function>udev_monitor_get_fd</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev *<function>udev_monitor_get_udev</function></funcdef>
<paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<!--<refsect1>
<title>Description</title>
<para>XXX: Add short description.</para>
</refsect1>-->
<refsect1>
<title>Return Value</title>
<para>On success,
<function>udev_monitor_receive_device()</function> returns a
pointer to a newly referenced device that was received via the
monitor. The caller is responsible to drop this reference when
done. On failure, <constant>NULL</constant> is returned.</para>
<para>On success,
<function>udev_monitor_enable_receiving()</function> and
<function>udev_monitor_set_receive_buffer_size()</function>
return an integer greater than, or equal to,
<constant>0</constant>. On failure, a negative error code is
returned.</para>
<para>On success, <function>udev_monitor_get_fd()</function>
returns the file descriptor used by this monitor. On failure,
a negative error code is returned.</para>
<para><function>udev_monitor_get_udev()</function> always returns
a pointer to the udev context that this monitor is associated
with.</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_monitor_filter_update</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>udev_list_entry</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>

110
man/udev_new.xml Normal file
View File

@ -0,0 +1,110 @@
<?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="udev_new"
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>udev_new</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>udev_new</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>udev_new</refname>
<refname>udev_ref</refname>
<refname>udev_unref</refname>
<refpurpose>Create, acquire and release a udev context object</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis>
<funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
<funcprototype>
<funcdef>struct udev *<function>udev_new</function></funcdef>
<paramdef><parameter>void</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev *<function>udev_ref</function></funcdef>
<paramdef>struct udev *<parameter>udev</parameter></paramdef>
</funcprototype>
<funcprototype>
<funcdef>struct udev *<function>udev_unref</function></funcdef>
<paramdef>struct udev *<parameter>udev</parameter></paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><function>udev_new()</function> allocates a new udev context
object and returns a pointer to it. This object is opaque and must
not be accessed by the caller via different means than functions
provided by libudev. Initially, the reference count of the context
is 1. You can acquire further references, and drop gained references
via <function>udev_ref()</function> and
<function>udev_unref()</function>. Once the reference count hits 0,
the context object is destroyed and freed.</para>
</refsect1>
<refsect1>
<title>Return Value</title>
<para>On success, <function>udev_new()</function> returns a pointer
to the allocated udev context. On failure, <constant>NULL</constant>
is returned. <function>udev_ref()</function> returns the argument
that it was passed, unmodified. <function>udev_unref()</function>
always returns <constant>NULL</constant>.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
</para>
</refsect1>
</refentry>