From f2e3a840db7b9c57816fb355a82631dbba2ba596 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess@hadess.net>
Date: Fri, 9 Nov 2018 14:43:58 +0100
Subject: [PATCH] doc: Add fpi-core and fpi-core-img sections to the docs

---
 doc/libfprint-docs.xml     |  2 ++
 doc/libfprint-sections.txt | 14 ++++++++++++++
 libfprint/fpi-core.c       | 19 +++++++++++++++++++
 3 files changed, 35 insertions(+)

diff --git a/doc/libfprint-docs.xml b/doc/libfprint-docs.xml
index ac42ceb..21fd590 100644
--- a/doc/libfprint-docs.xml
+++ b/doc/libfprint-docs.xml
@@ -40,6 +40,8 @@
     <title>Writing Drivers</title>
     <xi:include href="xml/fpi-log.xml"/>
     <xi:include href="xml/fpi-dev.xml"/>
+    <xi:include href="xml/fpi-core.xml"/>
+    <xi:include href="xml/fpi-core-img.xml"/>
     <xi:include href="xml/fpi-ssm.xml"/>
     <xi:include href="xml/fpi-poll.xml"/>
     <xi:include href="xml/fpi-img.xml"/>
diff --git a/doc/libfprint-sections.txt b/doc/libfprint-sections.txt
index b09840e..ea6ee94 100644
--- a/doc/libfprint-sections.txt
+++ b/doc/libfprint-sections.txt
@@ -197,6 +197,20 @@ fp_dev_set_instance_data
 FP_INSTANCE_DATA
 </SECTION>
 
+<SECTION>
+<INCLUDE>fpi-core.h</INCLUDE>
+<FILE>fpi-core</FILE>
+usb_id
+fp_driver_type
+</SECTION>
+
+<SECTION>
+<INCLUDE>fpi-core.h</INCLUDE>
+<FILE>fpi-core-img</FILE>
+FP_IMGDRV_SUPPORTS_UNCONDITIONAL_CAPTURE
+fp_img_driver
+</SECTION>
+
 <SECTION>
 <INCLUDE>fpi-img.h</INCLUDE>
 <FILE>fpi-img</FILE>
diff --git a/libfprint/fpi-core.c b/libfprint/fpi-core.c
index fc19757..75b2838 100644
--- a/libfprint/fpi-core.c
+++ b/libfprint/fpi-core.c
@@ -111,6 +111,25 @@ GSList *opened_devices = NULL;
  * verification) on some devices which do not provide images.
  */
 
+/**
+ * SECTION:fpi-core
+ * @title: Driver structures
+ *
+ * Driver structures need to be defined inside each driver in
+ * order for the core library to know what function to call, and the capabilities
+ * of the driver and the devices it supports.
+ */
+
+/**
+ * SECTION:fpi-core-img
+ * @title: Image driver structures
+ *
+ * Image driver structures need to be defined inside each image driver in
+ * order for the core library to know what function to call, and the capabilities
+ * of the driver and the devices it supports. Its structure is based off the
+ * #fp_driver struct.
+ */
+
 static GSList *registered_drivers = NULL;
 
 static void register_driver(struct fp_driver *drv)