if_fddi.h
001: 
002: 
003: 
004: 
005: 
006: 
007: 
008: 
009: 
010: <stefani@lkg.dec.com>
011: 
012: 
013: <waltje@uWalt.NL.Mugnet.ORG>
014: <becker@super.org>
015: <alan@lxorguk.ukuu.org.uk>
016: <gw7rrm@eeshack3.swan.ac.uk>
017: <stud11@cc4.kuleuven.ac.be>
018: 
019: 
020: 
021: 
022: 
023: 
024: #ifndef _LINUX_IF_FDDI_H
025: #define _LINUX_IF_FDDI_H
026: 
027: #include <linux/types.h>
028: 
029: 
030: 
031: 
032: 
033: #define FDDI_K_ALEN                     6               
034: #define FDDI_K_8022_HLEN        16              
035: #define FDDI_K_SNAP_HLEN        21              
036: #define FDDI_K_8022_ZLEN        16              
037: #define FDDI_K_SNAP_ZLEN        21              
038: #define FDDI_K_8022_DLEN        4475    
039: #define FDDI_K_SNAP_DLEN        4470    
040: #define FDDI_K_LLC_ZLEN         13              
041: #define FDDI_K_LLC_LEN          4491    
042: 
043: 
044: #define FDDI_FC_K_VOID                                  0x00    
045: #define FDDI_FC_K_NON_RESTRICTED_TOKEN  0x80    
046: #define FDDI_FC_K_RESTRICTED_TOKEN              0xC0    
047: #define FDDI_FC_K_SMT_MIN                               0x41
048: #define FDDI_FC_K_SMT_MAX                               0x4F
049: #define FDDI_FC_K_MAC_MIN                               0xC1
050: #define FDDI_FC_K_MAC_MAX                               0xCF    
051: #define FDDI_FC_K_ASYNC_LLC_MIN                 0x50
052: #define FDDI_FC_K_ASYNC_LLC_DEF                 0x54
053: #define FDDI_FC_K_ASYNC_LLC_MAX                 0x5F
054: #define FDDI_FC_K_SYNC_LLC_MIN                  0xD0
055: #define FDDI_FC_K_SYNC_LLC_MAX                  0xD7
056: #define FDDI_FC_K_IMPLEMENTOR_MIN               0x60
057: #define FDDI_FC_K_IMPLEMENTOR_MAX               0x6F
058: #define FDDI_FC_K_RESERVED_MIN                  0x70
059: #define FDDI_FC_K_RESERVED_MAX                  0x7F
060: 
061: 
062: #define FDDI_EXTENDED_SAP       0xAA
063: #define FDDI_UI_CMD                     0x03
064: 
065: 
066: struct fddi_8022_1_hdr {
067:         __u8    dsap;                                   
068:         __u8    ssap;                                   
069:         __u8    ctrl;                                   
070: } __attribute__((packed));
071: 
072: 
073: struct fddi_8022_2_hdr {
074:         __u8    dsap;                                   
075:         __u8    ssap;                                   
076:         __u8    ctrl_1;                                 
077:         __u8    ctrl_2;                                 
078: } __attribute__((packed));
079: 
080: 
081: #define FDDI_K_OUI_LEN  3
082: struct fddi_snap_hdr {
083:         __u8    dsap;                                   
084:         __u8    ssap;                                   
085:         __u8    ctrl;                                   
086:         __u8    oui[FDDI_K_OUI_LEN];    
087:         __be16  ethertype;                              
088: } __attribute__((packed));
089: 
090: 
091: struct fddihdr {
092:         __u8    fc;                                             
093:         __u8    daddr[FDDI_K_ALEN];             
094:         __u8    saddr[FDDI_K_ALEN];             
095:         union
096:                 {
097:                 struct fddi_8022_1_hdr          llc_8022_1;
098:                 struct fddi_8022_2_hdr          llc_8022_2;
099:                 struct fddi_snap_hdr            llc_snap;
100:                 } hdr;
101: } __attribute__((packed));
102: 
103: 
104: #endif  
105: 
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved