aboutsummaryrefslogtreecommitdiffstats
path: root/doc/api
diff options
context:
space:
mode:
Diffstat (limited to 'doc/api')
-rw-r--r--doc/api/doxy-api-index.md3
-rw-r--r--doc/api/doxy-api.conf87
-rw-r--r--doc/api/doxy-api.conf.in97
-rwxr-xr-xdoc/api/generate_doxygen.sh10
-rwxr-xr-xdoc/api/generate_examples.sh12
-rw-r--r--doc/api/meson.build55
6 files changed, 177 insertions, 87 deletions
diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md
index 9265907f..e27874c5 100644
--- a/doc/api/doxy-api-index.md
+++ b/doc/api/doxy-api-index.md
@@ -22,6 +22,7 @@ The public API headers are grouped by topics:
[compress] (@ref rte_comp.h),
[eventdev] (@ref rte_eventdev.h),
[event_eth_rx_adapter] (@ref rte_event_eth_rx_adapter.h),
+ [event_eth_tx_adapter] (@ref rte_event_eth_tx_adapter.h),
[event_timer_adapter] (@ref rte_event_timer_adapter.h),
[event_crypto_adapter] (@ref rte_event_crypto_adapter.h),
[rawdev] (@ref rte_rawdev.h),
@@ -36,6 +37,7 @@ The public API headers are grouped by topics:
[softnic] (@ref rte_eth_softnic.h),
[bond] (@ref rte_eth_bond.h),
[vhost] (@ref rte_vhost.h),
+ [vdpa] (@ref rte_vdpa.h),
[KNI] (@ref rte_kni.h),
[ixgbe] (@ref rte_pmd_ixgbe.h),
[i40e] (@ref rte_pmd_i40e.h),
@@ -153,6 +155,7 @@ The public API headers are grouped by topics:
- **debug**:
[jobstats] (@ref rte_jobstats.h),
+ [telemetry] (@ref rte_telemetry.h),
[pdump] (@ref rte_pdump.h),
[hexdump] (@ref rte_hexdump.h),
[debug] (@ref rte_debug.h),
diff --git a/doc/api/doxy-api.conf b/doc/api/doxy-api.conf
deleted file mode 100644
index 66693c38..00000000
--- a/doc/api/doxy-api.conf
+++ /dev/null
@@ -1,87 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2013-2017 6WIND S.A.
-
-PROJECT_NAME = DPDK
-INPUT = doc/api/doxy-api-index.md \
- drivers/crypto/scheduler \
- drivers/mempool/dpaa2 \
- drivers/net/bnxt \
- drivers/net/bonding \
- drivers/net/dpaa \
- drivers/net/i40e \
- drivers/net/ixgbe \
- drivers/net/softnic \
- drivers/raw/dpaa2_cmdif \
- drivers/raw/dpaa2_qdma \
- lib/librte_eal/common/include \
- lib/librte_eal/common/include/generic \
- lib/librte_acl \
- lib/librte_bbdev \
- lib/librte_bitratestats \
- lib/librte_bpf \
- lib/librte_cfgfile \
- lib/librte_cmdline \
- lib/librte_compat \
- lib/librte_compressdev \
- lib/librte_cryptodev \
- lib/librte_distributor \
- lib/librte_efd \
- lib/librte_ethdev \
- lib/librte_eventdev \
- lib/librte_flow_classify \
- lib/librte_gro \
- lib/librte_gso \
- lib/librte_hash \
- lib/librte_ip_frag \
- lib/librte_jobstats \
- lib/librte_kni \
- lib/librte_kvargs \
- lib/librte_latencystats \
- lib/librte_lpm \
- lib/librte_mbuf \
- lib/librte_member \
- lib/librte_mempool \
- lib/librte_meter \
- lib/librte_metrics \
- lib/librte_net \
- lib/librte_pci \
- lib/librte_pdump \
- lib/librte_pipeline \
- lib/librte_port \
- lib/librte_power \
- lib/librte_rawdev \
- lib/librte_reorder \
- lib/librte_ring \
- lib/librte_sched \
- lib/librte_security \
- lib/librte_table \
- lib/librte_timer \
- lib/librte_vhost
-FILE_PATTERNS = rte_*.h \
- cmdline.h
-PREDEFINED = __DOXYGEN__ \
- VFIO_PRESENT \
- __attribute__(x)=
-
-OPTIMIZE_OUTPUT_FOR_C = YES
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
-EXTRACT_STATIC = YES
-DISTRIBUTE_GROUP_DOC = YES
-HIDE_UNDOC_MEMBERS = YES
-HIDE_UNDOC_CLASSES = YES
-HIDE_SCOPE_NAMES = YES
-GENERATE_DEPRECATEDLIST = NO
-VERBATIM_HEADERS = NO
-ALPHABETICAL_INDEX = NO
-
-HTML_TIMESTAMP = NO
-HTML_DYNAMIC_SECTIONS = YES
-SEARCHENGINE = NO
-SORT_MEMBER_DOCS = NO
-SOURCE_BROWSER = YES
-
-EXAMPLE_PATH = examples
-EXAMPLE_PATTERNS = *.c
-EXAMPLE_RECURSIVE = YES
diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in
new file mode 100644
index 00000000..77ba327a
--- /dev/null
+++ b/doc/api/doxy-api.conf.in
@@ -0,0 +1,97 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2013-2017 6WIND S.A.
+
+PROJECT_NAME = DPDK
+PROJECT_NUMBER = @VERSION@
+INPUT = @TOPDIR@/doc/api/doxy-api-index.md \
+ @TOPDIR@/drivers/crypto/scheduler \
+ @TOPDIR@/drivers/mempool/dpaa2 \
+ @TOPDIR@/drivers/net/bnxt \
+ @TOPDIR@/drivers/net/bonding \
+ @TOPDIR@/drivers/net/dpaa \
+ @TOPDIR@/drivers/net/i40e \
+ @TOPDIR@/drivers/net/ixgbe \
+ @TOPDIR@/drivers/net/softnic \
+ @TOPDIR@/drivers/raw/dpaa2_cmdif \
+ @TOPDIR@/drivers/raw/dpaa2_qdma \
+ @TOPDIR@/lib/librte_eal/common/include \
+ @TOPDIR@/lib/librte_eal/common/include/generic \
+ @TOPDIR@/lib/librte_acl \
+ @TOPDIR@/lib/librte_bbdev \
+ @TOPDIR@/lib/librte_bitratestats \
+ @TOPDIR@/lib/librte_bpf \
+ @TOPDIR@/lib/librte_cfgfile \
+ @TOPDIR@/lib/librte_cmdline \
+ @TOPDIR@/lib/librte_compat \
+ @TOPDIR@/lib/librte_compressdev \
+ @TOPDIR@/lib/librte_cryptodev \
+ @TOPDIR@/lib/librte_distributor \
+ @TOPDIR@/lib/librte_efd \
+ @TOPDIR@/lib/librte_ethdev \
+ @TOPDIR@/lib/librte_eventdev \
+ @TOPDIR@/lib/librte_flow_classify \
+ @TOPDIR@/lib/librte_gro \
+ @TOPDIR@/lib/librte_gso \
+ @TOPDIR@/lib/librte_hash \
+ @TOPDIR@/lib/librte_ip_frag \
+ @TOPDIR@/lib/librte_jobstats \
+ @TOPDIR@/lib/librte_kni \
+ @TOPDIR@/lib/librte_kvargs \
+ @TOPDIR@/lib/librte_latencystats \
+ @TOPDIR@/lib/librte_lpm \
+ @TOPDIR@/lib/librte_mbuf \
+ @TOPDIR@/lib/librte_member \
+ @TOPDIR@/lib/librte_mempool \
+ @TOPDIR@/lib/librte_meter \
+ @TOPDIR@/lib/librte_metrics \
+ @TOPDIR@/lib/librte_net \
+ @TOPDIR@/lib/librte_pci \
+ @TOPDIR@/lib/librte_pdump \
+ @TOPDIR@/lib/librte_pipeline \
+ @TOPDIR@/lib/librte_port \
+ @TOPDIR@/lib/librte_power \
+ @TOPDIR@/lib/librte_rawdev \
+ @TOPDIR@/lib/librte_reorder \
+ @TOPDIR@/lib/librte_ring \
+ @TOPDIR@/lib/librte_sched \
+ @TOPDIR@/lib/librte_security \
+ @TOPDIR@/lib/librte_table \
+ @TOPDIR@/lib/librte_telemetry \
+ @TOPDIR@/lib/librte_timer \
+ @TOPDIR@/lib/librte_vhost
+INPUT += @API_EXAMPLES@
+FILE_PATTERNS = rte_*.h \
+ cmdline.h
+PREDEFINED = __DOXYGEN__ \
+ VFIO_PRESENT \
+ __attribute__(x)=
+
+OPTIMIZE_OUTPUT_FOR_C = YES
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = YES
+EXPAND_ONLY_PREDEF = YES
+EXTRACT_STATIC = YES
+DISTRIBUTE_GROUP_DOC = YES
+HIDE_UNDOC_MEMBERS = YES
+HIDE_UNDOC_CLASSES = YES
+HIDE_SCOPE_NAMES = YES
+GENERATE_DEPRECATEDLIST = YES
+VERBATIM_HEADERS = NO
+ALPHABETICAL_INDEX = NO
+
+HTML_TIMESTAMP = NO
+HTML_DYNAMIC_SECTIONS = YES
+SEARCHENGINE = NO
+SORT_MEMBER_DOCS = NO
+SOURCE_BROWSER = YES
+
+EXAMPLE_PATH = @TOPDIR@/examples
+EXAMPLE_PATTERNS = *.c
+EXAMPLE_RECURSIVE = YES
+
+OUTPUT_DIRECTORY = @OUTPUT@
+STRIP_FROM_PATH = @STRIP_FROM_PATH@
+GENERATE_HTML = YES
+HTML_OUTPUT = @HTML_OUTPUT@
+GENERATE_LATEX = NO
+GENERATE_MAN = NO
diff --git a/doc/api/generate_doxygen.sh b/doc/api/generate_doxygen.sh
new file mode 100755
index 00000000..ab576609
--- /dev/null
+++ b/doc/api/generate_doxygen.sh
@@ -0,0 +1,10 @@
+#! /bin/sh -e
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 Luca Boccassi <bluca@debian.org>
+
+DOXYCONF=$1
+OUTDIR=$2
+SCRIPTCSS=$3
+
+doxygen "${DOXYCONF}"
+"${SCRIPTCSS}" "${OUTDIR}"/doxygen.css
diff --git a/doc/api/generate_examples.sh b/doc/api/generate_examples.sh
new file mode 100755
index 00000000..6fcfe513
--- /dev/null
+++ b/doc/api/generate_examples.sh
@@ -0,0 +1,12 @@
+#! /bin/sh -e
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2018 Luca Boccassi <bluca@debian.org>
+
+EXAMPLES_DIR=$1
+API_EXAMPLES=$2
+
+exec > "${API_EXAMPLES}"
+printf '/**\n'
+printf '@page examples DPDK Example Programs\n\n'
+find "${EXAMPLES_DIR}" -type f -name '*.c' -printf '@example examples/%P\n' | LC_ALL=C sort
+printf '*/\n'
diff --git a/doc/api/meson.build b/doc/api/meson.build
new file mode 100644
index 00000000..30bdc573
--- /dev/null
+++ b/doc/api/meson.build
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
+
+doxygen = find_program('doxygen', required: get_option('enable_docs'))
+
+if doxygen.found()
+ # due to the CSS customisation script, which needs to run on a file that
+ # is in a subdirectory that is created at build time and thus it cannot
+ # be an individual custom_target, we need to wrap the doxygen call in a
+ # script to run the CSS modification afterwards
+ generate_doxygen = find_program('generate_doxygen.sh')
+ generate_examples = find_program('generate_examples.sh')
+ generate_css = find_program('doxy-html-custom.sh')
+
+ inputdir = join_paths(meson.source_root(), 'examples')
+ htmldir = join_paths('share', 'doc', 'dpdk')
+
+ # due to the following bug: https://github.com/mesonbuild/meson/issues/4107
+ # if install is set to true it will override build_by_default and it will
+ # cause the target to always be built. If install were to be always set to
+ # false it would be impossible to install the docs.
+ # So use a configure option for now.
+ example = custom_target('examples.dox',
+ input: inputdir,
+ output: 'examples.dox',
+ command: [generate_examples, '@INPUT@', '@OUTPUT@'],
+ install: get_option('enable_docs'),
+ install_dir: htmldir,
+ build_by_default: false)
+
+ cdata = configuration_data()
+ cdata.set('VERSION', meson.project_version())
+ cdata.set('API_EXAMPLES', join_paths(meson.build_root(), 'doc', 'api', 'examples.dox'))
+ cdata.set('OUTPUT', join_paths(meson.build_root(), 'doc', 'api'))
+ cdata.set('HTML_OUTPUT', 'api')
+ cdata.set('TOPDIR', meson.source_root())
+ cdata.set('STRIP_FROM_PATH', meson.source_root())
+
+ doxy_conf = configure_file(input: 'doxy-api.conf.in',
+ output: 'doxy-api.conf',
+ configuration: cdata,
+ install: false)
+
+ doxy_build = custom_target('doxygen',
+ depends: example,
+ input: doxy_conf,
+ output: 'api',
+ command: [generate_doxygen, '@INPUT@', '@OUTPUT@', generate_css],
+ install: get_option('enable_docs'),
+ install_dir: htmldir,
+ build_by_default: false)
+
+ doc_targets += doxy_build
+ doc_target_names += 'Doxygen_API'
+endif