           MACRO                                                        00050007
&NAME       DEMF                                                        00100007
.********************************************************************** 00150007
.*                                                                    * 00200007
.* MODULE NAME = BNGTDEMF                                             * 00250007
.*                                                                    * 00300007
.* DESCRIPTIVE NAME = TCAM DEMF MACRO                                 * 00350007
.*                                                                    * 00400007
.* COPYRIGHT = NONE                                                   * 00450007
.*                                                                    * 00500007
.* STATUS = RELEASE 1, LEVEL 1                                        * 00550007
.*                                                                    * 00600007
.* FUNCTION = 1) LINKS TO BNGTQEMA TO SEE IF THIS IS A VALID DEMF     * 00650007
.*               REQUEST;                                             * 00700007
.*            2) IF YES, BNGTDEMF PUTS SOME INFORMATION ABOUT THE     * 00750007
.*               TERMINAL IN THE FIRST NINE POSITIONS OF THE          * 00800007
.*               MESSAGE AND RETURNS TO NSI.                          * 00850007
.*                                                                    * 00900007
.* NOTES = NONE                                                       * 00950007
.*                                                                    * 01000007
.*    DEPENDENCIES = NONE                                             * 01050007
.*                                                                    * 01100007
.*    RESTRICTIONS = NONE                                             * 01150007
.*                                                                    * 01200007
.*    REGISTER CONVENTIONS = NONE                                     * 01250007
.*                                                                    * 01300007
.*    PATCH LABEL = NONE                                              * 01350007
.*                                                                    * 01400007
.* MODULE TYPE = TCAM DEMF MACRO                                      * 01450007
.*                                                                    * 01500007
.*    PROCESSOR = ASSEMBLER H                                         * 01550007
.*                                                                    * 01600007
.*    MODULE SIZE = 504 DECIMAL BYTES                                 * 01650007
.*                                                                    * 01700007
.*    ATTRIBUTES = SERIALLY REUSABLE                                  * 01750007
.*                                                                    * 01800007
.* ENTRY POINT = DEMF                                                 * 01850007
.*                                                                    * 01900007
.*    PURPOSE = SEE FUNCTION                                          * 01950007
.*                                                                    * 02000007
.*    LINKAGE = R1  LOADED WITH THE PARAM LIST POINTER                * 02050007
.*              R14 LOADED WITH THE RETURN ADDR (USED BY SUBROUTINE)  * 02100007
.*                                                                    * 02150007
.* INPUT = PARAM LIST ITEMS USED ARE :                                * 02200007
.*         OUT MESSAGE ADDRESS                                        * 02250007
.*         OUT MESSAGE COUNT                                          * 02300007
.*         IN MESSAGE ADDRESS                                         * 02350007
.*         IN MESSAGE COUNT                                           * 02400007
.*                                                                    * 02450007
.* OUTPUT = PARAM LIST FOR OUTPUT ACCESS MODULE                       * 02500007
.*          PARAM LIST FOR CONSOLE ACCESS MODULE                      * 02550007
.*                                                                    * 02600007
.* EXIT-NORMAL = REGISTER 15 RETURN CODES RETURNED TO CALLER :        * 02650007
.*    NOTE: THESE RETURN CODES ARE SET BY INNER MACRO ROUTINES AND    * 02700007
.*          THIS MACRO JUST PASSES IT BACK TO CALLER.                 * 02750007
.*               00 - DEMF REQUEST HONORED, MSG FRDWRD TO BNGTIN QUE  * 02800007
.*               04 - DEMF REQUEST NOT HONORED, NO TCAM BUFFER AVAIL. * 02850007
.*               08 - NOT A DEMF REQUEST OR DEMF REQUEST FROM A       * 02900007
.*                    TERMINAL THAT IS NOT ALLOWED TO ENTER REQUEST   * 02950007
.*                    (TERMINAL IS IN LOCK MODE, TSO SESSION, OR NOT  * 03000007
.*                    A 3270).                                        * 03050007
.*                                                                    * 03100007
.* EXIT-ERROR = NONE                                                  * 03150007
.*                                                                    * 03200007
.* EXTERNAL REFERENCE = BNGTQEMA, BNGTIN                              * 03250007
.*                                                                    * 03300007
.*    ROUTINES = NONE                                                 * 03350007
.*                                                                    * 03400007
.*    DATA AREAS = NONE                                               * 03450007
.*                                                                    * 03500007
.*    CONTROL BLOCK = NONE                                            * 03550007
.*                                                                    * 03600007
.* TABLES = NONE                                                      * 03650007
.*                                                                    * 03700007
.* MACROS = LOCOPT, MSGEDIT, FORWARD                                  * 03750007
.*                                                                    * 03800007
.* CHANGE ACTIVITIES AS FOLLOWS:                                      * 03850007
.* CHANGE 01  11/15/77  PROLOGUE ADDED                                * 03850107
.* A058500,063000,067000,070000                                @OZ30476 03850207
.*                                                                    * 03900007
.*                                                                    * 03950007
*********************************************************************** 04000007
*           THIS MACRO SHOULD BE ISSUED IN THE INHEADER OF ALL 3270     04050007
*           MESSAGE HANDLERS THAT WILL ENTER DEMF REQUESTS.             04100007
*           IT LINKS TO THE MODULE BNGTQEMA TO SEE IF THIS IS A VALID   04150007
*           DEMF REQUEST, IF YES IT PUTS SOME INFORMATION ABOUT THE     04200007
*           TERMINAL IN THE FIRST NINE POSITIONS OF THE MESSAGE AND     04250007
*           RETURNS TO THE NSI. THE RETURN CODES PLACED IN REG15 ARE;   04300007
*             RC0 DEMF REQUEST HONORED MESSAGE FORWARDED TO BNGTIN QUE. 04350007
*             RC4 DEMF REQUEST NOT HONORED NO TCAM BUFFER AVAILABLE     04400007
*             FOR MSGEDIT OR INVALID FORWARD DESTINATION.               04450007
*             RC8 NOT A DEMF REQUEST OR DEMF REQUEST FROM A TERMINAL    04500007
*             THAT IS NOT ALLOWED TO ENTER REQUEST.(TERMINAL IS IN LOCK 04550007
*             MODE,TSO SESSION OR NOT A 3270)                           04600007
*********************************************************************** 04650007
             CNOP  0,4                 ALIGN                            04700007
