net/ieee802154/rdev-ops.h
Source file repositories/reference/linux-study-clean/net/ieee802154/rdev-ops.h
File Facts
- System
- Linux kernel
- Corpus path
net/ieee802154/rdev-ops.h- Extension
.h- Size
- 11343 bytes
- Lines
- 408
- 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
net/cfg802154.hcore.htrace.h
Detected Declarations
function rdev_add_virtual_intf_deprecatedfunction rdev_del_virtual_intf_deprecatedfunction rdev_suspendfunction rdev_resumefunction rdev_add_virtual_intffunction rdev_del_virtual_intffunction rdev_set_channelfunction rdev_set_cca_modefunction rdev_set_cca_ed_levelfunction rdev_set_tx_powerfunction rdev_set_pan_idfunction rdev_set_short_addrfunction rdev_set_backoff_exponentfunction rdev_set_max_csma_backoffsfunction rdev_set_max_frame_retriesfunction rdev_set_lbt_modefunction rdev_set_ackreq_defaultfunction rdev_trigger_scanfunction rdev_abort_scanfunction rdev_send_beaconsfunction rdev_stop_beaconsfunction rdev_associatefunction rdev_disassociatefunction rdev_get_llsec_tablefunction rdev_lock_llsec_tablefunction rdev_unlock_llsec_tablefunction rdev_get_llsec_paramsfunction rdev_set_llsec_paramsfunction rdev_add_llsec_keyfunction rdev_del_llsec_keyfunction rdev_add_seclevelfunction rdev_del_seclevelfunction rdev_add_devicefunction rdev_del_devicefunction rdev_add_devkeyfunction rdev_del_devkey
Annotated Snippet
#ifndef __CFG802154_RDEV_OPS
#define __CFG802154_RDEV_OPS
#include <net/cfg802154.h>
#include "core.h"
#include "trace.h"
static inline struct net_device *
rdev_add_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
const char *name,
unsigned char name_assign_type,
int type)
{
return rdev->ops->add_virtual_intf_deprecated(&rdev->wpan_phy, name,
name_assign_type, type);
}
static inline void
rdev_del_virtual_intf_deprecated(struct cfg802154_registered_device *rdev,
struct net_device *dev)
{
rdev->ops->del_virtual_intf_deprecated(&rdev->wpan_phy, dev);
}
static inline int
rdev_suspend(struct cfg802154_registered_device *rdev)
{
int ret;
trace_802154_rdev_suspend(&rdev->wpan_phy);
ret = rdev->ops->suspend(&rdev->wpan_phy);
trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
return ret;
}
static inline int
rdev_resume(struct cfg802154_registered_device *rdev)
{
int ret;
trace_802154_rdev_resume(&rdev->wpan_phy);
ret = rdev->ops->resume(&rdev->wpan_phy);
trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
return ret;
}
static inline int
rdev_add_virtual_intf(struct cfg802154_registered_device *rdev, char *name,
unsigned char name_assign_type,
enum nl802154_iftype type, __le64 extended_addr)
{
int ret;
trace_802154_rdev_add_virtual_intf(&rdev->wpan_phy, name, type,
extended_addr);
ret = rdev->ops->add_virtual_intf(&rdev->wpan_phy, name,
name_assign_type, type,
extended_addr);
trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
return ret;
}
static inline int
rdev_del_virtual_intf(struct cfg802154_registered_device *rdev,
struct wpan_dev *wpan_dev)
{
int ret;
trace_802154_rdev_del_virtual_intf(&rdev->wpan_phy, wpan_dev);
ret = rdev->ops->del_virtual_intf(&rdev->wpan_phy, wpan_dev);
trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
return ret;
}
static inline int
rdev_set_channel(struct cfg802154_registered_device *rdev, u8 page, u8 channel)
{
int ret;
trace_802154_rdev_set_channel(&rdev->wpan_phy, page, channel);
ret = rdev->ops->set_channel(&rdev->wpan_phy, page, channel);
trace_802154_rdev_return_int(&rdev->wpan_phy, ret);
return ret;
}
static inline int
rdev_set_cca_mode(struct cfg802154_registered_device *rdev,
const struct wpan_phy_cca *cca)
{
int ret;
Annotation
- Immediate include surface: `net/cfg802154.h`, `core.h`, `trace.h`.
- Detected declarations: `function rdev_add_virtual_intf_deprecated`, `function rdev_del_virtual_intf_deprecated`, `function rdev_suspend`, `function rdev_resume`, `function rdev_add_virtual_intf`, `function rdev_del_virtual_intf`, `function rdev_set_channel`, `function rdev_set_cca_mode`, `function rdev_set_cca_ed_level`, `function rdev_set_tx_power`.
- 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.