1<?xml version='1.0'?> <!--*-nxml-*-->
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
4<!ENTITY % entities SYSTEM "custom-entities.ent" >
5%entities;
6]>
7<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
8
9<refentry id="udev_monitor_receive_device"
10  xmlns:xi="http://www.w3.org/2001/XInclude">
11
12  <refentryinfo>
13    <title>udev_monitor_receive_device</title>
14    <productname>systemd</productname>
15  </refentryinfo>
16
17  <refmeta>
18    <refentrytitle>udev_monitor_receive_device</refentrytitle>
19    <manvolnum>3</manvolnum>
20  </refmeta>
21
22  <refnamediv>
23    <refname>udev_monitor_receive_device</refname>
24    <refname>udev_monitor_enable_receiving</refname>
25    <refname>udev_monitor_set_receive_buffer_size</refname>
26    <refname>udev_monitor_get_fd</refname>
27    <refname>udev_monitor_get_udev</refname>
28
29    <refpurpose>Query and modify device monitor</refpurpose>
30  </refnamediv>
31
32  <refsynopsisdiv>
33    <funcsynopsis>
34      <funcsynopsisinfo>#include &lt;libudev.h&gt;</funcsynopsisinfo>
35
36      <funcprototype>
37        <funcdef>struct udev_device *<function>udev_monitor_receive_device</function></funcdef>
38        <paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
39      </funcprototype>
40
41      <funcprototype>
42        <funcdef>int <function>udev_monitor_enable_receiving</function></funcdef>
43        <paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
44      </funcprototype>
45
46      <funcprototype>
47        <funcdef>int <function>udev_monitor_set_receive_buffer_size</function></funcdef>
48        <paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
49        <paramdef>int <parameter>size</parameter></paramdef>
50      </funcprototype>
51
52      <funcprototype>
53        <funcdef>int <function>udev_monitor_get_fd</function></funcdef>
54        <paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
55      </funcprototype>
56
57      <funcprototype>
58        <funcdef>struct udev *<function>udev_monitor_get_udev</function></funcdef>
59        <paramdef>struct udev_monitor *<parameter>udev_monitor</parameter></paramdef>
60      </funcprototype>
61
62    </funcsynopsis>
63  </refsynopsisdiv>
64
65  <!--<refsect1>
66    <title>Description</title>
67
68    <para>XXX: Add short description.</para>
69  </refsect1>-->
70
71  <refsect1>
72    <title>Return Value</title>
73
74    <para>On success,
75    <function>udev_monitor_receive_device()</function> returns a
76    pointer to a newly referenced device that was received via the
77    monitor. The caller is responsible to drop this reference when
78    done. On failure, <constant>NULL</constant> is returned.</para>
79
80    <para>On success,
81    <function>udev_monitor_enable_receiving()</function> and
82    <function>udev_monitor_set_receive_buffer_size()</function>
83    return an integer greater than, or equal to,
84    <constant>0</constant>. On failure, a negative error code is
85    returned.</para>
86
87    <para>On success, <function>udev_monitor_get_fd()</function>
88    returns the file descriptor used by this monitor. On failure,
89    a negative error code is returned.</para>
90
91    <para><function>udev_monitor_get_udev()</function> always returns
92    a pointer to the udev context that this monitor is associated
93    with.</para>
94  </refsect1>
95
96  <refsect1>
97    <title>See Also</title>
98
99    <para>
100      <citerefentry><refentrytitle>udev_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
101      <citerefentry><refentrytitle>udev_device_new_from_syspath</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
102      <citerefentry><refentrytitle>udev_enumerate_new</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
103      <citerefentry><refentrytitle>udev_monitor_new_from_netlink</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
104      <citerefentry><refentrytitle>udev_monitor_filter_update</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
105      <citerefentry><refentrytitle>udev_list_entry</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
106      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
107    </para>
108  </refsect1>
109
110</refentry>
111