z/OS Communications Server: IP Programmer's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Integrated services data structures and macros general definitions

z/OS Communications Server: IP Programmer's Guide and Reference
SC27-3659-02

The following general definitions apply to the integrated services data structures and macros:

  • The following macro is defined with the value given below:
    Macro Value Usage
    wordsof(x) (((x)+3)/4) number of 32-bit words
  • The following macros are defined with the following integer values for service numbers:
    Note: The values are protocol values defined in RFC 2211, RFC 2212, and RFC 2215. See Related protocol specifications for information about accessing RFCs.
    Macro Value
    GENERAL_INFO 1
    GUARANTEED_SERV 2
    CONTROLLED_LOAD_SERV 5
  • Enumeration int_serv_wkp is defined for well-known parameter identities and has at least the following members with the following integer values:
    Note: The values are protocol values defined in RFC 2215. See Related protocol specifications for information about accessing RFCs.
    Member Value Meaning
    IS_WKP_HOP_CNT 4 Number of network nodes supporting Integrated Services along the flow path
    IS_WKP_PATH_BW 6 Available bandwidth in bytes per second throughout the flow path
    IS_WKP_MIN_LATENCY 8 Minimum end-to-end latency in microseconds
    IS_WKP_COMPOSED_MTU 10 Maximum transmission unit without causing IP fragmentation along the flow path
    IS_WKP_TB_TSPEC 127 Token-bucket TSPEC parameter
  • The following macros are defined with the values given below:
    Macro Value
    INTSERV_VERS_MASK 0xf0
    INTSERV_VERSION0 0
    Intserv_Version(x) (((x)&ismh_version &INTSERV_VERS_MASK)>>4)
    Intserv_Version_OK(x) (((x)->ismh_version &INTSERV_VERS_MASK)== \INTSERV_VERSION0)
  • Type IS_main_hdr_t is defined by typedef as a structure to represent an Integrated Services main header, and has at least the following members:
    Member Type Usage
    ismh_len32b u_int16_t Number of 32-bit words excluding this header
    ismh_unused u_int8_t  
    ismh_version u_int8_t Version
  • Type IS_serv_hdr_t is defined by typedef as a structure to represent an Integrated Services service element header, and has at least the following members:
    Member Type Usage
    issh_flags u_int8_t Flag byte
    issh_len32b u_int16_t Number of 32-bit words excluding this header
    issh_service u_int8_t Service number
  • The following macro is defined with the value given below to indicate the break bit in the IS_serv_hdr_t flag byte:
    Macro Value
    ISSH_BREAK_BIT 0x80
  • Type IS_parm_hdr_t is defined by typedef as a structure to represent an Integrated Services parameter element header, and has at least the following members:
    Member Type Usage
    isph_flags u_int8_t Flags
    isph_len32b u_int16_t Number of 32-bit words excluding this header
    isph_parm_num u_int8_t Parameter number
  • The following macro is defined with the value given below to indicate the not valid bit in the IS_parm_hdr_t flag byte:
    Macro Value
    ISPH_FLG_INV 0x80
  • The following macros are defined with the values given below:
    Macro Value
    Next_Main_Hdr(p) (IS_main_hdr_t *)((u_int32_t *)(p)+1+(p)->ismh_len32b)
    Next_Parm_Hdr(p) (IS_parm_hdr_t *)((u_int32_t *)(p)+1+(p)->isph_len32b)
    Next_Serv_Hdr(p) (IS_serv_hdr_t *)((u_int32_t *)(p)+1+(p)->issh_len32b)
    Non_Is_Hop ((IS_serv_hdr_t *)p)->issh_flags & ISSH_BREAK_BIT
    Set_Break_Bit(p) ((IS_serv_hdr_t *)p)->issh_flags|=ISSH_BREAK_BIT
    Set_Main_Hdr(p, len) {(p)->ismh_version = INTSERV_VERSION0; \ (p)->ismh_unused = 0; \ (p)->ismh_len32b = wordsof(len); }
    Set_Parm_Hdr(p, id, len) {(p)->isph_parm_num = (id); \ (p)->isph_flags = 0; \ (p)->isph_len32b = wordsof(len); }
    Set_Serv_Hdr(p, s, len) {(p)->issh_service = (s); \ (p)->issh_flags = 0; \ (p)->issh_len32b = wordsof(len); }

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014