&NAME        BAL   1,BNG5&SYSNDX       SET UP POINTER TO PARM LIST      04750007
BNG1&SYSNDX  DC    CL8'PARMFIEL'       DEMF PARM                        04800007
BNG2&SYSNDX  DC    CL1'D'              DEMF PARM FIELD TWO              04850007
*                                 MEANING OF THE TWO ABOVE PARM FIELDS  04900007
*                                 SIZE   2C  SIZE OF THIS MESSAGE       04950007
*                                 STAT   1C  91=REMOTE 99=LOCAL         05000007
*                                 MODEL  1C  F1=MODEL OME F2=MODEL TWO  05050007
*                                 LADR   3C  LINE ADDRESS               05100007
*                                 CTADR  1C  CONTROL UNIT POLL CHAR     05150007
*                                 CUADR  1C  TERMINAL POLL CHAR         05200007
BNG3&SYSNDX  DC    CL1'0'              RETURN CODE FROM BNGTQEMA        05250007
             CNOP  0,4                                                  05300007
BNG4&SYSNDX  DC      V(BNGTQEMA)       DEMF SCAN ROUTINE                05350007
BNG5&SYSNDX  L       15,BNG4&SYSNDX    LOAD SCAN ROUTINE ADDRESS        05400007
             BALR    14,15             DO DEMF REQUEST SCAN             05450007
             B       BNGB&SYSNDX       RETURN HERE NOT DEMF REQUEST     05500007
***    THIS MODULE ISSUES THE TCAM MACRO LOCOPT TO FIND THE             05550007
***    OPTION FIELD MODEL, IF THE USER DOES NOT HAS A TERMINAL          05600007
***    OPTION FIELD NAMED MODEL THERE WILL BE A ASSEMBLER ERROR         05650007
***    ON LOCOPT. THE MCP WILL OPERATE CORRECTLY,BUT IF IT IS           05700007
***    DESIRED TO ELIMINATE THIS ERROR THE LOCOPT STATEMENT AND         05750007
***    THE THREE STATEMENTS FOLLOWING IT SHOULD BE REMOVED FROM THE     05800007
***    DEMF MACRO                                                       05850007
*********************************************************************** 05900007
*          LOCOPT  MODEL             LOCATE MODEL OPTION FIELD @OZ30476 05950007
*********************************************************************** 06000007
             LOCOPT  MODEL                                              06050007
             LTR     15,15             TEST IF OPTION FIELD FOUND       06100007
             BZ      BNG6&SYSNDX       BR,NOT FOUND                     06150007
             MVC     BNG1&SYSNDX+3(1),0(15)   MODEL TYPE IN PARM        06200007
BNG6&SYSNDX  L       15,BNG7&SYSNDX+8   LOAD ADR OF MSGEDIT DATA        06250007
             MVC     0(8,15),BNG1&SYSNDX MOVE IN DATA FOR MSGEDIT       06300007
*********************************************************************** 06350007
*          MSGEDIT ((I,C'PARMFIEL',0)) PUT NEEDED INFO IN MSG  @OZ30476 06400007
*********************************************************************** 06450007
BNG7&SYSNDX  MSGEDIT ((I,C'PARMFIEL',0))                                06500007
             LTR     15,15              DID MSGEDIT WORK OK             06550007
             BNZ     BNGA&SYSNDX        NO,BR TO NO DEMF                06600007
             L       15,BNG9&SYSNDX+8   GET ADR OF MSGEDIT DATA         06650007
BNG8&SYSNDX  MVC     0(1,15),BNG2&SYSNDX MOVE IN DATA FOR MSGEDIT       06700007
*********************************************************************** 06750007
*          MSGEDIT ((I,C'D',8))     PUT NEEDED INFO IN MESSAGE @OZ30476 06800007
*********************************************************************** 06850007
BNG9&SYSNDX  MSGEDIT ((I,C'D',8))                                       06900007
             LTR     15,15              DID MSGEDIT WORK OK             06950007
             BNZ     BNGA&SYSNDX        NO BUFFER AVAILABLE FOR MSGEDIT 07000007
*********************************************************************** 07050007
*          FORWARD DEST=C'BNGTIN'     FORWARD DEMF MSG         @OZ30476 07100007
*********************************************************************** 07150007
             FORWARD DEST=C'BNGTIN'                                     07200007
             LTR     15,15                                              07250007
             BNZ     BNGA&SYSNDX        INVALED DEST ON FORWARD         07300007
BNGB&SYSNDX  SR      15,15                                              07350007
             IC      15,BNG3&SYSNDX     GET SCAN ROUTINE RETURN CODE    07400007
BNGA&SYSNDX  EQU     *                  BR TO HERE ON ERROR             07450007
             MEND                                                       07500007
