From 9def990a1bd058a5565e48dc476e37aa6226ebeb Mon Sep 17 00:00:00 2001
From: Martin Teichmann <martin.teichmann@gmail.com>
Date: Mon, 24 Apr 2023 12:37:28 +0100
Subject: [PATCH] add reference documentation for ebpf

---
 ebpfcat/arraymap.py |  5 +++++
 ebpfcat/ebpf.py     |  4 ++++
 ebpfcat/ebpf.rst    | 12 ++++++++++++
 ebpfcat/xdp.py      |  3 +++
 4 files changed, 24 insertions(+)

diff --git a/ebpfcat/arraymap.py b/ebpfcat/arraymap.py
index 226716d..a99d44e 100644
--- a/ebpfcat/arraymap.py
+++ b/ebpfcat/arraymap.py
@@ -15,6 +15,11 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
+"""The ``arraymap`` module defines array maps, usually used for global
+variables in EBPF programs"""
+
+__all__ = ["ArrayMap"]
+
 from itertools import chain
 from mmap import mmap
 from struct import pack_into, unpack_from, calcsize
diff --git a/ebpfcat/ebpf.py b/ebpfcat/ebpf.py
index ab72101..25b9019 100644
--- a/ebpfcat/ebpf.py
+++ b/ebpfcat/ebpf.py
@@ -15,6 +15,10 @@
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
+"""The ``ebpf`` module contains the core ebpf code generation"""
+
+__all__ = ["EBPF", "LocalVar", "prandom", "ktime"]
+
 from abc import ABC, abstractmethod
 from collections import namedtuple
 from contextlib import contextmanager, ExitStack
diff --git a/ebpfcat/ebpf.rst b/ebpfcat/ebpf.rst
index 20681c0..2e65851 100644
--- a/ebpfcat/ebpf.rst
+++ b/ebpfcat/ebpf.rst
@@ -251,3 +251,15 @@ floor divisions ``//`` result in a standard integer. Some examples::
             self.normal_var = self.fixed_var  # automatically truncated
             self.fixed_var = self.normal_var / 5  # keep decimals
             self.fixed_var = self.normal_var // 5  # floor division
+
+Reference Documentation
+-----------------------
+
+.. automodule:: ebpfcat.ebpf
+   :members:
+
+.. automodule:: ebpfcat.xdp
+   :members:
+
+.. automodule:: ebpfcat.arraymap
+   :members:
diff --git a/ebpfcat/xdp.py b/ebpfcat/xdp.py
index d38fe93..2f6135d 100644
--- a/ebpfcat/xdp.py
+++ b/ebpfcat/xdp.py
@@ -16,6 +16,9 @@
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 """support for XDP programs"""
+
+__all__ = ["XDPExitCode", "XDPFlags", "PacketVar",  "XDP"]
+
 from asyncio import DatagramProtocol, Future, get_event_loop
 from enum import Enum
 from contextlib import asynccontextmanager, contextmanager
-- 
GitLab