/**/ /***************************************************************************/ /** **/ /** © Copyright 2010, Hewlett-Packard Development Company, L.P. **/ /** **/ /** Confidential computer software. Valid license from HP and/or **/ /** its subsidiaries required for possession, use, or copying. **/ /** **/ /** Consistent with FAR 12.211 and 12.212, Commercial Computer Software, **/ /** Computer Software Documentation, and Technical Data for Commercial **/ /** Items are licensed to the U.S. Government under vendor's standard **/ /** commercial license. **/ /** **/ /** Neither HP nor any of its subsidiaries shall be liable for technical **/ /** or editorial errors or omissions contained herein. The information **/ /** in this document is provided "as is" without warranty of any kind and **/ /** is subject to change without notice. The warranties for HP products **/ /** are set forth in the express limited warranty statements accompanying **/ /** such products. Nothing herein should be construed as constituting an **/ /** additional warranty. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:25:53 by OpenVMS SDL EV3-3 */ /* Source: 23-JUL-2003 15:57:49 $1$DGA7274:[LIB_H.SRC]LANUDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $VCIBDLLDEF ***/ #ifndef __VCIBDLLDEF_LOADED #define __VCIBDLLDEF_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 /*++ */ /* Data Link definitions that follow the standard VCIB fields */ /*-- */ #define VCIB$M_DLL_RCV_DCB 0x1 #define VCIB$M_DLL_RCV_MAC 0x2 #define VCIB$M_DLL_XMT_CHAIN 0x1 #define VCIB$M_DLL_XMT_RCVRSB 0x2 #define VCIB$M_DLL_PORT_STATUS 0x4 #define VCIB$K_DLL_CSMACD 1 /* CSMACD data link */ #define VCIB$K_DLL_DDCMP 2 /* DDCMP data link */ #define VCIB$K_DLL_FDDI 3 /* FDDI data link */ #define VCIB$K_DLL_HDLC 4 /* HDLC data link */ #define VCIB$K_DLL_LAPB 5 /* LAPB data link */ #define VCIB$K_DLL_TR 6 /* TOKEN RING data link */ #define VCIB$K_DLL_ATM 7 /* ATM data link */ #define VCIB$K_DLL_LLC2 8 /* LLC2 data link */ #define VCIB$M_LAN_RCV_LIM 0x1 #define VCIB$M_LAN_RCV_ICS 0x2 #define VCIB$M_LAN_FTC 0x4 #define VCIB$M_LAN_SFR 0x8 #define VCIB$M_LAN_SCC 0x10 #define VCIB$M_LAN_FPE 0x20 #define VCIB$M_LAN_FP_RCVLL 0x40 #define VCIB$M_LAN_RCV_DCB 0x1 #define VCIB$M_LAN_DP_DELAY 0x2 #define VCIB$M_LAN_MULSEG 0x4 #define VCIB$M_LAN_FASTPATH 0x8 #define VCIB$K_LAN_FIXED_LENGTH 160 /* Length of LAN VCIB */ #define VCIB$M_SYN_UNSEQ 0x1 #define VCIB$K_SYN_FIXED_LENGTH 98 /* Length of SYN VCIB */ #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 _vcibdlldef { /* First get to the end of the common VCIB section. Then we can start */ /* the overlay. */ #pragma __nomember_alignment char vcib$b_dll_filler [60]; /* DLL extensions to the VCIB. Note that the DLL extension includes */ /* some generic extensions (DLL) followed by an overlay of the LAN */ /* and SYN extensions. */ void *vcib$a_dll_input_list; /* Address of input item list */ void *vcib$a_dll_output_list; /* Address of output item list */ __union { unsigned short int vcib$w_dll_client_flags; /* Flags specified by client */ unsigned int vcib$l_dll_client_flags; /* Flags specified by client */ __struct { unsigned vcib$v_dll_rcv_dcb : 1; /* 1 = Can pass DCB on RCV */ unsigned vcib$v_dll_rcv_mac : 1; /* Determines where */ /* VCRP$A_LAN_R_HEADER points: */ /* 0 = the LHI structure */ /* 1 = MAC specific frame header */ /* FDDI: [FC] */ /* CSMACD: [DA] */ /* TR: [AC] */ unsigned vcib$v_fill_0_ : 6; } vcib$r_dll_flags_1; } vcib$r_dll_overlay_1; __union { unsigned short int vcib$w_dll_flags; /* Flags specified by data link */ unsigned int vcib$l_dll_flags; /* Flags specified by data link */ __struct { unsigned vcib$v_dll_xmt_chain : 1; /* 1 = device can chain */ unsigned vcib$v_dll_xmt_rcvrsb : 1; /* 1 = DL can XMT on RCV RSB */ unsigned vcib$v_dll_port_status : 1; /* 1 = PORT USABLE was last event */ /* 0 = PORT UNUSABLE was last */ /* event, OR no USABLE/UNUSABLE */ /* event has occured yet */ unsigned vcib$v_fill_1_ : 5; } vcib$r_dll_flags_2; } vcib$r_dll_overlay_2; __union { unsigned short int vcib$w_dll_type; /* Type of data link */ unsigned int vcib$l_dll_type; /* Type of data link */ } vcib$r_dll_type_overlay; __union { unsigned short int vcib$w_dll_hdr_size; /* Max data link header in bytes */ unsigned int vcib$l_dll_hdr_size; /* Max data link header in bytes */ } vcib$r_dll_hdr_size_overlay; __union { unsigned short int vcib$w_dll_xmt_size; /* Max transmit in bytes */ unsigned int vcib$l_dll_xmt_size; /* Max transmit in bytes */ } vcib$r_dll_xmt_size_overlay; __union { unsigned short int vcib$w_dll_chain_size; /* Min size of 1st chain in bytes */ unsigned int vcib$l_dll_chain_size; /* Min size of 1st chain in bytes */ } vcib$r_dll_chain_size_overlay; /* Define the values for the field VCIB$W_DLL_TYPE. */ __union { /* LAN extensions to the VCIB; after the DLL extensions. */ __struct { void *vcib$a_lan_lpb; /* Address of LAN Port Block */ void *vcib$a_lan_ucb; /* Address of UCB */ void *vcib$a_lan_build_hdr; /* Address of LAN Build Header service */ void *vcib$a_lan_transmit_frame; /* Address of LAN Transmit Frame service */ void *vcib$a_lan_transmit_avail; /* Address of available Transmits */ unsigned int vcib$l_lan_max_rcv; /* Max outstanding receives */ unsigned int vcib$l_lan_out_rcv; /* Number of outstanding receives */ __union { unsigned short int vcib$w_lan_client_flags; /* Flags specified by client */ unsigned int vcib$l_lan_client_flags; /* Flags specified by client */ __struct { unsigned vcib$v_lan_rcv_lim : 1; /* 1 = DL will limit the # */ /* of RCV VCRPs */ unsigned vcib$v_lan_rcv_ics : 1; /* 1 = DL must init context */ /* stack in RCV VCRPs */ unsigned vcib$v_lan_ftc : 1; /* 1 = Fast Transmit Complete */ unsigned vcib$v_lan_sfr : 1; /* 1 = Skip field restore */ unsigned vcib$v_lan_scc : 1; /* 1 = Skip completion check */ unsigned vcib$v_lan_fpe : 1; /* 1 = FastPath enabled */ unsigned vcib$v_lan_fp_rcvll : 1; /* 1 = FastPath - complete rcvs with LAN lock */ unsigned vcib$v_fill_2_ : 1; } vcib$r_lan_flags_1; } vcib$r_lan_overlay_1; __union { unsigned int vcib$l_lan_flags; /* Flags specified by LAN */ __struct { unsigned vcib$v_lan_rcv_dcb : 1; /* 1 = DL supports VCRP/DCB */ unsigned vcib$v_lan_dp_delay : 1; /* 1 = Disable Port is delayed */ unsigned vcib$v_lan_mulseg : 1; /* 1 = DL can xmt chain multiple */ /* segments (DCBEs) */ unsigned vcib$v_lan_fastpath : 1; /* 1 = DL is FastPath enabled */ unsigned vcib$v_fill_3_ : 4; } vcib$r_lan_flags_2; } vcib$r_lan_overlay_2; void *vcib$a_lan_ldc; /* Address of the LDC structure */ int vcib$l_lan_oocnt; /* Number of operations outstanding */ void *vcib$a_lan_dp_vcrp; /* Address of the Disable Port VCRP */ /* being disabled. Only valid if */ /* the DP_DELAY flag is set. */ void *vcib$a_lan_hwa; /* pointer to HWA/MLA */ void *vcib$a_lan_pha; /* pointer to PHA */ void *vcib$a_lan_reset; /* Boot driver done */ int vcib$l_lan_dll_pref_cpu; /* Lan port preferred CPU (FastPath) */ int vcib$l_lan_client_pref_cpu; /* Lan client preferred CPU (FastPath) */ } vcib$r_lan_vcib; /* SYN extensions to the VCIB; after the DLL extensions. */ __struct { void *vcib$a_syn_up_port; /* Used only by the data link */ __union { unsigned short int vcib$w_syn_client_flags; /* Flags specified by client */ __struct { unsigned vcib$v_syn_unseq : 1; /* 1 = Client wants unseq port */ unsigned vcib$v_fill_4_ : 7; } vcib$r_syn_flags_1; } vcib$r_syn_overlay_1; } vcib$r_syn_vcib; } vcib$r_dll_vcib_additions; } VCIBDLLDEF; #if !defined(__VAXC) #define vcib$w_dll_client_flags vcib$r_dll_overlay_1.vcib$w_dll_client_flags #define vcib$l_dll_client_flags vcib$r_dll_overlay_1.vcib$l_dll_client_flags #define vcib$v_dll_rcv_dcb vcib$r_dll_overlay_1.vcib$r_dll_flags_1.vcib$v_dll_rcv_dcb #define vcib$v_dll_rcv_mac vcib$r_dll_overlay_1.vcib$r_dll_flags_1.vcib$v_dll_rcv_mac #define vcib$w_dll_flags vcib$r_dll_overlay_2.vcib$w_dll_flags #define vcib$l_dll_flags vcib$r_dll_overlay_2.vcib$l_dll_flags #define vcib$v_dll_xmt_chain vcib$r_dll_overlay_2.vcib$r_dll_flags_2.vcib$v_dll_xmt_chain #define vcib$v_dll_xmt_rcvrsb vcib$r_dll_overlay_2.vcib$r_dll_flags_2.vcib$v_dll_xmt_rcvrsb #define vcib$v_dll_port_status vcib$r_dll_overlay_2.vcib$r_dll_flags_2.vcib$v_dll_port_status #define vcib$w_dll_type vcib$r_dll_type_overlay.vcib$w_dll_type #define vcib$l_dll_type vcib$r_dll_type_overlay.vcib$l_dll_type #define vcib$w_dll_hdr_size vcib$r_dll_hdr_size_overlay.vcib$w_dll_hdr_size #define vcib$l_dll_hdr_size vcib$r_dll_hdr_size_overlay.vcib$l_dll_hdr_size #define vcib$w_dll_xmt_size vcib$r_dll_xmt_size_overlay.vcib$w_dll_xmt_size #define vcib$l_dll_xmt_size vcib$r_dll_xmt_size_overlay.vcib$l_dll_xmt_size #define vcib$w_dll_chain_size vcib$r_dll_chain_size_overlay.vcib$w_dll_chain_size #define vcib$l_dll_chain_size vcib$r_dll_chain_size_overlay.vcib$l_dll_chain_size #define vcib$r_lan_vcib vcib$r_dll_vcib_additions.vcib$r_lan_vcib #define vcib$a_lan_lpb vcib$r_lan_vcib.vcib$a_lan_lpb #define vcib$a_lan_ucb vcib$r_lan_vcib.vcib$a_lan_ucb #define vcib$a_lan_build_hdr vcib$r_lan_vcib.vcib$a_lan_build_hdr #define vcib$a_lan_transmit_frame vcib$r_lan_vcib.vcib$a_lan_transmit_frame #define vcib$a_lan_transmit_avail vcib$r_lan_vcib.vcib$a_lan_transmit_avail #define vcib$l_lan_max_rcv vcib$r_lan_vcib.vcib$l_lan_max_rcv #define vcib$l_lan_out_rcv vcib$r_lan_vcib.vcib$l_lan_out_rcv #define vcib$r_lan_overlay_1 vcib$r_lan_vcib.vcib$r_lan_overlay_1 #define vcib$w_lan_client_flags vcib$r_lan_overlay_1.vcib$w_lan_client_flags #define vcib$l_lan_client_flags vcib$r_lan_overlay_1.vcib$l_lan_client_flags #define vcib$v_lan_rcv_lim vcib$r_lan_overlay_1.vcib$r_lan_flags_1.vcib$v_lan_rcv_lim #define vcib$v_lan_rcv_ics vcib$r_lan_overlay_1.vcib$r_lan_flags_1.vcib$v_lan_rcv_ics #define vcib$v_lan_ftc vcib$r_lan_overlay_1.vcib$r_lan_flags_1.vcib$v_lan_ftc #define vcib$v_lan_sfr vcib$r_lan_overlay_1.vcib$r_lan_flags_1.vcib$v_lan_sfr #define vcib$v_lan_scc vcib$r_lan_overlay_1.vcib$r_lan_flags_1.vcib$v_lan_scc #define vcib$v_lan_fpe vcib$r_lan_overlay_1.vcib$r_lan_flags_1.vcib$v_lan_fpe #define vcib$v_lan_fp_rcvll vcib$r_lan_overlay_1.vcib$r_lan_flags_1.vcib$v_lan_fp_rcvll #define vcib$r_lan_overlay_2 vcib$r_lan_vcib.vcib$r_lan_overlay_2 #define vcib$l_lan_flags vcib$r_lan_overlay_2.vcib$l_lan_flags #define vcib$v_lan_rcv_dcb vcib$r_lan_overlay_2.vcib$r_lan_flags_2.vcib$v_lan_rcv_dcb #define vcib$v_lan_dp_delay vcib$r_lan_overlay_2.vcib$r_lan_flags_2.vcib$v_lan_dp_delay #define vcib$v_lan_mulseg vcib$r_lan_overlay_2.vcib$r_lan_flags_2.vcib$v_lan_mulseg #define vcib$v_lan_fastpath vcib$r_lan_overlay_2.vcib$r_lan_flags_2.vcib$v_lan_fastpath #define vcib$a_lan_ldc vcib$r_lan_vcib.vcib$a_lan_ldc #define vcib$l_lan_oocnt vcib$r_lan_vcib.vcib$l_lan_oocnt #define vcib$a_lan_dp_vcrp vcib$r_lan_vcib.vcib$a_lan_dp_vcrp #define vcib$a_lan_hwa vcib$r_lan_vcib.vcib$a_lan_hwa #define vcib$a_lan_pha vcib$r_lan_vcib.vcib$a_lan_pha #define vcib$a_lan_reset vcib$r_lan_vcib.vcib$a_lan_reset #define vcib$l_lan_dll_pref_cpu vcib$r_lan_vcib.vcib$l_lan_dll_pref_cpu #define vcib$l_lan_client_pref_cpu vcib$r_lan_vcib.vcib$l_lan_client_pref_cpu #define vcib$r_syn_vcib vcib$r_dll_vcib_additions.vcib$r_syn_vcib #define vcib$a_syn_up_port vcib$r_syn_vcib.vcib$a_syn_up_port #define vcib$r_syn_overlay_1 vcib$r_syn_vcib.vcib$r_syn_overlay_1 #define vcib$w_syn_client_flags vcib$r_syn_overlay_1.vcib$w_syn_client_flags #define vcib$v_syn_unseq vcib$r_syn_overlay_1.vcib$r_syn_flags_1.vcib$v_syn_unseq #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 /* __VCIBDLLDEF_LOADED */