

; Bliss-32 7.352	Saturday 21-AUG-1978 23:27:33	DBB3:[MTAACP.SRC]CHKACC.B32;9					Page 1

; Digital Equipment Corporation

;

;	0001	MODULE CHKACC (

;	0002			LANGUAGE (BLISS32),

;	0003			IDENT = 'A0003'

;	0004			) =

;	0005	BEGIN

;	0006	

;	0007	!

;	0008	! COPYRIGHT (C) 1977

;	0009	! DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

;	0010	!

;	0011	! THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

;	0012	! COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

;	0013	! ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

;	0014	! MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

;	0015	! EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

;	0016	! TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

;	0017	! REMAIN IN DEC.

;	0018	!

;	0019	! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

;	0020	! AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

;	0021	! CORPORATION.

;	0022	!

;	0023	! DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

;	0024	! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

;	0025	

;	0026	!++

;	0027	!

;	0028	! FACILITY:  MTAACP

;	0029	!

;	0030	! ABSTRACT:

;	0031	!	THIS ROUTINE CHECKS THAT THE ACCESS REQUESTED IS ALLOWED ON THE 

;	0032	!	VOLUME SET

;	0033	!

;	0034	! ENVIRONMENT:

;	0035	!

;	0036	!	STARLET OPERATING SYSTEM, INCLUDING PRIVILEGED SYSTEM SERVICES

;	0037	!	AND INTERNAL EXEC ROUTINES.

;	0038	!

;	0039	!--

;	0040	!

;	0041	!

;	0042	! AUTHOR:  D. H. GILLESPIE,	 CREATION DATE:	17-MAY-77  09:30 

;	0043	!

;	0044	! REVISION HISTORY:

;	0045	!

;	0046	!   D. H. Gillespie, 1-Feb-1978  10:15

;	0047	!   X0002 - ADD CHECK FOR LOGIOCAL AND PHYSICAL IO PRIVILEGE

;	0048	!

;	0049	!   D. H. Gillespie, 12-May-78  8:47

;	0050	!   A0001 - change CURRENT_VCB to a register

;	0051	!

;	0052	!   D. H. Gillespie, 8-Jun-78  8:12

;	0053	!   A0002 - change SCH$AL_PCB to @SCH$GL_PCBVEC

;	0054	!

;	0055	!   D. H. Gillespie, 9-Jun-78  11:58



; Bliss-32 7.352	Saturday 21-AUG-1978 23:27:33	DBB3:[MTAACP.SRC]CHKACC.B32;9					Page 1-1

; Digital Equipment Corporation

;

;	0056	!   A0003 - correct bug in checking privileged I/O

;	0057	!

;	0058	!**

;	0059	

;	0060	

;	0061	LIBRARY 'SYS$LIBRARY:LIB.L32';

;	0062	REQUIRE 'SRC$:MTADEF.B32';

;	0358	

;	0359	FORWARD ROUTINE

;	0360		CHECK_ACCESS	: COMMON_CALL NOVALUE,	!CHECK ACCESS

;	0361		CHECK_FILE_ACC	: COMMON_CALL NOVALUE,	!CHECK ACCESS TO FILE

;	0362		RECALC_ST_REC	: COMMON_CALL NOVALUE;	!RECALCULATE START RECORD



; Bliss-32 7.352	Saturday 21-AUG-1978 23:27:33	DBB3:[MTAACP.SRC]CHKACC.B32;9					Page 2

; Digital Equipment Corporation

;

;	0363	GLOBAL ROUTINE CHECK_ACCESS (ACCESS_TYPE) : COMMON_CALL NOVALUE =

;	0364	

;	0365	

;	0366	!++

;	0367	!

;	0368	! FUNCTIONAL DESCRIPTION:

;	0369	!	THIS ROUTINE CHECKS THAT THE ACCESS REQUESTED IS ALLOWED ON THE

;	0370	!	VOLUME SET.

;	0371	!

;	0372	! CALLING SEQUENCE:

;	0373	!	CHECK_ACCESS(ARG1)

;	0374	!

;	0375	! INPUT PARAMETERS:

;	0376	!	ARG1 - ACCESS REQUESTED (0=READ,1=WRITE)

;	0377	!

;	0378	! IMPLICIT INPUTS:

;	0379	!	IO_PACKET	- ADDRESS OF CURRENT I/O PACKET

