BRARC - BRXA definition

  
  Licensed Materials - Property of IBM
  
  5655-Y04
  
  (C) Copyright IBM Corp. 1996, 2008 All Rights Reserved.
  
  
  This is the description of the BRXA passed to the Bridge Exit as
  its COMMAREA.
  
  --------------------------------------------------------------------
  
  The BRXA header contains the following fields:
  
  BRXA_HEADER_EYECATCHER
  An eyecatcher to identify the area as an BRXA. This is
  initialised by CICS to the value BRXA_HEADER_EYE ('>BRAREA '),
  which is defined in the DFHBRACx copy book.
  BRXA_HEADER_LENGTH
  The length of the header.
  BRXA_HEADER_VERSION_NO
  The version number of the BRXA. This allows future releases to
  extend the BRXA. This is initialised by CICS to
  brxa_current_version_no.
  BRXA_TRANSACTION_AREA_PTR
  The address of the BRXA_TRANSACTION_AREA, which contains
  information relating to the Bridge Transaction and the User
  Transaction. This will be set by CICS, and should not be
  modified by the Bridge or LT Exit code.
  BRXA_TRANSACTION_AREA_LEN
  The length of the BRXA_TRANSACTION_AREA. This will be set by
  CICS, and should not be modified by the Bridge or LT Exit code.
  BRXA_COMMAND_AREA_PTR
  The address of the BRXA_COMMAND_AREA, which contains information
  relating to the command causing the Bridge Exit to be driven.
  This will be set by CICS, and should not be modified by the
  Bridge Exit code.
  BRXA_COMMAND_AREA_LEN
  The length of the BRXA_COMMAND_AREA. This will be set by CICS,
  and should not be modified by the Bridge or LT Exit code.
  BRXA_USER_AREA_PTR
  A user field which allows the address of a user area to be saved
  across Bridge Exit calls within a task. The user area should be
  obtains using an EXEC CICS GETMAIN.
  BRXA_USER_AREA_LEN
  A user fields which can be used to save the length of the user
  area. TRANSACTION.
  BRXA_INPUT_MSG_PTR
  A field used to save the address of an input message. This field
  is intended to be used in conjunction with a formatter.
  BRXA_INPUT_MSG_LEN
  A field used to save the current length of the input message.
  BRXA_OUTPUT_MSG_PTR
  A field used to save the address of an output message. This
  field is intended to be used in conjunction with a formatter.
  BRXA_OUTPUT_MSG_LEN
  A field used to save the current length of the output message.
  
  --------------------------------------------------------------------
Table 1.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 56 BRXA_HEADER
(0) CHARACTER 8 BRXA_HEADER_ EYECATCHER
(8) FULLWORD 4 BRXA_HEADER_LENGTH
(C) UNSIGNED 4 BRXA_HEADER_VERSION_ NO
(10) ADDRESS 4 BRXA_TRANSACTION_ AREA_PTR
(14) FULLWORD 4 BRXA_TRANSACTION_ AREA_LEN
(18) ADDRESS 4 BRXA_COMMAND_AREA_PTR
(1C) FULLWORD 4 BRXA_COMMAND_AREA_LEN
(20) ADDRESS 4 BRXA_USER_AREA_PTR
(24) FULLWORD 4 BRXA_USER_AREA_LEN
        new for CTS 1.3
