drivers/net/fddi/skfp/h/smt.h
Source file repositories/reference/linux-study-clean/drivers/net/fddi/skfp/h/smt.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/fddi/skfp/h/smt.h- Extension
.h- Size
- 23279 bytes
- Lines
- 877
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct smt_sidstruct smt_parastruct smt_p_unastruct smt_p_sdestruct smt_p_statestruct smt_p_timestampstruct smt_p_policystruct smt_p_latencystruct smt_p_neighborstruct smt_phy_recstruct smt_mac_recstruct smt_p_pathstruct smt_p_mac_statusstruct smt_p_lemstruct smt_p_mac_counterstruct smt_p_mac_fncstruct smt_p_prioritystruct smt_p_ebstruct smp_p_manufacturerstruct smp_p_userstruct smt_p_echostruct smt_p_reasonstruct smt_p_refusedstruct smt_p_versionstruct smt_p_0015struct smt_p_0016struct smt_p_0017struct smt_p_0018struct smt_p_0019struct smt_p_001astruct smt_p_001bstruct smt_p_001cstruct smt_p_001dstruct smt_p_fscstruct smt_p_1048struct smt_p_208cstruct smt_p_208dstruct smt_p_208estruct smt_p_208fstruct smt_p_2090struct smt_p_320bstruct smt_p_320fstruct smt_p_3210struct smt_p_4050struct smt_p_4051struct smt_p_4052struct smt_p_4053struct smt_p_setcount
Annotated Snippet
struct smt_sid {
u_char sid_oem[2] ; /* implementation spec. */
struct fddi_addr sid_node ; /* node address */
} ;
typedef u_char t_station_id[8] ;
/*
* note on alignment :
* sizeof(struct smt_header) = 32
* all parameters are long aligned
* if struct smt_header starts at offset 0, all longs are aligned correctly
* (FC starts at offset 3)
*/
_packed struct smt_header {
struct fddi_addr smt_dest ; /* destination address */
struct fddi_addr smt_source ; /* source address */
u_char smt_class ; /* NIF, SIF ... */
u_char smt_type ; /* req., response .. */
u_short smt_version ; /* version id */
u_int smt_tid ; /* transaction ID */
struct smt_sid smt_sid ; /* station ID */
u_short smt_pad ; /* pad with 0 */
u_short smt_len ; /* length of info field */
} ;
#define SWAP_SMTHEADER "662sl8ss"
#if 0
/*
* MAC FC values
*/
#define FC_SMT_INFO 0x41 /* SMT info */
#define FC_SMT_NSA 0x4f /* SMT Next Station Addressing */
#endif
/*
* type codes
*/
#define SMT_ANNOUNCE 0x01 /* announcement */
#define SMT_REQUEST 0x02 /* request */
#define SMT_REPLY 0x03 /* reply */
/*
* class codes
*/
#define SMT_NIF 0x01 /* neighbor information frames */
#define SMT_SIF_CONFIG 0x02 /* station information configuration */
#define SMT_SIF_OPER 0x03 /* station information operation */
#define SMT_ECF 0x04 /* echo frames */
#define SMT_RAF 0x05 /* resource allocation */
#define SMT_RDF 0x06 /* request denied */
#define SMT_SRF 0x07 /* status report */
#define SMT_PMF_GET 0x08 /* parameter management get */
#define SMT_PMF_SET 0x09 /* parameter management set */
#define SMT_ESF 0xff /* extended service */
#define SMT_MAX_ECHO_LEN 4458 /* max length of SMT Echo */
#if defined(CONC) || defined(CONC_II)
#define SMT_TEST_ECHO_LEN 50 /* test length of SMT Echo */
#else
#define SMT_TEST_ECHO_LEN SMT_MAX_ECHO_LEN /* test length */
#endif
#define SMT_MAX_INFO_LEN (4352-20) /* max length for SMT info */
/*
* parameter types
*/
struct smt_para {
u_short p_type ; /* type */
u_short p_len ; /* length of parameter */
} ;
#define PARA_LEN (sizeof(struct smt_para))
#define SMTSETPARA(p,t) (p)->para.p_type = (t),\
(p)->para.p_len = sizeof(*(p)) - PARA_LEN
/*
* P01 : Upstream Neighbor Address, UNA
*/
#define SMT_P_UNA 0x0001 /* upstream neighbor address */
#define SWAP_SMT_P_UNA "s6"
struct smt_p_una {
struct smt_para para ; /* generic parameter header */
u_short una_pad ;
Annotation
- Detected declarations: `struct smt_sid`, `struct smt_para`, `struct smt_p_una`, `struct smt_p_sde`, `struct smt_p_state`, `struct smt_p_timestamp`, `struct smt_p_policy`, `struct smt_p_latency`, `struct smt_p_neighbor`, `struct smt_phy_rec`.
- 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.