/**/ /***************************************************************************/ /** **/ /** © 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:38:01 by OpenVMS SDL EV3-3 */ /* Source: 24-FEB-2009 08:30:34 $1$DGA7274:[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 */