(28) ADDRESS 4 BRXA_INPUT_MSG_PTR
(2C) FULLWORD 4 BRXA_INPUT_MSG_LEN
(30) ADDRESS 4 BRXA_OUTPUT_MSG_PTR
(34) FULLWORD 4 BRXA_OUTPUT_MSG_LEN
  --
  
  The BRXA transaction area contains information about the invoking
  Bridge transaction and the linked to transaction. This area is not
  meaningful when executing within the Bridge transaction and should
  not be referenced there. This information is completed by CICS for
  each invocation of the Bridge Exit. The transaction area contains
  the following information:
  
  BRXA_TRAN_AREA_EYECATCHER
  An eyecatcher to identify the area as an BRXA Transaction Area.
  This will be set by CICS, before passing control to the Bridge
  Exit, to the value BRXA_TRAN_AREA_EYE ('>BRTRANA'), which is
  defined in the DFHBRACx copy book.
  BRXA_BRIDGE_TRANID
  The transaction id of the Bridge Transaction.
  BRXA_TRANID
  The transaction id of the user transaction.
  BRXA_NEXTTRANID
  The transaction id of the next transaction.
  BRXA_ABEND_CODE
  If the User Transaction abends, then the abend code is placed
  here. If the transaction hasn't abended this field is blanks.
  BRXA_CALLING_PROG
  The name of the program in the User Transaction which issued the
  command causing the Bridge Exit to be invoked. For the
  BRXA_INIT, BRXA_BIND, BRXA_TERM and BRXA_ABEND calls this fields
  is set to blanks.
  BRXA_USERID
  specifies the userid under whose authority the Linked
  Transaction is to run.
  BRXA_STARTCODE
  specifies the type of method which would normally be used to
  start this transaction. This value is returned in the assign
  command, but has no other effect on processing. The following
  values are allowed:
  
  S
  START command without data
  SD
  START command with data
  TD
  Terminal Input (this is the default value)
  
  If an invalid value is specified the value TD is assumed.
  
  On invocation of the Bridge Exit for TERM and ABEND processing,
  this field contains the start code appropriate to the
  BRXA_NEXTTRANID value.
  BRXA_LOAD_ADS_DESCRIPTOR
  If this one character field is set to 'Y' by the Bridge
  Transaction, then for BMS SEND MAP and RECEIVE MAP, CICS will
  load the mapset and locate the ADS descriptor for the map, and
  the address of this descriptor will be passed to the LT exit in
  the command area. The format of this descriptor is defined in
  ADS_descriptor. If this field has any value other than 'Y', then
  CICS will not attempt to load the mapset and locate the
  descriptor, and brxa_ADS_descriptor_ptr will be set to null.
  BRXA_TRACE
  This field is set to 'Y' if level 2 tracing is set on for BR.
  The exit should use this flag to trace important information for
  diagnostic purposes. In particular the input and output data
  should be traced. Note that for BR level 2 tracing, the BRXA is
  already traced by CICS on input and output.
  BRXA_FACILITYLIKE
  The name of an installed 3270 terminal to be used as a template
  terminal definition for constructing the bridge facility.
  
  If a value is not specified CICS will look for a value specified
  as FACILITYLIKE in the user transaction's profile. If this value
  is also blanks, CICS will use the new CICS-supplied definition
  CBRF (based on model DFHLU2).
  
  If the specified FACILITYLIKE does not exist the Bridge CICS
  abends the transaction ABRJ.
  
  It is not possible to change the FACILITYLIKE definition after
  the terminal has been created, so this parameter is ignored if
  FACILITYTYPE is specified.
  
  If the template terminal definition is defined with QUERY(COLD)
  or QUERY(ALL) this will be ignored, and the predefined
  characteristics used.
  BRXA_FACILITY_KEEP_TIME
  This field specifies the time (in seconds) that the Bridge
  Facility will be kept after the User transaction terminates. If
  a non zero value is set in this field the Bridge Facility, and
  its pseudo conversational data will remain.
  
  This field is initially set to zero on the BRXA_INIT call. The
  exit only needs to set the value in the BRXA_TERM call.
  
  The maximum value is 1 week (604800 seconds). If a value larger
  than this is specified, CICS will keep the Bridge Facility for 1
  week.
  BRXA_FACILITYTYPE
  A token representing the Bridge Facility to be used. This value
  can be set on the BRXA_INIT call.
  
  Specifying a value implies reusing a Bridge Facility kept when a
  previous Bridge ran a user transaction, and kept the terminal.
  
  The default value of nulls will result in CICS dynamically
  allocating a new Bridge Facility.
  
  The name of the Bridge facility used is accessible to the user
  transaction in the EIBTRMID field of the EIB. No other TERMID's
  in the system will be the same, although the name may be re-used
  almost immediately when the user transaction finishes.
  BRXA_SCREEN_HEIGHT
  The current screen height
  BRXA_SCREEN_WIDTH
  The current screen width
  BRXA_ALTERNATE_SCREEN_HEIGHT
  The alternate screen height
  BRXA_ALTERNATE-SCREEN_WIDTH
  The alternate screen width
  BRXA_IDENTIFIER
  a 48 character field which can be used by the exit routine to
  associate the request with the specific use of the exit (for
  example, the MQ correlator for the MQ bridge, and the TCP/IP id
  for the Web).
  BRXA_FORMATTER
  An 8 byte character field to be used by the exit routine to
  specify the name of a formatter. If a value is specified in this
  field, then the formatter is called for BMS, TC, and IC
  requests. The bridge exit is only called for XM, SYNC and MSG
  requests.
  BRXA_CALL_EXIT_FOR_SYNC
  Should the bridge exit be called for syncpoint.
  BRXA_NEXTTRANID_SOURCE
  How was the next transid created?
  
  BRXA_IMMEDIATEBy a RETURN TRANSID IMMEDIATE command
  BRXA_STARTED By a START TRANSID command
  BRXA_NORMAL By a RETURN TRANSID or SET NEXTTRANSID command
  
  BRXA_TCTUA (PTR/LEN)
  Bridge facility's TCTUA
  BRXA_BRDATA_PTR
  Address of the data specified by the BRDATA parameter on the
  START TRANSID BREXIT command.
  BRXA_BRDATA_LEN
  Length of the BRDATA, as given on the START TRANSID BREXIT
  command.
  
  --------------------------------------------------------------------
Table 2.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 180 BRXA_TRANSACTION_AREA
(0) CHARACTER 8 BRXA_TRAN_AREA_ EYECATCHER
(8) CHARACTER 4 BRXA_BRIDGE_TRANID
(C) CHARACTER 4 BRXA_TRANID
(10) CHARACTER 4 BRXA_NEXTTRANID
(14) CHARACTER 4 BRXA_ABEND_CODE
(18) CHARACTER 8 BRXA_CALLING_PROG
(20) CHARACTER 8 BRXA_USERID
(28) CHARACTER 8 * reserved applid
(30) CHARACTER 2 BRXA_STARTCODE
(32) CHARACTER 1 BRXA_LOAD_ADS_ DESCRIPTOR
(33) CHARACTER 1 BRXA_TRACE
(34) CHARACTER 4 BRXA_FACILITYLIKE
(38) UNSIGNED 4 BRXA_FACILITY_KEEP_ TIME
(3C) CHARACTER 8 BRXA_FACILITY_TOKEN
(44) HALFWORD 2 BRXA_SCREEN_HEIGHT
(46) HALFWORD 2 BRXA_SCREEN_WIDTH
(48) HALFWORD 2 BRXA_ALTERNATE_ SCREEN_HEIGHT
(4A) HALFWORD 2 BRXA_ALTERNATE_ SCREEN_WIDTH
(4C) CHARACTER 48 BRXA_IDENTIFIER
        new for CTS 1.3