;	0380	!	CURRENT_UCB	- ADDRESS OF CURRENT UCB

;	0381	!

;	0382	! OUTPUT PARAMETERS:

;	0383	!	NONE

;	0384	!

;	0385	! IMPLICIT OUTPUTS:

;	0386	!	NONE

;	0387	!

;	0388	! ROUTINE VALUE:

;	0389	!	NONE

;	0390	!

;	0391	! SIDE EFFECTS:

;	0392	!	NONE

;	0393	! USER ERROR:

;	0394	!	SS$_WRITLCK - SOFTWARE WRITE LOCK

;	0395	!

;	0396	!--

;	0397	

;	0398	BEGIN

;	0399	

;	0400	EXTERNAL REGISTER

;	0401		COMMON_REG;

;	0402	

;	0403	

;	0404	

;	0405	LINKAGE

;	0406		CHECK_PROT	= JSB(REGISTER = 1, REGISTER = 2, REGISTER = 4) :  NOTUSED(3,5,6,7,8,9,10,11);

;	0407	

;	0408	EXTERNAL ROUTINE

;	0409		EXE$CHKWRTACCES	: ADDRESSING_MODE(ABSOLUTE) CHECK_PROT,

;	0410		EXE$CHKRDACCES	: ADDRESSING_MODE(ABSOLUTE) CHECK_PROT;

;	0411	

;	0412	EXTERNAL

;	0413		CURRENT_UCB	: REF BBLOCK,		!ADDRESS OF CURRENT UCB

;	0414		IO_PACKET	: REF BBLOCK,		!ADDRESS OF CURRENT IO REQUEST PACKET

;	0415		SCH$GL_PCBVEC	: REF VECTOR ADDRESSING_MODE(ABSOLUTE),

;	0416		USER_STATUS	: WORD;			!ADDRESS OF STATUS TO RETURN TO USER

;	0417	



; Bliss-32 7.352	Saturday 21-AUG-1978 23:27:33	DBB3:[MTAACP.SRC]CHKACC.B32;9					Page 2-1

; Digital Equipment Corporation

;

;	0418	LOCAL

;	0419		PCB,					!ADDRESS OF PROCESS CONTROL BLOCK

;	0420		STATUS;					!IO STATUS

;	0421	

;	0422	! IF FILE IS SOFTWARE WRITE LOCKED AND THE USER REQUESTS WRITE

;	0423	! PRIVILEGES, DENY PRIVILEGE

;	0424	IF .ACCESS_TYPE AND .BBLOCK[CURRENT_UCB[UCB$L_DEVCHAR],DEV$V_SWL]

;	0425	THEN ERR_EXIT(SS$_WRITLCK);

;	0426	

;	0427	! CHECK ACESS TO VOLUME

;	0428	PCB = .SCH$GL_PCBVEC[.(IO_PACKET[IRP$L_PID])<0,16>];

;	0429	IF .ACCESS_TYPE THEN

;	0430	    STATUS = EXE$CHKWRTACCES(.CURRENT_UCB[UCB$W_VPROT],.CURRENT_UCB[UCB$L_OWNUIC],.PCB)

;	0431	ELSE

;	0432	    STATUS = EXE$CHKRDACCES(.CURRENT_UCB[UCB$W_VPROT],.CURRENT_UCB[UCB$L_OWNUIC],.PCB);

;	0433	IF NOT .STATUS

;	0434	AND NOT.IO_PACKET[IRP$V_PRIVIO] THEN

;	0435	    BEGIN

;	0436	    USER_STATUS = .STATUS<0,16>;

;	0437	    ERR_EXIT();

;	0438	    END;

;	0439	

