include/uapi/linux/ncsi.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/ncsi.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/ncsi.h- Extension
.h- Size
- 4828 bytes
- Lines
- 137
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
enum ncsi_nl_commandsenum ncsi_nl_attrsenum ncsi_nl_pkg_attrsenum ncsi_nl_channel_attrs
Annotated Snippet
#ifndef __UAPI_NCSI_NETLINK_H__
#define __UAPI_NCSI_NETLINK_H__
/**
* enum ncsi_nl_commands - supported NCSI commands
*
* @NCSI_CMD_UNSPEC: unspecified command to catch errors
* @NCSI_CMD_PKG_INFO: list package and channel attributes. Requires
* NCSI_ATTR_IFINDEX. If NCSI_ATTR_PACKAGE_ID is specified returns the
* specific package and its channels - otherwise a dump request returns
* all packages and their associated channels.
* @NCSI_CMD_SET_INTERFACE: set preferred package and channel combination.
* Requires NCSI_ATTR_IFINDEX and the preferred NCSI_ATTR_PACKAGE_ID and
* optionally the preferred NCSI_ATTR_CHANNEL_ID.
* @NCSI_CMD_CLEAR_INTERFACE: clear any preferred package/channel combination.
* Requires NCSI_ATTR_IFINDEX.
* @NCSI_CMD_SEND_CMD: send NC-SI command to network card.
* Requires NCSI_ATTR_IFINDEX, NCSI_ATTR_PACKAGE_ID
* and NCSI_ATTR_CHANNEL_ID.
* @NCSI_CMD_SET_PACKAGE_MASK: set a whitelist of allowed packages.
* Requires NCSI_ATTR_IFINDEX and NCSI_ATTR_PACKAGE_MASK.
* @NCSI_CMD_SET_CHANNEL_MASK: set a whitelist of allowed channels.
* Requires NCSI_ATTR_IFINDEX, NCSI_ATTR_PACKAGE_ID, and
* NCSI_ATTR_CHANNEL_MASK. If NCSI_ATTR_CHANNEL_ID is present it sets
* the primary channel.
* @NCSI_CMD_MAX: highest command number
*/
enum ncsi_nl_commands {
NCSI_CMD_UNSPEC,
NCSI_CMD_PKG_INFO,
NCSI_CMD_SET_INTERFACE,
NCSI_CMD_CLEAR_INTERFACE,
NCSI_CMD_SEND_CMD,
NCSI_CMD_SET_PACKAGE_MASK,
NCSI_CMD_SET_CHANNEL_MASK,
__NCSI_CMD_AFTER_LAST,
NCSI_CMD_MAX = __NCSI_CMD_AFTER_LAST - 1
};
/**
* enum ncsi_nl_attrs - General NCSI netlink attributes
*
* @NCSI_ATTR_UNSPEC: unspecified attributes to catch errors
* @NCSI_ATTR_IFINDEX: ifindex of network device using NCSI
* @NCSI_ATTR_PACKAGE_LIST: nested array of NCSI_PKG_ATTR attributes
* @NCSI_ATTR_PACKAGE_ID: package ID
* @NCSI_ATTR_CHANNEL_ID: channel ID
* @NCSI_ATTR_DATA: command payload
* @NCSI_ATTR_MULTI_FLAG: flag to signal that multi-mode should be enabled with
* NCSI_CMD_SET_PACKAGE_MASK or NCSI_CMD_SET_CHANNEL_MASK.
* @NCSI_ATTR_PACKAGE_MASK: 32-bit mask of allowed packages.
* @NCSI_ATTR_CHANNEL_MASK: 32-bit mask of allowed channels.
* @NCSI_ATTR_MAX: highest attribute number
*/
enum ncsi_nl_attrs {
NCSI_ATTR_UNSPEC,
NCSI_ATTR_IFINDEX,
NCSI_ATTR_PACKAGE_LIST,
NCSI_ATTR_PACKAGE_ID,
NCSI_ATTR_CHANNEL_ID,
NCSI_ATTR_DATA,
NCSI_ATTR_MULTI_FLAG,
NCSI_ATTR_PACKAGE_MASK,
NCSI_ATTR_CHANNEL_MASK,
__NCSI_ATTR_AFTER_LAST,
NCSI_ATTR_MAX = __NCSI_ATTR_AFTER_LAST - 1
};
/**
* enum ncsi_nl_pkg_attrs - NCSI netlink package-specific attributes
*
* @NCSI_PKG_ATTR_UNSPEC: unspecified attributes to catch errors
* @NCSI_PKG_ATTR: nested array of package attributes
* @NCSI_PKG_ATTR_ID: package ID
* @NCSI_PKG_ATTR_FORCED: flag signifying a package has been set as preferred
* @NCSI_PKG_ATTR_CHANNEL_LIST: nested array of NCSI_CHANNEL_ATTR attributes
* @NCSI_PKG_ATTR_MAX: highest attribute number
*/
enum ncsi_nl_pkg_attrs {
NCSI_PKG_ATTR_UNSPEC,
NCSI_PKG_ATTR,
NCSI_PKG_ATTR_ID,
NCSI_PKG_ATTR_FORCED,
NCSI_PKG_ATTR_CHANNEL_LIST,
__NCSI_PKG_ATTR_AFTER_LAST,
NCSI_PKG_ATTR_MAX = __NCSI_PKG_ATTR_AFTER_LAST - 1
};
Annotation
- Detected declarations: `enum ncsi_nl_commands`, `enum ncsi_nl_attrs`, `enum ncsi_nl_pkg_attrs`, `enum ncsi_nl_channel_attrs`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.