(7C) CHARACTER 8 BRXA_FORMATTER
(84) CHARACTER 1 BRXA_CALL_EXIT_FOR_ SYNC
(85) CHARACTER 1 BRXA_NEXTTRANID_ SOURCE
(86) CHARACTER 6 *
(8C) ADDRESS 4 BRXA_TCTUA_PTR
(90) FULLWORD 4 BRXA_TCTUA_LEN
(94) ADDRESS 4 BRXA_BRDATA_PTR
(98) FULLWORD 4 BRXA_BRDATA_LEN
(9C) CHARACTER 4 BRXA_INTERVAL
(A0) CHARACTER 4 BRXA_TIME
(A4) FULLWORD 4 BRXA_HOURS
(A8) FULLWORD 4 BRXA_MINUTES
(AC) FULLWORD 4 BRXA_SECONDS
(B0) CHARACTER 1 BRXA_START_AFTER
(B1) CHARACTER 1 BRXA_START_AT
(B2) CHARACTER 2 * For alignment
(B4) CHARACTER 0 *
  --
  
  The command area contains information relating to the command
  which has caused the Bridge Exit to be called.
  
  Some fields are common for all commands, and there are some fields
  for specific commands.
  
  --------------------------------------------------------------------
  
  The common fields of the command area are:
  
  BRXA_COMMAND_AREA_EYECATCHER
  An eyecatcher to identify the area as an LT Command Area. This
  will be set by CICS, before passing control to the Bridge Exit,
  to the value BRXA_COMMAND_AREA_EYE ('>BRCOMMA'), which is
  defined in the DFHBRACx copy book.
  BRXA_FUNCTION_CODE
  A two character code identifying the CICS function for which the
  Bridge Exit is called. For calls for Initialise Transaction,
  Terminate Transaction and Abend Transaction this is 'XM'. For
  all other requests, this is the value in the first byte of EIBFN
  converted to character form. Valid EBCDIC characters are used
  for the function and command code to simplify testing of the
  values in User Transaction Exit programs written in all the
  supported languages, and to simplify passing of the codes to
  other systems. Constants with meaningful names are provided for
  all the supported languages to simplify testing,
  BRXA_COMMAND_CODE
  A two character code identifying the CICS command for which the
  Bridge Exit is called. For Initialise Transaction this is 'IN',
  for Terminate Transaction this is 'TM' and, for Abend
  Transaction this is 'AB'. For all other requests, this is the
  value in the second byte of EIBFN converted to character form.
  Valid EBCDIC characters are used for the function and command
  code to simplify testing of the values in User Transaction Exit
  programs written in all the supported languages, and to simplify
  passing of the codes to other systems. Constants with meaningful
  names are provided for all the supported languages to simplify
  testing,
  BRXA_USER_ABEND_CODE
  If this field is set to a non blank value (the default), CICS
  will generate a transaction abend with this code.
  
  Note that if the exit issues an EXEC CICS ABEND requests, this
  will result in a CICS DUMP, and will disable the exit.
  BRXA_FROM_PTR
  The address of the FROM data in SEND, CONVERSE, SEND MAP, SEND
  TEXT and START commands. This will be zero for other commands,
  or if FROM not specified on the command.
  BRXA_FROM_LEN
  The length of the FROM data in SEND, CONVERSE, SEND MAP, SEND
  TEXT and START commands. This will be zero for other commands,
  or if FROM not specified on the command. The length is a
  fullword,
  BRXA_INTO_PTR
  The address of the INTO data in RECEIVE, CONVERSE, RECEIVE MAP
  and RETRIEVE commads. This must be set by the User Transaction
  Exit, and CICS will copy data from this address into the INTO
  area specified on the command, or will copy the address into the
  SET parameter specified on the command.
  BRXA_INTO_LEN
  The length of the INTO data in RECEIVE, CONVERSE, RECEIVE MAP
  and RETRIEVE commads. This must be set by the User Transaction
  Exit, and CICS will copy this value into LENGTH, FLENGTH or
  INTOLENGTH parameter specified on the command, and use the value
  when copying data into the INTO area. The length is a fullword,
  
  NOTE: CONVERSE is the only command which has both FROM and INTO,
  and the BRXA_FROM_PTR and BRXA_INTO_PTR (and corresponding
  lengths) could be replaced by a single BRXA_DATA_PTR (and
  BRXA_DATA_LEN), and in the case of CONVERSE the exit would
  replace the FROM address and length by the INTO address and
  length,
  BRXA_RESP
  The resp code to be set (by CICS) in EIBRESP. This will be set
  to zero by CICS before calling the exit, and the exit must set
  this value if anything other than a normal response is required.
  
  CICS will generate an ABRN transaction abend if the value
  returned is not one that could normally be produced by CICS for
  this command. If this value is zero, CICS may itself set the
  EIBRESP value and raise a condition.
  BRXA_RESP2
  The resp code to be set (by CICS) in EIBRESP2. This will be set
  to zero by CICS before calling the exit, and the exit must set
  this value if anything other than a normal response is required.
  
  CICS does not check the value specified for consistency with the
  command. If this value is zero, CICS may itself set the EIBRESP
  value and raise a condition.
  BRXA_CPOSN
  The cursor position to be set (by CICS) in EIBCPOSN for RECEIVE,
  CONVERSE, RECEIVE MAP commands. This will be set to zero by CICS
  before calling the exit, and the exit must set this value, if
  the User Transaction uses the value in EIBCPOSN.
  BRXA_AID
  The attention id (PF key code) to be set (by CICS) in EIBAID for
  RECEIVE, CONVERSE, RECEIVE MAP commands. This will be set to
  ENTER (X'7D') by CICS before calling the exit, and the exit must
  set this value, if the User Transaction uses the value in
  EIBAID. The exit can use the values defined in DFHAID copy books
  to set the value (these are EBCDIC values of the 3270 AID
  characters).
  BRXA_ERASE_INDICATOR
  A one character value which is set (by CICS) to indicate whether
  ERASE, ERASE ALTERNATE or ERASE DEFAULT is specified on SEND,
  CONVERSE SEND MAP, SEND TEXT or SEND CONTROL commands. Constants
  with meaningful names are provided for all languages to allow
  the Bridge Exit to test this value if necessary.
  BRXA_LAST_INDICATOR
  a one character field indicating whether LAST specified on SEND
  command. Valid values are 'Y' or 'N', and constants are provided
  for the exit to test this field.
  BRXA_WAIT_INDICATOR
  a one character field indicating whether WAIT specified on SEND,
  RETRIEVE or ISSUE ERASEAUP. Valid values are 'Y' or 'N', and
  constants are provided for the exit to test this field.
  BRXA_FMT_RESPONSE
  This field is used by the formatter to tell the CICS that the
  bridge exit should be called to read or write a message.
  Possible values are:
  
  BRXA_FMT_NONE
  No action. The formatter has processed the request.
  BRXA_FMT_OUTPUT_BUFFER_FULL
  There is no room to add the next vector. Call the bridge exit
  to write the message, clear the buffer, then call the
  formatter again.
  BRXA_FMT_WRITE_MESSAGE
  The request required data to be flushed. Call the bridge exit
  to write the message.
  BRXA_FMT_REQUEST_NEXT_MESSAGE
  The formatter has run out of data in the message. Call the
  bridge exit to read a message, then call the formatter again.
  BRXA_FMT_READ_MESSAGE_NOWAIT
  The formatter has run out of data in the message. Check to see
  if there is a new message before requesting any further input.
  Call the bridge exit to read a message, then call the
  formatter again.
  
  BRXA_READ_NOWAIT_ISSUED
  This field is used by the formatter to check if it has already
  returned a brxa_fmt_read_message_nowait for this command.
  
  BRXA_NO
  A brxa_fmt_read_message_nowait has not been returned for this
  command.
  BRXA_YES
  A brxa_fmt_read_message_nowait has been returned for this
  command.
  
  BRXA_REQUEST_NEXT_ISSUED
  This field is used by the formatter to check if it has already
  returned a brxa_fmt_request_next_message for this command.
  
  BRXA_NO
  A brxa_fmt_request_next_message has not been returned for this
  command.
  BRXA_YES
  A brxa_fmt_request_next_message has been returned for this
  command.
  
  --------------------------------------------------------------------