;	0440	END;					!END OF ROUTINE





							    .TITLE  CHKACC

							    .IDENT  \A0003\



							    .GLOBL  EXE$CHKWRTACCES, EXE$CHKRDACCES, CURRENT_UCB, IO_PACKET

							    .GLOBL  SCH$GL_PCBVEC, USER_STATUS



							    .PSECT  $CODE$,NOWRT,2



					 041C 00000 	    .ENTRY  CHECK_ACCESS, Save R2,R3,R4,R10			      ; 0363

		         5A	0000G  CF  9E 00002 	    MOVAB   CURRENT_UCB, R10					      ;

		         0C	  04   AC  E9 00007 	    BLBC    ACCESS_TYPE, 1$					      ; 0424

		         50	       6A  D0 0000B 	    MOVL    CURRENT_UCB, R0					      ;

	   04	    37   A0	       01  E1 0000E 	    BBC     #1, 55(R0), 1$					      ;

				025C   8F  BF 00013 	    CHMU    #604						      ; 0425

		         51 00000000G  9F  D0 00017 1$:     MOVL    @#SCH$GL_PCBVEC, R1					      ; 0428

		         50	0000G  CF  D0 0001E 	    MOVL    IO_PACKET, R0					      ;

		         50	  0C   A0  3C 00023 	    MOVZWL  12(R0), R0						      ;

		         54	     6140  D0 00027 	    MOVL    (R1)[R0], PCB					      ;

	   53	         6A	       1A  C1 0002B 	    ADDL3   #26, CURRENT_UCB, R3				      ; 0430

	   50	         6A	       1C  C1 0002F 	    ADDL3   #28, CURRENT_UCB, R0				      ;

		         0E	  04   AC  E9 00033 	    BLBC    ACCESS_TYPE, 2$					      ; 0429

		         51	       63  3C 00037 	    MOVZWL  (R3), R1						      ; 0430

		         52	       60  D0 0003A 	    MOVL    (R0), R2						      ;

			    00000000G  9F  16 0003D 	    JSB     @#EXE$CHKWRTACCES					      ;

				       0C  11 00043 	    BRB     3$							      ;

		         51	       63  3C 00045 2$:     MOVZWL  (R3), R1						      ; 0432

		         52	       60  D0 00048 	    MOVL    (R0), R2						      ;

			    00000000G  9F  16 0004B 	    JSB     @#EXE$CHKRDACCES					      ;

		         51	       50  D0 00051 3$:     MOVL    R0, STATUS						      ;

		         11	       51  E8 00054 	    BLBS    STATUS, 4$						      ; 0433



; Bliss-32 7.352	Saturday 21-AUG-1978 23:27:33	DBB3:[MTAACP.SRC]CHKACC.B32;9					Page 2-2

; Digital Equipment Corporation

;

		         50	0000G  CF  D0 00057 	    MOVL    IO_PACKET, R0					      ; 0434

	   07	    2B   A0	       01  E0 0005C 	    BBS     #1, 43(R0), 4$					      ;

		  0000G  CF	       51  B0 00061 	    MOVW    STATUS, USER_STATUS					      ; 0436

				       00  BF 00066 	    CHMU    #0							      ; 0437

					   04 00068 4$:     RET     							      ; 0363



; Routine Size:  105 bytes







; Bliss-32 7.352	Saturday 21-AUG-1978 23:27:33	DBB3:[MTAACP.SRC]CHKACC.B32;9					Page 3

; Digital Equipment Corporation

;

;	0441	GLOBAL ROUTINE CHECK_FILE_ACC : COMMON_CALL NOVALUE =

;	0442	!++

;	0443	! 

;	0444	! FUNCTIONAL DESCRIPTION:

;	0445	!	THIS ROUTINE CHECKS ACCESS TO THE FILE.  IF ACCESSIBILITY CODE IS

;	0446	!	NOT BLANK AND NOT OVERRIDDEN THEN ACCESS IS DENIED.  IF WRITING TO THE FILE THE FILE

;	0447	!	MUST BE EXPIRED.

;	0448	!

;	0449	! CALLING SEQUENCE:

;	0450	!	CHECK_FILE_ACC()

;	0451	!

;	0452	! INPUT PARAMETERS:

;	0453	!	NONE

;	0454	!

;	0455	! IMPLICIT INPUTS:

;	0456	!	LOCAL_FIB - COPY OF USER'S FILE INFORMATION BLOCK

;	0457	!	CURRENT_VCB - ADDRESS OF CURRENT CONTROL BLOCK

;	0458	!

;	0459	! OUTPUT PARAMETERS:

;	0460	!	NONE

;	0461	!

;	0462	! IMPLICIT OUTPUTS:

;	0463	!	NONE

;	0464	!

;	0465	! ROUTINE VALUE:

;	0466	!	NONE

;	0467	!

;	0468	! SIDE EFFECTS:

;	0469	!	IF APPEND, TAPE IS POSITIONED TO END OF DATA

;	0470	!

;	0471	! USER ERROR:

