net/mac802154/trace.h
Source file repositories/reference/linux-study-clean/net/mac802154/trace.h
File Facts
- System
- Linux kernel
- Corpus path
net/mac802154/trace.h- Extension
.h- Size
- 7233 bytes
- Lines
- 299
- Domain
- Networking Core
- Bucket
- Sockets, Protocols, Packet Path, And Network Policy
- Inferred role
- Networking Core: implementation source
- Status
- source implementation candidate
Why This File Exists
Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/tracepoint.hnet/mac802154.hieee802154_i.htrace/define_trace.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#undef TRACE_SYSTEM
#define TRACE_SYSTEM mac802154
#if !defined(__MAC802154_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ)
#define __MAC802154_DRIVER_TRACE
#include <linux/tracepoint.h>
#include <net/mac802154.h>
#include "ieee802154_i.h"
#define MAXNAME 32
#define LOCAL_ENTRY __array(char, wpan_phy_name, MAXNAME)
#define LOCAL_ASSIGN strscpy(__entry->wpan_phy_name, \
wpan_phy_name(local->hw.phy), MAXNAME)
#define LOCAL_PR_FMT "%s"
#define LOCAL_PR_ARG __entry->wpan_phy_name
#define CCA_ENTRY __field(enum nl802154_cca_modes, cca_mode) \
__field(enum nl802154_cca_opts, cca_opt)
#define CCA_ASSIGN \
do { \
(__entry->cca_mode) = cca->mode; \
(__entry->cca_opt) = cca->opt; \
} while (0)
#define CCA_PR_FMT "cca_mode: %d, cca_opt: %d"
#define CCA_PR_ARG __entry->cca_mode, __entry->cca_opt
#define BOOL_TO_STR(bo) (bo) ? "true" : "false"
/* Tracing for driver callbacks */
DECLARE_EVENT_CLASS(local_only_evt4,
TP_PROTO(struct ieee802154_local *local),
TP_ARGS(local),
TP_STRUCT__entry(
LOCAL_ENTRY
),
TP_fast_assign(
LOCAL_ASSIGN;
),
TP_printk(LOCAL_PR_FMT, LOCAL_PR_ARG)
);
DEFINE_EVENT(local_only_evt4, 802154_drv_return_void,
TP_PROTO(struct ieee802154_local *local),
TP_ARGS(local)
);
TRACE_EVENT(802154_drv_return_int,
TP_PROTO(struct ieee802154_local *local, int ret),
TP_ARGS(local, ret),
TP_STRUCT__entry(
LOCAL_ENTRY
__field(int, ret)
),
TP_fast_assign(
LOCAL_ASSIGN;
__entry->ret = ret;
),
TP_printk(LOCAL_PR_FMT ", returned: %d", LOCAL_PR_ARG,
__entry->ret)
);
DEFINE_EVENT(local_only_evt4, 802154_drv_start,
TP_PROTO(struct ieee802154_local *local),
TP_ARGS(local)
);
DEFINE_EVENT(local_only_evt4, 802154_drv_stop,
TP_PROTO(struct ieee802154_local *local),
TP_ARGS(local)
);
TRACE_EVENT(802154_drv_set_channel,
TP_PROTO(struct ieee802154_local *local, u8 page, u8 channel),
TP_ARGS(local, page, channel),
TP_STRUCT__entry(
LOCAL_ENTRY
__field(u8, page)
__field(u8, channel)
),
TP_fast_assign(
LOCAL_ASSIGN;
__entry->page = page;
__entry->channel = channel;
),
TP_printk(LOCAL_PR_FMT ", page: %d, channel: %d", LOCAL_PR_ARG,
__entry->page, __entry->channel)
);
Annotation
- Immediate include surface: `linux/tracepoint.h`, `net/mac802154.h`, `ieee802154_i.h`, `trace/define_trace.h`.
- Atlas domain: Networking Core / Sockets, Protocols, Packet Path, And Network Policy.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.