netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Duncan Roe <duncan_roe@optusnet.com.au>
To: pablo@netfilter.org
Cc: netfilter-devel@vger.kernel.org
Subject: [PATCH RFC libnetfilter_queue 1/1] doc: setup: Add shell script fixmanpages.sh to make usable man pages
Date: Mon,  6 Jan 2020 18:09:15 +1100	[thread overview]
Message-ID: <20200106070915.4700-2-duncan_roe@optusnet.com.au> (raw)
In-Reply-To: <20200106070915.4700-1-duncan_roe@optusnet.com.au>

fixmanpages.sh generates a top-level man page file tree such that man/man3
contains an entry for every documented nfq function.

How it works: Doxygen generates a man page for every module. For each module,
fixmanpages.sh copies the man age to a file with the name of the first defined
function in the module: e.g. it copies tcp.3 to nfq_tcp_get_hdr.3. Then it
symlinks all the other functions defined in the module to that file, e.g.
ln -s nfq_tcp_get_hdr.3 nfq_tcp_get_payload.3.

The end result is that when a user types "man some_nfq_function", a man page
will always display.

Signed-off-by: Duncan Roe <duncan_roe@optusnet.com.au>
---
 fixmanpages.sh | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100755 fixmanpages.sh

diff --git a/fixmanpages.sh b/fixmanpages.sh
new file mode 100755
index 0000000..32b2420
--- /dev/null
+++ b/fixmanpages.sh
@@ -0,0 +1,60 @@
+#!/bin/bash -p
+#set -x
+function main
+{
+  set -e
+  rm -rf man
+  mkdir -p man/man3
+  cd doxygen/man/man3
+  setgroup LibrarySetup nfq_open
+  add2group nfq_close nfq_bind_pf nfq_unbind_pf
+  setgroup Parsing nfq_get_msg_packet_hdr
+  add2group nfq_get_nfmark nfq_get_timestamp nfq_get_indev nfq_get_physindev\
+    nfq_get_outdev nfq_get_physoutdev nfq_get_indev_name nfq_get_physindev_name\
+    nfq_get_outdev_name nfq_get_physoutdev_name nfq_get_packet_hw nfq_get_uid\
+    nfq_get_gid nfq_get_secctx nfq_get_payload
+  setgroup Queue nfq_fd
+  add2group nfq_create_queue nfq_destroy_queue nfq_handle_packet nfq_set_mode\
+    nfq_set_queue_flags nfq_set_queue_maxlen nfq_set_verdict nfq_set_verdict2\
+    nfq_set_verdict_batch nfq_set_verdict_batch2 nfq_set_verdict_mark
+  setgroup ipv4 nfq_ip_get_hdr
+  add2group nfq_ip_set_transport_header nfq_ip_mangle nfq_ip_snprintf\
+    nfq_ip_set_checksum
+  setgroup ipv6 nfq_ip6_get_hdr
+  add2group nfq_ip6_set_transport_header nfq_ip6_mangle nfq_ip6_snprintf
+  setgroup nfq_cfg nfq_nlmsg_cfg_put_cmd
+  add2group nfq_nlmsg_cfg_put_params nfq_nlmsg_cfg_put_qmaxlen
+  setgroup nfq_verd nfq_nlmsg_verdict_put
+  add2group nfq_nlmsg_verdict_put_mark nfq_nlmsg_verdict_put_pkt
+  setgroup nlmsg nfq_nlmsg_parse
+  setgroup otherfns pktb_tailroom
+  add2group pktb_mac_header pktb_network_header pktb_transport_header
+  setgroup pktbuff pktb_alloc
+  add2group pktb_usebuf pktb_data pktb_len pktb_free pktb_mangle pktb_mangled
+  setgroup tcp nfq_tcp_get_hdr
+  add2group nfq_tcp_get_payload nfq_tcp_get_payload_len\
+    nfq_tcp_compute_checksum_ipv4 nfq_tcp_compute_checksum_ipv6\
+    nfq_tcp_snprintf nfq_tcp_mangle_ipv4 nfq_tcp_mangle_ipv6
+  setgroup udp
+  add2group nfq_udp_get_hdr nfq_udp_get_payload nfq_udp_get_payload_len\
+    nfq_udp_mangle_ipv4 nfq_udp_mangle_ipv6 nfq_udp_snprintf
+  setgroup internals nfq_udp_compute_checksum_ipv4
+  add2group nfq_udp_compute_checksum_ipv6
+  setgroup uselessfns pktb_push
+  add2group pktb_pull pktb_put pktb_trim
+}
+function setgroup
+{
+  cp $1.3 ../../../man/man3/$2.3
+  BASE=$2
+}
+function add2group
+{
+  cd ../../../man/man3
+  for i in $@
+  do
+    ln -sf $BASE.3 $i.3
+  done
+  cd - >/dev/null
+}
+main
-- 
2.14.5


  reply	other threads:[~2020-01-06  7:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-06  7:09 [PATCH RFC libnetfilter_queue 0/1] Make usable man pages Duncan Roe
2020-01-06  7:09 ` Duncan Roe [this message]
2020-01-08 22:47 ` Duncan Roe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200106070915.4700-2-duncan_roe@optusnet.com.au \
    --to=duncan_roe@optusnet.com.au \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=pablo@netfilter.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).