;	0472	!	SS$_FILACCERR - FILE ACCESS BYTE NON-BLANK

;	0473	!

;	0474	!--

;	0475	

;	0476	BEGIN

;	0477	

;	0478	EXTERNAL REGISTER

;	0479		COMMON_REG;

;	0480	

;	0481	

;	0482	

;	0483	EXTERNAL ROUTINE

;	0484		EXPIRED,			!CHECK THAT FILE HAS EXPIRED

;	0485		LIB$CVT_DTB:	ADDRESSING_MODE(ABSOLUTE),	!CONVERT DECIMAL TO BINARY

;	0486		SPACE_EOF,			!SPACE TO TRAILERS

;	0487		SPACE_TM,			!SPACE GIVEN NUMBER OF TAPE MARKS

;	0488		READ_BLOCK;			!READ ON MAG TAPE DATA BLOCK

;	0489	

;	0490	LOCAL

;	0491		BLOCK_COUNT,			!BLOCK COUNT OF FILE TO APPENDED TO

;	0492		FIB:		REF BBLOCK,	!ADDRESS OF LOCAL FIB

;	0493		LABELADDR:	REF BBLOCK,	!ADDRESS OF LABEL

;	0494		TM;				!NUMBER OF TM'S

;	0495	



; Bliss-32 7.352	Saturday 21-AUG-1978 23:27:33	DBB3:[MTAACP.SRC]CHKACC.B32;9					Page 3-1

; Digital Equipment Corporation

;

;	0496	EXTERNAL

;	0497		HDR1:		REF BBLOCK,	!ADDRESS OF HDR1(EOF1) LABEL

;	0498		IO_PACKET:	REF BBLOCK,	!ADDRESS OF CURRENT IO REQUEST PACKET

;	0499		LOCAL_FIB:	BBLOCK;		!COPY OF USER'S FIB

;	0500	

;	0501	! SETUP POINTER TO FIB

;	0502	FIB = LOCAL_FIB;

;	0503	

;	0504	! FIRST CHECK TO SEE IF ACCESSIBILITY = BLANK

;	0505	IF .HDR1[HD1$B_FILACCESS] NEQ %C' ' AND (NOT .CURRENT_VCB[VCB$V_OVRACC])

;	0506	THEN ERR_EXIT(SS$_FILACCERR);

;	0507	

;	0508	! NOW TREAT APPEND CASE UNIQUELY

;	0509	IF (NOT .FIB[FIB$V_UPDATE]) AND .FIB[FIB$V_WRITE]

;	0510	AND (NOT .BBLOCK[IO_PACKET[IRP$W_FUNC],IO$V_CREATE])

;	0511	THEN

;	0512	    BEGIN				!APPEND CASE

;	0513	    SPACE_EOF();			!LEFT AT ABSOLUTE END OF FILE

;	0514	    IF NOT LIB$CVT_DTB(EO1$S_BLOCKCNT,HDR1[EO1$T_BLOCKCNT],BLOCK_COUNT)

;	0515	    THEN ERR_EXIT(SS$_BLOCKCNTERR);

;	0516	! READ HEADER OF NEXT FILE

;	0517	    LABELADDR = .HDR1 + 160;		!READ INTO SCRATCH AREA

;	0518	    IF NOT READ_BLOCK(.LABELADDR,80) THEN

;	0519		BEGIN				!AT LOGICAL END OF VOLUME SET

;	0520		SPACE_TM(-3);			!DOUBLE TAPE MARK IS LOGICAL END OF TAPE

;	0521		KERNEL_CALL(RECALC_ST_REC,.BLOCK_COUNT);

;	0522		RETURN;

;	0523		END;

;	0524	    IF .LABELADDR[HD1$L_HD1LID] NEQ 'HDR1' THEN ERR_EXIT(SS$_TAPEPOSLOST);

;	0525	    IF NOT EXPIRED(LABELADDR[HD1$T_EXPIREDT])THEN ERR_EXIT(SS$_FILNOTEXP);	!GOING TO OVERLAY FILE

;	0526	    SPACE_TM(-2);

;	0527	    KERNEL_CALL(RECALC_ST_REC,.BLOCK_COUNT);

;	0528	    RETURN;

;	0529	    END;				!END OF APPEND CASE

;	0530	

;	0531	! IF ABOUT TO WRITE CURRENT FILE CHECK EXPIRATION

