ASMB,R,L,C HED NAMF * NAME: NAMF * SOURCE: 92067-18129 * RELOC: 92067-16125 * PGMR: G.A.A.,N.J.S. * * *************************************************************** * * (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 NAMF,7 92067-16125 REV.2001 790924 ENT NAMF EXT EXEC, .ENTR, CLOSE, NAM.., OPEN, RMPAR EXT SESSN, ISMVE, $SMID, OVRD. * * NAMF IS THE FILE NAME CHANGE MODULE OF THE * RTE FILE MANAGEMENT PACKAGE. * * CALLING SEQUENCE: * * CALL NAMF(IDCB,IERR,NAME,NNAME,IS,ILU,DUM,ILNAM) * * WHERE: * IDCB IS A 144 WORD DATA CONTROL BLOCK * THIS AREA IS FREE AFTER THE CALL. * * IERR IS THE ERROR RETURN LOCATION * ERRORS ARE RETURNED HERE AND IN * THE A REGISTER. * DEFINED ERRORS ARE: * * * 0 NO ERROR * -1 DISC DOWN * -2 DUPLICATE NAME * -6 FILE NOT FOUND * -7 INVALID SECURITY CODE * -8 FILE CURRENTLY OPEN * -10 NOT ENOUGH PARAMETERS * -13 THE REQUIRED DISC IS LOCKED * -15 ILLEGAL NEW NAME * -19 ILLEGAL ACCESS ON A SYSTEM DISC * -32 CARTRIDGE NOT FOUND * * NNAME THE NEW 6 CHARACTER FILE NAME * * IS OPTIONAL - THE FILE SECURITY CODE * * ILU OPTIONAL - THE FILES DISC ID. * * DUM OPTIONAL - DUMMY PARAMETER TO SEPERATE ILMAN FROM * THE DOCUMENTED PARAMETERS. * * ILNAM OPTIONAL - NOT DOCUMENTED FOR EXTERNAL USE. IF SET * TO 70707B NAMF WILL ALLOW A FILE TO BE * RENAMED WITH AN ILLEGAL FILE NAME. * * SPC 3 DCB DEF ZERO DEFINE IERR DEF ZERO PARAMATER NAME DEF ZERO ADDRESSES NNAME DEF ZERO IS DEF ZERO ILU DEF ZERO DUM DEF ZERO ILNAM DEF ZERO NOP SPC 1 NAMF NOP ENTRY POINT JSB .ENTR FETCH PARAM ADDRESSES DEF DCB TO LOCAL LIST SPC 1 LDA N10 LOAD FOR NOT ENOUGH PRAM REJECT LDB NNAME NEW NAME SUPPLIED? CPB DZERO JMP EXIT NO; GO EXIT SPC 1 LDA ILNAM,I GET ILLEGAL NAME PARAMETER CPA ILNMF EQUAL TO 70707B? JMP NAM.0 YES - SKIP NAM.. CALL. JSB NAM.. YES;NEW NAME DEF NAM.R LEGAL DEF NNAME,I FOR A FILE NAME? NAM.R SZA JMP EXIT NO; EXIT NAM.0 JSB OPEN CALL DEF OPRTN TO DEF DCB,I OPEN DEF IERR,I THE DEF NAME,I FILE DEF ZERO EXCLUSIVELY DEF IS,I WITH DEF ILU,I USER PRAMS OPRTN SSA SUCESSFUL OPEN? JMP EXIT NO; EXIT * CPA .6 TYPE 6?? RSS YES - SPECIAL CHECK TO ALLOW RENAME OF TYPE 6 FILE * ON LU 2 OR 3 IF CALLER IS PERSON WHO SP'ED IT JMP NAMF1 NOPE - CONTINUE NORMAL RENAME * JSB SESSN SEE IF IN SESSION DEF *+2 DEF XEQT * SEZ IN SESSION? JMP NAMF1 NO - WILL BE ABLE TO RENAME ANY TYPE 6 FILE SO SKIP STB BUF KEEP SESSION ID JSB ISMVE LOOK IN SCB AND GET USER ID DEF *+5 DEF BUF SESSION ID DEF $SMID OFFSET DEF ID PUT ID HERE DEF .1 GET ONLY 1 WORD * LDB DCB GET ADDRESS OF DCB LDA B,I GET 1ST WORD OF DCB AND B77 MASK TO LU ADA PRC ADD IN SPECIAL FUNCTION BITS STA DCB2 AND SAVE FOR EXEC CALL ADB .3 POSITION TO TRACK WORD LDA B,I GET TRACK STA TRACK AND SAVE FOR EXEC CALL INB INCREMENT POINTER TO 2ND WORD OF DCB LDA B,I GET SECTOR FROM DCB STA SECT AND SAVE FOR EXEC CALL * JSB EXEC READ 39 WORDS OF 1ST RECORD INTO BUF DEF *+7 DEF .1 DEF DCB2 DEF BUF DEF .39 DEF TRACK DEF SECT * LDA N1 PRESET IN CASE OF ERROR CPB .39 CHECK TRANSMISSION LOG RSS OK JMP EXIT ERROR EXIT * LDA ABUF GET ADDRESS OF BUFFER ADA .38 POSITION TO 39TH WORD LDA A,I THIS SHOULD BE THE ID WORD AND B7777 MASK TO LOWER 12 BITS CPA ID SAME AS CALLERS? RSS YEP - LET HIM RENAME IT JMP NAMF1 NO GO AHEAD - WILL GET KICKED OUT WITH SECURITY CHECKS * LDA OVRD. SET OVEALLOW OPEN ON LU2 WITH WRITE ACCESS STA BUF KEEP AROUND TEMPORARILY IOR BIT14 SET BIT 14 - P,G,S - IF NOT ALREADY SET STA OVRD. AND REPLACE JSB OPEN DEF OPRN1 REOPEN WITH OVERRIDE SET DEF DCB,I DEF IERR,I DEF NAME,I DEF ZERO DEF IS,I DEF ILU,I OPRN1 SSA ERRORS?? JMP EXIT YES - ERROR EXIT LDA BUF REPLACE OVRD. THE WAY IT WAS BEFORE STA OVRD. * NAMF1 LDA DCB YES; CHECK ADA .7 THE LDB A,I SECURITY LDA N7 CODE SSB,RSS MATCH? JMP CLOEX NO; CLOSE AND EXIT DLD DCB,I GET DCB2 TO B STB DCB2 AND SAVE IT JSB EXEC CALL DEF EXR3 D.RTR DEF .23 TO DEF D.RTR CHANGE DEF XEQT THE DEF .2 FILE DEF DCB,I NAME DEF DCB2 DEF ZERO DEF NNAME,I DEF .3 EXR3 JSB RMPAR CALL RMPAR TO GET DEF *+2 RETURN PARAMETERS DEF NAME TO LOCAL AREA. SPC 1 RSS SKIP ERROR ENTRY CLOEX STA NAME SAVE ERROR CODE JSB CLOSE CLOSE DEF CLOR1 THE DEF DCB,I FILE CLOR1 LDB NAME GET ERROR CODE SZB IF NONE SKIP LDA B ELSE USE IT EXIT STA IERR,I SET RETURN ERROR LDB DZERO RESET STB NNAME ADDRESSES STB IS STB ILU STB DUM STB ILNAM JMP NAMF,I EXIT TO USER SPC 3 DCB2 NOP ID NOP TRACK NOP SECT NOP ZERO NOP DZERO DEF ZERO BUF BSS 39 ABUF DEF BUF * .1 DEC 1 .2 DEC 2 .3 DEC 3 .6 DEC 6 .7 DEC 7 .38 DEC 38 .39 DEC 39 N1 DEC -1 N7 DEC -7 N10 DEC -10 * B77 OCT 77 B177 OCT 177 B7777 OCT 7777 PRC OCT 74000 BIT14 OCT 40000 .23 DEC 23 ILNMF OCT 70707 D.RTR ASC 3,D.RTR SPC 2 * ASSEMBLY AIDS SPC 1 A EQU 0 B EQU 1 XEQT EQU 1717B SPC 1 END EQU * PROG. LENGTH SPC 1 END