/***************************************************************************/ /** **/ /** HPE CONFIDENTIAL. This software is confidential proprietary software **/ /** licensed by Hewlett-Packard Enterprise Development, LP, and is not **/ /** authorized to be used, duplicated OR disclosed to anyone without the **/ /** prior written permission of HPE. **/ /** © 2023 Copyright Hewlett-Packard Enterprise Development, LP **/ /** **/ /** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential **/ /** proprietary software licensed by VMS Software, Inc., and is not **/ /** authorized to be used, duplicated or disclosed to anyone without **/ /** the prior written permission of VMS Software, Inc. **/ /** © 2023 Copyright VMS Software, Inc. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 9-Nov-2023 12:07:55 by OpenVMS SDL V3.7 */ /* Source: 03-DEC-2022 15:38:09 $1$DGA8345:[LIB_H.SRC]LANIDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $LSBDEF ***/ #ifndef __LSBDEF_LOADED #define __LSBDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif #include /* SDL has a bug which causes the BLISSF file to produce invalid LSB fields (missing commas). */ /* Workaround is to not allow it to produce a BLISSF definition for the LSB. */ /*++ */ /* Define the LAN Station Block (LSB) fields. */ /* */ /* This structure represents a LAN station entity. There will be one used */ /* to represent each station. Each driver extends this structure to add its */ /* own device specific fields. */ /*-- */ #define LSB$M_CREATED 0x1 #define LSB$M_ENABLED 0x2 #define LSB$M_BENABLED 0x4 #define LSB$M_NMDIS 0x8 #define LSB$M_ELAN 0x10 #define LSB$M_CLIP 0x20 #define LSB$M_TIMER 0x40 #define LSB$M_LLAN 0x80 #define LSB$M_FAILDEV 0x100 #define LSB$M_FAST_TIMER 0x200 #define LSB$M_FAIL_NVALID 0x400 #define LSB$M_NM_MAC_ADDR 0x1 #define LSB$C_TIMUSB 240 /* Seconds with no USBs before we */ /* reduce RCVFIL/RCVADD */ #define LSB$C_MIN_RCV_MIN 32 /* Minimum value for RCVMNR */ #define LSB$C_DEF_RCV_MIN 128 /* Default value for RCVMNR */ #define LSB$C_MAX_RCV_MIN 1024 /* Maximum value for RCVMNR */ #define LSB$C_MIN_RCV_MAX 64 /* Minimum value for RCVMXR */ #define LSB$C_DEF_RCV_MAX 256 /* Default value for RCVMXR */ #define LSB$C_MAX_RCV_MAX 1536 /* Maximum value for RCVMXR */ #define LSB$C_RCV_INC 8 /* Increase when SBU occurs */ #define LSB$C_RCV_DEC 1 /* Decrease when no SBU occurs */ #define LSB$C_RCV_ADD 64 /* Number of additional buffers that */ /* can be added to the rcvbuf queue */ #define LSB$C_QUEUES 1024 /* Start of LSB queues */ #define LSB$C_ABORT_QS 1 /* Number of queues from which we */ #define LSB$C_QS_CLEAN_ACT 7 /* Number of Queues to clean up when */ #define LSB$C_QS_CLEAN_INACT 8 /* Number of Queues to clean up when */ #define LSB$C_INIT_QS 10 /* Number of Queues to be initialized */ #define LSB$G_V4_CTRSECT 1160 /* Start of counter section */ #define LSB$G_END_V4_CTRSECT 1344 /* End of MOP V4 counter section */ /* The following counters are CSMACD architected counters, but they are */ #define LSB$C_QUAD_CTRSIZE_C 248 /* Size of quadword CSMACD counter area */ /* The following are the FDDI specific counters that are needed in addition */ #define LSB$G_PIVCLR 1704 /* Start of Phase IV clear counters */ #define LSB$C_PIVSIZ 552 /* Size of Phase IV clear counters */ #define LSB$G_CTRSECT 2258 /* Start of counter section */ #define LSB$M_SFL_EXC 0x1 #define LSB$M_SFL_CCF 0x2 #define LSB$M_SFL_SHC 0x4 #define LSB$M_SFL_OPC 0x8 #define LSB$M_SFL_FTL 0x10 #define LSB$M_SFL_RFD 0x20 #define LSB$M_SFL_TUR 0x40 #define LSB$M_SFL_TFL 0x80 #define LSB$M_RFL_BCE 0x1 #define LSB$M_RFL_FME 0x2 #define LSB$M_RFL_FTL 0x4 #define LSB$M_RFL_RSE 0x8 #define LSB$M_RFL_RLE 0x10 #define LSB$G_END_CTRSECT 2312 /* End of counter section */ #define LSB$M_TRSFL_TUR 0x1 #define LSB$M_TRSFL_LE 0x2 #define LSB$M_TRSFL_ABS 0x4 #define LSB$M_TRSFL_LF 0x8 #define LSB$M_TRSFL_TE 0x10 #define LSB$M_TRSFL_UF 0x20 #define LSB$M_TRSFL_RC 0x40 #define LSB$M_TRRFL_RC 0x1 #define LSB$M_TRRFL_FCE 0x2 #define LSB$M_TRIFL_LWF 0x1 #define LSB$M_TRIFL_SLE 0x2 #define LSB$M_TRIFL_TMO 0x4 #define LSB$M_TRIFL_RPT 0x8 #define LSB$M_TRIFL_BCN 0x10 #define LSB$M_TRIFL_DAD 0x20 #define LSB$M_TRIFL_PSF 0x40 #define LSB$M_TRIFL_RR 0x80 #define LSB$M_TRTFL_LWF 0x1 #define LSB$M_TRTFL_SSD 0x2 #define LSB$M_TRTFL_ARF 0x4 #define LSB$M_TRTFL_RR 0x8 #define LSB$C_CTRSIZE 262 /* Size of counter area */ /* Miscellaneous characteristics of the device/driver */ #define LSB$M_DEVCTR 0x1 #define LSB$M_DEVXIDTEST 0x2 #define LSB$M_MULSEG 0x4 #define LSB$M_RCVMGT 0x8 #define LSB$M_VLAN 0x10 #define LSB$M_VIRTUAL 0x20 #define LSB$M_LINKVALID 0x40 #define LSB$M_AUTOVALID 0x80 #define LSB$M_JUMBOVALID 0x100 #define LSB$M_TSO 0x200 #define LSB$M_LRO 0x400 #define LSB$M_IP_CSUM 0x800 #define LSB$M_IPV6_CSUM 0x1000 #define LSB$M_SCTP_CSUM 0x2000 #define LSB$M_IP_RXCSUM 0x4000 #define LSB$M_TXMBUF 0x8000 #define LSB$M_RUN 0x1 #define LSB$M_INITED 0x2 #define LSB$M_MCA_OVF 0x4 #define LSB$M_FAT_ERR 0x8 #define LSB$M_BLKCTL 0x10 #define LSB$M_PCHACT 0x20 #define LSB$M_NEED_DAT_LOCK 0x40 #define LSB$M_GOT_DAT_LOCK 0x80 #define LSB$M_RING_AVAIL 0x100 #define LSB$M_FULL_DUPLEX 0x200 #define LSB$M_HOT_REPLACE_DRVR 0x400 #define LSB$M_HOT_REPLACE_ADAP 0x800 #define LSB$M_FP_CPUAFF 0x1000 #define LSB$M_AUTO_ENA 0x2000 #define LSB$M_JUMBO_ENA 0x4000 #define LSB$C_ALLPRM 2560 /* Start of settable parameters */ #define LSB$C_ALLPRMSIZ 12 /* End of the parameters that must match for all users. */ #define LSB$C_CPYPRMSIZ 24 /* End of the parameters that are copied into the LSB on INIT. */ #define LSB$C_MCA_TABLE_SIZE 512 #define LSB$C_MBX_MAX 12 #define LSB$C_LLAN_FSET_MAX 136 /* Logical LAN's failset info.(SETMAC) */ #define LSB$C_SRVRTN_PCLI_PAR 1 /* PCLI device specific paramter, */ #define LSB$C_SRVRTN_VLAN_CONNECT 2 /* Connect VLAN block */ #define LSB$C_SRVRTN_VLAN_DISCONNECT 3 /* disconnect VLAN block */ #define LSB$C_SRVRTN_AFFINITY 4 /* Underlying device has changed CPUDB */ #define LSB$K_SPARE_LONGWORDS 16 #define LSB$C_FIXED_LENGTH 7688 /* Size of fixed portion of the LSB */ /* This is the end of the common section for all drivers. However, we have */ #define LSB$M_CSMACD_ELAN_ACTIVE 0x1 #define LSB$M_CSMACD_ELAN_START 0x2 #define LSB$M_CSMACD_ELAN_SHUT 0x4 #define LSB$M_CSMACD_ELAN_UNAVAILABLE 0x8 #define LSB$M_CSMACD_LIS_ACTIVE 0x1 #define LSB$M_CSMACD_LIS_START 0x2 #define LSB$M_CSMACD_LIS_SHUT 0x4 #define LSB$M_CSMACD_LIS_UNAVAILABLE 0x8 #define LSB$C_CSMACD_LENGTH 8136 /* Size of base CSMACD LSB */ #define LSB$M_FDDI_BOO 0x1 #define LSB$M_FDDI_CTY 0x2 #define LSB$M_FDDI_UNTO 0x4 #define LSB$C_FDDI_LENGTH 7848 /* Size of base FDDI LSB */ /* Values for LSB$L_LINK_STATE */ #define LSB$C_FDDI_OFF_INIT 0 #define LSB$C_FDDI_OFF_READY 1 #define LSB$C_FDDI_OFF_FAULT_REC 2 #define LSB$C_FDDI_ON_RING_INIT 3 #define LSB$C_FDDI_ON_RING_RUN 4 #define LSB$C_FDDI_BROKEN 5 /* Values for LSB$L_RP_STATE */ #define LSB$C_FDDI_OFF 0 #define LSB$C_FDDI_CAND_PURGER 1 #define LSB$C_FDDI_NON_PURGER 2 #define LSB$C_FDDI_PURGER 3 /* Values for LSB$L_FDDI_DAT */ #define LSB$C_FDDI_UNK 0 /* Unknown */ #define LSB$C_FDDI_SUC 1 /* Success */ #define LSB$C_FDDI_FAIL 2 /* Failed */ /* Values for LSB$L_FDDI_PHY_STATE */ #define LSB$C_FDDI_INT_LOOP 0 /* Internal loopback */ #define LSB$C_FDDI_PHY_BROKEN 1 /* Broken */ #define LSB$C_FDDI_PHY_OFF_READY 2 /* Off ready */ #define LSB$C_FDDI_WAITING 3 /* Waiting */ #define LSB$C_FDDI_STARTING 4 /* Starting */ #define LSB$C_FDDI_FAILED 5 /* Failed */ #define LSB$C_FDDI_WATCH 6 /* Watch */ #define LSB$C_FDDI_IN_USE 7 /* In use */ /* Default values for MAC parameters */ #define LSB$C_FDDI_T_REQ_DFLT 100000 /* 8 ms in 80ns units */ #define LSB$C_FDDI_TVX_DFLT 32768 /* 2.62144 ms in 80ns units */ #define LSB$C_FDDI_RTTO_DFLT 12500000 /* 1000 ms in 80ns units */ #define LSB$C_MAX_XPLOR_BUF 6 #define LSB$C_TR_LENGTH 7816 /* Size of base TR LSB */ #define LSB$C_TR_SPEED_4 0 /* Speed Values */ #define LSB$C_TR_SPEED_16 1 #define LSB$C_TR_LNK_OFF 1 /* Link State Values */ #define LSB$C_TR_LNK_INI 2 #define LSB$C_TR_LNK_RUN 3 #define LSB$C_TR_LNK_RCY 4 #define LSB$C_TR_LNK_CNT 5 #define LSB$C_TR_LNK_BRK 2 #define LSB$C_ATM_LENGTH 7808 /* Size of base ATM LSB */ #ifdef __cplusplus /* Define structure prototypes */ struct _vlan; #endif /* #ifdef __cplusplus */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #else #pragma __nomember_alignment #endif typedef struct _lsbdef { /* Embedded extended fork blocks */ /* The first part of the LSB is the fork block for the Interrupt Service */ /* Routine. That fork block is always first because it is the most used */ /* fork block and placing it first makes that code more efficient. The */ /* other fork blocks follow the ISR fork block */ #pragma __nomember_alignment char lsb$g_efbisr [64]; /* Interrupt Service Rtn Fork Block */ char lsb$g_efbipl8 [64]; /* IPL 8 Fork Block */ char lsb$g_efbreset [64]; /* Reset Fork Block */ char lsb$g_efbnm [64]; /* Network Management Fork Block */ unsigned int lsb$l_error; /* Fatal error code */ int lsb$l_extra_l_0; /* Preserve quadword alignment */ /* Fields for ring pointers/indices for PUT/GET RCV/XMT/CMD/UNS/SMT */ unsigned int lsb$l_putrcv; /* Put RCV field */ unsigned int lsb$l_getrcv; /* Get RCV field */ unsigned int lsb$l_putxmt; /* Put XMT field */ unsigned int lsb$l_getxmt; /* Get XMT field */ unsigned int lsb$l_putcmd; /* Put CMD field */ unsigned int lsb$l_getcmd; /* Get CMD field */ unsigned int lsb$l_putuns; /* Put UNS field */ unsigned int lsb$l_getuns; /* Get UNS field */ unsigned int lsb$l_putsmt; /* Put SMT field */ unsigned int lsb$l_getsmt; /* Get SMT field */ /* Counters for requests outstanding/available */ unsigned int lsb$l_xmtavl; /* XMT entries owned by host */ unsigned int lsb$l_rcvcnt; /* RCV buffers owned by device */ unsigned int lsb$l_xmtcnt; /* XMT entries owned by device */ unsigned int lsb$l_cmdcnt; /* CMD entries owned by device */ unsigned int lsb$l_unscnt; /* UNS entries owned by device */ unsigned int lsb$l_smtcnt; /* SMT entries owned by device */ /* Fields for pointing at rings for SDA display */ void *lsb$a_rcvrng; /* Address of RCV ring */ unsigned int lsb$l_rcvent; /* Number of entries in RCV ring */ unsigned int lsb$l_rcvsiz; /* Number of bytes in RCV entry */ void *lsb$a_xmtrng; /* Address of XMT ring */ unsigned int lsb$l_xmtent; /* Number of entries in XMT ring */ unsigned int lsb$l_xmtsiz; /* Number of bytes in XMT entry */ void *lsb$a_cmdrng; /* Address of CMD ring */ unsigned int lsb$l_cmdent; /* Number of entries in CMD ring */ unsigned int lsb$l_cmdsiz; /* Number of bytes in CMD entry */ void *lsb$a_unsrng; /* Address of UNS ring */ unsigned int lsb$l_unsent; /* Number of entries in UNS ring */ unsigned int lsb$l_unssiz; /* Number of bytes in UNS entry */ void *lsb$a_smtrng; /* Address of SMT ring */ unsigned int lsb$l_smtent; /* Number of entries in SMT ring */ unsigned int lsb$l_smtsiz; /* Number of bytes in SMT entry */ /* These scratch fields are not "extra" fields. They are fields that are */ /* used as temporary storage by any piece of the LAN drivers. */ unsigned int lsb$l_scratch1; /* Scratch longword */ unsigned int lsb$l_scratch2; /* Scratch longword */ unsigned int lsb$l_scratch3; /* Reserved for source address filtering */ unsigned int lsb$l_scratch4; /* Scratch longword */ unsigned int lsb$l_scratch5; /* Scratch longword */ /* Fields that describe the driver and device version */ unsigned int lsb$l_lan_code; /* Address of LAN code */ unsigned int lsb$l_drv_code; /* Address of Driver code */ unsigned int lsb$l_dev1_code; /* Address of Device code */ unsigned int lsb$l_dev2_code; /* Address of Device code */ unsigned __int64 lsb$q_lan_version; /* LAN version number */ unsigned __int64 lsb$q_drv_version; /* DRV version number */ unsigned __int64 lsb$q_dev1_version; /* Device version number */ unsigned __int64 lsb$q_dev2_version; /* Device version number */ char lsb$t_hw_serial [12]; /* Hardware serial number (12 char) */ unsigned int lsb$l_hw_version; /* Hardware version number */ unsigned __int64 lsb$q_hw_bvc; /* Hardware boot verification code */ /* Fields that describe the station */ char lsb$g_ldc [40]; /* The structure for the LAN */ /* device characteristics */ unsigned int lsb$l_device; /* The DT$_ value for this device */ unsigned int lsb$l_next_lsb; /* Linked list of LSBs */ void *lsb$a_baselsb; /* Parent LSB pointer */ unsigned int lsb$l_tso_mtu; /* Max mtu for TSO */ __union { unsigned int lsb$l_flags; __struct { unsigned lsb$v_created : 1; /* Station is created */ unsigned lsb$v_enabled : 1; /* Station is enabled */ unsigned lsb$v_benabled : 1; /* Station has been enabled */ unsigned lsb$v_nmdis : 1; /* Net Man disable in progress */ unsigned lsb$v_elan : 1; /* Station is for an Emulated LAN */ unsigned lsb$v_clip : 1; /* Station is for Classical IP */ unsigned lsb$v_timer : 1; /* One-second timer enabled */ unsigned lsb$v_llan : 1; /* Station is for a Logical LAN */ unsigned lsb$v_faildev : 1; /* Station can be in a failover set */ unsigned lsb$v_fast_timer : 1; /* Transmit timer is faster */ unsigned lsb$v_fail_nvalid : 1; /* Station is down in LAN FAILOVER set */ unsigned lsb$v_fill_46_ : 5; } lsb$r_fill_21_; } lsb$r_fill_20_; /* Related data structure pointers */ unsigned int lsb$l_adp; /* Address of the ADP */ unsigned int lsb$l_idb; /* Address of the IDB */ unsigned int lsb$l_ucb0; /* Address of UCB #0 */ /* Network management fields */ void *lsb$a_eib; /* Entity Instance Block address */ unsigned int lsb$l_events; /* Number of events logged */ void *lsb$a_nm_llb; /* Pointer to LLB (LAN Link Block) */ void *lsb$a_nm_lhb; /* Pointer to LHB (LAN PHYPort Block) */ unsigned __int64 lsb$q_nm_lpb; /* LPB (LAN Port Block) queue head */ int lsb$l_nm_snm_len; /* Size of station name item list */ void *lsb$a_nm_snm; /* Pointer to station name item list */ unsigned int lsb$l_nm_last_port; /* Last used port name extension */ __union { unsigned int lsb$l_nm_flags; /* Flags - */ __struct { unsigned lsb$v_nm_mac_addr : 1; /* 0 = no address specified */ /* 1 = address specified */ unsigned lsb$v_fill_47_ : 7; } lsb$r_fill_23_; } lsb$r_fill_22_; unsigned int lsb$l_nm_min_tid; /* Lowest SMT Transaction ID in the */ /* Network Management TID range, */ /* initialized by driver. */ unsigned int lsb$l_nm_max_tid; /* Highest SMT Transaction ID in the */ /* Network Management TID range, */ /* initialized by driver. */ unsigned __int64 lsb$q_nm_desc; /* Generic descriptor */ unsigned int lsb$l_station_buf; /* Station buffer parameter */ unsigned int lsb$l_nm_scratch; /* Scratch field for calling C code */ /* Medium specific LAN routines available through the LSB. */ void *lsb$a_init_vcib; /* Init VCIB for this medium */ void *lsb$a_allocate_vcrp; /* Allocate VCRP for this medium */ /* Time stamp fields (all values stored from ABSTIMTICS) */ unsigned int lsb$l_cretim; /* Time the module was last created */ unsigned int lsb$l_deltim; /* Time the module was last deleted */ unsigned int lsb$l_enatim; /* Time the module was last enabled */ unsigned int lsb$l_distim; /* Time the module was last disabled */ unsigned int lsb$l_lstrcvtim; /* Time of last station receive */ unsigned int lsb$l_lstxmttim; /* Time of last transmit complete */ unsigned int lsb$l_lstftltim; /* Time of last fatal error */ unsigned int lsb$l_prvftltim; /* Time of previous fatal error */ unsigned int lsb$l_lstexctim; /* Time of last excessive collision */ unsigned int lsb$l_lstcartim; /* Time of last loss of carrier error */ unsigned int lsb$l_lstcoltim; /* Time of last late collision error */ unsigned int lsb$l_lstcrctim; /* Time of last receive CRC error */ unsigned int lsb$l_lstlentim; /* Time of last length error */ unsigned int lsb$l_lstusbtim; /* Time of last USB error */ unsigned int lsb$l_lstuubtim; /* Time of last UUB error */ unsigned int lsb$l_lstxertim; /* Time of last generic transmit error */ unsigned int lsb$l_lstrertim; /* Time of last generic receive error */ unsigned int lsb$l_datxmttim; /* Time a DAT transmit completed */ unsigned int lsb$l_datrcvtim; /* Time a DAT receive was found */ unsigned int lsb$l_lstrnatim; /* Time of last ring not available */ unsigned int lsb$l_lstravtim; /* Time of last ring available */ unsigned int lsb$l_lstriitim; /* Time of last Ring Inits initiated (locally) */ unsigned int lsb$l_lstrirtim; /* Time of last Ring Inits initiated (remotely) */ unsigned int lsb$l_lstrbitim; /* Time of last Ring Beacon initiated */ unsigned int lsb$l_lstdattim; /* Time of last DAT failure */ unsigned int lsb$l_lstdtdtim; /* Time of last Duplicate Token received */ unsigned int lsb$l_lstrprtim; /* Time of last Ring Purger error */ unsigned int lsb$l_lstfcitim; /* Time of last FCI strip errors */ unsigned int lsb$l_lsttritim; /* Time of last PC Trace initiated */ unsigned int lsb$l_lsttrrtim; /* Time of last PC Trace received */ unsigned int lsb$l_lstdbctim; /* Time of last Directed beacon received */ unsigned int lsb$l_lstebetim; /* Time of last Elasticity buffer error */ unsigned int lsb$l_lstlcttim; /* Time of last LCT Reject error */ unsigned int lsb$l_lstlemtim; /* Time of last LEM Reject error */ unsigned int lsb$l_lstlnktim; /* Time of last Link error */ unsigned int lsb$l_lstcnctim; /* Time of last Connections Completed */ unsigned int lsb$l_lsteentim; /* Time of last ELAN enable */ unsigned int lsb$l_lsteditim; /* Time of Last ELAN disable */ unsigned int lsb$l_lsteactim; /* Time of Last ELAN active */ unsigned int lsb$l_lsteuntim; /* Time of Last ELAN unavailable */ /* Timer fields */ unsigned int lsb$l_ctltim; /* Control timer */ unsigned int lsb$l_xmttim; /* Transmit timer */ unsigned int lsb$l_sidtim; /* Periodic SYSID timer */ unsigned int lsb$l_unatim; /* Ring unavailable timer */ unsigned int lsb$l_usbtim; /* Seconds remaining for no USB - for */ /* adjusting receive buffers */ unsigned int lsb$l_usbsav; /* Saved USB value for checking for */ /* a change in USB since last second */ /* Receive buffer fields */ unsigned int lsb$l_rcvmnr; /* Minimum buffers request by mgmt */ unsigned int lsb$l_rcvmxr; /* Maximum buffers request by mgmt */ unsigned int lsb$l_rcvmin; /* Minimum limit for RCVFIL */ unsigned int lsb$l_rcvmax; /* Maximum limit for RCVFIL */ unsigned int lsb$l_rcvcur; /* Current number of buffers */ unsigned int lsb$l_rcvfil; /* Desired number of buffers */ unsigned int lsb$l_rcvadd; /* Number of buffers allowed when */ /* adding buffers from upper layers */ /* Generic counters (all counters wrap) (end all names in CTR) */ unsigned int lsb$l_crectr; /* Number of times module was created */ unsigned int lsb$l_enactr; /* Number of times module was enabled */ unsigned int lsb$l_prtctr; /* Number of ports */ unsigned int lsb$l_excctr; /* Number of excessive collisions */ unsigned int lsb$l_ftlctr; /* Number of fatal errors detected */ unsigned int lsb$l_xmttmo; /* Number of transmit timeouts */ unsigned int lsb$l_ctltmo; /* Number of control timeouts */ unsigned int lsb$l_rsfctr; /* Number of restart failures */ unsigned int lsb$l_powerf; /* Number of powerfailures */ unsigned int lsb$l_xnwctr; /* Number of no work transmits */ unsigned int lsb$l_xbpctr; /* Number of Bad PTE transmits */ unsigned int lsb$l_xgpctr; /* Number of Global Page transmits */ unsigned int lsb$l_xsbctr; /* Number of SVAPTE/BOFF transmits */ unsigned int lsb$l_xbactr; /* Number of BUFFER_ADDRESS transmits */ unsigned int lsb$l_arpctr; /* Number of auto restarts pending */ /* Duplicate address test fields */ unsigned int lsb$l_dat_inictr; /* Number of times DAT was started */ unsigned int lsb$l_dat_errctr; /* Number of times DAT failed */ unsigned int lsb$l_dat_stage; /* The DAT stage */ unsigned int lsb$l_dat_vcrp; /* VCRP to xmt the LOOPBACK request */ unsigned __int64 lsb$q_dat_xmtsts; /* Status of the LOOPBACK transmit */ unsigned int lsb$l_dat_reqnum; /* DAT request number */ void *lsb$a_dat_ucb; /* For TR only -- DATing UCB */ /* Internal diagnostic fields */ unsigned int lsb$l_devdepend; /* Extra status flags */ unsigned int lsb$l_lsterrcsr; /* Value of CSR afer last fatal error */ unsigned int lsb$l_lstftlcod; /* Fatal error code */ unsigned int lsb$l_prvftlcod; /* Previous Fatal error code */ unsigned __int64 lsb$q_lstcrcsrc; /* Last source address of CRC error */ /* Trace fields. */ void *lsb$a_trace; /* Trace buffer address */ /* (skips the 32-bytes of trace header) */ unsigned int lsb$l_trclen; /* Trace buffer allocated length (bytes)(multiple of 32) */ /* (includes the trace header chunk) */ unsigned __int64 lsb$q_trcmask; /* Trace mask */ unsigned __int64 lsb$q_trcmask_save; /* Trace mask (saved during trace data read) */ unsigned __int64 lsb$q_trcstop; /* Trace stop mask */ unsigned int lsb$l_trcindex; /* Trace current index (8..TRCCOUNT-1)(index for trace entry about to be made) */ unsigned int lsb$l_trccount; /* Trace buffer entry count ((TRCLEN - 32) / 32) */ /* (excludes the first trace buffer entry reserved as the trace header) */ unsigned int lsb$l_trcseq; /* Trace data sequence number (1..n)(next sequence number to use) */ unsigned int lsb$l_trcintp; /* Trace data interrupt producer (0..7) */ unsigned int lsb$l_trcintc; /* Trace data interrupt consumer (0..7) */ unsigned int lsb$l_trcafter; /* Trace entries to record after stop condition has been reached */ unsigned int lsb$l_trcnextrd; /* Trace index next to read (8..TRCCOUNT - 1) */ unsigned int lsb$l_trcversion; /* Trace version 1 or 2 */ unsigned int lsb$l_trcmaskdrv; /* Trace mask default driver bits */ void *lsb$a_trcmaskdef; /* Trace mask definition */ /* Queues for holding requests. Note that the ABORT queues cannot be */ /* queues that hold requests that have set the BLKCTL flag. If so, there */ /* will be a hang when the request that blocked the CTLHLD queue is aborted */ /* because the flag is not cleared by the abort process. The flags that */ /* can hold control requests that have set the BLKCTL flag include CTLREQ, */ /* CTLPND, XMTPND, POST, and DELAY. */ /* */ /* CTLHLD queue was moved to be non-abortable due to an existing dependency */ /* by the DAT process. */ unsigned __int64 lsb$q_xmtreq; /* Transmit request queue */ /* abort requests */ unsigned __int64 lsb$q_ctlhld; /* Control hold queue */ unsigned __int64 lsb$q_ctlreq; /* Control request queue */ unsigned __int64 lsb$q_ctlpnd; /* Control pending queue */ unsigned __int64 lsb$q_post; /* Post process queue */ unsigned __int64 lsb$q_delay; /* Delay queue (must be last) */ unsigned __int64 lsb$q_xmtpnd; /* Transmit pending queue */ /* the device remains active */ unsigned __int64 lsb$q_rcvpnd; /* Receive pending queue */ /* the device is inactive */ /* The autorestart queue should not be part of the regular queues because */ /* it should not be emptied when there is a fatal error. */ unsigned __int64 lsb$q_autors; /* Automatic restart queue */ unsigned __int64 lsb$q_nmhold; /* Network management hold queue */ /* The RCVBUF queue is a single linked list and hence does not need to */ /* be initialized as a queue. */ unsigned __int64 lsb$q_rcvbuf; /* Receive buffer list */ /* Chaining information */ unsigned int lsb$l_min_chain; /* Minimum number of bytes in the */ /* first entry of a transmit chain */ unsigned int lsb$l_min_xmt; /* Minimum number of bytes that can */ /* be transmitted (either 0 or 60) */ unsigned int lsb$l_align_phy; /* Physically contiguous flag */ /* (zero if not requested, bit number */ /* of alignment if so) */ unsigned int lsb$l_align_mask; /* Receive buffer alignment mask (if */ /* ALIGN_PHY set then it is the offset */ /* into VCRP for VCRP$T_LAN_DATA) */ unsigned int lsb$l_bsz; /* Size of receive buffer data area */ unsigned int lsb$l_devhdr_len; /* Device specific xmit header length */ int lsb$l_svapte_fill; /* Obsolete */ unsigned int lsb$l_sva; /* SVA of first byte of first page */ /* Non-architected counters */ unsigned __int64 lsb$q_lbuctr; /* Link buffer unavailable (FDDI) */ /* Note: This "CTR" section must match the clear ("CLR") section that */ /* follows this section. */ /* Architected Phase V counter section (These must match the MOP V4 */ /* counter response packet format) */ __union { unsigned __int64 lsb$q_quad_ctrsect; /* Start of quadword counters */ unsigned __int64 lsb$q_zerctr; /* Seconds since last zeroed */ } lsb$r_lsb_quad_ctr_overlay; unsigned __int64 lsb$q_ocrctr; /* Octets received */ unsigned __int64 lsb$q_octctr; /* Octets sent */ unsigned __int64 lsb$q_pdrctr; /* PDUs received */ unsigned __int64 lsb$q_pdtctr; /* PDUs sent */ unsigned __int64 lsb$q_morctr; /* Multicast octets received */ unsigned __int64 lsb$q_mprctr; /* Multicast PDUs received */ unsigned __int64 lsb$q_defctr; /* Initially deferred PDUs sent */ unsigned __int64 lsb$q_sinctr; /* Single collision PDUs sent */ unsigned __int64 lsb$q_mulctr; /* Multiple collision PDUs sent */ unsigned __int64 lsb$q_excctr; /* Excessive collisions */ unsigned __int64 lsb$q_ccfctr; /* Carrier check failures */ unsigned __int64 lsb$q_shcctr; /* MOP ONLY Short circuit failure */ unsigned __int64 lsb$q_opcctr; /* MOP ONLY Open circuit failure */ unsigned __int64 lsb$q_ttlctr; /* MOP ONLY Transmit too long */ unsigned __int64 lsb$q_latctr; /* Late collisions */ unsigned __int64 lsb$q_fcectr; /* Frame check errors */ unsigned __int64 lsb$q_alictr; /* Alignment errors */ unsigned __int64 lsb$q_ftlctr; /* Frames too long */ unsigned __int64 lsb$q_uidctr; /* Unrecognized individual dest PDUs */ unsigned __int64 lsb$q_dorctr; /* Data overruns */ unsigned __int64 lsb$q_usbctr; /* Unavailable station buffers */ unsigned __int64 lsb$q_uubctr; /* Unavailable user buffers */ unsigned __int64 lsb$q_cdcctr; /* Collision detect check failures */ /* not part of the MOP V4 Counter Response packet format so they do not */ /* have to be in any special order and they cannot be included with the */ /* counters above this comment. */ unsigned __int64 lsb$q_motctr; /* Multicast octets sent */ unsigned __int64 lsb$q_mptctr; /* Multicast PDUs sent */ unsigned __int64 lsb$q_fsectr; /* Frame size errors */ unsigned __int64 lsb$q_slectr; /* Send data length errors */ unsigned __int64 lsb$q_rdlctr; /* Receive data length errors */ unsigned __int64 lsb$q_umdctr; /* Unrecognized multicast dest PDUs */ unsigned __int64 lsb$q_stfctr; /* Station failures */ /* to some of the counters above. */ unsigned __int64 lsb$q_turctr; /* Transmit underrun */ unsigned __int64 lsb$q_tflctr; /* Transmit failure */ unsigned __int64 lsb$q_rsectr; /* Frame status error */ unsigned __int64 lsb$q_rlectr; /* Frame length error */ unsigned __int64 lsb$q_mfcctr; /* MAC frame count */ unsigned __int64 lsb$q_mecctr; /* MAC error count */ unsigned __int64 lsb$q_mlcctr; /* MAC lost count */ unsigned __int64 lsb$q_riictr; /* Ring initializations initiated */ unsigned __int64 lsb$q_rirctr; /* Ring initializations received */ unsigned __int64 lsb$q_rbictr; /* Ring beacons initiated */ unsigned __int64 lsb$q_datctr; /* Duplicate address test failures */ unsigned __int64 lsb$q_dtdctr; /* Duplicate tokens detected */ unsigned __int64 lsb$q_rprctr; /* Ring purge errors */ unsigned __int64 lsb$q_fcictr; /* FCI strip errors */ unsigned __int64 lsb$q_trictr; /* Traces initiated */ unsigned __int64 lsb$q_trrctr; /* Traces received */ unsigned __int64 lsb$q_dbcctr; /* Directed beacons received */ unsigned __int64 lsb$q_ebectr; /* Elasticity buffer error */ unsigned __int64 lsb$q_lctctr; /* LCT rejects */ unsigned __int64 lsb$q_lemctr; /* LEM rejects */ unsigned __int64 lsb$q_lnkctr; /* Link errors */ unsigned __int64 lsb$q_cncctr; /* Connections completed */ /* Token Ring Specific Counters. */ /* */ /* The following counters are used from FDDI. */ /* TURCTR */ /* TFLCTR */ /* RBICTR */ unsigned __int64 lsb$q_berctr; /* Burst Errors */ unsigned __int64 lsb$q_raectr; /* Ring Poll errors */ unsigned __int64 lsb$q_lerctr; /* Line Errors */ unsigned __int64 lsb$q_tlfctr; /* Lost Frames Errors */ unsigned __int64 lsb$q_fcpctr; /* Frame Copied Errors */ unsigned __int64 lsb$q_terctr; /* Token Errors */ unsigned __int64 lsb$q_sigctr; /* Signal Loss */ unsigned __int64 lsb$q_rbectr; /* Ring Beaconing */ unsigned __int64 lsb$q_serctr; /* Soft Errors Reported */ unsigned __int64 lsb$q_lwfctr; /* Lobe Wire Fault */ unsigned __int64 lsb$q_arectr; /* Auto Removal Error */ unsigned __int64 lsb$q_rmrctr; /* Remove Received */ unsigned __int64 lsb$q_sstctr; /* Single Station Detected */ unsigned __int64 lsb$q_rrectr; /* Ring Recovery */ unsigned __int64 lsb$q_adsctr; /* Abort Delimiters sent (transmit) */ unsigned __int64 lsb$q_ierctr; /* Internal Errors */ /* Phase IV clear counter section (This section must match the Phase V */ /* counter section above) */ unsigned __int64 lsb$q_zerclr; /* Seconds since last zeroed */ unsigned __int64 lsb$q_ocrclr; /* Octets received */ unsigned __int64 lsb$q_octclr; /* Octets sent */ unsigned __int64 lsb$q_pdrclr; /* PDUs received */ unsigned __int64 lsb$q_pdtclr; /* PDUs sent */ unsigned __int64 lsb$q_morclr; /* Multicast octets received */ unsigned __int64 lsb$q_mprclr; /* Multicast PDUs received */ unsigned __int64 lsb$q_defclr; /* Initially deferred PDUs sent */ unsigned __int64 lsb$q_sinclr; /* Single collision PDUs sent */ unsigned __int64 lsb$q_mulclr; /* Multiple collision PDUs sent */ unsigned __int64 lsb$q_excclr; /* Excessive collisions */ unsigned __int64 lsb$q_ccfclr; /* Carrier check failures */ unsigned __int64 lsb$q_shcclr; /* MOP ONLY Short circuit failure */ unsigned __int64 lsb$q_opcclr; /* MOP ONLY Open circuit failure */ unsigned __int64 lsb$q_ttlclr; /* MOP ONLY Transmit too long */ unsigned __int64 lsb$q_latclr; /* Late collisions */ unsigned __int64 lsb$q_fceclr; /* Frame check errors */ unsigned __int64 lsb$q_aliclr; /* Alignment errors */ unsigned __int64 lsb$q_ftlclr; /* Frames too long */ unsigned __int64 lsb$q_uidclr; /* Unrecognized individual dest PDUs */ unsigned __int64 lsb$q_dorclr; /* Data overruns */ unsigned __int64 lsb$q_usbclr; /* Unavailable station buffers */ unsigned __int64 lsb$q_uubclr; /* Unavailable user buffers */ unsigned __int64 lsb$q_cdcclr; /* Collision detect check failures */ unsigned __int64 lsb$q_motclr; /* Multicast octets sent */ unsigned __int64 lsb$q_mptclr; /* Multicast PDUs sent */ unsigned __int64 lsb$q_fseclr; /* Frame size errors */ unsigned __int64 lsb$q_sleclr; /* Send data length errors */ unsigned __int64 lsb$q_rdlclr; /* Receive data length errors */ unsigned __int64 lsb$q_umdclr; /* Unrecognized multicast dest PDUs */ unsigned __int64 lsb$q_stfclr; /* Station failures */ unsigned __int64 lsb$q_turclr; /* Transmit underrun */ unsigned __int64 lsb$q_tflclr; /* Transmit failure */ unsigned __int64 lsb$q_rseclr; /* Frame status error */ unsigned __int64 lsb$q_rleclr; /* Frame length error */ unsigned __int64 lsb$q_mfcclr; /* MAC frame count */ unsigned __int64 lsb$q_mecclr; /* MAC error count */ unsigned __int64 lsb$q_mlcclr; /* MAC lost count */ unsigned __int64 lsb$q_riiclr; /* Ring initializations initiated */ unsigned __int64 lsb$q_rirclr; /* Ring initializations received */ unsigned __int64 lsb$q_rbiclr; /* Ring beacons initiated */ unsigned __int64 lsb$q_datclr; /* Duplicate address test failures */ unsigned __int64 lsb$q_dtdclr; /* Duplicate tokens detected */ unsigned __int64 lsb$q_rprclr; /* Ring purge errors */ unsigned __int64 lsb$q_fciclr; /* FCI strip errors */ unsigned __int64 lsb$q_triclr; /* Traces initiated */ unsigned __int64 lsb$q_trrclr; /* Traces received */ unsigned __int64 lsb$q_dbcclr; /* Directed beacons received */ unsigned __int64 lsb$q_ebeclr; /* Elasticity buffer error */ unsigned __int64 lsb$q_lctclr; /* LCT rejects */ unsigned __int64 lsb$q_lemclr; /* LEM rejects */ unsigned __int64 lsb$q_lnkclr; /* Link errors */ unsigned __int64 lsb$q_cncclr; /* Connections completed */ unsigned __int64 lsb$q_berclr; /* Burst Errors */ unsigned __int64 lsb$q_raeclr; /* Ring Poll errors */ unsigned __int64 lsb$q_lerclr; /* Line Errors */ unsigned __int64 lsb$q_tlfclr; /* Lost Frames Errors */ unsigned __int64 lsb$q_fcpclr; /* Frame Copied Errors */ unsigned __int64 lsb$q_terclr; /* Token Errors */ unsigned __int64 lsb$q_sigclr; /* Signal Loss */ unsigned __int64 lsb$q_rbeclr; /* Ring Beaconing */ unsigned __int64 lsb$q_serclr; /* Soft Errors Reported */ unsigned __int64 lsb$q_lwfclr; /* Lobe Wire Fault */ unsigned __int64 lsb$q_areclr; /* Auto Removal Error */ unsigned __int64 lsb$q_rmrclr; /* Remove Received */ unsigned __int64 lsb$q_sstclr; /* Single Station Detected */ unsigned __int64 lsb$q_rreclr; /* Ring Recovery */ unsigned __int64 lsb$q_adsclr; /* Abort Delimiters sent (transmit) */ unsigned __int64 lsb$q_ierclr; /* Internal Errors */ short int lsb$w_extra_w_0; /* Preserve quadword alignment */ unsigned short int lsb$w_zerctr; /* Seconds since last zeroed */ unsigned int lsb$l_brcctr; /* Bytes received */ unsigned int lsb$l_bsnctr; /* Bytes sent */ unsigned int lsb$l_dbrctr; /* Frames received */ unsigned int lsb$l_dbsctr; /* Frames sent */ unsigned int lsb$l_mbyctr; /* Multicast bytes received */ unsigned int lsb$l_mblctr; /* Multicast frames received */ unsigned int lsb$l_bidctr; /* Frames sent, initially deferred */ unsigned int lsb$l_bs1ctr; /* Frames sent, single collision */ unsigned int lsb$l_bsmctr; /* Frames sent, multiple collisions */ unsigned short int lsb$w_sflctr; /* Send failure */ __union { unsigned short int lsb$w_sflmap; /* Send failure reason bitmap */ __struct { unsigned lsb$v_sfl_exc : 1; /* Excessive collisions */ unsigned lsb$v_sfl_ccf : 1; /* Carrier check failure */ unsigned lsb$v_sfl_shc : 1; /* Short Circuit */ unsigned lsb$v_sfl_opc : 1; /* Open Circuit */ unsigned lsb$v_sfl_ftl : 1; /* Frame too long */ unsigned lsb$v_sfl_rfd : 1; /* Remote failure to defer */ unsigned lsb$v_sfl_tur : 1; /* Transmit underrun */ unsigned lsb$v_sfl_tfl : 1; /* Transmit failure */ } lsb$r_fill_25_; } lsb$r_fill_24_; unsigned short int lsb$w_rflctr; /* Receive failure */ __union { unsigned short int lsb$w_rflmap; /* Receive failure reason bitmap */ __struct { unsigned lsb$v_rfl_bce : 1; /* Block Check error */ unsigned lsb$v_rfl_fme : 1; /* Framing error */ unsigned lsb$v_rfl_ftl : 1; /* Frame too long */ unsigned lsb$v_rfl_rse : 1; /* Frame status error */ unsigned lsb$v_rfl_rle : 1; /* Frame length error */ unsigned lsb$v_fill_48_ : 3; } lsb$r_fill_27_; } lsb$r_fill_26_; unsigned short int lsb$w_ufdctr; /* No protocol type counter */ unsigned short int lsb$w_ovrctr; /* Data overrun */ unsigned short int lsb$w_sbuctr; /* System buffer unavailable */ unsigned short int lsb$w_ubuctr; /* No buffer available on all PTs */ unsigned int lsb$l_mbsctr; /* Multicast messages sent */ unsigned int lsb$l_msnctr; /* Multicast bytes sent */ /* Phase IV FDDI counters */ unsigned int lsb$l_mfcctr; /* MAC frame count */ unsigned int lsb$l_mecctr; /* MAC error count */ unsigned int lsb$l_mlcctr; /* MAC lost count */ unsigned int lsb$l_riictr; /* Ring initializations initiated */ unsigned int lsb$l_rirctr; /* Ring initializations received */ unsigned int lsb$l_rbictr; /* Ring beacons initiated */ unsigned int lsb$l_datctr; /* Duplicate address test failures */ unsigned int lsb$l_dtdctr; /* Duplicate tokens detected */ unsigned int lsb$l_rprctr; /* Ring purge errors */ unsigned int lsb$l_fcictr; /* FCI strip errors */ unsigned int lsb$l_trictr; /* Traces initiated */ unsigned int lsb$l_trrctr; /* Traces received */ unsigned int lsb$l_dbcctr; /* Directed beacons received */ unsigned int lsb$l_ebectr; /* Elasticity buffer error */ unsigned int lsb$l_lctctr; /* LCT rejects */ unsigned int lsb$l_lemctr; /* LEM rejects */ unsigned int lsb$l_lnkctr; /* Link errors */ unsigned int lsb$l_cncctr; /* Connections completed */ /* Phase IV Token Ring Counters */ unsigned int lsb$l_sfrctr; /* Send Failures */ __union { unsigned int lsb$l_trsflmap; __struct { unsigned lsb$v_trsfl_tur : 1; /* Transmit Underrun */ unsigned lsb$v_trsfl_le : 1; /* Line Error */ unsigned lsb$v_trsfl_abs : 1; /* Abort Delimiter Sent */ unsigned lsb$v_trsfl_lf : 1; /* Lost Frame */ unsigned lsb$v_trsfl_te : 1; /* Token Error */ unsigned lsb$v_trsfl_uf : 1; /* Unrecognized Frame */ unsigned lsb$v_trsfl_rc : 1; /* Remote Congestion */ unsigned lsb$v_fill_49_ : 1; } lsb$r_fill_29_; } lsb$r_fill_28_; unsigned int lsb$l_rfrctr; /* Receive Failures */ __union { unsigned int lsb$l_trrflmap; __struct { unsigned lsb$v_trrfl_rc : 1; /* Receiver Congested */ unsigned lsb$v_trrfl_fce : 1; /* Frame Copied Error */ unsigned lsb$v_fill_50_ : 6; } lsb$r_fill_31_; } lsb$r_fill_30_; unsigned int lsb$l_ifrctr; /* Insertion Failures */ __union { unsigned int lsb$l_triflmap; __struct { unsigned lsb$v_trifl_lwf : 1; /* Lobe Wire Fault */ unsigned lsb$v_trifl_sle : 1; /* Signal Loss Error */ unsigned lsb$v_trifl_tmo : 1; /* Timeout */ unsigned lsb$v_trifl_rpt : 1; /* Ring Purge Timeout */ unsigned lsb$v_trifl_bcn : 1; /* Beaconing */ unsigned lsb$v_trifl_dad : 1; /* Duplicate Address Detected */ unsigned lsb$v_trifl_psf : 1; /* Parameter Server Failure */ unsigned lsb$v_trifl_rr : 1; /* Remove Received */ } lsb$r_fill_33_; } lsb$r_fill_32_; unsigned int lsb$l_rgfctr; /* Ring Failures ('R' already used) */ __union { unsigned int lsb$l_trtflmap; __struct { unsigned lsb$v_trtfl_lwf : 1; /* Lobe Wire Fault */ unsigned lsb$v_trtfl_ssd : 1; /* Single Station Detected */ unsigned lsb$v_trtfl_arf : 1; /* Auto Removal Failure */ unsigned lsb$v_trtfl_rr : 1; /* Remove Received */ unsigned lsb$v_fill_51_ : 4; } lsb$r_fill_35_; } lsb$r_fill_34_; unsigned int lsb$l_rpgctr; /* Ring Purges */ unsigned int lsb$l_mncctr; /* Monitor Conention */ unsigned int lsb$l_bcnctr; /* Beaconing Conditions */ unsigned int lsb$l_lerctr; /* Line Errors */ unsigned int lsb$l_ierctr; /* Internal Errors */ unsigned int lsb$l_berctr; /* Burst Errors */ unsigned int lsb$l_raectr; /* Ring Poll AC errors */ unsigned int lsb$l_adsctr; /* Abort Delimiters sent */ unsigned int lsb$l_piectr; /* Private Isolating Errors */ unsigned int lsb$l_tlfctr; /* Transmit Lost Frames */ unsigned int lsb$l_rcectr; /* Receiver Congestion Errors */ unsigned int lsb$l_fcectr; /* Frame Copied Errors */ unsigned int lsb$l_ferctr; /* Frequency Errors */ unsigned int lsb$l_terctr; /* Token Errors */ unsigned int lsb$l_pnectr; /* Private Non-Isolating Errors */ /* Miscellaneous counters returned in QIO */ unsigned short int lsb$w_cdcctr; /* Transmit collision check failure */ short int lsb$w_extra_w_1; /* Preserve longword alignment */ /* Miscellaneous internal counters */ unsigned int lsb$l_chlmsg; /* Number of Channel Loopbacks sent */ unsigned int lsb$l_chlerr; /* Number of Channel Loopback failures */ unsigned int lsb$l_sidmsg; /* Number of System IDs sent */ unsigned int lsb$l_siderr; /* Number of System ID failures */ unsigned int lsb$l_rqcmsg; /* Number of Request Counters msg sent */ unsigned int lsb$l_rqcerr; /* Number of Request Counters msg fail */ unsigned int lsb$l_ravctr; /* Number of ring avail transitions */ unsigned int lsb$l_rnactr; /* Number of ring unavail transitions */ __union { unsigned int lsb$l_char; /* Device characteristics word */ __struct { unsigned lsb$v_devctr : 1; /* When set, the device maintains */ /* some of the counters */ unsigned lsb$v_devxidtest : 1; /* When set, the device responds to */ /* XID/TEST directed to the NULL or */ /* SNAP SAP */ unsigned lsb$v_mulseg : 1; /* When set, the device allows */ /* multiple chain segments per transmit */ unsigned lsb$v_rcvmgt : 1; /* When set, the driver does its own */ /* buffer management for receive */ unsigned lsb$v_vlan : 1; /* Device is VLAN capable */ unsigned lsb$v_virtual : 1; /* Device is virtual */ unsigned lsb$v_linkvalid : 1; /* Link state is valid */ unsigned lsb$v_autovalid : 1; /* Auto-negotiation enable status is valid */ unsigned lsb$v_jumbovalid : 1; /* Jumbo frames enable status is valid */ unsigned lsb$v_tso : 1; /* Hw can do IP/IPV6 TSO */ unsigned lsb$v_lro : 1; /* Hw can do IP/IPV6 LRO */ unsigned lsb$v_ip_csum : 1; /* Hw can do CKO ip/tcp-udp */ unsigned lsb$v_ipv6_csum : 1; /* Hw can do CKO ipv6/tcp-udp */ unsigned lsb$v_sctp_csum : 1; /* Hw can do CKO SCTP */ unsigned lsb$v_ip_rxcsum : 1; /* Hw can do CKO on receive frames */ unsigned lsb$v_txmbuf : 1; /* Driver can handle BSD TX mbufs */ } lsb$r_fill_37_; } lsb$r_fill_36_; __union { unsigned int lsb$l_sts; /* Driver status */ __struct { unsigned lsb$v_run : 1; /* Device is running */ unsigned lsb$v_inited : 1; /* Initialization has begun in LAN */ unsigned lsb$v_mca_ovf : 1; /* The LSB multicast table has */ /* overflowed, so enable software */ /* filtering */ unsigned lsb$v_fat_err : 1; /* When set, we are in the LAN */ /* cleanup routine for fatal errors */ unsigned lsb$v_blkctl : 1; /* When set, we are blocking control */ /* requests */ unsigned lsb$v_pchact : 1; /* When set, we are in the */ /* PROCESS_CTLHLD routine */ unsigned lsb$v_need_dat_lock : 1; /* When set, we are waiting for */ /* another LSB to complete its DAT */ /* so we can start ours */ unsigned lsb$v_got_dat_lock : 1; /* When set, we are holding the DAT */ /* LOCK because we are doing a DAT */ unsigned lsb$v_ring_avail : 1; /* When set, the ring is available */ /* indicating that PORT USABLE events */ /* should be reported to all VCI users */ /* who start successfully */ unsigned lsb$v_full_duplex : 1; /* When set, the adapter is in full */ /* duplex mode */ unsigned lsb$v_hot_replace_drvr : 1; /* When set, the driver is being replaced */ unsigned lsb$v_hot_replace_adap : 1; /* When set, the adapter is being replaced */ unsigned lsb$v_fp_cpuaff : 1; /* When set, adapter is fast path enabled for CPU affinity */ unsigned lsb$v_auto_ena : 1; /* Auto-negotiation is enabled */ unsigned lsb$v_jumbo_ena : 1; /* Jumbo frames are enabled */ unsigned lsb$v_sts_filler : 17; /* force longword */ } lsb$r_fill_39_; } lsb$r_fill_38_; unsigned int lsb$l_mlt; /* Multicast (all) address state */ unsigned int lsb$l_prm; /* Promiscuous mode */ unsigned int lsb$l_prmuser; /* Promiscuous user's UCB address */ unsigned int lsb$l_media; /* Media selection */ unsigned int lsb$l_speed; /* Line speed in megabits/sec */ unsigned int lsb$l_jumbo; /* Jumbo frame mode flag */ unsigned int lsb$l_autoneg; /* Auto-negotiation mode flag */ unsigned int lsb$l_flowcnt; /* Flow control mode flag */ /* Start of the parameters that must match for all users. */ unsigned int lsb$l_con; /* Controller mode */ unsigned int lsb$l_ilp; /* Internal loopback mode */ unsigned int lsb$l_crc; /* CRC generation mode */ int lsb$l_extra_l_3; /* Preserve quadword alignment */ unsigned short int lsb$g_pha [4]; /* User defined physical address (6 bytes) */ unsigned short int lsb$g_hwa [4]; /* Hardware address (6 bytes) */ unsigned short int lsb$g_nmpha [4]; /* Network management assigned address (6 bytes) */ unsigned int lsb$l_line_param; /* Address of line parameter validation table */ unsigned int lsb$l_circuit_param; /* Address of circuit parameter validation table */ /* Miscellaneous */ unsigned int lsb$l_untcnt; /* Number of active units (UCB's) */ unsigned int lsb$l_gen_multi; /* Address of a driver specific multicast table */ unsigned int lsb$l_mca_max; /* Maximum number of entries allowed in multicast table */ unsigned int lsb$l_mca_cur; /* Number of entries enabled in the multicast table */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif unsigned __int64 lsb$g_mca_table [512]; /* Multicast Table */ #pragma __nomember_alignment unsigned int lsb$l_dev_opr; /* Current device operational state */ unsigned int lsb$l_fdx_ena; /* Full Duplex Enable */ unsigned int lsb$l_fdx_opr; /* Full Duplex Operational */ unsigned int lsb$l_maxfsz; /* Maximum Frame Size (excluding CRC) */ unsigned int lsb$l_qos; /* Quality of Service specifier */ /* Driver entry points */ unsigned int lsb$l_reg_hwa; /* Address of Register Hardware Address Routine */ unsigned int lsb$l_valid_cnm; /* Address of CNM validation routine */ unsigned int lsb$l_valid_fmt; /* Address of FMT validation routine */ unsigned int lsb$l_valid_gsp; /* Address of GSP validation routine */ unsigned int lsb$l_valid_mca; /* Address of MCA validation routine */ unsigned int lsb$l_valid_src; /* Address of SRC validation routine */ unsigned int lsb$l_valid_pha; /* Address of PHA validation routine */ unsigned int lsb$l_valid_pid; /* Address of PID validation routine */ unsigned int lsb$l_valid_prm; /* Address of PRM validation routine */ unsigned int lsb$l_valid_pty; /* Address of PTY validation routine */ unsigned int lsb$l_valid_sap; /* Address of SAP validation routine */ unsigned int lsb$l_set_cnm; /* Address of CNM set routine */ unsigned int lsb$l_set_des; /* Address of DES set routine */ unsigned int lsb$l_set_mca; /* Address of MCA set routine */ unsigned int lsb$l_set_src; /* Address of SRC set routine */ unsigned int lsb$l_set_pha; /* Address of PHA set routine */ unsigned int lsb$l_set_mnr; /* Address of set min receive routine */ unsigned int lsb$l_set_mxr; /* Address of set max receive routine */ unsigned int lsb$l_set_80ns; /* Address of driver's set 80 ns timer routine */ unsigned int lsb$l_set_rtto; /* Address of driver's set Restricted Token Timeout Routine */ unsigned int lsb$l_sho_80ns; /* Address of driver's show 80 ns timer routine */ unsigned int lsb$l_sho_rtto; /* Address of driver's show Restricted Token Timeout Routine */ unsigned int lsb$l_sysid_msg; /* Address of driver's SYSID message */ unsigned int lsb$l_dev_timer; /* Address of device specific timer routine */ unsigned int lsb$l_process_ctl; /* Address of PROCESS_CTLHLD routine */ unsigned int lsb$l_dev_transmit; /* Address of device specific transmit routine */ unsigned int lsb$l_sho_lnk; /* Address of dev specific Show Link routine */ void (*lsb$a_fork_proc)(); /* Address of dev FORK-PROC routine */ void (*lsb$a_chngpro)(); /* Address of dev$ CHNGPRO routine */ void (*lsb$a_counter)(); /* Address of dev$ COUNTER routine */ void (*lsb$a_diag)(); /* Address of dev$ DIAG routine */ void (*lsb$a_init)(); /* Address of dev$ INIT routine */ void (*lsb$a_port)(); /* Address of dev$ PORT routine */ void (*lsb$a_power_fail)(); /* Address of dev$ POWER_FAIL routine */ void (*lsb$a_receive)(); /* Address of dev$ RECEIVE routine */ void (*lsb$a_sense_mac)(); /* Address of dev$ SENSE_MAC routine */ void (*lsb$a_set_mac)(); /* Address of dev$ SET_MAC routine */ void (*lsb$a_stop)(); /* Address of dev$ STOP routine */ void (*lsb$a_stoppro)(); /* Address of dev$ STOPPRO routine */ void (*lsb$a_strtpro)(); /* Address of dev$ STRTPRO routine */ void (*lsb$a_strtpropha)(); /* Address of dev$ STRTPROPHA routine */ void (*lsb$a_timer)(); /* Address of dev$ TIMER routine */ int (*lsb$a_transmit)(); /* Address of dev$ TRANSMIT routine */ void (*lsb$a_unit_init)(); /* Address of dev$ UNIT_INIT routine */ void (*lsb$a_mask)(); /* Address of dev$ MASK routine */ __union { void *lsb$a_elan_lsbs; /* linked list of ELAN LSBs */ void *lsb$a_port_lsbs; /* linked list of Ports LSBs */ void *lsb$a_clip_lsbs; /* linked list of CLIP LSBs */ } lsb$r_lsb_ptr_overlay; /* The following fields are used by LAN to find the Driver's internal */ /* counter area and internal counter area size. This is to allow the */ /* LAN module ACCESS FDT routine to return the Driver internal counters. */ unsigned int lsb$l_internal_ctrs; /* Address of internal counter area */ unsigned int lsb$l_internal_ctrsize; /* Size of internal counter area */ unsigned int lsb$l_internal_ctrstr; /* Address of counter ASCIZ strings */ /* Filtering Fields */ /* MON is set/cleared upon monitor user startup/stop or device initialization. */ /* PRM is set/cleared upon promiscuous user startup/stop or device initialization. */ /* MONPRM is the OR of MON and PRM which is done after each user startup, */ /* change, stop or device initialization. */ /* These fields maintain the same state as other device parameters, ie. 'set' */ /* or 'on' is NMA$C_STATE_ON and 'cleared' or 'off' is NMA$C_STATE_OFF. */ unsigned int lsb$l_mon; /* Monitor user flag (0 if exists) */ unsigned int lsb$l_monprm; /* Monitor or prom user flag (0 if so) */ void *lsb$a_mon_user1; /* Address of monitoring routine 1 */ void *lsb$a_mon_user2; /* Address of monitoring routine 2 */ int lsb$l_extra_l_4; /* Preserve quadword alignment */ /* This is used during 802 filtered to record whether we have already */ /* taken care of the promiscuous user (since we can deliver multiple */ /* copies due to GSAPs). Also, to indicate whether we have actually */ /* delivered a copy of the packet yet (to detect true 'no user'). */ unsigned int lsb$l_prm_done; /* Promiscuous user done */ unsigned int lsb$l_delivered; /* Packet was delivered to a user */ unsigned int lsb$l_next_802; /* Next 'real' 802 user */ unsigned int lsb$l_rsp_802; /* Response (XID/TEST) needed for this frame */ /* These are set to -1 during initialization and when a user is stopped, */ /* changed or started. Thereafter, the LAST field records the last protocol */ /* value and the UCB records the user who owned that value (zero if not owned */ /* by anyone). */ unsigned int lsb$l_pty_ucb; /* UCB for 'last' protocol type seen */ unsigned int lsb$l_pty_last; /* Last protocol type seen */ unsigned int lsb$l_sap_ucb; /* UCB for 'last' SAP seen */ unsigned int lsb$l_sap_last; /* Last SAP seen */ unsigned int lsb$l_pid_ucb; /* UCB for 'last' PID seen */ unsigned __int64 lsb$q_pid_last; /* Last PID seen */ /* Mailbox area. This area consists of a count of the number of mailboxes */ /* in use, the physical base address of the CSRs for the device, the CRAM */ /* command opcode for a read and a write, followed by a list of mailbox */ /* addresses (each one pointing to a 64-byte mailbox CRAM). For drivers */ /* that need both mailbox and CSR support in the same image, the MBX_ENABLE */ /* flag is used to indicate that mailbox operation is enabled. */ __int64 lsb$q_mbx_base; /* Physical address of CSR base */ unsigned int lsb$l_mbx_read; /* CRAM command opcode for a lw read */ unsigned int lsb$l_mbx_write; /* CRAM command opcode for a lw write */ unsigned int lsb$l_mbx_num; /* Number of mailboxes in use */ unsigned int lsb$l_mbx_enable; /* LBC if mbx operation is enabled */ unsigned int lsb$g_mbx_array [12]; /* Port driver's spinlock and timer queue element. */ void *lsb$a_portlock; /* Address of LAN's port driver lock */ void *lsb$a_portlock_orig; /* Address of original port lock */ char lsb$t_tqe [64]; /* TQE for the one second timer */ /* Logical LAN driver fields. */ /* The LSB$C_LLAN_FSET_MAX must be the same size as the maximum */ /* Failover set structure defined in LLAN_LANCP.H */ unsigned int lsb$l_llan_state; /* State of Logical LAN */ unsigned int lsb$l_llan_state_req; /* Requested state of Logical LAN */ char lsb$t_llan_failset [136]; unsigned int lsb$l_llan_set_failset; /* Logical LAN's set failset info. */ unsigned int lsb$l_llan_sho_failset; /* Logical LAN's show failset info. */ void *lsb$a_llan_lsb; /* Logical LAN's LSB address */ int lsb$l_priority; /* Priority (used for LAN Failover) */ unsigned short int lsb$w_nif_timeout; /* NIF timeout (used for LAN failover) */ unsigned short int lsb$w_nif_interval; /* NIF interval (used for LAN failover) */ char lsb$g_nif_node_name [64]; /* Node name list for NIF settings */ char lsb$g_nif_node_addr [64]; /* Node address list for NIF settings */ void *lsb$a_testmsg_rcv_addr; /* ll$rcv_test_msg routine address */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _vlan *lsb$pq_vlan; /* Pointer to VLAN block */ #else unsigned __int64 lsb$pq_vlan; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ struct _vlan *lsb$pq_vlan_orig; /* Pointer to VLAN block */ #else unsigned __int64 lsb$pq_vlan_orig; #endif #pragma __nomember_alignment char lsb$t_vlandata [32]; /* VLAN set/show info */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif unsigned int (*lsb$a_service_rtn)(); /* Address of dev$service_rtn, generic entry point */ unsigned int lsb$l_first_rcv_tm; /* Timestamp - first frame received */ unsigned int lsb$l_vmtu; struct _lsbdef *lsb$ps_udplsb; /* UDPDRIVER LSB */ /* Bandwidth fields. */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *lsb$pq_bw_buffer; #else unsigned __int64 lsb$pq_bw_buffer; #endif /* Base of S2 buffer */ #pragma __nomember_alignment unsigned int lsb$l_bw_length; /* Size of S2 buffer */ unsigned int lsb$l_bw_threshold; /* Threshold when to record interval (0-no compression, >n bytes needed) */ unsigned int lsb$l_bw_offset; /* Offset to current entry in S2 buffer */ unsigned int lsb$l_bw_start_time; /* Time monitoring started (abstimtics) */ unsigned __int64 lsb$q_bw_xmt_pk; /* Xmt packets at start of interval */ unsigned __int64 lsb$q_bw_xmt_by; /* Xmt bytes at start of interval */ unsigned __int64 lsb$q_bw_rcv_pk; /* Rcv packets at start of interval */ unsigned __int64 lsb$q_bw_rcv_by; /* Rcv bytes at start of interval */ unsigned __int64 lsb$q_bw_last_time; /* Time of last entry */ /* Unrecognized unicast packet time and packet header */ unsigned int lsb$l_lstuidtim; /* Time of Last Unrecognized Unicast Destiation packet */ char lsb$g_uid_header [24]; /* Unrecognized multicast packet time and packet header */ unsigned int lsb$l_lstumdtim; /* Time of Last Unrecognized Multicast Destiation packet */ char lsb$g_umd_header [24]; /* These are spare fields for debugging */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif __union { #pragma __nomember_alignment __int64 lsb$q_lan_qreserved [8]; int lsb$l_lan_reserved [16]; } lsb$r_spare_u; /* two drivers that have two modules that need a common section defined here. */ /* The two sections will be a union so that they are overlayed on top of each */ /* other. */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif __union { /*************************************************************************** */ /* Define the CSMACD common section of the LSB. */ /*************************************************************************** */ #pragma __nomember_alignment __struct { unsigned int lsb$l_csmacd_elan_state_req; /* ELAN state request */ __union { unsigned int lsb$l_csmacd_elan_state; /* ELAN state */ __struct { unsigned lsb$v_csmacd_elan_active : 1; /* ELAN is joined/active */ unsigned lsb$v_csmacd_elan_start : 1; /* startup in progress */ unsigned lsb$v_csmacd_elan_shut : 1; /* shutdown in progress */ unsigned lsb$v_csmacd_elan_unavailable : 1; /* NIPG signalled elan down */ unsigned lsb$v_fill_52_ : 4; } lsb$r_fill_41_; } lsb$r_fill_40_; unsigned int lsb$l_csmacd_event_mask_req; /* Event mask request */ unsigned int lsb$l_csmacd_event_mask; /* Event mask */ unsigned int lsb$l_csmacd_ext_sense_req; /* Extended sense request */ unsigned int lsb$l_csmacd_ext_sense; /* Extended sense */ unsigned int lsb$l_csmacd_pvc_req; /* PVC request */ unsigned int lsb$l_csmacd_pvc; /* PVC identifer */ unsigned int lsb$l_csmacd_pvc_num; /* Number of PVC */ unsigned int lsb$l_csmacd_max_pktsize; /* MAX transmit size */ unsigned int lsb$l_csmacd_medium; /* LAN media type */ char lsb$t_csmacd_elan_name [64]; /* Name string */ char lsb$t_csmacd_elan_desc [64]; /* Desc string */ char lsb$t_csmacd_parent_dev [8]; /* Device name string */ __struct { /* LES_ADDR */ unsigned char lsb$b_csmacd_les_prefix [13]; /* LES_ADDR prefix */ unsigned char lsb$b_csmacd_les_esi [6]; /* LES_ADDR esi */ unsigned char lsb$b_csmacd_les_sel [1]; /* LES_ADDR selector */ } lsb$t_csmacd_les_addr; #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif void *lsb$a_csmacd_lec_attr; /* Address of LEC attribute buffer */ unsigned int lsb$l_csmacd_lec_len; /* Length of LEC attribute buffer */ /*************************************************************************** */ /* Define the CSMACD common section of the LSB for Classical IP (CLIP) */ /*************************************************************************** */ unsigned int lsb$l_csmacd_clip_state_req; /* CLIP state request */ __union { unsigned int lsb$l_csmacd_clip_state; /* Classical IP state */ __struct { unsigned lsb$v_csmacd_lis_active : 1; /* LIS is joined/active */ unsigned lsb$v_csmacd_lis_start : 1; /* Startup in progress */ unsigned lsb$v_csmacd_lis_shut : 1; /* Shutdown in progress */ unsigned lsb$v_csmacd_lis_unavailable : 1; /* NIPG signalled LIS down */ unsigned lsb$v_fill_53_ : 4; } lsb$r_fill_43_; } lsb$r_fill_42_; void *lsb$a_csmacd_clip_attr; /* Address of CLIP attribute buffer */ unsigned int lsb$l_csmacd_clip_len; /* Length of CLIP attribute buffer */ unsigned int lsb$l_csmacd_clip_user_type; /* CLIP Client or Server */ __struct { /* LIS_ADDR */ unsigned char lsb$b_csmacd_clip_prefix [13]; /* LIS_ADDR prefix */ unsigned char lsb$b_csmacd_clip_esi [6]; /* LIS_ADDR esi */ unsigned char lsb$b_csmacd_clip_sel [1]; /* LIS_ADDR selector */ } lsb$t_csmacd_clip_server_addr; __struct { /* Client (our) ATM Address */ unsigned char lsb$b_csmacd_clip_atm_prefix [13]; /* Client addr prefix */ unsigned char lsb$b_csmacd_clip_atm_esi [6]; /* Client addr esi */ unsigned char lsb$b_csmacd_clip_atm_sel [1]; /* Client addr selector */ } lsb$t_csmacd_clip_atm_addr; unsigned char lsb$t_csmacd_clip_proto_addr [6]; /* Client IP Address */ char lsb$b_csmacd_clip_pad1 [2]; /* Pad to longword */ unsigned char lsb$t_csmacd_clip_subnet_mask [6]; /* Client IP Subnet Mask */ char lsb$b_csmacd_clip_pad2 [2]; /* Pad to longword */ char lsb$t_csmacd_clip_name [64]; /* Name string */ void *lsb$g_clip_pvc; /* Driver's copy of PVC info */ unsigned int lsb$l_csmacd_get_pvc; /* Sense pvc state */ unsigned int lsb$l_csmacd_set_pvc; /* Address of set clip pvc */ unsigned int lsb$l_csmacd_sho_pvc; /* Address of show clip pvc */ unsigned int lsb$l_reserved; /* For longword alignment */ /*************************************************************************** */ /* Define the CSMACD common section of the LSB for Fore Thought */ /*************************************************************************** */ void *lsb$a_csmacd_lecs_cfg_handle; /* LECS config handle */ void *lsb$a_csmacd_lec_cfg_handle; /* LEC config handle */ void *lsb$a_csmacd_cbrock_handle; /* Context for ConfigCallback */ void *lsb$a_csmacd_elan_handle; /* ELAN handle */ void *lsb$a_csmacd_lec_iface_handle; /* LEC interface handle */ unsigned int lsb$l_csmacd_reserved_1; unsigned int lsb$l_csmacd_reserved_2; unsigned int lsb$l_csmacd_reserved_3; unsigned int lsb$l_csmacd_reserved_4; unsigned int lsb$l_csmacd_reserved_5; unsigned int lsb$l_csmacd_reserved_6; void *lsb$a_csmacd_clip_handle; /* CLIP handle */ void *lsb$a_csmacd_clip_cfg_handle; /* CLIP config handle */ void *lsb$a_csmacd_clip_iface_handle; /* CLIP interface handle */ unsigned int lsb$l_csmacd_reserved_7; unsigned int lsb$l_csmacd_reserved_8; unsigned int lsb$l_csmacd_reserved_9; unsigned int lsb$l_csmacd_reserved_10; unsigned int lsb$l_csmacd_reserved_11; unsigned int lsb$l_csmacd_reserved_12; } lsb$t_csmacd; /*************************************************************************** */ /* Define the FDDI common section of the LSB. */ /*************************************************************************** */ __struct { unsigned int lsb$l_fddi_dlver; /* Data Link Arch version */ unsigned int lsb$l_fddi_t_max; /* Max token rotation time */ unsigned int lsb$l_fddi_t_neg; /* Negotiated TRT */ unsigned int lsb$l_fddi_t_req; /* Requested TRT */ unsigned int lsb$l_fddi_tvx; /* Valid transmission time */ unsigned int lsb$l_fddi_rtto; /* Restricted Token Timeout */ unsigned int lsb$l_fddi_rpe; /* Ring Purger Enable */ unsigned int lsb$l_fddi_lem; /* LEM threshold */ unsigned int lsb$l_fddi_rer; /* Ring Error Reason */ unsigned int lsb$l_fddi_rjr; /* Reject Reason */ unsigned int lsb$l_fddi_lee; /* Link Error Estimate */ unsigned int lsb$l_fddi_una_dat; /* Upstream Neighbor DAT flag */ unsigned short int lsb$g_fddi_una [4]; /* Upstream neighbor address */ unsigned short int lsb$g_fddi_old_una [4]; /* Old Upstream neighbor address */ unsigned short int lsb$g_fddi_sif_conf_targ [4]; /* SIF Configuration Target */ unsigned short int lsb$g_fddi_sif_op_targ [4]; /* SIF Operational Target */ unsigned short int lsb$g_fddi_nif_targ [4]; /* NIF Target */ unsigned short int lsb$g_fddi_echo_targ [4]; /* ECHO Target */ unsigned short int lsb$g_fddi_dna [4]; /* Downstream neighbor address */ unsigned short int lsb$g_fddi_old_dna [4]; /* Old Downstream neighbor addr. */ unsigned int lsb$l_fddi_echo_dat; /* ECHO data, low byte valid only */ unsigned int lsb$l_fddi_echo_len; /* ECHO (data) packet length */ unsigned int lsb$l_fddi_phy_state; /* PHY state */ unsigned int lsb$l_fddi_link_state; /* Link state */ unsigned int lsb$l_fddi_rp_state; /* Ring Purger state */ unsigned int lsb$l_fddi_port_type; /* Port type (SAS=0) */ unsigned int lsb$l_fddi_nbr_phy; /* Neighbor PHY PORT type */ unsigned int lsb$l_fddi_dat; /* DAT results */ __union { unsigned int lsb$l_fddi_flags; __struct { unsigned lsb$v_fddi_boo : 1; /* Boot enable */ unsigned lsb$v_fddi_cty : 1; /* Claim token yield */ unsigned lsb$v_fddi_unto : 1; /* Upstream Neighbor time out */ unsigned lsb$v_fill_54_ : 5; } lsb$r_fill_45_; } lsb$r_fill_44_; unsigned int lsb$l_fddi_smt; /* Address of SMT user's UCB */ unsigned int lsb$l_fddi_smt_prm; /* Address of promiscuous SMT user's UCB */ unsigned int lsb$l_fddi_smt_type; /* Station type */ } lsb$t_fddi; /*************************************************************************** */ /* Define the Token Ring common section of the LSB. */ /*************************************************************************** */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif __struct { #pragma __nomember_alignment unsigned int lsb$l_tr_speed; /* Ring Speed */ unsigned int lsb$l_tr_etr; /* Early Token release enabled */ unsigned int lsb$l_tr_moncon; /* Monitor Contender enabled */ char lsb$b_fill_55_ [4]; #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif unsigned __int64 lsb$q_tr_naun; /* Nearest upstream neighbor */ #pragma __nomember_alignment unsigned int lsb$l_tr_rer; /* Ring Error Reason */ unsigned int lsb$l_tr_ier; /* Insert Error Reason */ unsigned int lsb$l_tr_pdn; /* Physical Drop number */ unsigned int lsb$l_tr_rgn; /* Ring number */ unsigned int lsb$l_tr_maxac; /* Max AC for this station */ unsigned int lsb$l_tr_fcfield; /* Enabled FC mask for station */ unsigned int lsb$l_tr_srcatmo; /* Source Routing cache age tmr */ unsigned int lsb$l_tr_srdtmo; /* Source Routing discovery tmr */ unsigned int lsb$l_tr_sr; /* Source Routing enabled */ void *lsb$a_tr_sr_tab; /* Pointer to SR xlation table */ unsigned int lsb$l_tr_sr_size; /* Entries in SR table */ unsigned int lsb$l_tr_sr_tabsiz; /* Real entries in SR table */ unsigned int lsb$l_tr_sr_tabbyte; /* Byte size of SR table */ unsigned int lsb$l_tr_sr_inuse; /* SR Entries currently in use */ unsigned int lsb$l_tr_sr_garbage; /* Time till next garbage coll */ unsigned int lsb$l_tr_sr_deleted; /* Number of entries deleted */ unsigned __int64 lsb$q_tr_sr_xplorq; /* Que of pending Explore VCRPs */ unsigned int lsb$l_tr_sr_xplorb; /* Number of Explore VCRPs allo */ unsigned int lsb$l_tr_sr_xplorc; /* Count of Explore ops done */ void *lsb$a_tr_fca; /* Pointer to FCA xlation table */ unsigned int lsb$l_tr_fca_used; /* Count of FCA entries in use */ unsigned int lsb$l_tr_fcmask; /* Current Func Addr mask */ void *lsb$a_tr_hdr; /* Pointer to header */ unsigned int lsb$l_tr_hdrsize; /* Size of header */ unsigned int lsb$l_tr_lnkstate; /* Link State */ } lsb$t_tr; /*************************************************************************** */ /* Define the ATM common section of the LSB. (None at this time.) */ /*************************************************************************** */ __struct { void *lsb$a_atm_drv_cm_vc_setup; /* */ void *lsb$a_atm_drv_cm_vc_teardown; /* */ void *lsb$a_atm_drv_cm_vc_flush; /* Flush transmit path */ void *lsb$a_atm_drv_cm_tm_command; /* Traffic Manager callback rtn. */ void *lsb$a_atm_drv_clip_xmt_done; /* CLIP Transmit complete rtn. */ void *lsb$a_atm_drv_clip_rcv; /* CLIP Receive rtn. */ void *lsb$a_atm_drv_handles; /* Pointer to Driver handles */ void *lsb$a_atm_usr_handles; /* Pointer to User handles */ void *lsb$a_atm_amm_handle; /* NIPG connection mgr AMM handle */ void *lsb$a_atm_addr_reg_handle; /* ADDR_REG handle adr */ void *lsb$a_atm_tm_an2_handle; /* NIPG Traffic Mgr handle adr */ void *lsb$a_atm_clip_handle; /* NIPG Classical IP handle */ void *lsb$a_atm_lec_handle; /* NIPG LAN emulation handle */ void *lsb$a_atm_rcv_handle; /* NIPG rcv pool/buffer handle */ void *lsb$a_atm_xmt_handle; /* NIPG xmt pool/buffer handle */ unsigned int lsb$l_atm_tqe_alloc; /* Number of TQE allocations done */ unsigned int lsb$l_atm_tqe_used; /* Number of active TQEs */ unsigned int lsb$l_atm_mem_alloc; /* Number of memory allocations done */ unsigned int lsb$l_atm_mem_used; /* Number of bytes in "active" allocations */ unsigned int lsb$l_atm_hwanum; /* Number of HWA available */ unsigned int lsb$l_atm_hwanum_used; /* Mask of HWA used */ /* FORE common code */ void *lsb$a_atm_cd_handle; /* Card driver handle */ void *lsb$a_atm_cd_callbacks; /* Card driver's entry points */ void *lsb$a_atm_module_profilep; /* */ unsigned int lsb$l_atm_max_vc; /* Max # of VCs */ unsigned int lsb$l_atm_reserved_1; /* For longword alignment */ unsigned int lsb$l_atm_reserved_2; /* For longword alignment */ unsigned int lsb$l_atm_reserved_3; /* For longword alignment */ unsigned int lsb$l_atm_reserved_4; /* For longword alignment */ unsigned int lsb$l_atm_reserved_5; /* For longword alignment */ } lsb$t_atm; } lsb$r_medium_specific; #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *lsb$pq_svapte_sva; /* NOSVAPTE_V9.0 Dave Fairbanks */ #else unsigned __int64 lsb$pq_svapte_sva; #endif #pragma __nomember_alignment char lsb$b_fill_56_ [16]; } LSBDEF; #if !defined(__VAXC) #define lsb$l_flags lsb$r_fill_20_.lsb$l_flags #define lsb$v_created lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_created #define lsb$v_enabled lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_enabled #define lsb$v_benabled lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_benabled #define lsb$v_nmdis lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_nmdis #define lsb$v_elan lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_elan #define lsb$v_clip lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_clip #define lsb$v_timer lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_timer #define lsb$v_llan lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_llan #define lsb$v_faildev lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_faildev #define lsb$v_fast_timer lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_fast_timer #define lsb$v_fail_nvalid lsb$r_fill_20_.lsb$r_fill_21_.lsb$v_fail_nvalid #define lsb$l_nm_flags lsb$r_fill_22_.lsb$l_nm_flags #define lsb$v_nm_mac_addr lsb$r_fill_22_.lsb$r_fill_23_.lsb$v_nm_mac_addr #define lsb$q_quad_ctrsect lsb$r_lsb_quad_ctr_overlay.lsb$q_quad_ctrsect #define lsb$q_zerctr lsb$r_lsb_quad_ctr_overlay.lsb$q_zerctr #define lsb$w_sflmap lsb$r_fill_24_.lsb$w_sflmap #define lsb$v_sfl_exc lsb$r_fill_24_.lsb$r_fill_25_.lsb$v_sfl_exc #define lsb$v_sfl_ccf lsb$r_fill_24_.lsb$r_fill_25_.lsb$v_sfl_ccf #define lsb$v_sfl_shc lsb$r_fill_24_.lsb$r_fill_25_.lsb$v_sfl_shc #define lsb$v_sfl_opc lsb$r_fill_24_.lsb$r_fill_25_.lsb$v_sfl_opc #define lsb$v_sfl_ftl lsb$r_fill_24_.lsb$r_fill_25_.lsb$v_sfl_ftl #define lsb$v_sfl_rfd lsb$r_fill_24_.lsb$r_fill_25_.lsb$v_sfl_rfd #define lsb$v_sfl_tur lsb$r_fill_24_.lsb$r_fill_25_.lsb$v_sfl_tur #define lsb$v_sfl_tfl lsb$r_fill_24_.lsb$r_fill_25_.lsb$v_sfl_tfl #define lsb$w_rflmap lsb$r_fill_26_.lsb$w_rflmap #define lsb$v_rfl_bce lsb$r_fill_26_.lsb$r_fill_27_.lsb$v_rfl_bce #define lsb$v_rfl_fme lsb$r_fill_26_.lsb$r_fill_27_.lsb$v_rfl_fme #define lsb$v_rfl_ftl lsb$r_fill_26_.lsb$r_fill_27_.lsb$v_rfl_ftl #define lsb$v_rfl_rse lsb$r_fill_26_.lsb$r_fill_27_.lsb$v_rfl_rse #define lsb$v_rfl_rle lsb$r_fill_26_.lsb$r_fill_27_.lsb$v_rfl_rle #define lsb$l_trsflmap lsb$r_fill_28_.lsb$l_trsflmap #define lsb$v_trsfl_tur lsb$r_fill_28_.lsb$r_fill_29_.lsb$v_trsfl_tur #define lsb$v_trsfl_le lsb$r_fill_28_.lsb$r_fill_29_.lsb$v_trsfl_le #define lsb$v_trsfl_abs lsb$r_fill_28_.lsb$r_fill_29_.lsb$v_trsfl_abs #define lsb$v_trsfl_lf lsb$r_fill_28_.lsb$r_fill_29_.lsb$v_trsfl_lf #define lsb$v_trsfl_te lsb$r_fill_28_.lsb$r_fill_29_.lsb$v_trsfl_te #define lsb$v_trsfl_uf lsb$r_fill_28_.lsb$r_fill_29_.lsb$v_trsfl_uf #define lsb$v_trsfl_rc lsb$r_fill_28_.lsb$r_fill_29_.lsb$v_trsfl_rc #define lsb$l_trrflmap lsb$r_fill_30_.lsb$l_trrflmap #define lsb$v_trrfl_rc lsb$r_fill_30_.lsb$r_fill_31_.lsb$v_trrfl_rc #define lsb$v_trrfl_fce lsb$r_fill_30_.lsb$r_fill_31_.lsb$v_trrfl_fce #define lsb$l_triflmap lsb$r_fill_32_.lsb$l_triflmap #define lsb$v_trifl_lwf lsb$r_fill_32_.lsb$r_fill_33_.lsb$v_trifl_lwf #define lsb$v_trifl_sle lsb$r_fill_32_.lsb$r_fill_33_.lsb$v_trifl_sle #define lsb$v_trifl_tmo lsb$r_fill_32_.lsb$r_fill_33_.lsb$v_trifl_tmo #define lsb$v_trifl_rpt lsb$r_fill_32_.lsb$r_fill_33_.lsb$v_trifl_rpt #define lsb$v_trifl_bcn lsb$r_fill_32_.lsb$r_fill_33_.lsb$v_trifl_bcn #define lsb$v_trifl_dad lsb$r_fill_32_.lsb$r_fill_33_.lsb$v_trifl_dad #define lsb$v_trifl_psf lsb$r_fill_32_.lsb$r_fill_33_.lsb$v_trifl_psf #define lsb$v_trifl_rr lsb$r_fill_32_.lsb$r_fill_33_.lsb$v_trifl_rr #define lsb$l_trtflmap lsb$r_fill_34_.lsb$l_trtflmap #define lsb$v_trtfl_lwf lsb$r_fill_34_.lsb$r_fill_35_.lsb$v_trtfl_lwf #define lsb$v_trtfl_ssd lsb$r_fill_34_.lsb$r_fill_35_.lsb$v_trtfl_ssd #define lsb$v_trtfl_arf lsb$r_fill_34_.lsb$r_fill_35_.lsb$v_trtfl_arf #define lsb$v_trtfl_rr lsb$r_fill_34_.lsb$r_fill_35_.lsb$v_trtfl_rr #define lsb$l_char lsb$r_fill_36_.lsb$l_char #define lsb$v_devctr lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_devctr #define lsb$v_devxidtest lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_devxidtest #define lsb$v_mulseg lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_mulseg #define lsb$v_rcvmgt lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_rcvmgt #define lsb$v_vlan lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_vlan #define lsb$v_virtual lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_virtual #define lsb$v_linkvalid lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_linkvalid #define lsb$v_autovalid lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_autovalid #define lsb$v_jumbovalid lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_jumbovalid #define lsb$v_tso lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_tso #define lsb$v_lro lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_lro #define lsb$v_ip_csum lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_ip_csum #define lsb$v_ipv6_csum lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_ipv6_csum #define lsb$v_sctp_csum lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_sctp_csum #define lsb$v_ip_rxcsum lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_ip_rxcsum #define lsb$v_txmbuf lsb$r_fill_36_.lsb$r_fill_37_.lsb$v_txmbuf #define lsb$l_sts lsb$r_fill_38_.lsb$l_sts #define lsb$v_run lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_run #define lsb$v_inited lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_inited #define lsb$v_mca_ovf lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_mca_ovf #define lsb$v_fat_err lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_fat_err #define lsb$v_blkctl lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_blkctl #define lsb$v_pchact lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_pchact #define lsb$v_need_dat_lock lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_need_dat_lock #define lsb$v_got_dat_lock lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_got_dat_lock #define lsb$v_ring_avail lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_ring_avail #define lsb$v_full_duplex lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_full_duplex #define lsb$v_hot_replace_drvr lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_hot_replace_drvr #define lsb$v_hot_replace_adap lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_hot_replace_adap #define lsb$v_fp_cpuaff lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_fp_cpuaff #define lsb$v_auto_ena lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_auto_ena #define lsb$v_jumbo_ena lsb$r_fill_38_.lsb$r_fill_39_.lsb$v_jumbo_ena #define lsb$a_elan_lsbs lsb$r_lsb_ptr_overlay.lsb$a_elan_lsbs #define lsb$a_port_lsbs lsb$r_lsb_ptr_overlay.lsb$a_port_lsbs #define lsb$a_clip_lsbs lsb$r_lsb_ptr_overlay.lsb$a_clip_lsbs #define lsb$q_lan_qreserved lsb$r_spare_u.lsb$q_lan_qreserved #define lsb$l_lan_reserved lsb$r_spare_u.lsb$l_lan_reserved #define lsb$t_csmacd lsb$r_medium_specific.lsb$t_csmacd #define lsb$l_csmacd_elan_state_req lsb$t_csmacd.lsb$l_csmacd_elan_state_req #define lsb$l_csmacd_elan_state lsb$t_csmacd.lsb$r_fill_40_.lsb$l_csmacd_elan_state #define lsb$v_csmacd_elan_active lsb$t_csmacd.lsb$r_fill_40_.lsb$r_fill_41_.lsb$v_csmacd_elan_active #define lsb$v_csmacd_elan_start lsb$t_csmacd.lsb$r_fill_40_.lsb$r_fill_41_.lsb$v_csmacd_elan_start #define lsb$v_csmacd_elan_shut lsb$t_csmacd.lsb$r_fill_40_.lsb$r_fill_41_.lsb$v_csmacd_elan_shut #define lsb$v_csmacd_elan_unavailable lsb$t_csmacd.lsb$r_fill_40_.lsb$r_fill_41_.lsb$v_csmacd_elan_unavailable #define lsb$l_csmacd_event_mask_req lsb$t_csmacd.lsb$l_csmacd_event_mask_req #define lsb$l_csmacd_event_mask lsb$t_csmacd.lsb$l_csmacd_event_mask #define lsb$l_csmacd_ext_sense_req lsb$t_csmacd.lsb$l_csmacd_ext_sense_req #define lsb$l_csmacd_ext_sense lsb$t_csmacd.lsb$l_csmacd_ext_sense #define lsb$l_csmacd_pvc_req lsb$t_csmacd.lsb$l_csmacd_pvc_req #define lsb$l_csmacd_pvc lsb$t_csmacd.lsb$l_csmacd_pvc #define lsb$l_csmacd_pvc_num lsb$t_csmacd.lsb$l_csmacd_pvc_num #define lsb$l_csmacd_max_pktsize lsb$t_csmacd.lsb$l_csmacd_max_pktsize #define lsb$l_csmacd_medium lsb$t_csmacd.lsb$l_csmacd_medium #define lsb$t_csmacd_elan_name lsb$t_csmacd.lsb$t_csmacd_elan_name #define lsb$t_csmacd_elan_desc lsb$t_csmacd.lsb$t_csmacd_elan_desc #define lsb$t_csmacd_parent_dev lsb$t_csmacd.lsb$t_csmacd_parent_dev #define lsb$t_csmacd_les_addr lsb$t_csmacd.lsb$t_csmacd_les_addr #define lsb$b_csmacd_les_prefix lsb$t_csmacd_les_addr.lsb$b_csmacd_les_prefix #define lsb$b_csmacd_les_esi lsb$t_csmacd_les_addr.lsb$b_csmacd_les_esi #define lsb$b_csmacd_les_sel lsb$t_csmacd_les_addr.lsb$b_csmacd_les_sel #define lsb$a_csmacd_lec_attr lsb$t_csmacd.lsb$a_csmacd_lec_attr #define lsb$l_csmacd_lec_len lsb$t_csmacd.lsb$l_csmacd_lec_len #define lsb$l_csmacd_clip_state_req lsb$t_csmacd.lsb$l_csmacd_clip_state_req #define lsb$l_csmacd_clip_state lsb$t_csmacd.lsb$r_fill_42_.lsb$l_csmacd_clip_state #define lsb$v_csmacd_lis_active lsb$t_csmacd.lsb$r_fill_42_.lsb$r_fill_43_.lsb$v_csmacd_lis_active #define lsb$v_csmacd_lis_start lsb$t_csmacd.lsb$r_fill_42_.lsb$r_fill_43_.lsb$v_csmacd_lis_start #define lsb$v_csmacd_lis_shut lsb$t_csmacd.lsb$r_fill_42_.lsb$r_fill_43_.lsb$v_csmacd_lis_shut #define lsb$v_csmacd_lis_unavailable lsb$t_csmacd.lsb$r_fill_42_.lsb$r_fill_43_.lsb$v_csmacd_lis_unavailable #define lsb$a_csmacd_clip_attr lsb$t_csmacd.lsb$a_csmacd_clip_attr #define lsb$l_csmacd_clip_len lsb$t_csmacd.lsb$l_csmacd_clip_len #define lsb$l_csmacd_clip_user_type lsb$t_csmacd.lsb$l_csmacd_clip_user_type #define lsb$t_csmacd_clip_server_addr lsb$t_csmacd.lsb$t_csmacd_clip_server_addr #define lsb$b_csmacd_clip_prefix lsb$t_csmacd_clip_server_addr.lsb$b_csmacd_clip_prefix #define lsb$b_csmacd_clip_esi lsb$t_csmacd_clip_server_addr.lsb$b_csmacd_clip_esi #define lsb$b_csmacd_clip_sel lsb$t_csmacd_clip_server_addr.lsb$b_csmacd_clip_sel #define lsb$t_csmacd_clip_atm_addr lsb$t_csmacd.lsb$t_csmacd_clip_atm_addr #define lsb$b_csmacd_clip_atm_prefix lsb$t_csmacd_clip_atm_addr.lsb$b_csmacd_clip_atm_prefix #define lsb$b_csmacd_clip_atm_esi lsb$t_csmacd_clip_atm_addr.lsb$b_csmacd_clip_atm_esi #define lsb$b_csmacd_clip_atm_sel lsb$t_csmacd_clip_atm_addr.lsb$b_csmacd_clip_atm_sel #define lsb$t_csmacd_clip_proto_addr lsb$t_csmacd.lsb$t_csmacd_clip_proto_addr #define lsb$b_csmacd_clip_pad1 lsb$t_csmacd.lsb$b_csmacd_clip_pad1 #define lsb$t_csmacd_clip_subnet_mask lsb$t_csmacd.lsb$t_csmacd_clip_subnet_mask #define lsb$b_csmacd_clip_pad2 lsb$t_csmacd.lsb$b_csmacd_clip_pad2 #define lsb$t_csmacd_clip_name lsb$t_csmacd.lsb$t_csmacd_clip_name #define lsb$g_clip_pvc lsb$t_csmacd.lsb$g_clip_pvc #define lsb$l_csmacd_get_pvc lsb$t_csmacd.lsb$l_csmacd_get_pvc #define lsb$l_csmacd_set_pvc lsb$t_csmacd.lsb$l_csmacd_set_pvc #define lsb$l_csmacd_sho_pvc lsb$t_csmacd.lsb$l_csmacd_sho_pvc #define lsb$l_reserved lsb$t_csmacd.lsb$l_reserved #define lsb$a_csmacd_lecs_cfg_handle lsb$t_csmacd.lsb$a_csmacd_lecs_cfg_handle #define lsb$a_csmacd_lec_cfg_handle lsb$t_csmacd.lsb$a_csmacd_lec_cfg_handle #define lsb$a_csmacd_cbrock_handle lsb$t_csmacd.lsb$a_csmacd_cbrock_handle #define lsb$a_csmacd_elan_handle lsb$t_csmacd.lsb$a_csmacd_elan_handle #define lsb$a_csmacd_lec_iface_handle lsb$t_csmacd.lsb$a_csmacd_lec_iface_handle #define lsb$l_csmacd_reserved_1 lsb$t_csmacd.lsb$l_csmacd_reserved_1 #define lsb$l_csmacd_reserved_2 lsb$t_csmacd.lsb$l_csmacd_reserved_2 #define lsb$l_csmacd_reserved_3 lsb$t_csmacd.lsb$l_csmacd_reserved_3 #define lsb$l_csmacd_reserved_4 lsb$t_csmacd.lsb$l_csmacd_reserved_4 #define lsb$l_csmacd_reserved_5 lsb$t_csmacd.lsb$l_csmacd_reserved_5 #define lsb$l_csmacd_reserved_6 lsb$t_csmacd.lsb$l_csmacd_reserved_6 #define lsb$a_csmacd_clip_handle lsb$t_csmacd.lsb$a_csmacd_clip_handle #define lsb$a_csmacd_clip_cfg_handle lsb$t_csmacd.lsb$a_csmacd_clip_cfg_handle #define lsb$a_csmacd_clip_iface_handle lsb$t_csmacd.lsb$a_csmacd_clip_iface_handle #define lsb$l_csmacd_reserved_7 lsb$t_csmacd.lsb$l_csmacd_reserved_7 #define lsb$l_csmacd_reserved_8 lsb$t_csmacd.lsb$l_csmacd_reserved_8 #define lsb$l_csmacd_reserved_9 lsb$t_csmacd.lsb$l_csmacd_reserved_9 #define lsb$l_csmacd_reserved_10 lsb$t_csmacd.lsb$l_csmacd_reserved_10 #define lsb$l_csmacd_reserved_11 lsb$t_csmacd.lsb$l_csmacd_reserved_11 #define lsb$l_csmacd_reserved_12 lsb$t_csmacd.lsb$l_csmacd_reserved_12 #define lsb$t_fddi lsb$r_medium_specific.lsb$t_fddi #define lsb$l_fddi_dlver lsb$t_fddi.lsb$l_fddi_dlver #define lsb$l_fddi_t_max lsb$t_fddi.lsb$l_fddi_t_max #define lsb$l_fddi_t_neg lsb$t_fddi.lsb$l_fddi_t_neg #define lsb$l_fddi_t_req lsb$t_fddi.lsb$l_fddi_t_req #define lsb$l_fddi_tvx lsb$t_fddi.lsb$l_fddi_tvx #define lsb$l_fddi_rtto lsb$t_fddi.lsb$l_fddi_rtto #define lsb$l_fddi_rpe lsb$t_fddi.lsb$l_fddi_rpe #define lsb$l_fddi_lem lsb$t_fddi.lsb$l_fddi_lem #define lsb$l_fddi_rer lsb$t_fddi.lsb$l_fddi_rer #define lsb$l_fddi_rjr lsb$t_fddi.lsb$l_fddi_rjr #define lsb$l_fddi_lee lsb$t_fddi.lsb$l_fddi_lee #define lsb$l_fddi_una_dat lsb$t_fddi.lsb$l_fddi_una_dat #define lsb$g_fddi_una lsb$t_fddi.lsb$g_fddi_una #define lsb$g_fddi_old_una lsb$t_fddi.lsb$g_fddi_old_una #define lsb$g_fddi_sif_conf_targ lsb$t_fddi.lsb$g_fddi_sif_conf_targ #define lsb$g_fddi_sif_op_targ lsb$t_fddi.lsb$g_fddi_sif_op_targ #define lsb$g_fddi_nif_targ lsb$t_fddi.lsb$g_fddi_nif_targ #define lsb$g_fddi_echo_targ lsb$t_fddi.lsb$g_fddi_echo_targ #define lsb$g_fddi_dna lsb$t_fddi.lsb$g_fddi_dna #define lsb$g_fddi_old_dna lsb$t_fddi.lsb$g_fddi_old_dna #define lsb$l_fddi_echo_dat lsb$t_fddi.lsb$l_fddi_echo_dat #define lsb$l_fddi_echo_len lsb$t_fddi.lsb$l_fddi_echo_len #define lsb$l_fddi_phy_state lsb$t_fddi.lsb$l_fddi_phy_state #define lsb$l_fddi_link_state lsb$t_fddi.lsb$l_fddi_link_state #define lsb$l_fddi_rp_state lsb$t_fddi.lsb$l_fddi_rp_state #define lsb$l_fddi_port_type lsb$t_fddi.lsb$l_fddi_port_type #define lsb$l_fddi_nbr_phy lsb$t_fddi.lsb$l_fddi_nbr_phy #define lsb$l_fddi_dat lsb$t_fddi.lsb$l_fddi_dat #define lsb$l_fddi_flags lsb$t_fddi.lsb$r_fill_44_.lsb$l_fddi_flags #define lsb$v_fddi_boo lsb$t_fddi.lsb$r_fill_44_.lsb$r_fill_45_.lsb$v_fddi_boo #define lsb$v_fddi_cty lsb$t_fddi.lsb$r_fill_44_.lsb$r_fill_45_.lsb$v_fddi_cty #define lsb$v_fddi_unto lsb$t_fddi.lsb$r_fill_44_.lsb$r_fill_45_.lsb$v_fddi_unto #define lsb$l_fddi_smt lsb$t_fddi.lsb$l_fddi_smt #define lsb$l_fddi_smt_prm lsb$t_fddi.lsb$l_fddi_smt_prm #define lsb$l_fddi_smt_type lsb$t_fddi.lsb$l_fddi_smt_type #define lsb$t_tr lsb$r_medium_specific.lsb$t_tr #define lsb$l_tr_speed lsb$t_tr.lsb$l_tr_speed #define lsb$l_tr_etr lsb$t_tr.lsb$l_tr_etr #define lsb$l_tr_moncon lsb$t_tr.lsb$l_tr_moncon #define lsb$q_tr_naun lsb$t_tr.lsb$q_tr_naun #define lsb$l_tr_rer lsb$t_tr.lsb$l_tr_rer #define lsb$l_tr_ier lsb$t_tr.lsb$l_tr_ier #define lsb$l_tr_pdn lsb$t_tr.lsb$l_tr_pdn #define lsb$l_tr_rgn lsb$t_tr.lsb$l_tr_rgn #define lsb$l_tr_maxac lsb$t_tr.lsb$l_tr_maxac #define lsb$l_tr_fcfield lsb$t_tr.lsb$l_tr_fcfield #define lsb$l_tr_srcatmo lsb$t_tr.lsb$l_tr_srcatmo #define lsb$l_tr_srdtmo lsb$t_tr.lsb$l_tr_srdtmo #define lsb$l_tr_sr lsb$t_tr.lsb$l_tr_sr #define lsb$a_tr_sr_tab lsb$t_tr.lsb$a_tr_sr_tab #define lsb$l_tr_sr_size lsb$t_tr.lsb$l_tr_sr_size #define lsb$l_tr_sr_tabsiz lsb$t_tr.lsb$l_tr_sr_tabsiz #define lsb$l_tr_sr_tabbyte lsb$t_tr.lsb$l_tr_sr_tabbyte #define lsb$l_tr_sr_inuse lsb$t_tr.lsb$l_tr_sr_inuse #define lsb$l_tr_sr_garbage lsb$t_tr.lsb$l_tr_sr_garbage #define lsb$l_tr_sr_deleted lsb$t_tr.lsb$l_tr_sr_deleted #define lsb$q_tr_sr_xplorq lsb$t_tr.lsb$q_tr_sr_xplorq #define lsb$l_tr_sr_xplorb lsb$t_tr.lsb$l_tr_sr_xplorb #define lsb$l_tr_sr_xplorc lsb$t_tr.lsb$l_tr_sr_xplorc #define lsb$a_tr_fca lsb$t_tr.lsb$a_tr_fca #define lsb$l_tr_fca_used lsb$t_tr.lsb$l_tr_fca_used #define lsb$l_tr_fcmask lsb$t_tr.lsb$l_tr_fcmask #define lsb$a_tr_hdr lsb$t_tr.lsb$a_tr_hdr #define lsb$l_tr_hdrsize lsb$t_tr.lsb$l_tr_hdrsize #define lsb$l_tr_lnkstate lsb$t_tr.lsb$l_tr_lnkstate #define lsb$t_atm lsb$r_medium_specific.lsb$t_atm #define lsb$a_atm_drv_cm_vc_setup lsb$t_atm.lsb$a_atm_drv_cm_vc_setup #define lsb$a_atm_drv_cm_vc_teardown lsb$t_atm.lsb$a_atm_drv_cm_vc_teardown #define lsb$a_atm_drv_cm_vc_flush lsb$t_atm.lsb$a_atm_drv_cm_vc_flush #define lsb$a_atm_drv_cm_tm_command lsb$t_atm.lsb$a_atm_drv_cm_tm_command #define lsb$a_atm_drv_clip_xmt_done lsb$t_atm.lsb$a_atm_drv_clip_xmt_done #define lsb$a_atm_drv_clip_rcv lsb$t_atm.lsb$a_atm_drv_clip_rcv #define lsb$a_atm_drv_handles lsb$t_atm.lsb$a_atm_drv_handles #define lsb$a_atm_usr_handles lsb$t_atm.lsb$a_atm_usr_handles #define lsb$a_atm_amm_handle lsb$t_atm.lsb$a_atm_amm_handle #define lsb$a_atm_addr_reg_handle lsb$t_atm.lsb$a_atm_addr_reg_handle #define lsb$a_atm_tm_an2_handle lsb$t_atm.lsb$a_atm_tm_an2_handle #define lsb$a_atm_clip_handle lsb$t_atm.lsb$a_atm_clip_handle #define lsb$a_atm_lec_handle lsb$t_atm.lsb$a_atm_lec_handle #define lsb$a_atm_rcv_handle lsb$t_atm.lsb$a_atm_rcv_handle #define lsb$a_atm_xmt_handle lsb$t_atm.lsb$a_atm_xmt_handle #define lsb$l_atm_tqe_alloc lsb$t_atm.lsb$l_atm_tqe_alloc #define lsb$l_atm_tqe_used lsb$t_atm.lsb$l_atm_tqe_used #define lsb$l_atm_mem_alloc lsb$t_atm.lsb$l_atm_mem_alloc #define lsb$l_atm_mem_used lsb$t_atm.lsb$l_atm_mem_used #define lsb$l_atm_hwanum lsb$t_atm.lsb$l_atm_hwanum #define lsb$l_atm_hwanum_used lsb$t_atm.lsb$l_atm_hwanum_used #define lsb$a_atm_cd_handle lsb$t_atm.lsb$a_atm_cd_handle #define lsb$a_atm_cd_callbacks lsb$t_atm.lsb$a_atm_cd_callbacks #define lsb$a_atm_module_profilep lsb$t_atm.lsb$a_atm_module_profilep #define lsb$l_atm_max_vc lsb$t_atm.lsb$l_atm_max_vc #define lsb$l_atm_reserved_1 lsb$t_atm.lsb$l_atm_reserved_1 #define lsb$l_atm_reserved_2 lsb$t_atm.lsb$l_atm_reserved_2 #define lsb$l_atm_reserved_3 lsb$t_atm.lsb$l_atm_reserved_3 #define lsb$l_atm_reserved_4 lsb$t_atm.lsb$l_atm_reserved_4 #define lsb$l_atm_reserved_5 lsb$t_atm.lsb$l_atm_reserved_5 #endif /* #if !defined(__VAXC) */ #define LSB$C_LSBDEF_LEN 8160 /* For compilation time size checking */ /* Source routing table entry */ #define SR$C_LOCAL 0 /* Node on local ring */ #define SR$C_UNKNOWN 2 /* Node is unknown (use STE) */ #define SR$C_KNOWN 4 /* Node has a known Route */ #define SR$C_STALE 1 /* Cached route info is stale */ #define SR$C_DELETED 3 /* Entry is deleted */ #define SR$C_EXPLORING 5 /* Currently Exploring Route */ #define SR$C_SR_SIZE 64 /* Size of entry */ #define SR$C_SR_SHIFT 6 /* Bits to shift for SR_SIZE */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _sr { #pragma __nomember_alignment unsigned __int64 sr$g_addr; /* Mac Address (canonical) */ unsigned int sr$l_state; /* State of entry */ unsigned int sr$l_ri_s; /* Size of RI field */ unsigned char sr$g_ri [32]; /* RI field */ unsigned int sr$l_lstxmttim; /* Stale xmit timer */ unsigned int sr$l_lstrcvtim; /* Stale recv timer */ unsigned int sr$l_staletim; /* Stale timer (time to delete) */ unsigned int sr$l_discvtim; /* Discovery timer */ /* State Values */ } SR; /* Functional address translation table entry */ #define FCA$C_FCA_ENTRIES 200 /* Entries in table */ #define FCA$C_FCA_SIZE 16 /* Size of entry */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _fca { #pragma __nomember_alignment unsigned __int64 fca$g_addr; /* Multicast address (canonical) */ unsigned int fca$l_fc_mask; /* Functional Address Mask */ unsigned int fca$l_fc_fill; /* Filler to make QW aligned */ } FCA; /* Trace entry */ #define TRC$Q_PK_DATA 0 #define TRC$G_PK_DATA 12 #define TRC$V_CPU_SHIFT 22 /* CurCPU is <31:22> (V2) */ #define TRC$V_DRV_SHIFT 18 /* DrvState is <21:18> (V2) */ #define TRC$V_TYP_SHIFT 12 /* Type is <17:12> (V2) */ #define TRC$V_LEN_SHIFT 0 /* EntryLen is <11:0> (V2) */ #define TRC$M_CPU_MASK 1023 /* CurCPU is <31:22> 10 bits, 0..1024 (V2) */ #define TRC$M_DRV_MASK 15 /* DrvState is <21:18> 4 bits, 0..15 (V2) */ #define TRC$M_TYP_MASK 63 /* Type is <17:12> 6 bits, 0..63 (V2) */ #define TRC$M_LEN_MASK 4095 /* EntryLen is <11:0> 12 bits, 0..4095 (V2) */ #define TRC$C_INIT_ENTRIES 512 /* Number of init time trace entries */ #define TRC$C_DEF_ENTRIES 2048 /* Number of default trace entries */ #define TRC$C_NUM_INT 8 /* Number of interrupt entries */ #define TRC$C_LENGTH 32 /* Entry length */ /* Trace entries go from 1-32 for common types and 33-64 for driver specific types. */ #define TRC$C_EXTENSION 128 /* Entry extension */ /* Common trace entries, 1-32. */ #define TRC$C_INVALID 0 /* 0 0 Invalid entry */ #define TRC$C_TIMER 1 /* 1 1 00000001 One-second timer */ #define TRC$C_INTR 2 /* 2 2 00000002 Interrupt */ #define TRC$C_FRK_START 3 /* 3 3 00000004 Fork process started */ #define TRC$C_FRK_DONE 4 /* 4 4 00000008 Fork process done */ #define TRC$C_FRK_ERROR 5 /* 5 5 00000010 Fork error */ #define TRC$C_FRK_SOFT 6 /* 6 6 00000020 Fork soft error */ #define TRC$C_STATE 7 /* 7 7 00000040 State change */ #define TRC$C_INIT 8 /* 8 8 00000080 First user startup */ #define TRC$C_CHNGPRO 9 /* 9 9 00000100 User start/change/stop */ #define TRC$C_STOP 10 /* 10 A 00000200 Last user stop */ #define TRC$C_SHUTDOWN 11 /* 11 B 00000400 Device shutdown */ #define TRC$C_RCV_ISS 12 /* 12 C 00000800 Receive issued */ #define TRC$C_RCV_DONE 13 /* 13 D 00001000 Receive done */ #define TRC$C_RCV_ERR 14 /* 14 E 00002000 Receive error */ #define TRC$C_RCV_PKT 15 /* 15 F 00004000 Receive packet (32 bytes) */ #define TRC$C_RCV_PKT1 16 /* 16 10 00008000 Receive packet (33..64 bytes) */ #define TRC$C_RCV_PKT2 17 /* 17 11 00010000 Receive packet (65..96 bytes) */ #define TRC$C_RCV_PKT3 18 /* 18 12 00020000 Receive packet (complete packet) */ #define TRC$C_XMT_ISS 19 /* 19 13 00040000 Transmit issued */ #define TRC$C_XMT_QUE 20 /* 20 14 00080000 Transmit queued */ #define TRC$C_XMT_DONE 21 /* 21 15 00100000 Transmit done */ #define TRC$C_XMT_ERR 22 /* 22 16 00200000 Transmit error */ #define TRC$C_XMT_PKT 23 /* 23 17 00400000 Transmit packet (32 bytes) */ #define TRC$C_XMT_PKT1 24 /* 24 18 00800000 Transmit packet (33..64 bytes) */ #define TRC$C_XMT_PKT2 25 /* 25 19 01000000 Transmit packet (65..96 bytes) */ #define TRC$C_XMT_PKT3 26 /* 26 1A 02000000 Transmit packet (complete packet) */ #define TRC$C_VCI_ACTION 27 /* 27 1B 04000000 VCI action */ #define TRC$C_LAN_ACTION 28 /* 28 1C 08000000 LAN action */ #define TRC$C_LAN_OTHER 29 /* 29 1D 10000000 LAN other */ #define TRC$C_RDL_ERROR 30 /* 30 1E 20000000 RDL error */ #define TRC$C_SEGMENT 31 /* 31 1F 40000000 Segment context */ #define TRC$C_BW_ACTION 32 /* 32 20 80000000 Bandwidth action */ #define TRC$C_LAN32 32 #define TRC$M_ALL_COMMON -1132691457 #define TRC$M_DEF_COMMON -1944049680 #define TRC$C_SIZE_STOP 0 #define TRC$C_SIZE_PAUSE -1 #define TRC$C_SIZE_NOCHANGE -2 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _trc { #pragma __nomember_alignment unsigned __int64 trc$q_time; /* Trace entry RSCC timestamp */ unsigned int trc$l_sequence; /* Sequence number */ __union { unsigned int trc$l_type_len; /* CPU, Driver State, Entry Type, Entry Length (in 32-byte chunks) (V2) */ __struct { unsigned char trc$b_type; /* Entry type (V1) */ unsigned char trc$b_xmtcnt; /* Number of outstanding transmits (V1) */ unsigned char trc$b_rcvcnt; /* Number of outstanding receives (V1) */ unsigned char trc$b_misc; /* Driver state <3:0>, CPU <7:4> (V1) */ } trc$r_type_len_bytes; } trc$r_type_len; unsigned int trc$l_param1; /* Parameter 1 */ unsigned int trc$l_param2; /* Parameter 2 */ unsigned int trc$l_param3; /* Parameter 3 */ unsigned int trc$l_param4; /* Parameter 4 */ /* Type <7> is set if this entry is an extension entry (trace version 1 only). */ } TRC; #if !defined(__VAXC) #define trc$l_type_len trc$r_type_len.trc$l_type_len #define trc$b_type trc$r_type_len.trc$r_type_len_bytes.trc$b_type #define trc$b_xmtcnt trc$r_type_len.trc$r_type_len_bytes.trc$b_xmtcnt #define trc$b_rcvcnt trc$r_type_len.trc$r_type_len_bytes.trc$b_rcvcnt #define trc$b_misc trc$r_type_len.trc$r_type_len_bytes.trc$b_misc #endif /* #if !defined(__VAXC) */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __LSBDEF_LOADED */