ASMB,R,L,C,Q * NAME: .LGON * SOURCE: 92067-18091 * RELPC: 92067-16125 * PGMR: G.L.M. * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * *************************************************************** * * NAM .LGON,7 92067-16125 REV.2001 791028 * * MODIFIED 701028 TO ISSUE ONLY ERROR MESSAGES RETURNED * FROM LOGON. GLM * * * ENT .LGON * EXT .CLGN,EXEC,$LIBR,$LIBX * * A EQU 0 B EQU 1 * * * PURPOSE: GIVEN ACCOUNT DIRECTORY ENTRY NUMBER, PERFORM LOGON * CALLING SEQUENCE: (A)=DIRECTORY ENTRY NUMBER * JSB .LGON * DEF BUFFER(128 WORDS) FOR POSSIBLE ERROR RETURN * * RTN (A) 0= LOGON OK (B)=0 * -1= SESSION NOT INITIALIZED OR NOT INSTALLED * (B) NOT DEFINED * ELSE (A) = - TRANS LOG (BYTES) OF TERMINATING ERROR MSG * (ERROR STRING IN BUFFER) * (B) = ERROR CODE * * NOTE: THE CALLING PROGRAM IS PLACED IN THE SESSION CREATED * BY THIS CALL ( IF GOOD LOG-ON ). * * ERROR DIAGNOSTIC MESSAGES RETURNED BY LOGON WILL BE * ISSUED TO THE SYSTEM CONSOLE. * * SKP * * * .LGON NOP STA TEMP SAVE DIRECTORY ENT # LDA .LGON,I FETCH ERROR RETURN BUFFER ADDR STA BUFA CLA,INA SEND 1 WORD LDB DTEMP TO LOGON (ADDR OF DENT IN (B)) JSB .CLGN DM2 DEC -2 LOGON REQUEST * SSA ERROR ? JMP ERR1 YES GET OUT * STA CCLAS SAVE COMMUNICATION CLASS * GETIT LDA DM256 FETCH BUFFER SIZE JSB GETR GO DO A GET JMP ERR1 ERROR ON GET REQUEST * LDA CALL FETCH CALL TYPE ( THAT THE GET FETCHED) CPA D1 MUST BE READ OR WRITE\READ RSS JMP GETIT TRY AGAIN * LDA IOP2 FETCH LOGON STATUS STA TEMP3 SAVE POSSIBLE ERROR CODE SSA,RSS IF NEGATIVE (ERROR TERMINATION) SZA,RSS OR ZERO (GOOD LOGON RETURN) CMB,INB,RSS CONTINUE (SET BYTE COUNT NEG) JMP ISSUE GO PRINT DIAGNOSTIC THEN GET NEXT MESSAGE * SZA IF BAD RETURN LDA B FETCH NEGATIVE TRANS LOG OF ERROR MESSAGE EXIT STA TEMP SAVE RETURN STATUS LDA CCLAS XOR SAVC REMOVE SAVE CLASS BIT STA CCLAS * AGAIN CLA BUFFER LEN IS ZERO JSB GETR MAKE SURE COMMUNICATION CLASS IS RELEASED CLB,RSS ERROR RETURN= CLASS RELEASED JMP AGAIN * ISZ .LGON BUMP RETURN ADDR LDA TEMP3 FETCH POSSIBLE ERROR CODE ALF POSITION IT TO (B). (B) MUST BE ZERO FIRST ASL 6 LDA TEMP RESTORE RETURN STATUS SZA IF GOOD LOG-ON, APPEND THIS PROG TO THE SESSION JMP .LGON,I EXIT * * * THE CALLING PROGRAM IS PLACED IN SESSION BY INSERTING THE * SCB ADDRESS (RETURNED IN CLASS BUFFER BY LOGON) INTO XEQT+32. * LDA XEQT FETCH ID ADDR ADA D32 ADVANCE TO SESSION WORD LDB BUFA,I FETCH SCB ADDRESS JSB $LIBR NOP XSB A,I STORE IN ID SEGMENT LDA TEMP RESTORE RETURN STATUS CLB NO ERROR TO REPORT JSB $LIBX DEF .LGON RETURN * XEQT EQU 1717B * * * * * GETR NOP STA TEMP2 JSB EXEC DEF GET1 DEF DS21 DEF CCLAS DEF BUFA,I RESULT BUFFER DEF TEMP2 DEF IOP1 DEF IOP2 DEF CALL GET1 EQU * RSS ISZ GETR JMP GETR,I * * ERR1 CCA SET ERROR STATUS TO -1 JMP EXIT * * ISSUE CMB,INB SET BYTE COUNT NEGATIVE STB TEMP SAVE TRANS LOG * AND B7700 CHECK FOR ERROR FLAG (791028 2001) SZA,RSS AND CONTINUE IF NON-ERROR JMP GETIT MESSAGE FROM LOGON * JSB EXEC ISSUE LOG-ON DIAGNOSTIC TO SYSTEM CONSOLE DEF IS.1 DEF D2 WRITE DEF D1 LU 1 DEF BUFA,I BUFFER LOCATION DEF TEMP LENGTH IS.1 EQU * JMP GETIT GO MAKE NEXT GET REQUEST * * * * BUFA NOP B7700 OCT 7700 CALL NOP SAVC OCT 20000 D1 DEC 1 D2 DEC 2 D32 DEC 32 TEMP NOP DTEMP DEF TEMP TEMP2 NOP TEMP3 NOP DM256 DEC -256 DS21 OCT 100025 IOP1 NOP IOP2 NOP CCLAS NOP END