Commits

consus  committed 5171ee8

docs: replace gtk-doc with doxygen (Part I)

Documentation for libudev converted, Makefile.am and configure.ac
changed accordingly. Docs moved to top_srcdir/doc/<module_name>. However,
gudev is still gtk-doc'ed (working on it) and there are no Makefiles.

  • Participants
  • Parent commits e1139be
  • Branches doxygen

Comments (0)

Files changed (34)

 /configure
 /stamp-h1
 /depcomp
-/gtk-doc.make
 /build-aux
 /udev-test-install
 /udevd
 	--enable-floppy \
 	--with-selinux
 
-if ENABLE_GTK_DOC
-DISTCHECK_CONFIGURE_FLAGS += --enable-gtk-doc
+if HAVE_DOXYGEN
+DISTCHECK_CONFIGURE_FLAGS += --enable-docs
 endif
 
 BUILT_SOURCES =
 	$(AM_V_GEN)chmod +x $@
 
 # ------------------------------------------------------------------------------
-if ENABLE_GTK_DOC
-SUBDIRS += src/docs
+if ENABLE_DOCS
+SUBDIRS += doc/libudev
 endif
 
 include_HEADERS = src/libudev.h
 # ------------------------------------------------------------------------------
 if ENABLE_GUDEV
 
-if ENABLE_GTK_DOC
-SUBDIRS += src/gudev/docs
+if ENABLE_DOCS
+SUBDIRS += doc/gudev
 endif
 
 libgudev_includedir=$(includedir)/gudev-1.0/gudev
 
  - scsi_id -> sg3_utils?
 
- - make gtk-doc optional like kmod
-
  - move /usr/lib/udev/devices/ to tmpfiles
 
  - trigger --subsystem-match=usb/usb_device
         echo "Activated pre-commit hook."
 fi
 
-if which gtkdocize >/dev/null 2>/dev/null; then
-    gtkdocize --copy
-else
-    echo "You don't have gtk-doc installed, documentation generation disabled."
-    # THE FOLLOWING IS UGLY
-    rm -f gtk-doc.make
-    echo 'EXTRA_DIST =' > gtk-doc.make
-fi
-
 autoreconf --install --symlink
 
 libdir() {

File configure.ac

 AC_PROG_SED
 AC_PROG_MKDIR_P
 
-m4_ifdef([GTK_DOC_CHECK], [
-GTK_DOC_CHECK([1.10])
-], [AM_CONDITIONAL(ENABLE_GTK_DOC, false)])
-
-$(echo $ENABLE_GTK_DOC)
-
 AC_PREFIX_DEFAULT([/usr])
 
 AC_PATH_PROG([XSLTPROC], [xsltproc])
 AM_CONDITIONAL(HAVE_XSLTPROC, test x"$XSLTPROC" != x)
 
+AC_PATH_PROG([DOXYGEN], [doxygen])
+AM_CONDITIONAL(HAVE_DOXYGEN, test x"$DOXYGEN" != x)
+
 AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([POSIX RT library not found])])
 
 PKG_CHECK_MODULES(BLKID, blkid >= 2.20)
        [AC_MSG_ERROR([*** Manpages requested but xsltproc not found])])
 AM_CONDITIONAL([ENABLE_MANPAGES], [test "x$enable_manpages" = "xyes"])
 
+AC_ARG_ENABLE([docs],
+        AS_HELP_STRING([--enable-docs], [enable documentation @<:@default=disabled@:>@]),
+        [], enable_docs=no)
+AS_IF([test "x$enable_docs" = xyes -a "x$DOXYGEN" = x],
+       [AC_MSG_ERROR([*** Documentation requested but doxygen not found])])
+AM_CONDITIONAL([ENABLE_DOCUMENTATION], [test "x$enable_docs" = "xyes"])
+
 if test "x$cross_compiling" = "xno" ; then
        AC_CHECK_FILES([/usr/share/pci.ids], [pciids=/usr/share/pci.ids])
        AC_CHECK_FILES([/usr/share/hwdata/pci.ids], [pciids=/usr/share/hwdata/pci.ids])
 AC_CONFIG_HEADERS(config.h)
 AC_CONFIG_FILES([
        Makefile
-       src/docs/Makefile
-       src/docs/version.xml
-       src/gudev/docs/Makefile
-       src/gudev/docs/version.xml
+       doc/libudev/Makefile
+       doc/gudev/Makefile
 ])
 
 AC_OUTPUT
         selinux:                 ${with_selinux}
 
         man pages:               ${enable_manpages}
-        gtk-doc:                 ${enable_gtk_doc}
+        documentation:           ${enable_docs}
         gudev:                   ${enable_gudev}
         gintrospection:          ${enable_introspection}
         keymap:                  ${enable_keymap}

File doc/gudev/.gitignore

