<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY % entities SYSTEM "custom-entities.ent" >
%entities;
]>
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="udev_enumerate_new"
  xmlns:xi="http://www.w3.org/2001/XInclude">

  <refentryinfo>
    <title>udev_enumerate_new</title>
    <productname>systemd</productname>
  </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 enumeration object. 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>
