include/uapi/linux/rds.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/rds.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/rds.h- Extension
.h- Size
- 11168 bytes
- Lines
- 422
- 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.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/socket.hlinux/in6.h
Detected Declarations
struct rds_info_counterstruct rds_info_connectionstruct rds6_info_connectionstruct rds_info_messagestruct rds6_info_messagestruct rds_info_socketstruct rds6_info_socketstruct rds_info_tcp_socketstruct rds6_info_tcp_socketstruct rds_info_rdma_connectionstruct rds6_info_rdma_connectionstruct rds_rx_trace_sostruct rds_cmsg_rx_tracestruct rds_iovecstruct rds_get_mr_argsstruct rds_get_mr_for_dest_argsstruct rds_free_mr_argsstruct rds_rdma_argsstruct rds_atomic_argsstruct rds_rdma_notifystruct rds_zcopy_cookiesenum rds_message_rxpath_latency
Annotated Snippet
struct rds_info_counter {
__u8 name[32];
__u64 value;
} __attribute__((packed));
#define RDS_INFO_CONNECTION_FLAG_SENDING 0x01
#define RDS_INFO_CONNECTION_FLAG_CONNECTING 0x02
#define RDS_INFO_CONNECTION_FLAG_CONNECTED 0x04
#define TRANSNAMSIZ 16
struct rds_info_connection {
__u64 next_tx_seq;
__u64 next_rx_seq;
__be32 laddr;
__be32 faddr;
__u8 transport[TRANSNAMSIZ]; /* null term ascii */
__u8 flags;
__u8 tos;
} __attribute__((packed));
struct rds6_info_connection {
__u64 next_tx_seq;
__u64 next_rx_seq;
struct in6_addr laddr;
struct in6_addr faddr;
__u8 transport[TRANSNAMSIZ]; /* null term ascii */
__u8 flags;
} __attribute__((packed));
#define RDS_INFO_MESSAGE_FLAG_ACK 0x01
#define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02
struct rds_info_message {
__u64 seq;
__u32 len;
__be32 laddr;
__be32 faddr;
__be16 lport;
__be16 fport;
__u8 flags;
__u8 tos;
} __attribute__((packed));
struct rds6_info_message {
__u64 seq;
__u32 len;
struct in6_addr laddr;
struct in6_addr faddr;
__be16 lport;
__be16 fport;
__u8 flags;
__u8 tos;
} __attribute__((packed));
struct rds_info_socket {
__u32 sndbuf;
__be32 bound_addr;
__be32 connected_addr;
__be16 bound_port;
__be16 connected_port;
__u32 rcvbuf;
__u64 inum;
} __attribute__((packed));
struct rds6_info_socket {
__u32 sndbuf;
struct in6_addr bound_addr;
struct in6_addr connected_addr;
__be16 bound_port;
__be16 connected_port;
__u32 rcvbuf;
__u64 inum;
} __attribute__((packed));
struct rds_info_tcp_socket {
__be32 local_addr;
__be16 local_port;
__be32 peer_addr;
__be16 peer_port;
__u64 hdr_rem;
__u64 data_rem;
__u32 last_sent_nxt;
__u32 last_expected_una;
__u32 last_seen_una;
__u8 tos;
} __attribute__((packed));
struct rds6_info_tcp_socket {
struct in6_addr local_addr;
Annotation
- Immediate include surface: `linux/types.h`, `linux/socket.h`, `linux/in6.h`.
- Detected declarations: `struct rds_info_counter`, `struct rds_info_connection`, `struct rds6_info_connection`, `struct rds_info_message`, `struct rds6_info_message`, `struct rds_info_socket`, `struct rds6_info_socket`, `struct rds_info_tcp_socket`, `struct rds6_info_tcp_socket`, `struct rds_info_rdma_connection`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.