;	0532	IF .FIB[FIB$V_WRITE] THEN IF NOT EXPIRED(HDR1[HD1$T_EXPIREDT])THEN ERR_EXIT(SS$_FILNOTEXP);

;	0533	

;	0534	END;					!END OF ROUTINE







							    .GLOBL  EXPIRED, LIB$CVT_DTB, SPACE_EOF, SPACE_TM, READ_BLOCK

							    .GLOBL  HDR1, LOCAL_FIB, SYS$CMKRNL



					 040C 00069 	    .ENTRY  CHECK_FILE_ACC, Save R2,R3,R10			      ; 0441

		         5A	0000G  CF  9E 0006B 	    MOVAB   HDR1, R10						      ;

		         5E	       04  C2 00070 	    SUBL2   #4, SP						      ;

		         53	0000G  CF  9E 00073 	    MOVAB   LOCAL_FIB, FIB					      ; 0502

		         50	       6A  D0 00078 	    MOVL    HDR1, R0						      ; 0505

		         20	  35   A0  91 0007B 	    CMPB    53(R0), #32						      ;

				       09  13 0007F 	    BEQL    1$							      ;

	   04	    2C   AB	       01  E0 00081 	    BBS     #1, 44(CURRENT_VCB), 1$				      ;

				009C   8F  BF 00086 	    CHMU    #156						      ; 0506

	   7A	         63	       06  E0 0008A 1$:     BBS     #6, (FIB), 7$					      ; 0509



; Bliss-32 7.352	Saturday 21-AUG-1978 23:27:33	DBB3:[MTAACP.SRC]CHKACC.B32;9					Page 3-2

; Digital Equipment Corporation

;

		         76	  01   A3  E9 0008E 	    BLBC    1(FIB), 7$						      ;

		         50	0000G  CF  D0 00092 	    MOVL    IO_PACKET, R0					      ; 0510

	   6C	    20   A0	       07  E0 00097 	    BBS     #7, 32(R0), 7$					      ;

		  0000G  CF	       00  FB 0009C 	    CALLS   #0, SPACE_EOF					      ; 0513

				       5E  DD 000A1 	    PUSHL   SP							      ; 0514

	   7E	         6A	       36  C1 000A3 	    ADDL3   #54, HDR1, -(SP)					      ;

				       06  DD 000A7 	    PUSHL   #6							      ;

	      00000000G  9F	       03  FB 000A9 	    CALLS   #3, @#LIB$CVT_DTB					      ;

		         04	       50  E8 000B0 	    BLBS    R0, 2$						      ;

				0940   8F  BF 000B3 	    CHMU    #2368						      ; 0515

	   52	         6A 000000A0   8F  C1 000B7 2$:     ADDL3   #160, HDR1, LABELADDR				      ; 0517

		         7E	  50   8F  9A 000BF 	    MOVZBL  #80, -(SP)						      ; 0518

				       52  DD 000C3 	    PUSHL   LABELADDR						      ;

		  0000G  CF	       02  FB 000C5 	    CALLS   #2, READ_BLOCK					      ;

		         05	       50  E8 000CA 	    BLBS    R0, 3$						      ;

		         7E	       03  CE 000CD 	    MNEGL   #3, -(SP)						      ; 0520

				       1F  11 000D0 	    BRB     6$							      ;

	      31524448   8F	       62  D1 000D2 3$:     CMPL    (LABELADDR), #827475016				      ; 0524

				       04  13 000D9 	    BEQL    4$							      ;

				0224   8F  BF 000DB 	    CHMU    #548						      ;

				  2F   A2  9F 000DF 4$:     PUSHAB  47(LABELADDR)					      ; 0525

		  0000G  CF	       01  FB 000E2 	    CALLS   #1, EXPIRED						      ;

		         04	       50  E8 000E7 	    BLBS    R0, 5$						      ;

				00B4   8F  BF 000EA 	    CHMU    #180						      ;

		         7E	       02  CE 000EE 5$:     MNEGL   #2, -(SP)						      ; 0526

		  0000G  CF	       01  FB 000F1 6$:     CALLS   #1, SPACE_TM					      ;

				       6E  DD 000F6 	    PUSHL   BLOCK_COUNT						      ; 0527

				       01  DD 000F8 	    PUSHL   #1							      ;

				       5E  DD 000FA 	    PUSHL   SP							      ;

				0000V  CF  9F 000FC 	    PUSHAB  RECALC_ST_REC					      ;

	      00000000G  9F	       04  FB 00100 	    CALLS   #4, @#SYS$CMKRNL					      ;

					   04 00107 	    RET     							      ; 0528

		         10	  01   A3  E9 00108 7$:     BLBC    1(FIB), 8$						      ; 0532

	   7E	         6A	       2F  C1 0010C 	    ADDL3   #47, HDR1, -(SP)					      ;

		  0000G  CF	       01  FB 00110 	    CALLS   #1, EXPIRED						      ;

		         04	       50  E8 00115 	    BLBS    R0, 8$						      ;

				00B4   8F  BF 00118 	    CHMU    #180						      ;

					   04 0011C 8$:     RET     							      ; 0441