+gudev-overrides.txt
+gudev-decl-list.txt
+gudev-decl.txt
+gudev-undeclared.txt
+gudev-undocumented.txt
+gudev-unused.txt
+gudev.args
+gudev.hierarchy
+gudev.interfaces
+gudev.prerequisites
+gudev.signals
+html.stamp
+html/*
+xml/*
+tmpl/*
+*.stamp

File doc/gudev/Makefile.am

+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.10 at least.
+AUTOMAKE_OPTIONS = 1.10
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=gudev
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting the functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk
+DOC_SOURCE_DIR=$(top_srcdir)/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
+MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g_udev
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=--path=$(abs_srcdir) --path=$(abs_builddir)
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=$(top_srcdir)/src/gudev/*.h
+CFILE_GLOB=$(top_srcdir)/src/gudev/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files to ignore when scanning. Use base file name, no paths
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
+IGNORE_HFILES=
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files = version.xml
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS = \
+        $(DBUS_GLIB_CFLAGS) \
+        $(GLIB_CFLAGS) \
+        -I$(top_srcdir)/src/gudev \
+        -I$(top_builddir)/src/gudev
+
+GTKDOC_LIBS = \
+        $(GLIB_LIBS) \
+        $(top_builddir)/libgudev-1.0.la
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST += version.xml.in
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+#DISTCLEANFILES +=
+
+# Comment this out if you want your docs-status tested during 'make check'
+if ENABLE_GTK_DOC
+#TESTS_ENVIRONMENT = cd $(srcsrc)
+#TESTS = $(GTKDOC_CHECK)
+endif

File doc/gudev/gudev-docs.xml

+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!ENTITY version SYSTEM "version.xml">
+]>
+<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
+  <bookinfo>
+    <title>GUDev Reference Manual</title>
+    <releaseinfo>For GUdev version &version;</releaseinfo>
+    <authorgroup>
+      <author>
+        <firstname>David</firstname>
+        <surname>Zeuthen</surname>
+        <affiliation>
+          <address>
+            <email>davidz@redhat.com</email>
+          </address>
+        </affiliation>
+      </author>
+      <author>
+        <firstname>Bastien</firstname>
+        <surname>Nocera</surname>
+        <affiliation>
+          <address>
+            <email>hadess@hadess.net</email>
+          </address>
+        </affiliation>
+      </author>
+    </authorgroup>
+
+    <copyright>
+      <year>2011</year>
+      <holder>The GUDev Authors</holder>
+    </copyright>
+
+    <legalnotice>
+      <para>
+        Permission is granted to copy, distribute and/or modify this
+        document under the terms of the <citetitle>GNU Free
+        Documentation License</citetitle>, Version 1.1 or any later
+        version published by the Free Software Foundation with no
+        Invariant Sections, no Front-Cover Texts, and no Back-Cover
+        Texts. You may obtain a copy of the <citetitle>GNU Free
+        Documentation License</citetitle> from the Free Software
+        Foundation by visiting <ulink type="http"
+        url="http://www.fsf.org">their Web site</ulink> or by writing
+        to:
+
+        <address>
+          The Free Software Foundation, Inc.,
+          <street>59 Temple Place</street> - Suite 330,
+          <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
+          <country>USA</country>
+        </address>
+      </para>
+
+      <para>
+        Many of the names used by companies to distinguish their
+        products and services are claimed as trademarks. Where those
+        names appear in any freedesktop.org documentation, and those
+        trademarks are made aware to the members of the
+        freedesktop.org Project, the names have been printed in caps
+        or initial caps.
+      </para>
+    </legalnotice>
+  </bookinfo>
+
+  <reference id="ref-API">
+    <title>API Reference</title>
+    <partintro>
+      <para>
+        This part presents the class and function reference for the
+        <literal>libgudev</literal> library.
+      </para>
+    </partintro>
+    <xi:include href="xml/gudevclient.xml"/>
+    <xi:include href="xml/gudevdevice.xml"/>
+    <xi:include href="xml/gudevenumerator.xml"/>
+  </reference>
+
+  <chapter id="gudev-hierarchy">
+    <title>Object Hierarchy</title>
+      <xi:include href="xml/tree_index.sgml"/>
+  </chapter>
+  <index>
+    <title>Index</title>
+  </index>
+  <index role="165">
+    <title>Index of new symbols in 165</title>
+    <xi:include href="xml/api-index-165.xml"><xi:fallback /></xi:include>
+  </index>
+
+</book>

File doc/gudev/gudev-sections.txt

+<SECTION>
+<FILE>gudevclient</FILE>
+<TITLE>GUdevClient</TITLE>
+GUdevClient
+GUdevClientClass
+GUdevDeviceType
+GUdevDeviceNumber
+g_udev_client_new
+g_udev_client_query_by_subsystem
+g_udev_client_query_by_device_number
+g_udev_client_query_by_device_file
+g_udev_client_query_by_sysfs_path
+g_udev_client_query_by_subsystem_and_name
+<SUBSECTION Standard>
+G_UDEV_CLIENT
+G_UDEV_IS_CLIENT
+G_UDEV_TYPE_CLIENT
+g_udev_client_get_type
+G_UDEV_CLIENT_CLASS
+G_UDEV_IS_CLIENT_CLASS
+G_UDEV_CLIENT_GET_CLASS
+<SUBSECTION Private>
+GUdevClientPrivate
+</SECTION>
+
+<SECTION>
+<FILE>gudevdevice</FILE>
+<TITLE>GUdevDevice</TITLE>
+GUdevDevice
+GUdevDeviceClass
+g_udev_device_get_subsystem
+g_udev_device_get_devtype
+g_udev_device_get_name
+g_udev_device_get_number
+g_udev_device_get_sysfs_path
+g_udev_device_get_driver
+g_udev_device_get_action
+g_udev_device_get_seqnum
+g_udev_device_get_device_type
+g_udev_device_get_device_number
+g_udev_device_get_device_file
+g_udev_device_get_device_file_symlinks
+g_udev_device_get_parent
+g_udev_device_get_parent_with_subsystem
+g_udev_device_get_tags
+g_udev_device_get_is_initialized
+g_udev_device_get_usec_since_initialized
+g_udev_device_get_property_keys
+g_udev_device_has_property
+g_udev_device_get_property
+g_udev_device_get_property_as_int
+g_udev_device_get_property_as_uint64
+g_udev_device_get_property_as_double
+g_udev_device_get_property_as_boolean
+g_udev_device_get_property_as_strv
+g_udev_device_get_sysfs_attr
+g_udev_device_get_sysfs_attr_as_int
+g_udev_device_get_sysfs_attr_as_uint64
+g_udev_device_get_sysfs_attr_as_double
+g_udev_device_get_sysfs_attr_as_boolean
+g_udev_device_get_sysfs_attr_as_strv
+<SUBSECTION Standard>
+G_UDEV_DEVICE
+G_UDEV_IS_DEVICE
+G_UDEV_TYPE_DEVICE
+g_udev_device_get_type
+G_UDEV_DEVICE_CLASS
+G_UDEV_IS_DEVICE_CLASS
+G_UDEV_DEVICE_GET_CLASS
+<SUBSECTION Private>
+GUdevDevicePrivate
+</SECTION>
+
+<SECTION>
+<FILE>gudevenumerator</FILE>
+<TITLE>GUdevEnumerator</TITLE>
+GUdevEnumerator
+GUdevEnumeratorClass
+g_udev_enumerator_new
+g_udev_enumerator_add_match_subsystem
+g_udev_enumerator_add_nomatch_subsystem
+g_udev_enumerator_add_match_sysfs_attr
+g_udev_enumerator_add_nomatch_sysfs_attr
+g_udev_enumerator_add_match_property
+g_udev_enumerator_add_match_name
+g_udev_enumerator_add_match_tag
+g_udev_enumerator_add_match_is_initialized
+g_udev_enumerator_add_sysfs_path
+g_udev_enumerator_execute
+<SUBSECTION Standard>
+G_UDEV_ENUMERATOR
+G_UDEV_IS_ENUMERATOR
+G_UDEV_TYPE_ENUMERATOR
+g_udev_enumerator_get_type
+G_UDEV_ENUMERATOR_CLASS
+G_UDEV_IS_ENUMERATOR_CLASS
+G_UDEV_ENUMERATOR_GET_CLASS
+<SUBSECTION Private>
+GUdevEnumeratorPrivate
+</SECTION>
+
+<SECTION>
+<FILE>gudevmarshal</FILE>
+<SUBSECTION Private>
+g_udev_marshal_VOID__STRING_OBJECT
+</SECTION>
+
+<SECTION>
+<FILE>gudevenumtypes</FILE>
+<SUBSECTION Private>
+G_TYPE_UDEV_DEVICE_TYPE
+g_udev_device_type_get_type
+</SECTION>

File doc/gudev/gudev.types

+g_udev_device_type_get_type
+g_udev_device_get_type
+g_udev_client_get_type
+g_udev_enumerator_get_type

File doc/gudev/version.xml.in

+@VERSION@

File doc/libudev/Doxyfile.in

+# Configuration file for doxygen
+
+DOXYFILE_ENCODING       = UTF-8
+
+PROJECT_NAME            = "libudev"
+PROJECT_BRIEF           = "Interface to udev device information"
+PROJECT_NUMBER          = "ver. @VERSION@"
+
+OUTPUT_LANGUAGE         = English
+
+GENERATE_HTML           = YES
+GENERATE_LATEX          = NO
+GENERATE_MAN            = NO
+GENERATE_RTF	        = NO
+
+GENERATE_LEGEND         = YES
+
+SHORT_NAMES             = NO
+FULL_PATH_NAMES         = NO
+CASE_SENSE_NAMES        = NO
+TAB_SIZE                = 4
+INPUT_ENCODING          = UTF-8
+
+INPUT                   = mainpage.doxygen ../../src
+RECURSIVE	            = NO
+FILE_PATTERNS           = libudev*.c
+EXCLUDE_PATTERNS        = *private.c
+
+EXTRACT_ALL	            = NO
+EXTRACT_STATIC	        = NO
+
+SHOW_INCLUDE_FILES      = NO
+JAVADOC_AUTOBRIEF       = NO
+INHERIT_DOCS	        = YES
+
+MACRO_EXPANSION         = NO
+EXPAND_ONLY_PREDEF      = NO
+
+SORT_GROUP_NAMES        = YES
+
+OPTIMIZE_OUTPUT_FOR_C   = YES

File doc/libudev/mainpage.doxygen

+/** @mainpage
+
+\copyright 2009-2011, Kay Sievers <kay.sievers@vrfy.org>
+
+This is libudev external API reference.
+
+**/

