Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 May 2026 01:33:09 +0000
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 0c37c9928c68 - main - net80211: add some example doxygen inline documents
Message-ID:  <6a13a6d5.429bd.4e7acf3f@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by adrian:

URL: https://cgit.FreeBSD.org/src/commit/?id=0c37c9928c68ca50b3d5a1282d0c756e71c2ef35

commit 0c37c9928c68ca50b3d5a1282d0c756e71c2ef35
Author:     Adrian Chadd <adrian@FreeBSD.org>
AuthorDate: 2026-05-17 18:41:11 +0000
Commit:     Adrian Chadd <adrian@FreeBSD.org>
CommitDate: 2026-05-25 01:32:10 +0000

    net80211: add some example doxygen inline documents
    
    This isn't supposed to be comprehensive, I want to have examples
    for the common doxygen comments:
    
    * describing a struct
    * inside a struct - single line before the item
    * inside a struct - same line after an item
    * inside a struct - multi-line before an item
    
    These build fine with the doxygen build in tools/kerneldoc/subsys/ .
    
    Differential Revision: https://reviews.freebsd.org/D57056
---
 sys/net80211/ieee80211_var.h | 29 ++++++++++++++++++++++++++---
 1 file changed, 26 insertions(+), 3 deletions(-)

diff --git a/sys/net80211/ieee80211_var.h b/sys/net80211/ieee80211_var.h
index 2f11fa7c887f..f38489174986 100644
--- a/sys/net80211/ieee80211_var.h
+++ b/sys/net80211/ieee80211_var.h
@@ -134,8 +134,11 @@ struct ieee80211_frame;
 
 struct net80211dump_methods;
 
+/**
+ * @brief ieee80211com - the top level driver / hardware instance.
+ */
 struct ieee80211com {
-	void			*ic_softc;	/* driver softc */
+	void			*ic_softc;	/**< pointer to driver softc */
 	const char		*ic_name;	/* usually device name */
 	ieee80211_com_lock_t	ic_comlock;	/* state update lock */
 	ieee80211_tx_lock_t	ic_txlock;	/* ic/vap TX lock */
@@ -176,7 +179,15 @@ struct ieee80211com {
 	uint8_t			ic_allmulti;	/* vap's needing all multicast*/
 	uint8_t			ic_nrunning;	/* vap's marked running */
 	uint8_t			ic_curmode;	/* current mode */
+	/**
+	 * @brief Driver assigned MAC address.
+	 *
+	 * Drivers are required to populate ic_macaddr at attach time with
+	 * the MAC address of the device.  It is then used as the base for
+	 * MAC addresses created for VAP interfaces.
+	 */
 	uint8_t			ic_macaddr[IEEE80211_ADDR_LEN];
+
 	uint16_t		ic_bintval;	/* beacon interval */
 	uint16_t		ic_lintval;	/* listen interval */
 	uint16_t		ic_holdover;	/* PM hold over duration */
@@ -283,7 +294,19 @@ struct ieee80211com {
 				    struct ieee80211_regdomain *,
 				    int, struct ieee80211_channel []);
 
-	int			(*ic_set_quiet)(struct ieee80211_node *,
+	/**
+	 * @brief Handle the quiet time information element configuration.
+	 *
+	 * This allows drivers/modules to tie into the quiet time IE
+	 * for controlling the transmit duty cycle.  This may be required
+	 * for more accurate radar detection.
+	 *
+	 * @param ni The ieee80211_node which transmitted the IE (eg in a scan)
+	 *           or if unknown, the BSSID node
+	 * @param quiet_elm the quiet time element contents to parse/handle
+	 * @returns 0 for OK, non-zero with errno (eg ENOSYS)
+	 */
+	int			(*ic_set_quiet)(struct ieee80211_node *ni,
 				    u_int8_t *quiet_elm);
 
 	/* regular transmit */
@@ -296,7 +319,7 @@ struct ieee80211com {
 	int			(*ic_raw_xmit)(struct ieee80211_node *,
 				    struct mbuf *,
 				    const struct ieee80211_bpf_params *);
-	/* update device state for 802.11 slot time change */
+	/** update device state for 802.11 slot time change */
 	void			(*ic_updateslot)(struct ieee80211com *);
 	/* handle multicast state changes */
 	void			(*ic_update_mcast)(struct ieee80211com *);


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a13a6d5.429bd.4e7acf3f>