; Routine Size:  180 bytes





;	0535	

;	0536	



; Bliss-32 7.352	Saturday 21-AUG-1978 23:27:33	DBB3:[MTAACP.SRC]CHKACC.B32;9					Page 4

; Digital Equipment Corporation

;

;	0537	ROUTINE RECALC_ST_REC(BLOCK_COUNT) : COMMON_CALL NOVALUE  =

;	0538	

;	0539	!++

;	0540	!

;	0541	! FUNCTIONAL DESCRIPTION:

;	0542	!	THIS ROUTINE UPDATES THE START RECORD COUNT TO INCLUDE THOSE

;	0543	!	RECORDS IN THE FILE THAT WERE PREVIOUSLY WRITTEN

;	0544	!

;	0545	! CALLING SEQUENCE:

;	0546	!	RECALC_ST_REC(ARG1), CALLED IN KERNEL MODE

;	0547	!

;	0548	! INPUT PARAMETERS:

;	0549	!	ARG1 - NUMBER OF BLOCKS PREVIOUSLY WRITTEN

;	0550	!

;	0551	! IMPLICIT INPUTS:

;	0552	!	CURRENT_VCB - ADDRESS OF CURRENT VOLUME CONTROL BLOCK

;	0553	!

;	0554	! OUTPUT PARAMETERS:

;	0555	!	NONE

;	0556	!

;	0557	! IMPLICIT OUTPUTS:

;	0558	!	START RECORD NUMBER UPDATED TO REFLECT PREVIOUSLY WRITTEN RECORDS

;	0559	!

;	0560	! ROUTINE VALUE:

;	0561	!	NONE

;	0562	!

;	0563	! SIDE EFFECTS:

;	0564	!	NONE

;	0565	!

;	0566	! USER ERRORS:

;	0567	!	NONE

;	0568	!

;	0569	!--

;	0570	

;	0571	BEGIN

;	0572	

;	0573	EXTERNAL REGISTER

;	0574		COMMON_REG;

;	0575	

;	0576	

;	0577	

;	0578	CURRENT_VCB[VCB$L_ST_RECORD] = .CURRENT_VCB[VCB$L_ST_RECORD] - .BLOCK_COUNT;

;	0579	END;						!END OF ROUTINE











					 0000 0011D RECALC_ST_REC:

							    .WORD   Save nothing					      ; 0537

		    30   AB	  04   AC  C2 0011F 	    SUBL2   BLOCK_COUNT, 48(CURRENT_VCB)			      ; 0578

					   04 00124 	    RET     							      ; 0537



; Routine Size:  8 bytes





; Bliss-32 7.352	Saturday 21-AUG-1978 23:27:33	DBB3:[MTAACP.SRC]CHKACC.B32;9					Page 4-1

; Digital Equipment Corporation

;



;	0580	

;	0581	END

;	0582	ELUDOM













;				       PSECT SUMMARY

;

;	Name		 Bytes			       Attributes

;

;  $CODE$         	   293  NOWRT,  RD ,  EXE,NOSHR,  LCL,  REL,  CON,NOPIC,ALIGN(2)









;				LIBRARY STATISTICS

;

;					     -------- Symbols --------    Blocks

;	File				     Total    Loaded   Percent      Read

;

;  DBA4:[SYSLIB]LIB.L32;1		      5582        28         0       244











; Size:		293 code + 0 data bytes

; Run Time:	00:10.2

; Elapsed Time:	00:26.7

; Memory Used:	290 pages

; Compilation Complete