Table 3.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 48 BRXA_COMMAND_COMMON
(0) CHARACTER 8 BRXA_COMMAND_AREA_ EYECATCHER
(8) CHARACTER 2 BRXA_FUNCTION_CODE
(A) CHARACTER 2 BRXA_COMMAND_CODE
(C) CHARACTER 4 BRXA_USER_ABEND_CODE
(10) ADDRESS 4 BRXA_FROM_PTR
(14) FULLWORD 4 BRXA_FROM_LEN
(18) ADDRESS 4 BRXA_INTO_PTR
(1C) FULLWORD 4 BRXA_INTO_LEN
(20) HALFWORD 2 BRXA_RESP
(22) HALFWORD 2 BRXA_RESP2
(24) HALFWORD 2 BRXA_CPOSN
(26) CHARACTER 1 BRXA_AID
(27) CHARACTER 1 BRXA_ERASE_INDICATOR
(28) CHARACTER 1 BRXA_LAST_INDICATOR
(29) CHARACTER 1 BRXA_WAIT_INDICATOR
        new for CTS 1.3
(2A) CHARACTER 1 BRXA_FMT_RESPONSE
(2B) CHARACTER 1 BRXA_READ_NOWAIT_ ISSUED
(2C) CHARACTER 1 BRXA_REQUEST_NEXT_ ISSUED
(2D) CHARACTER 1 BRXA_SUPPORT_ACCUM
(2E) CHARACTER 2 *
  --
  
  This command area defines actions at the initialisation and
  termination of the bridge. There are four functions:
  
  Init
  The purpose of this call is for the Bridge Exit pass CICS
  various parameters to run the transaction. Typically the BRDATA
  will be used to obtain this information.
  
  The following values can be set in the transaction and common
  areas area for this request.
  
  - BRXA_STARTCODE
  
  - BRXA_LOAD_ADS_DESCRIPTOR
  
  - BRXA_FACILITYLIKE
  
  - BRXA_FACILITY_TOKEN
  
  - BRXA_USER_ABEND_CODE
  
  - BRXA_IDENTIFIER
  
  - BRXA_FORMATTER
  
  Requests using recoverable resources can not be made in this
  call.
  Bind
  The purpose of this call is for the Bridge Exit to obtain data
  to answer 3270 requests in subsequent calls.
  
  Recoverable requests can be made in this call.
  
  The exit must not use the TWA, as this is not setup for the
  Bridge.
  
  The following values can be set in the transaction and common
  areas area for this request.
  
  - BRXA_STARTCODE
  
  - BRXA_LOAD_ADS_DESCRIPTOR
  
  - BRXA_FACILITY_KEEP_TIME
  
  - BRXA_USER_ABEND_CODE
  
  - BRXA_IDENTIFIER
  
  Term
  The purpose of this call is to inform the Bridge Exit that the
  user transaction is terminating. It also identifies the next
  transaction if this has been specified by the user transaction.
  
  This call is not made if the user transaction abends.
  
  Recoverable requests can be made in this call.
  
  The following values can be set in the transaction and common
  areas area for this request.
  
  - BRXA_FACILITY_KEEP_TIME
  
  - BRXA_USER_ABEND_CODE
  
  Abend
  In the event of the user transaction abending this call allows
  the Bridge Exit to issue non recoverable requests to the
  external resource, for example a non-syncpointing MQPUT can be
  issued for the MQ Bridge.
  
  The call can also change the abend code.
  
  Recoverable requests can not be made in this call.
  
  The following values can be set in the transaction and common
  areas area for this request Any other values are ignored.
  
  - BRXA_FACILITY_KEEP_TIME
  
  - BRXA_USER_ABEND_CODE
  
  --------------------------------------------------------------------
