/***************************************************************************/ /** **/ /** 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 $SMTDEF ***/ #ifndef __SMTDEF_LOADED #define __SMTDEF_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 /*++ */ /* FDDI MAC Header SMT Frame Control field constants */ /*-- */ /* SMT frame type with the following associated control functions: */ /* o Frame Class bit = Asynchronous (0) */ /* o Address Length bit = 48 bit address (0) */ /* o Frame Format bits = SMT frame (00) */ /* o Frame Control bits = 0001 */ #define LAN$K_SMT_FC_SMTFRAME 65 /* LLC frame type with the following associated control functions: */ /* o Frame Class bit = Asynchronous (0) */ /* o Address Length bit = 48 bit address (0) */ /* o Frame Format bits = LLC frame (01) */ /* o Reserved bit = 0 */ /* o Priority bits = lowest priority (000) */ #define LAN$K_SMT_FC_LLCFRAME 80 /* Define the SMT Frame Header */ typedef struct _smt_hdrdef { unsigned char smt_hdr$b_f_cl; /* Frame Class for the SMT frame based protocol */ unsigned char smt_hdr$b_f_ty; /* Frame Type for the SMT frame based protocol */ unsigned short int smt_hdr$w_ver; /* SMT frame's Version ID field */ __union { unsigned int smt_hdr$l_l; /* SMT frame's Transaction ID field */ unsigned char smt_hdr$b_b1 [4]; /* Byte view of Transaction ID */ } smt_hdr$r_t_id; unsigned char smt_hdr$b_s_id [8]; /* Station ID for an FDDI station */ unsigned short int smt_hdr$w_s_p; /* Two octet pad field */ __union { unsigned short int smt_hdr$w_w; /* Information length field (info to follow) */ unsigned char smt_hdr$b_b2 [2]; /* Byte view of Information length */ } smt_hdr$r_ilen; } SMT_HDRDEF; #if !defined(__VAXC) #define smt_hdr$l_l smt_hdr$r_t_id.smt_hdr$l_l #define smt_hdr$b_b1 smt_hdr$r_t_id.smt_hdr$b_b1 #define smt_hdr$w_w smt_hdr$r_ilen.smt_hdr$w_w #define smt_hdr$b_b2 smt_hdr$r_ilen.smt_hdr$b_b2 #endif /* #if !defined(__VAXC) */ /* SMT Frame Header Frame Class (F_CL) field constants */ /* */ /* The SMT Frame Class identifies the FUNCTION of the frame */ #define LAN$K_SMT_HDR_F_CL_NIF 1 /* NIF */ #define LAN$K_SMT_HDR_F_CL_SIFCON 2 /* SIF - Configuration */ #define LAN$K_SMT_HDR_F_CL_SIFOPR 3 /* SIF - Operation */ #define LAN$K_SMT_HDR_F_CL_ECF 4 /* Echo */ #define LAN$K_SMT_HDR_F_CL_RAF 5 /* Resource Allocation */ #define LAN$K_SMT_HDR_F_CL_RDF 6 /* Request Denied */ #define LAN$K_SMT_HDR_F_CL_SRF 7 /* Status Report */ #define LAN$K_SMT_HDR_F_CL_PMFGET 8 /* Get PMF */ #define LAN$K_SMT_HDR_F_CL_PMFCHG 9 /* ChangePMF */ #define LAN$K_SMT_HDR_F_CL_PMFADD 10 /* Add PMF */ #define LAN$K_SMT_HDR_F_CL_PMFREM 11 /* Remove PMF */ /* SMT Frame Header Frame Type (F_TY) field constants */ /* */ /* The SMT Frame Type identifies the frame as an */ /* announcement, request or response. */ #define LAN$K_SMT_HDR_F_TY_ANNOUNCEMENT 1 #define LAN$K_SMT_HDR_F_TY_REQUEST 2 #define LAN$K_SMT_HDR_F_TY_RESPONSE 3 /* SMT Frame Header Frame Version ID (VER) field constants */ /* */ /* The SMT Frame Versin ID identifies the structure of the */ /* SMT information field by identifing the version of the */ /* SMT standard that is supported. */ /* */ /* !!!!!! MSB Format !!!!!! */ #define LAN$K_SMT_HDR_VERSION 256 /* Define the SMT Information field format */ /* */ /* The SMT Information field consists of an array of the following structures */ /* which describe a parameter. Each of the structures is followed by a */ /* variable length data field containing the parameter data. */ typedef struct _smt_infodef { unsigned short int smt_info$w_parm_typ; /* Parameter type */ unsigned short int smt_info$w_parm_len; /* Parameter length */ } SMT_INFODEF; /* Define the SMT Information field Parameter Types */ /* */ /* !!!!!! MSB Format !!!!!! */ /* For NIF */ #define LAN$K_SMT_PARM_TYP_UNA 256 /* Upstream Neighbor Addr */ #define LAN$K_SMT_PARM_TYP_STATDESC 512 /* Station Description */ #define LAN$K_SMT_PARM_TYP_STATSTATE 768 /* Station State */ #define LAN$K_SMT_PARM_TYP_STATUSCAP 2848 /* MACFrameStatusCapability */ /* For Echo */ #define LAN$K_SMT_PARM_TYP_ECHODATA 4352 /* Echo Data */ /* For RDF */ #define LAN$K_SMT_PARM_TYP_RDFREASON 4608 /* Request Denied Reason */ /* Define the NIF SMT Information field format */ typedef struct _smt_nifdef { unsigned short int smt_nif$w_una_typ; /* Upstream Neighbor parameter type */ unsigned short int smt_nif$w_una_len; /* Upstream Neighbor parameter length */ unsigned char smt_nif$b_una_value [8]; /* Upstream Neighbor value */ unsigned short int smt_nif$w_sd_typ; /* Station Descriptor parmeter type */ unsigned short int smt_nif$w_sd_len; /* Station Descriptor parameter length */ unsigned int smt_nif$l_sd_value; /* Station Descriptor parameter value */ unsigned short int smt_nif$w_ss_typ; /* Station State parmeter type */ unsigned short int smt_nif$w_ss_len; /* Station State parameter length */ unsigned int smt_nif$l_ss_value; /* Station State parameter value */ unsigned short int smt_nif$w_cap_typ; /* fddiMACFrameStatusCapabilities type */ unsigned short int smt_nif$w_cap_len; /* fddiMACFrameStatusCapabilities length */ unsigned char smt_nif$b_cap_value [8]; /* fddiMACFrameStatusCapabilities */ } SMT_NIFDEF; #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 /* __SMTDEF_LOADED */