drivers/infiniband/hw/usnic/usnic_transport.h
Source file repositories/reference/linux-study-clean/drivers/infiniband/hw/usnic/usnic_transport.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/infiniband/hw/usnic/usnic_transport.h- Extension
.h- Size
- 2599 bytes
- Lines
- 67
- Domain
- Driver Families
- Bucket
- drivers/infiniband
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
usnic_abi.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef USNIC_TRANSPORT_H_
#define USNIC_TRANSPORT_H_
#include "usnic_abi.h"
const char *usnic_transport_to_str(enum usnic_transport_type trans_type);
/*
* Returns number of bytes written, excluding null terminator. If
* nothing was written, the function returns 0.
*/
int usnic_transport_sock_to_str(char *buf, int buf_sz,
struct socket *sock);
/*
* Reserve a port. If "port_num" is set, then the function will try
* to reserve that particular port.
*/
u16 usnic_transport_rsrv_port(enum usnic_transport_type type, u16 port_num);
void usnic_transport_unrsrv_port(enum usnic_transport_type type, u16 port_num);
/*
* Do a fget on the socket refered to by sock_fd and returns the socket.
* Socket will not be destroyed before usnic_transport_put_socket has
* been called.
*/
struct socket *usnic_transport_get_socket(int sock_fd);
void usnic_transport_put_socket(struct socket *sock);
/*
* Call usnic_transport_get_socket before calling *_sock_get_addr
*/
int usnic_transport_sock_get_addr(struct socket *sock, int *proto,
uint32_t *addr, uint16_t *port);
int usnic_transport_init(void);
void usnic_transport_fini(void);
#endif /* !USNIC_TRANSPORT_H */
Annotation
- Immediate include surface: `usnic_abi.h`.
- Atlas domain: Driver Families / drivers/infiniband.
- 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.