Table 4.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 48 BRXA_XM_COMMAND
(0) CHARACTER 48 *
(30) CHARACTER 0 *
  --
  
  The Terminal Control command interface overlays the common command
  interface, and defines some Terminal Control specific parameters.
  
  Commands supported are SEND, RECEIVE and CONVERSE.
  
  The terminal control specific parameters are
  
  BRXA_CTLCHAR
  The 3270 Write Control Character (WCC) passed on SEND and
  CONVERSE commands as CTLCHAR. If not specified on the command
  the default value (X'C3'- unlock keyboard, reset MDT flags) is
  passed to the exit.
  BRXA_BUFFER_INDICATOR
  a one character field indicating whether BUFFER specified on
  RECEIVE command. Valid values are 'Y' or 'N', and constants are
  provided for the exit to test this field.
  
  (BUFFER is not allowed on CONVERSE - diagnosed by translator)
  BRXA_STRFIELD_INDICATOR
  a one character field indicating whether STRFIELD specified on
  SEND or CONVERSE command. Valid values are 'Y' or 'N', and
  constants are provided for the exit to test this field.
  BRXA_DEFRESP_INDICATOR
  a one character field indicating whether DEFRESP specified on
  SEND or CONVERSE command. Valid values are 'Y' or 'N', and
  constants are provided for the exit to test this field.
  BRXA_INVITE_INDICATOR
  a one character field indicating whether INVITE specified on
  SEND command. Valid values are 'Y' or 'N', and constants are
  provided for the exit to test this field.
  
  --------------------------------------------------------------------
