drivers/net/fddi/skfp/h/targetos.h
Source file repositories/reference/linux-study-clean/drivers/net/fddi/skfp/h/targetos.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/fddi/skfp/h/targetos.h- Extension
.h- Size
- 4000 bytes
- Lines
- 161
- Domain
- Driver Families
- Bucket
- drivers/net
- 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
asm/io.hlinux/netdevice.hlinux/fddidevice.hlinux/skbuff.hlinux/pci.hhwmtm.hlinux/sockios.h
Detected Declarations
struct s_skfp_ioctlstruct s_smt_os
Annotated Snippet
struct s_skfp_ioctl {
unsigned short cmd; /* Command to run */
unsigned short len; /* Length of the data buffer */
unsigned char __user *data; /* Pointer to the data buffer */
};
/*
** Recognised ioctl commands for the driver
*/
#define SKFP_GET_STATS 0x05 /* Get the driver statistics */
#define SKFP_CLR_STATS 0x06 /* Zero out the driver statistics */
// The per-adapter driver structure
struct s_smt_os {
struct net_device *dev;
struct net_device *next_module;
u32 bus_type; /* bus type (0 == PCI, 1 == EISA) */
struct pci_dev pdev; /* PCI device structure */
unsigned long base_addr;
unsigned char factory_mac_addr[8];
ulong SharedMemSize;
ulong SharedMemHeap;
void* SharedMemAddr;
dma_addr_t SharedMemDMA;
ulong QueueSkb;
struct sk_buff_head SendSkbQueue;
ulong MaxFrameSize;
u8 ResetRequested;
// MAC statistics structure
struct fddi_statistics MacStat;
// receive into this local buffer if no skb available
// data will be not valid, because multiple RxDs can
// point here at the same time, it must be at least
// MAX_FRAME_SIZE bytes in size
unsigned char *LocalRxBuffer;
dma_addr_t LocalRxBufferDMA;
// Version (required by SMT module).
u_long smc_version ;
// Required by Hardware Module (HWM).
struct hw_modul hwm ;
// For SMP-savety
spinlock_t DriverLock;
};
typedef struct s_smt_os skfddi_priv;
#endif // _TARGETOS_
Annotation
- Immediate include surface: `asm/io.h`, `linux/netdevice.h`, `linux/fddidevice.h`, `linux/skbuff.h`, `linux/pci.h`, `hwmtm.h`, `linux/sockios.h`.
- Detected declarations: `struct s_skfp_ioctl`, `struct s_smt_os`.
- Atlas domain: Driver Families / drivers/net.
- 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.