File m4/.gitignore

 libtool.m4
 lt*m4
-gtk-doc.m4
 

File src/docs/.gitignore

-libudev-overrides.txt
-html/
-tmpl/
-xml/
-*.stamp
-*.bak
-version.xml
-libudev-decl-list.txt
-libudev-decl.txt
-libudev-undeclared.txt
-libudev-undocumented.txt
-libudev-unused.txt
-libudev.args
-libudev.hierarchy
-libudev.interfaces
-libudev.prerequisites
-libudev.signals

File src/docs/Makefile.am

-## Process this file with automake to produce Makefile.in
-
-# We require automake 1.10 at least.
-AUTOMAKE_OPTIONS = 1.10
-
-# This is a blank Makefile.am for using gtk-doc.
-# Copy this to your project's API docs directory and modify the variables to
-# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
-# of using the various options.
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE=libudev
-
-# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
-#DOC_MODULE_VERSION=2
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-# e.g. DOC_SOURCE_DIR=../../../gtk
-DOC_SOURCE_DIR=$(top_srcdir)/src
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS=
-
-# Extra options to supply to gtkdoc-scan.
-# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
-SCAN_OPTIONS=
-
-# Extra options to supply to gtkdoc-mkdb.
-# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
-MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space udev
-
-# Extra options to supply to gtkdoc-mktmpl
-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
-MKTMPL_OPTIONS=
-
-# Extra options to supply to gtkdoc-mkhtml
-MKHTML_OPTIONS=--path=$(abs_srcdir) --path=$(abs_builddir)
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
-FIXXREF_OPTIONS=
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
-# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
-HFILE_GLOB=$(top_srcdir)/src/libudev*.h
-CFILE_GLOB=$(top_srcdir)/src/libudev*.c
-
-# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
-# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
-EXTRA_HFILES=
-
-# Header files to ignore when scanning. Use base file name, no paths
-# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
-IGNORE_HFILES= libudev-private.h
-
-# Images to copy into HTML directory.
-# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
-HTML_IMAGES=
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files = version.xml
-
-# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files=
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
-# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
-GTKDOC_CFLAGS=
-GTKDOC_LIBS=
-
-# This includes the standard gtk-doc make rules, copied by gtkdocize.
-include $(top_srcdir)/gtk-doc.make
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST += version.xml.in
-
-# Files not to distribute
-# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
-# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
-#DISTCLEANFILES +=
-
-# Comment this out if you want your docs-status tested during 'make check'
-if ENABLE_GTK_DOC
-#TESTS_ENVIRONMENT = cd $(srcsrc)
-#TESTS = $(GTKDOC_CHECK)
-endif

File src/docs/libudev-docs.xml