Table 5.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 53 BRXA_TC_COMMAND
(0) CHARACTER 48 *
(30) CHARACTER 1 BRXA_CTLCHAR
(31) CHARACTER 1 BRXA_BUFFER_INDICATOR
(32) CHARACTER 1 BRXA_STRFIELD_ INDICATOR
(33) CHARACTER 1 BRXA_DEFRESP_ INDICATOR
(34) CHARACTER 1 BRXA_INVITE_INDICATOR
  --
  
  The BMS command interface overlays the common command interface,
  and defines some BMS specific parameters.
  
  Commands supported are SEND MAP, SEND TEXT, SEND CONTROL and
  RECEIVE MAP.
  
  The BMS specific parameters are:
  
  BRXA_MAPSET
  The (unsuffixed) mapset name specified on SEND MAP or RECEIVE
  MAP.
  BRXA_MAP
  The map name specified on SEND MAP or RECEIVE MAP.
  BRXA_ADS_DESCRIPTOR_PTR
  The address of the ADS descriptor for BMS SEND MAP and RECEIVE
  MAP commands. This will be set by the interface code, if the
  Bridge has set the flag in the BRXA indicating that the
  descriptor should be loaded, and if the relevant mapset has been
  regenerated to include the descriptor. Otherwise this pointer
  will be set to 0.
  BRXA_CURSOR
  A halfword value containing the CURSOR position specified on
  SEND MAP, SEND TEXT or SEND CONTROL command, which identifies
  where the cursor is to be positioned on the 3270 screen. A value
  of -1 is passed if the application specified CURSOR with no
  value on SEND MAP command, indicating that symbolic cursor
  positioning is required, that is, that the cursor is to be
  positioned in the first field in the application data structure
  that has a value of -1 in the corresponding length field. A
  value of -2 is passed if the application did not specify CURSOR
  on the SEND MAP command.
  BRXA_MSR_DATA
  The four character value specified in MSR on SEND MAP, SEND
  CONTROL or SEND TEXT command. Constants are provided in the copy
  book DFHMSRCA which will allow the exit to test the values
  specified.
  
  NOTE: If we can assume that a BFB will always be constructed as
  if its TYPETERM was defined with MSRCONTROL(NO), then this
  parameter could be omitted, as for a 3270 terminal fro which
  MSRCONTROL(NO) is specified, BMS ignores the MSR field specified
  on the command.
  BRXA_DATA_INDICATOR
  a one character field indicating whether DATAONLY, MAPONLY or
  neither are specified on the SEND MAP command. Valid values are
  'D' (DATAONLY), 'M' (MAPONLY) or 'N'(neither specified) and
  constants are provided for the exit to test this field. (Note
  that if MAPONLY is specified, the FROM pointer and length will
  be zero, as there is no Apllication Data Structure in this
  case.)
  BRXA_ERASEAUP_INDICATOR
  a one character field indicating whether ERASAUP is specified on
  a SEND MAP or SEND CONTROL command. Valid values are 'Y' or 'N',
  and constants are provided for the exit to test this field.
  BRXA_FREEKB_INDICATOR
  a one character field indicating whether FREEKB is specified on
  a SEND MAP SEND TEXT or SEND CONTROL command. Valid values are
  'Y' or 'N', and constants are provided for the exit to test this
  field.
  BRXA_ALARM_INDICATOR
  a one character field indicating whether ALARM is specified on a
  SEND MAP, SEND TEXT or SEND CONTROL command. Valid values are
  'Y' or 'N', and constants are provided for the exit to test this
  field.
  BRXA_MSR_INDICATOR
  a one character field indicating whether MSR is specified on a
  SEND MAP , SEND TEXT or SEND CONTROL command. Valid values are
  'Y' or 'N', and constants are provided for the exit to test this
  field.
  BRXA_FRSET_INDICATOR
  a one character field indicating whether FRSET is specified on a
  SEND MAP or SEND CONTROL command. Valid values are 'Y' or 'N',
  and constants are provided for the exit to test this field.
  BRXA_TEXT_TYPE
  a one character field indicating whether NOEDIT or MAPPED is
  specified on a SEND TEXT command. Valid values are ' ' ( neither
  NOEDIT nor MAPPED specified), 'N' (NOEDIT specified) and 'M'
  (MAPPED specified) and constants are provided for the exit to
  test this field.
  
  --------------------------------------------------------------------
Table 6.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 108 BRXA_BMS_COMMAND
(0) CHARACTER 48 *
(30) CHARACTER 7 BRXA_MAPSET
(37) CHARACTER 1 BRXA_MAPSET_INDICATOR
(38) CHARACTER 7 BRXA_MAP
(3F) CHARACTER 1 * reserved
(40) ADDRESS 4 BRXA_ADS_DESCRIPTOR_ PTR
(44) HALFWORD 2 BRXA_CURSOR
(46) CHARACTER 4 BRXA_MSR_DATA
(4A) CHARACTER 1 BRXA_DATA_INDICATOR
(4B) CHARACTER 1 BRXA_ERASEAUP_ INDICATOR
(4C) CHARACTER 1 BRXA_FREEKB_INDICATOR
(4D) CHARACTER 1 BRXA_ALARM_INDICATOR
(4E) CHARACTER 1 BRXA_FRSET_INDICATOR
(4F) CHARACTER 1 BRXA_MSR_INDICATOR
(50) CHARACTER 1 BRXA_TEXT_TYPE
(51) CHARACTER 1 BRXA_ACCUM_INDICATOR
(52) CHARACTER 1 BRXA_RELEASE_ INDICATOR
(53) CHARACTER 1 BRXA_RETAIN_INDICATOR
(54) CHARACTER 4 BRXA_RELEASE_TRANSID
(58) ADDRESS 4 BRXA_PAGE_HEADER_PTR
(5C) FULLWORD 4 BRXA_PAGE_HEADER_LEN
(60) ADDRESS 4 BRXA_PAGE_TRAILER_PTR
(64) FULLWORD 4 BRXA_PAGE_TRAILER_LEN
(68) CHARACTER 1 BRXA_PAGE_HEADER_ PAGENO
(69) CHARACTER 1 BRXA_PAGE_TRAILER_ PAGENO
(6A) CHARACTER 2 *
  --
  
  The Interval Control command interface overlays the common command
  interface, and defines some Interval Control specific parameters.
  
  The only command supported is RETRIEVE.
  
  The Interval Control specific parameters are:
  
  BRXA_RTERMID
  The value of RTERMID specified on START command. For the
  RETRIEVE command this is a field that the Bridge Exit can set to
  pass the RTERMID value back to the application issuing the
  RETRIEVE.
  BRXA_RTRANSID
  The value of RTRANSID specified on START command. For the
  RETRIEVE command this is a field that the Bridge Exit can set to
  pass the RTRANSID value back to the application issuing the
  RETRIEVE.
  BRXA_QUEUE
  The value of QUEUE specified on START command. For the RETRIEVE
  command this is a field in which the Bridge Exit can set the
  QUEUE value to be used by the application issuing the RETRIEVE.
  
  --------------------------------------------------------------------
Table 7.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 64 BRXA_IC_COMMAND
(0) CHARACTER 48 *
(30) CHARACTER 4 BRXA_RTERMID
(34) CHARACTER 4 BRXA_RTRANSID
(38) CHARACTER 8 BRXA_QUEUE
  --
  
  This command area defines actions at syncpoint and syncpoint
  rollback. brxa_explicit is used to indicate whether this request
  originated from an explicit EXEC CICS SYNCPOINT command, or
  whether it is an implicit syncpoint generated by CICS. It will be
  set to 'Y' or 'N' prior to invoking the exit, and constants are
  provided for the exit to test this field. Valid values for
  rollback are 'Y' or 'N', and constants are provided for the exit
  to test this field.
  
  --------------------------------------------------------------------
Table 8.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 50 BRXA_SYNC_COMMAND
(0) CHARACTER 48 *
(30) CHARACTER 1 BRXA_EXPLICIT
(31) CHARACTER 1 BRXA_ROLLBACK
  --
  
  This command area defines actions when the bridge exit is called
  to read or write a message. These functions are only used if the
  bridge exit specified a formatter on initialisation.
  
  This command area defines the following functions:
  
  Init
  The purpose of this call is for the Bridge Exit pass CICS
  various parameters to run the transaction. Typically the BRDATA
  will be used to obtain this information.
  
  The following values can be set in the transaction and common
  areas area for this request.
  
  - BRXA_STARTCODE
  
  - BRXA_LOAD_ADS_DESCRIPTOR
  
  - BRXA_FACILITYLIKE
  
  - BRXA_FACILITY_TOKEN
  
  - BRXA_USER_ABEND_CODE
  
  - BRXA_IDENTIFIER
  
  --------------------------------------------------------------------
Table 9.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE 48 BRXA_MSG_COMMAND
(0) CHARACTER 48 *
  --
  
  The ADS descriptor is provided to allow interpretation of the BMS
  Application Data Structure - that is, the structure used by the
  application program for the data in SEND and RECEIVE MAP requests
  - by an exit program, without requiring the exit program to
  include the relevant copy book at compile time.
  
  The ADS descriptor is only available if the map load module has
  been reassembled to include the descriptor, and CICS only attempts
  to locate the descriptor if the brxa_load_ADS_descriptor indicator
  is set to brxa_yes in the Bridge Exit initialisation call.
  
  The ADS descriptor contains a header containing general
  information about the map, together with a field descriptor for
  every field which appears in the ADS, that is every named field in
  the map definition macro.
  
  The header consists of the following information
  
  ADSD_LENGTH
  The length of the ADS descriptor
  ADSD_EYECATCHER
  An eyecatcher ('ADSD') to identify this as an ADS descriptor
  ADSD_MAP_INDEX
  The index of the map within the mapset. This is needed to
  determine the HTML template corresponding to the map.
  ADSD_FIELD_COUNT
  the number of fields within the ADS, that is the number of named
  fields in the map definition macros. A separate field is counted
  for each element of an array defined with the OCCURS parameter,
  but subfields of group fields (GRPNAME) are not counted. The
  field count may be zero, in which case there are no field
  descriptors following the header.
  ADSD_STRUCTURE_LENGTH
  the length of the application data structure
  ADSD_ATTRIBUTE_NUMBER
  the number of extended attributes in each field of the ADS, that
  is the number of attributes specified in DSATTS in the map
  definition.
  ADSD_ATTRIBUTE_TYPE_CODES
  
  one character code for the attribute types in each field, in
  order, derived from DSATTS
  
  - C = COLOR
  
  - P = PS
  
  - H = HILIGHT
  
  - V = VALIDN
  
  - O = OUTLINE
  
  - S = SOSI
  
  - T = TRANSP
  
  ADSD_MAP_JUSTIFY_HOR
  the horizontal justification for the map, either L (LEFT) or R
  (RIGHT) from JUSTIFY operand on map definition.
  ADSD_MAP_JUSTIFY_VER
  the vertical justification for the map, from JUSTIFY operand on
  map definition. This can have the values F (FIRST), L (LAST) or
  B (BOTTOM) or blank (no vertical JUSTIFY operand).
  ADSD_MAP_STARTING_LINE
  the starting line for the map, from LINE operand on DFHMDI macro
  (LINE = NEXT will give a value of 255, LINE = SAME will give a
  value of 254)
  ADSD_MAP_STARTING_COLUMN
  the starting column for the map, from COLUMN operand on DFHMDI
  macro (COLUMN = NEXT will give a value of 255, COLUMN = SAME
  will give a value of 254)
  ADSD_MAP_LINES
  the number of lines in the map from SIZE= operand
  ADSD_MAP_COLUMNS
  the number of columns in the map from SIZE= operand
  ADSD_WRITE_CONTROL_CHAR
  the 3270 encoded WCC derived from CONTROL= operand
  ADSD_FIRST_FIELD
  the first field descriptor occurs here. Use the address of
  ADSD_FIRST_FIELD as the initial value of the pointer for the
  field descriptor (unless ADSD_field_count is 0).
  
  The field descriptor for each field within the map consists of
  
  ADSD_FIELD_NAME
  the unsuffixed field name padded with blanks
  ADSD_FIELD_NAME_LEN
  the number of characters in the field name
  ADSD_OCCURS_INDEX
  when OCCURS is specified for a field definition there will be a
  separate field descriptor for each element of the array, and
  occurs_index will indicate the array index for the particular
  field if OCCURS not specified, then occurs_index will be 0
  ADSD_FIELD_OFFSET
  the offset of the field within the ADS the offset is to the
  beginning of the (halfword) length field, and users must add 2
  (for the length field) + 1 (for the 3270 attribute) +
  attribute_number (for the extended attributes specified in
  DSATTS) to get the offset of the data part of the field
  ADSD_FIELD_DATA_LEN
  the length of the field in the ADS
  ADSD_FIELD_JUSTIFY
  indicates whether the data is to be justified left (L) or right
  (R) if the supplied length is less than the length in the ADS
  ADSD_FIELD_FILL_CHAR
  the character (blank or '0') to be used to fill the remainder of
  the field in the ADS.
  ADSD_NEXT_FIELD
  the next field descriptor occurs here. Use the address of
  ADSD_NEXT_FIELD to update the pointer for the field descriptor.
  
  --------------------------------------------------------------------