-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
-[
-  <!ENTITY version SYSTEM "version.xml">
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
-  <bookinfo>
-    <title>libudev Reference Manual</title>
-    <releaseinfo>for libudev version &version;</releaseinfo>
-    <copyright>
-      <year>2009-2011</year>
-      <holder>Kay Sievers &lt;kay.sievers@vrfy.org&gt;</holder>
-    </copyright>
-  </bookinfo>
-
-  <chapter>
-    <title>libudev</title>
-    <xi:include href="xml/libudev.xml"/>
-    <xi:include href="xml/libudev-list.xml"/>
-    <xi:include href="xml/libudev-device.xml"/>
-    <xi:include href="xml/libudev-monitor.xml"/>
-    <xi:include href="xml/libudev-enumerate.xml"/>
-    <xi:include href="xml/libudev-queue.xml"/>
-    <xi:include href="xml/libudev-util.xml"/>
-  </chapter>
-
-  <index id="api-index-full">
-    <title>API Index</title>
-    <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
-  </index>
-</book>

File src/docs/libudev-sections.txt

-<SECTION>
-<FILE>libudev</FILE>
-<TITLE>udev</TITLE>
-udev
-udev_ref
-udev_unref
-udev_new
-udev_set_log_fn
-udev_get_log_priority
-udev_set_log_priority
-udev_get_sys_path
-udev_get_dev_path
-udev_get_run_path
-udev_get_userdata
-udev_set_userdata
-</SECTION>
-
-<SECTION>
-<FILE>libudev-list</FILE>
-<TITLE>udev_list</TITLE>
-udev_list_entry
-udev_list_entry_get_next
-udev_list_entry_get_by_name
-udev_list_entry_get_name
-udev_list_entry_get_value
-udev_list_entry_foreach
-</SECTION>
-
-<SECTION>
-<FILE>libudev-device</FILE>
-<TITLE>udev_device</TITLE>
-udev_device
-udev_device_ref
-udev_device_unref
-udev_device_get_udev
-udev_device_new_from_syspath
-udev_device_new_from_devnum
-udev_device_new_from_subsystem_sysname
-udev_device_new_from_environment
-udev_device_get_parent
-udev_device_get_parent_with_subsystem_devtype
-udev_device_get_devpath
-udev_device_get_subsystem
-udev_device_get_devtype
-udev_device_get_syspath
-udev_device_get_sysname
-udev_device_get_sysnum
-udev_device_get_devnode
-udev_device_get_is_initialized
-udev_device_get_devlinks_list_entry
-udev_device_get_properties_list_entry
-udev_device_get_tags_list_entry
-udev_device_get_property_value
-udev_device_get_driver
-udev_device_get_devnum
-udev_device_get_action
-udev_device_get_sysattr_value
-udev_device_get_sysattr_list_entry
-udev_device_get_seqnum
-udev_device_get_usec_since_initialized
-udev_device_has_tag
-</SECTION>
-
-<SECTION>
-<FILE>libudev-monitor</FILE>
-<TITLE>udev_monitor</TITLE>
-udev_monitor
-udev_monitor_ref
-udev_monitor_unref
-udev_monitor_get_udev
-udev_monitor_new_from_netlink
-udev_monitor_new_from_socket
-udev_monitor_enable_receiving
-udev_monitor_set_receive_buffer_size
-udev_monitor_get_fd
-udev_monitor_receive_device
-udev_monitor_filter_add_match_subsystem_devtype
-udev_monitor_filter_add_match_tag
-udev_monitor_filter_update
-udev_monitor_filter_remove
-</SECTION>
-
-<SECTION>
-<FILE>libudev-enumerate</FILE>
-<TITLE>udev_enumerate</TITLE>
-udev_enumerate
-udev_enumerate_ref
-udev_enumerate_unref
-udev_enumerate_get_udev
-udev_enumerate_new
-udev_enumerate_add_match_subsystem
-udev_enumerate_add_nomatch_subsystem
-udev_enumerate_add_match_sysattr
-udev_enumerate_add_nomatch_sysattr
-udev_enumerate_add_match_property
-udev_enumerate_add_match_tag
-udev_enumerate_add_match_parent
-udev_enumerate_add_match_is_initialized
-udev_enumerate_add_match_sysname
-udev_enumerate_add_syspath
-udev_enumerate_scan_devices
-udev_enumerate_scan_subsystems
-udev_enumerate_get_list_entry
-</SECTION>
-
-<SECTION>
-<FILE>libudev-queue</FILE>
-<TITLE>udev_queue</TITLE>
-udev_queue
-udev_queue_ref
-udev_queue_unref
-udev_queue_get_udev
-udev_queue_new
-udev_queue_get_udev_is_active
-udev_queue_get_queue_is_empty
-udev_queue_get_seqnum_is_finished
-udev_queue_get_seqnum_sequence_is_finished
-udev_queue_get_queued_list_entry
-udev_queue_get_kernel_seqnum
-udev_queue_get_udev_seqnum
-</SECTION>
-
-<SECTION>
-<FILE>libudev-util</FILE>
-<TITLE>udev_util</TITLE>
-udev_util_encode_string
-</SECTION>

File src/docs/libudev.types

Empty file removed.

File src/docs/version.xml.in

-@VERSION@

File src/gudev/.gitignore

-gtk-doc.make
-docs/version.xml
 gudev-1.0.pc
 gudevenumtypes.c
 gudevenumtypes.h

File src/gudev/docs/.gitignore

-gudev-overrides.txt
-gudev-decl-list.txt
-gudev-decl.txt
-gudev-undeclared.txt
-gudev-undocumented.txt
-gudev-unused.txt
-gudev.args
-gudev.hierarchy
-gudev.interfaces
-gudev.prerequisites
-gudev.signals
-html.stamp
-html/*
-xml/*
-tmpl/*
-*.stamp

File src/gudev/docs/Makefile.am

-## Process this file with automake to produce Makefile.in
-
-# We require automake 1.10 at least.
-AUTOMAKE_OPTIONS = 1.10
-
-# This is a blank Makefile.am for using gtk-doc.
-# Copy this to your project's API docs directory and modify the variables to
-# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
-# of using the various options.
-
-# The name of the module, e.g. 'glib'.
-DOC_MODULE=gudev
-
-# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
-#DOC_MODULE_VERSION=2
-
-# The top-level SGML file. You can change this if you want to.
-DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
-
-# The directory containing the source code. Relative to $(srcdir).
-# gtk-doc will search all .c & .h files beneath here for inline comments
-# documenting the functions and macros.
-# e.g. DOC_SOURCE_DIR=../../../gtk
-DOC_SOURCE_DIR=$(top_srcdir)/src
-
-# Extra options to pass to gtkdoc-scangobj. Not normally needed.
-SCANGOBJ_OPTIONS=
-
-# Extra options to supply to gtkdoc-scan.
-# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
-SCAN_OPTIONS=
-
-# Extra options to supply to gtkdoc-mkdb.
-# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
-MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=g_udev
-
-# Extra options to supply to gtkdoc-mktmpl
-# e.g. MKTMPL_OPTIONS=--only-section-tmpl
-MKTMPL_OPTIONS=
-
-# Extra options to supply to gtkdoc-mkhtml
-MKHTML_OPTIONS=--path=$(abs_srcdir) --path=$(abs_builddir)
-
-# Extra options to supply to gtkdoc-fixref. Not normally needed.
-# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
-FIXXREF_OPTIONS=
-
-# Used for dependencies. The docs will be rebuilt if any of these change.
-# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
-# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
-HFILE_GLOB=$(top_srcdir)/src/gudev/*.h
-CFILE_GLOB=$(top_srcdir)/src/gudev/*.c
-
-# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
-# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
-EXTRA_HFILES=
-
-# Header files to ignore when scanning. Use base file name, no paths
-# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
-IGNORE_HFILES=
-
-# Images to copy into HTML directory.
-# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
-HTML_IMAGES=
-
-# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
-# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files = version.xml
-
-# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
-# These files must be listed here *and* in content_files
-# e.g. expand_content_files=running.sgml
-expand_content_files=
-
-# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
-# Only needed if you are using gtkdoc-scangobj to dynamically query widget
-# signals and properties.
-# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
-# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
-GTKDOC_CFLAGS = \
-        $(DBUS_GLIB_CFLAGS) \
-        $(GLIB_CFLAGS) \
-        -I$(top_srcdir)/src/gudev \
-        -I$(top_builddir)/src/gudev
-
-GTKDOC_LIBS = \
-        $(GLIB_LIBS) \
-        $(top_builddir)/libgudev-1.0.la
-
-# This includes the standard gtk-doc make rules, copied by gtkdocize.
-include $(top_srcdir)/gtk-doc.make
-
-# Other files to distribute
-# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST += version.xml.in
-
-# Files not to distribute
-# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
-# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
-#DISTCLEANFILES +=
-
-# Comment this out if you want your docs-status tested during 'make check'
-if ENABLE_GTK_DOC
-#TESTS_ENVIRONMENT = cd $(srcsrc)
-#TESTS = $(GTKDOC_CHECK)
-endif

File src/gudev/docs/gudev-docs.xml

-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
-               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
-<!ENTITY version SYSTEM "version.xml">
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
-  <bookinfo>
-    <title>GUDev Reference Manual</title>
-    <releaseinfo>For GUdev version &version;</releaseinfo>
-    <authorgroup>
-      <author>
-        <firstname>David</firstname>
-        <surname>Zeuthen</surname>
-        <affiliation>
-          <address>
-            <email>davidz@redhat.com</email>
-          </address>
-        </affiliation>
-      </author>
-      <author>
-        <firstname>Bastien</firstname>
-        <surname>Nocera</surname>
-        <affiliation>
-          <address>
-            <email>hadess@hadess.net</email>
-          </address>
-        </affiliation>
-      </author>
-    </authorgroup>
-
-    <copyright>
-      <year>2011</year>
-      <holder>The GUDev Authors</holder>
-    </copyright>
-
-    <legalnotice>
-      <para>
-        Permission is granted to copy, distribute and/or modify this
-        document under the terms of the <citetitle>GNU Free
-        Documentation License</citetitle>, Version 1.1 or any later
-        version published by the Free Software Foundation with no
-        Invariant Sections, no Front-Cover Texts, and no Back-Cover
-        Texts. You may obtain a copy of the <citetitle>GNU Free
-        Documentation License</citetitle> from the Free Software
-        Foundation by visiting <ulink type="http"
-        url="http://www.fsf.org">their Web site</ulink> or by writing
-        to:
-
-        <address>
-          The Free Software Foundation, Inc.,
-          <street>59 Temple Place</street> - Suite 330,
-          <city>Boston</city>, <state>MA</state> <postcode>02111-1307</postcode>,
-          <country>USA</country>
-        </address>
-      </para>
-
-      <para>
-        Many of the names used by companies to distinguish their
-        products and services are claimed as trademarks. Where those
-        names appear in any freedesktop.org documentation, and those
-        trademarks are made aware to the members of the
-        freedesktop.org Project, the names have been printed in caps
-        or initial caps.
-      </para>
-    </legalnotice>
-  </bookinfo>
-
-  <reference id="ref-API">
-    <title>API Reference</title>
-    <partintro>
-      <para>
-        This part presents the class and function reference for the
-        <literal>libgudev</literal> library.
-      </para>
-    </partintro>
-    <xi:include href="xml/gudevclient.xml"/>
-    <xi:include href="xml/gudevdevice.xml"/>
-    <xi:include href="xml/gudevenumerator.xml"/>
-  </reference>
-
-  <chapter id="gudev-hierarchy">
-    <title>Object Hierarchy</title>
-      <xi:include href="xml/tree_index.sgml"/>
-  </chapter>
-  <index>
-    <title>Index</title>
-  </index>
-  <index role="165">
-    <title>Index of new symbols in 165</title>
-    <xi:include href="xml/api-index-165.xml"><xi:fallback /></xi:include>
-  </index>
-
-</book>

File src/gudev/docs/gudev-sections.txt

-<SECTION>
-<FILE>gudevclient</FILE>
-<TITLE>GUdevClient</TITLE>
-GUdevClient
-GUdevClientClass
-GUdevDeviceType
-GUdevDeviceNumber
-g_udev_client_new
-g_udev_client_query_by_subsystem
-g_udev_client_query_by_device_number
-g_udev_client_query_by_device_file
-g_udev_client_query_by_sysfs_path
-g_udev_client_query_by_subsystem_and_name
-<SUBSECTION Standard>
-G_UDEV_CLIENT
-G_UDEV_IS_CLIENT
-G_UDEV_TYPE_CLIENT
-g_udev_client_get_type
-G_UDEV_CLIENT_CLASS
-G_UDEV_IS_CLIENT_CLASS
-G_UDEV_CLIENT_GET_CLASS
-<SUBSECTION Private>
-GUdevClientPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gudevdevice</FILE>
-<TITLE>GUdevDevice</TITLE>
-GUdevDevice
-GUdevDeviceClass
-g_udev_device_get_subsystem
-g_udev_device_get_devtype
-g_udev_device_get_name
-g_udev_device_get_number
-g_udev_device_get_sysfs_path
-g_udev_device_get_driver
-g_udev_device_get_action
-g_udev_device_get_seqnum
-g_udev_device_get_device_type
-g_udev_device_get_device_number
-g_udev_device_get_device_file
-g_udev_device_get_device_file_symlinks
-g_udev_device_get_parent
-g_udev_device_get_parent_with_subsystem
-g_udev_device_get_tags
-g_udev_device_get_is_initialized
-g_udev_device_get_usec_since_initialized
-g_udev_device_get_property_keys
-g_udev_device_has_property
-g_udev_device_get_property
-g_udev_device_get_property_as_int
-g_udev_device_get_property_as_uint64
-g_udev_device_get_property_as_double
-g_udev_device_get_property_as_boolean
-g_udev_device_get_property_as_strv
-g_udev_device_get_sysfs_attr
-g_udev_device_get_sysfs_attr_as_int
-g_udev_device_get_sysfs_attr_as_uint64
-g_udev_device_get_sysfs_attr_as_double
-g_udev_device_get_sysfs_attr_as_boolean
-g_udev_device_get_sysfs_attr_as_strv
-<SUBSECTION Standard>
-G_UDEV_DEVICE
-G_UDEV_IS_DEVICE
-G_UDEV_TYPE_DEVICE
-g_udev_device_get_type
-G_UDEV_DEVICE_CLASS
-G_UDEV_IS_DEVICE_CLASS
-G_UDEV_DEVICE_GET_CLASS
-<SUBSECTION Private>
-GUdevDevicePrivate
-</SECTION>
-
-<SECTION>
-<FILE>gudevenumerator</FILE>
-<TITLE>GUdevEnumerator</TITLE>
-GUdevEnumerator
-GUdevEnumeratorClass
-g_udev_enumerator_new
-g_udev_enumerator_add_match_subsystem
-g_udev_enumerator_add_nomatch_subsystem
-g_udev_enumerator_add_match_sysfs_attr
-g_udev_enumerator_add_nomatch_sysfs_attr
-g_udev_enumerator_add_match_property
-g_udev_enumerator_add_match_name
-g_udev_enumerator_add_match_tag
-g_udev_enumerator_add_match_is_initialized
-g_udev_enumerator_add_sysfs_path
-g_udev_enumerator_execute
-<SUBSECTION Standard>
-G_UDEV_ENUMERATOR
-G_UDEV_IS_ENUMERATOR
-G_UDEV_TYPE_ENUMERATOR
-g_udev_enumerator_get_type
-G_UDEV_ENUMERATOR_CLASS
-G_UDEV_IS_ENUMERATOR_CLASS
-G_UDEV_ENUMERATOR_GET_CLASS
-<SUBSECTION Private>
-GUdevEnumeratorPrivate
-</SECTION>
-
-<SECTION>
-<FILE>gudevmarshal</FILE>
-<SUBSECTION Private>
-g_udev_marshal_VOID__STRING_OBJECT
-</SECTION>
-
-<SECTION>
-<FILE>gudevenumtypes</FILE>
-<SUBSECTION Private>
-G_TYPE_UDEV_DEVICE_TYPE
-g_udev_device_type_get_type
-</SECTION>

File src/gudev/docs/gudev.types

-g_udev_device_type_get_type
-g_udev_device_get_type
-g_udev_client_get_type
-g_udev_enumerator_get_type

File src/gudev/docs/version.xml.in

-@VERSION@

File src/libudev-device.c

+/** @file libudev-device.c */
 /*
  * libudev - interface to udev device information
  *
 #include "libudev-private.h"
 
 /**
- * SECTION:libudev-device
- * @short_description: kernel sys devices
+ * @defgroup udev-device udev-device
+ * @ingroup libudev
+ * @brief kernel sys devices
  *
  * Representation of kernel sys devices. Devices are uniquely identified
  * by their syspath, every device has exactly one path in the kernel sys
  * a unique name inside that subsystem.
  */
 
+/* @{ -- udev-device group */
+
 /**
- * udev_device:
- *
- * Opaque object representing one kernel sys device.
+ * @brief Opaque object representing one kernel sys device.
  */
 struct udev_device {
         struct udev *udev;
 };
 
 /**
- * udev_device_get_seqnum:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * This is only valid if the device was received through a monitor. Devices read from
  * sys do not have a sequence number.
  *
- * Returns: the kernel event sequence number, or 0 if there is no sequence number available.
- **/
+ * @return the kernel event sequence number, or 0 if there is no sequence number available.
+ */
 UDEV_EXPORT unsigned long long int udev_device_get_seqnum(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_devnum:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Get the device major/minor number.
  *
- * Returns: the dev_t number.
- **/
+ * @return the dev_t number.
+ */
 UDEV_EXPORT dev_t udev_device_get_devnum(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_driver:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Get the kernel driver name.
  *
- * Returns: the driver name string, or #NULL if there is no driver attached.
- **/
+ * @return the driver name string, or #NULL if there is no driver attached.
+ */
 UDEV_EXPORT const char *udev_device_get_driver(struct udev_device *udev_device)
 {
         char driver[UTIL_NAME_SIZE];
 }
 
 /**
- * udev_device_get_devtype:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Retrieve the devtype string of the udev device.
  *
- * Returns: the devtype name of the udev device, or #NULL if it can not be determined
- **/
+ * @return the devtype name of the udev device, or #NULL if it can not be determined
+ */
 UDEV_EXPORT const char *udev_device_get_devtype(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_subsystem:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Retrieve the subsystem string of the udev device. The string does not
  * contain any "/".
  *
- * Returns: the subsystem name of the udev device, or #NULL if it can not be determined
- **/
+ * @return the subsystem name of the udev device, or #NULL if it can not be determined
+ */
 UDEV_EXPORT const char *udev_device_get_subsystem(struct udev_device *udev_device)
 {
         char subsystem[UTIL_NAME_SIZE];
 }
 
 /**
- * udev_device_get_property_value:
- * @udev_device: udev device
- * @key: property name
+ * @param udev_device udev device
+ * @param key property name
  *
  * Get the value of a given property.
  *
- * Returns: the property string, or #NULL if there is no such property.
- **/
+ * @return the property string, or #NULL if there is no such property.
+ */
 UDEV_EXPORT const char *udev_device_get_property_value(struct udev_device *udev_device, const char *key)
 {
         struct udev_list_entry *list_entry;
 }
 
 /**
- * udev_device_new_from_syspath:
- * @udev: udev library context
- * @syspath: sys device path including sys directory
+ * @param udev udev library context
+ * @param syspath sys device path including sys directory
  *
  * Create new udev device, and fill in information from the sys
  * device and the udev database entry. The syspath is the absolute
  * The initial refcount is 1, and needs to be decremented to
  * release the resources of the udev device.
  *
- * Returns: a new udev device, or #NULL, if it does not exist
- **/
+ * @return a new udev device, or #NULL, if it does not exist
+ */
 UDEV_EXPORT struct udev_device *udev_device_new_from_syspath(struct udev *udev, const char *syspath)
 {
         size_t len;
 }
 
 /**
- * udev_device_new_from_devnum:
- * @udev: udev library context
- * @type: char or block device
- * @devnum: device major/minor number
+ * @param udev udev library context
+ * @param type char or block device
+ * @param devnum device major/minor number
  *
  * Create new udev device, and fill in information from the sys
  * device and the udev database entry. The device is looked-up
  * The initial refcount is 1, and needs to be decremented to
  * release the resources of the udev device.
  *
- * Returns: a new udev device, or #NULL, if it does not exist
- **/
+ * @return a new udev device, or #NULL, if it does not exist
+ */
 UDEV_EXPORT struct udev_device *udev_device_new_from_devnum(struct udev *udev, char type, dev_t devnum)
 {
         char path[UTIL_PATH_SIZE];
 }
 
 /**
- * udev_device_new_from_device_id:
- * @udev: udev library context
- * @id: text string identifying a kernel device
+ * @param udev udev library context
+ * @param id text string identifying a kernel device
  *
  * Create new udev device, and fill in information from the sys
  * device and the udev database entry. The device is looked-up
  * The initial refcount is 1, and needs to be decremented to
  * release the resources of the udev device.
  *
- * Returns: a new udev device, or #NULL, if it does not exist
- **/
+ * @return a new udev device, or #NULL, if it does not exist
+ */
 UDEV_EXPORT struct udev_device *udev_device_new_from_device_id(struct udev *udev, char *id)
 {
         char type;
 }
 
 /**
- * udev_device_new_from_subsystem_sysname:
- * @udev: udev library context
- * @subsystem: the subsystem of the device
- * @sysname: the name of the device
+ * @param udev udev library context
+ * @param subsystem the subsystem of the device
+ * @param sysname the name of the device
  *
  * Create new udev device, and fill in information from the sys device
  * and the udev database entry. The device is looked up by the subsystem
  * The initial refcount is 1, and needs to be decremented to
  * release the resources of the udev device.
  *
- * Returns: a new udev device, or #NULL, if it does not exist
- **/
+ * @return a new udev device, or #NULL, if it does not exist
+ */
 UDEV_EXPORT struct udev_device *udev_device_new_from_subsystem_sysname(struct udev *udev, const char *subsystem, const char *sysname)
 {
         char path_full[UTIL_PATH_SIZE];
 }
 
 /**
- * udev_device_new_from_environment
- * @udev: udev library context
+ * @param udev udev library context
  *
  * Create new udev device, and fill in information from the
  * current process environment. This only works reliable if
  * The initial refcount is 1, and needs to be decremented to
  * release the resources of the udev device.
  *
- * Returns: a new udev device, or #NULL, if it does not exist
- **/
+ * @return a new udev device, or #NULL, if it does not exist
+ */
 UDEV_EXPORT struct udev_device *udev_device_new_from_environment(struct udev *udev)
 {
         int i;
 }
 
 /**
- * udev_device_get_parent:
- * @udev_device: the device to start searching from
+ * @param udev_device the device to start searching from
  *
  * Find the next parent device, and fill in information from the sys
  * device and the udev database entry.
  * It can be called as many times as needed, without caring about
  * references.
  *
- * Returns: a new udev device, or #NULL, if it no parent exist.
- **/
+ * @return a new udev device, or #NULL, if it no parent exist.
+ */
 UDEV_EXPORT struct udev_device *udev_device_get_parent(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_parent_with_subsystem_devtype:
- * @udev_device: udev device to start searching from
- * @subsystem: the subsystem of the device
- * @devtype: the type (DEVTYPE) of the device
+ * @param udev_device udev device to start searching from
+ * @param subsystem the subsystem of the device
+ * @param devtype the type (DEVTYPE) of the device
  *
  * Find the next parent device, with a matching subsystem and devtype
  * value, and fill in information from the sys device and the udev
  * It can be called as many times as needed, without caring about
  * references.
  *
- * Returns: a new udev device, or #NULL if no matching parent exists.
- **/
+ * @return a new udev device, or #NULL if no matching parent exists.
+ */
 UDEV_EXPORT struct udev_device *udev_device_get_parent_with_subsystem_devtype(struct udev_device *udev_device, const char *subsystem, const char *devtype)
 {
         struct udev_device *parent;
 }
 
 /**
- * udev_device_get_udev:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Retrieve the udev library context the device was created with.
  *
- * Returns: the udev library context
- **/
+ * @return the udev library context
+ */
 UDEV_EXPORT struct udev *udev_device_get_udev(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_ref:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Take a reference of a udev device.
  *
- * Returns: the passed udev device
- **/
+ * @return the passed udev device
+ */
 UDEV_EXPORT struct udev_device *udev_device_ref(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_unref:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Drop a reference of a udev device. If the refcount reaches zero,
  * the resources of the device will be released.
  *
- **/
+ */
 UDEV_EXPORT struct udev_device *udev_device_unref(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_devpath:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Retrieve the kernel devpath value of the udev device. The path
  * does not contain the sys mount point, and starts with a '/'.
  *
- * Returns: the devpath of the udev device
- **/
+ * @return the devpath of the udev device
+ */
 UDEV_EXPORT const char *udev_device_get_devpath(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_syspath:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Retrieve the sys path of the udev device. The path is an
  * absolute path and starts with the sys mount point.
  *
- * Returns: the sys path of the udev device
- **/
+ * @return the sys path of the udev device
+ */
 UDEV_EXPORT const char *udev_device_get_syspath(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_sysname:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Get the kernel device name in /sys.
  *
- * Returns: the name string of the device device
- **/
+ * @return the name string of the device device
+ */
 UDEV_EXPORT const char *udev_device_get_sysname(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_sysnum:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Get the instance number of the device.
  *
- * Returns: the trailing number string of of the device name
- **/
+ * @return the trailing number string of of the device name
+ */
 UDEV_EXPORT const char *udev_device_get_sysnum(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_devnode:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Retrieve the device node file name belonging to the udev device.
  * The path is an absolute path, and starts with the device directory.
  *
- * Returns: the device node file name of the udev device, or #NULL if no device node exists
- **/
+ * @return the device node file name of the udev device, or #NULL if no device node exists
+ */
 UDEV_EXPORT const char *udev_device_get_devnode(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_devlinks_list_entry:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Retrieve the list of device links pointing to the device file of
  * the udev device. The next list entry can be retrieved with
  * udev_list_entry_get_name(). The path is an absolute path, and starts with
  * the device directory.
  *
- * Returns: the first entry of the device node link list
- **/
+ * @return the first entry of the device node link list
+ */
 UDEV_EXPORT struct udev_list_entry *udev_device_get_devlinks_list_entry(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_properties_list_entry:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Retrieve the list of key/value device properties of the udev
  * device. The next list entry can be retrieved with udev_list_entry_next(),
  * can be retrieved from the list entry by udev_list_get_name(),
  * the property value by udev_list_get_value().
  *
- * Returns: the first entry of the property list
- **/
+ * @return the first entry of the property list
+ */
 UDEV_EXPORT struct udev_list_entry *udev_device_get_properties_list_entry(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_action:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * This is only valid if the device was received through a monitor. Devices read from
  * sys do not have an action string. Usual actions are: add, remove, change, online,
  * offline.
  *
- * Returns: the kernel action value, or #NULL if there is no action value available.
- **/
+ * @return the kernel action value, or #NULL if there is no action value available.
+ */
 UDEV_EXPORT const char *udev_device_get_action(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_get_usec_since_initialized:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Return the number of microseconds passed since udev set up the
  * device for the first time.
  * This is only implemented for devices with need to store properties
  * in the udev database. All other devices return 0 here.
  *
- * Returns: the number of microseconds since the device was first seen.
- **/
+ * @return the number of microseconds since the device was first seen.
+ */
 UDEV_EXPORT unsigned long long int udev_device_get_usec_since_initialized(struct udev_device *udev_device)
 {
         unsigned long long now;
 }
 
 /**
- * udev_device_get_sysattr_value:
- * @udev_device: udev device
- * @sysattr: attribute name
+ * @param udev_device udev device
+ * @param sysattr attribute name
  *
  * The retrieved value is cached in the device. Repeated calls will return the same
  * value and not open the attribute again.
  *
- * Returns: the content of a sys attribute file, or #NULL if there is no sys attribute value.
- **/
+ * @return the content of a sys attribute file, or #NULL if there is no sys attribute value.
+ */
 UDEV_EXPORT const char *udev_device_get_sysattr_value(struct udev_device *udev_device, const char *sysattr)
 {
         struct udev_list_entry *list_entry;
 }
 
 /**
- * udev_device_get_sysattr_list_entry:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Retrieve the list of available sysattrs, with value being empty;
  * This just return all available sysfs attributes for a particular
  * device without reading their values.
  *
- * Returns: the first entry of the property list
- **/
+ * @return the first entry of the property list
+ */
 UDEV_EXPORT struct udev_list_entry *udev_device_get_sysattr_list_entry(struct udev_device *udev_device)
 {
         if (!udev_device->sysattr_list_read) {
 }
 
 /**
- * udev_device_get_is_initialized:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Check if udev has already handled the device and has set up
  * device node permissions and context, or has renamed a network
  * This is only implemented for devices with a device node
  * or network interfaces. All other devices return 1 here.
  *
- * Returns: 1 if the device is set up. 0 otherwise.
- **/
+ * @return 1 if the device is set up. 0 otherwise.
+ */
 UDEV_EXPORT int udev_device_get_is_initialized(struct udev_device *udev_device)
 {
         if (!udev_device->info_loaded)
 }
 
 /**
- * udev_device_get_tags_list_entry:
- * @udev_device: udev device
+ * @param udev_device udev device
  *
  * Retrieve the list of tags attached to the udev device. The next
  * list entry can be retrieved with udev_list_entry_next(),
  * which returns #NULL if no more entries exist. The tag string
  * can be retrieved from the list entry by udev_list_get_name().
  *
- * Returns: the first entry of the tag list
- **/
+ * @return the first entry of the tag list
+ */
 UDEV_EXPORT struct udev_list_entry *udev_device_get_tags_list_entry(struct udev_device *udev_device)
 {
         if (udev_device == NULL)
 }
 
 /**
- * udev_device_has_tag:
- * @udev_device: udev device
- * @tag: tag name
+ * @param udev_device udev device
+ * @param tag tag name
  *
  * Check if a given device has a certain tag associated.
  *
- * Returns: 1 if the tag is found. 0 otherwise.
- **/
+ * @return 1 if the tag is found. 0 otherwise.
+ */
 UDEV_EXPORT int udev_device_has_tag(struct udev_device *udev_device, const char *tag)
 {
         struct udev_list_entry *list_entry;
 {
         udev_device->db_persist = true;
 }
+
+/* @} -- udev-device group */

File src/libudev-enumerate.c

+/** @file libudev-enumerate.c */
 /*
  * libudev - interface to udev device information
  *
 #include "libudev-private.h"
 
 /**
- * SECTION:libudev-enumerate
- * @short_description: lookup and sort sys devices
+ * @defgroup udev-enumerate udev-enumerate
+ * @ingroup libudev
+ * @brief lookup and sort sys devices
  *
  * Lookup devices in the sys filesystem, filter devices by properties,
  * and return a sorted list of devices.
  */
 
+/* @{ -- udev-enumerate group */
+
 struct syspath {
         char *syspath;
         size_t len;
 };
 
 /**
- * udev_enumerate:
- *
- * Opaque object representing one device lookup/sort context.
+ * @brief Opaque object representing one device lookup/sort context.
  */
 struct udev_enumerate {
         struct udev *udev;
 };
 
 /**
- * udev_enumerate_new:
- * @udev: udev library context
+ * @param udev udev library context
  *
  * Create an enumeration context to scan /sys.
  *
- * Returns: an enumeration context.
- **/
+ * @return an enumeration context.
+ */
 UDEV_EXPORT struct udev_enumerate *udev_enumerate_new(struct udev *udev)
 {
         struct udev_enumerate *udev_enumerate;
 }
 
 /**
- * udev_enumerate_ref:
- * @udev_enumerate: context
+ * @param udev_enumerate context
  *
  * Take a reference of a enumeration context.
  *
- * Returns: the passed enumeration context
- **/
+ * @return the passed enumeration context
+ */
 UDEV_EXPORT struct udev_enumerate *udev_enumerate_ref(struct udev_enumerate *udev_enumerate)
 {
         if (udev_enumerate == NULL)
 }
 
 /**
- * udev_enumerate_unref:
- * @udev_enumerate: context
+ * @param udev_enumerate context
  *
  * Drop a reference of an enumeration context. If the refcount reaches zero,
  * all resources of the enumeration context will be released.
- **/
+ */
 UDEV_EXPORT struct udev_enumerate *udev_enumerate_unref(struct udev_enumerate *udev_enumerate)
 {
         unsigned int i;
 }
 
 /**
- * udev_enumerate_get_udev:
- * @udev_enumerate: context
+ * @param udev_enumerate context
  *
  * Get the udev library context.
  *
- * Returns: a pointer to the context.
+ * @return a pointer to the context.
  */
 UDEV_EXPORT struct udev *udev_enumerate_get_udev(struct udev_enumerate *udev_enumerate)
 {
 }
 
 /**
- * udev_enumerate_get_list_entry:
- * @udev_enumerate: context
+ * @param udev_enumerate context
  *
  * Get the first entry of the sorted list of device paths.
  *
- * Returns: a udev_list_entry.
+ * @return a udev_list_entry.
  */
 UDEV_EXPORT struct udev_list_entry *udev_enumerate_get_list_entry(struct udev_enumerate *udev_enumerate)
 {
 }
 
 /**
- * udev_enumerate_add_match_subsystem:
- * @udev_enumerate: context
- * @subsystem: filter for a subsystem of the device to include in the list
+ * @param udev_enumerate context
+ * @param subsystem filter for a subsystem of the device to include in the list
  *
  * Match only devices belonging to a certain kernel subsystem.
  *
- * Returns: 0 on success, otherwise a negative error value.
+ * @return 0 on success, otherwise a negative error value.
  */
 UDEV_EXPORT int udev_enumerate_add_match_subsystem(struct udev_enumerate *udev_enumerate, const char *subsystem)
 {
 }
 
 /**
- * udev_enumerate_add_nomatch_subsystem:
- * @udev_enumerate: context
- * @subsystem: filter for a subsystem of the device to exclude from the list
+ * @param udev_enumerate context
+ * @param subsystem filter for a subsystem of the device to exclude from the list
  *
  * Match only devices not belonging to a certain kernel subsystem.
  *
- * Returns: 0 on success, otherwise a negative error value.
+ * @return 0 on success, otherwise a negative error value.
  */
 UDEV_EXPORT int udev_enumerate_add_nomatch_subsystem(struct udev_enumerate *udev_enumerate, const char *subsystem)
 {
 }
 
 /**
- * udev_enumerate_add_match_sysattr:
- * @udev_enumerate: context
- * @sysattr: filter for a sys attribute at the device to include in the list
- * @value: optional value of the sys attribute
+ * @param udev_enumerate context
+ * @param sysattr filter for a sys attribute at the device to include in the list
+ * @param value optional value of the sys attribute
  *
  * Match only devices with a certain /sys device attribute.
  *
- * Returns: 0 on success, otherwise a negative error value.
+ * @return 0 on success, otherwise a negative error value.
  */
 UDEV_EXPORT int udev_enumerate_add_match_sysattr(struct udev_enumerate *udev_enumerate, const char *sysattr, const char *value)
 {
 }
 
 /**
- * udev_enumerate_add_nomatch_sysattr:
- * @udev_enumerate: context
- * @sysattr: filter for a sys attribute at the device to exclude from the list
- * @value: optional value of the sys attribute
+ * @param udev_enumerate context
+ * @param sysattr filter for a sys attribute at the device to exclude from the list
+ * @param value optional value of the sys attribute
  *
  * Match only devices not having a certain /sys device attribute.
  *
- * Returns: 0 on success, otherwise a negative error value.
+ * @return 0 on success, otherwise a negative error value.
  */
 UDEV_EXPORT int udev_enumerate_add_nomatch_sysattr(struct udev_enumerate *udev_enumerate, const char *sysattr, const char *value)
 {
 }
 
 /**
- * udev_enumerate_add_match_property:
- * @udev_enumerate: context
- * @property: filter for a property of the device to include in the list
- * @value: value of the property
+ * @param udev_enumerate context
+ * @param property filter for a property of the device to include in the list
+ * @param value value of the property
  *
  * Match only devices with a certain property.
  *
- * Returns: 0 on success, otherwise a negative error value.
+ * @return 0 on success, otherwise a negative error value.
  */
 UDEV_EXPORT int udev_enumerate_add_match_property(struct udev_enumerate *udev_enumerate, const char *property, const char *value)
 {
 }
 
 /**
- * udev_enumerate_add_match_tag:
- * @udev_enumerate: context
- * @tag: filter for a tag of the device to include in the list
+ * @param udev_enumerate context
+ * @param tag filter for a tag of the device to include in the list
  *
  * Match only devices with a certain tag.
  *
- * Returns: 0 on success, otherwise a negative error value.
+ * @return 0 on success, otherwise a negative error value.
  */
 UDEV_EXPORT int udev_enumerate_add_match_tag(struct udev_enumerate *udev_enumerate, const char *tag)
 {
 }
 
 /**
- * udev_enumerate_add_match_parent:
- * @udev_enumerate: context
- * @parent: parent device where to start searching
+ * @param udev_enumerate context
+ * @param parent parent device where to start searching
  *
  * Return the devices on the subtree of one given device. The parent
  * itself is included in the list.
  * A reference for the device is held until the udev_enumerate context
  * is cleaned up.
  *
- * Returns: 0 on success, otherwise a negative error value.
+ * @return 0 on success, otherwise a negative error value.
  */
 UDEV_EXPORT int udev_enumerate_add_match_parent(struct udev_enumerate *udev_enumerate, struct udev_device *parent)
 {
 }
 
 /**
- * udev_enumerate_add_match_is_initialized:
- * @udev_enumerate: context
+ * @param udev_enumerate context
  *
  * Match only devices which udev has set up already. This makes
  * sure, that the device node permissions and context are properly set
  * For now, this will not affect devices which do not have a device node
  * and are not network interfaces.
  *
- * Returns: 0 on success, otherwise a negative error value.
+ * @return 0 on success, otherwise a negative error value.
  */
 UDEV_EXPORT int udev_enumerate_add_match_is_initialized(struct udev_enumerate *udev_enumerate)
 {
 }
 
 /**
- * udev_enumerate_add_match_sysname:
- * @udev_enumerate: context
- * @sysname: filter for the name of the device to include in the list
+ * @param udev_enumerate context
+ * @param sysname filter for the name of the device to include in the list