Table 10.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE * ADS_DESCRIPTOR
(0) HALFWORD 2 ADSD_LENGTH
(2) CHARACTER 4 ADSD_EYECATCHER
(6) HALFWORD 2 ADSD_MAP_INDEX
(8) HALFWORD 2 ADSD_FIELD_COUNT
(A) HALFWORD 2 ADSD_STRUCTURE_LENGTH
(C) HALFWORD 2 ADSD_ATTRIBUTE_NUMBER
(E) CHARACTER 1 ADSD_ATTRIBUTE_TYPE_ CODES (12)
(1A) CHARACTER 1 ADSD_MAP_JUSTIFY_HOR
(1B) CHARACTER 1 ADSD_MAP_JUSTIFY_VER
(1C) HALFWORD 2 ADSD_MAP_STARTING_ LINE
(1E) HALFWORD 2 ADSD_MAP_STARTING_ COLUMN
(20) HALFWORD 2 ADSD_MAP_LINES
(22) HALFWORD 2 ADSD_MAP_COLUMNS
(24) CHARACTER 1 ADSD_WRITE_CONTROL_ CHAR
(25) CHARACTER 1 *
(26) CHARACTER * ADSD_FIRST_FIELD
Table 11.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE * ADS_FIELD_DESCRIPTOR
(0) CHARACTER 32 ADSD_FIELD_NAME
(20) HALFWORD 2 ADSD_FIELD_NAME_LEN
(22) HALFWORD 2 ADSD_OCCURS_INDEX
(24) HALFWORD 2 ADSD_FIELD_OFFSET
(26) HALFWORD 2 ADSD_FIELD_DATA_LEN
(28) CHARACTER 1 ADSD_FIELD_JUSTIFY
(29) CHARACTER 1 ADSD_FIELD_FILL_CHAR
(2A) CHARACTER * ADSD_NEXT_FIELD
  --
Table 12.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE * ADS_LONG_DESCRIPTOR
(0) FULLWORD 4 ADSDL_LENGTH
(4) CHARACTER 4 ADSDL_EYECATCHER
(8) FULLWORD 4 ADSDL_MAP_INDEX
(C) FULLWORD 4 ADSDL_FIELD_COUNT
(10) FULLWORD 4 ADSDL_STRUCTURE_ LENGTH
(14) FULLWORD 4 ADSDL_ATTRIBUTE_ NUMBER
(18) CHARACTER 1 ADSDL_ATTRIBUTE_ TYPE_CODES (12)
(24) CHARACTER 1 ADSDL_MAP_JUSTIFY_HOR
(25) CHARACTER 1 ADSDL_MAP_JUSTIFY_VER
(26) CHARACTER 2 *
(28) FULLWORD 4 ADSDL_MAP_STARTING_ LINE
(2C) FULLWORD 4 ADSDL_MAP_STARTING_ COLUMN
(30) FULLWORD 4 ADSDL_MAP_LINES
(34) FULLWORD 4 ADSDL_MAP_COLUMNS
(38) CHARACTER 1 ADSDL_WRITE_CONTROL_ CHAR
(39) CHARACTER 3 *
(3C) CHARACTER * ADSDL_FIRST_FIELD
Table 13.
Offset Hex Type Len Name (Dim) Description
(0) STRUCTURE * ADS_LONG_FIELD_ DESCRIPTOR
(0) CHARACTER 32 ADSDL_FIELD_NAME
(20) FULLWORD 4 ADSDL_FIELD_NAME_LEN
(24) FULLWORD 4 ADSDL_OCCURS_INDEX
(28) FULLWORD 4 ADSDL_FIELD_OFFSET
(2C) FULLWORD 4 ADSDL_FIELD_DATA_LEN
(30) CHARACTER 1 ADSDL_FIELD_JUSTIFY
(31) CHARACTER 1 ADSDL_FIELD_FILL_CHAR
(32) CHARACTER 2 *
(34) CHARACTER * ADSDL_NEXT_FIELD