

; Bliss-32 10.1-416	Monday 21-AUG-1978 23:17:29	DBB3:[F11B.SRC]LOGDEL.B32;7					Page 1

;

;	0001	MODULE LOGDEL (

;	0002			LANGUAGE (BLISS32),

;	0003			IDENT = 'B0001'

;	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:  F11ACP Structure Level 2

;	0029	!

;	0030	! ABSTRACT:

;	0031	!

;	0032	!	This routine sends a message to log each delete operation that takes

;	0033	!	place.

;	0034	!

;	0035	! ENVIRONMENT:

;	0036	!

;	0037	!	STARLET operating system, including privileged system services

;	0038	!	and internal exec routines.

;	0039	!

;	0040	!--

;	0041	!

;	0042	!

;	0043	! AUTHOR:  Andrew C. Goldstein,	 CREATION DATE:  12-Jul-1978  13:24

;	0044	!

;	0045	! REVISION HISTORY:

;	0046	!

;	0047	!**

;	0048	

;	0049	

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

;	0051	REQUIRE 'SRC$:FCPDEF.B32';



; Bliss-32 10.1-416	Monday 21-AUG-1978 23:17:29	DBB3:[F11B.SRC]LOGDEL.B32;7					Page 2

;

;	0400	!+

;	0401	!

;	0402	! Format of message to the delete logger

;	0403	!

;	0404	!-

;	0405	

;	0406	MACRO

;	0407		MSG_TIME	= 00, 0, 0, 0%,	! time of day (8 bytes)

;	0408		MSG_DEVNAME	= 08, 0,32, 0%,	! device name (counted ascii)

;	0409		MSG_UNIT	= 12, 0,16, 0%,	! unit number

;	0410		MSG_DID		= 14, 0, 0, 0%,	! directory ID (6 bytes)

;	0411		MSG_FILENAME	= 20, 0, 0, 0%,	! file name (20 bytes)

;	0412		MSG_OWNER	= 40, 0,32, 0%,	! file owner UIC

;	0413		MSG_PROCNAME	= 44, 0, 0, 0%,	! process name (16 bytes)

;	0414		MSG_UIC		= 60, 0,32, 0%;	! process UIC

;	0415	

;	0416	LITERAL

;	0417		MESSAGE_LENGTH	= 64;		! length of message



; Bliss-32 10.1-416	Monday 21-AUG-1978 23:17:29	DBB3:[F11B.SRC]LOGDEL.B32;7					Page 3

;

;	0418	GLOBAL ROUTINE LOG_DELETE (FIB, HEADER) : NOVALUE =

;	0419	

;	0420	!++

;	0421	!

;	0422	! FUNCTIONAL DESCRIPTION:

;	0423	!

;	0424	!	This routine sends a message to log each delete operation that takes

;	0425	!	place.

;	0426	!

;	0427	!

;	0428	! CALLING SEQUENCE:

;	0429	!	LOG_DELETE (ARG1, ARG2)

;	0430	!

;	0431	! INPUT PARAMETERS:

;	0432	!	ARG1: address of user FIB

;	0433	!	ARG2: address of file header

;	0434	!

;	0435	! IMPLICIT INPUTS:

;	0436	!	IO_PACKET: address of I/O request packet

;	0437	!

;	0438	! OUTPUT PARAMETERS:

;	0439	!	NONE

;	0440	!

;	0441	! IMPLICIT OUTPUTS:

;	0442	!	NONE

;	0443	!

;	0444	! ROUTINE VALUE:

;	0445	!	NONE

;	0446	!

;	0447	! SIDE EFFECTS:

;	0448	!	message sent to delete logger mailbox

;	0449	!

;	0450	!--

;	0451	

;	0452	BEGIN

;	0453	

;	0454	MAP

;	0455		FIB		: REF BBLOCK,	! user FIB

;	0456		HEADER		: REF BBLOCK;	! file header arg

;	0457	

;	0458	LOCAL

;	0459		MESSAGE		: BBLOCK [MESSAGE_LENGTH], ! message buffer

;	0460		IDENT_AREA	: REF BBLOCK,	! address of header ident area

;	0461		PCB		: REF BBLOCK,	! address of caller PCB

;	0462		CHANNEL		: WORD;		! channel assigned to mailbox

;	0463	

;	0464	EXTERNAL

;	0465		IO_PACKET	: REF BBLOCK,	! address of I/O packet

;	0466		CURRENT_UCB	: REF BBLOCK,	! address of device UCB

;	0467		SCH$GL_PCBVEC	: REF VECTOR ADDRESSING_MODE (ABSOLUTE);

;	0468						! system PCB vector

;	0469	

;	0470	

;	0471	! Assign a channel to the mailbox. If the assignment fails, the logger is not

;	0472	! running. Then build the message and send it.



; Bliss-32 10.1-416	Monday 21-AUG-1978 23:17:29	DBB3:[F11B.SRC]LOGDEL.B32;7					Page 3-1

;

;	0473	!

;	0474	

;	0475	IF NOT $ASSIGN (CHAN = CHANNEL, DEVNAM = DESCRIPTOR ('ACP$DELLOG_MBX'))

;	0476	THEN RETURN;

;	0477	

;	0478	$GETTIM (TIMADR = MESSAGE[MSG_TIME]);	! time of day

;	0479	MESSAGE[MSG_DEVNAME]	= .(BBLOCK [.CURRENT_UCB[UCB$L_DDB], DDB$T_NAME])<0,32>;

;	0480	MESSAGE[MSG_UNIT]	= .CURRENT_UCB[UCB$W_UNIT];

;	0481	CH$MOVE (FIB$S_DID, FIB[FIB$W_DID], MESSAGE[MSG_DID]);

;	0482	IDENT_AREA = .HEADER + .HEADER[FH2$B_IDOFFSET]*2;

;	0483	CH$MOVE (FI2$S_FILENAME, IDENT_AREA[FI2$T_FILENAME], MESSAGE[MSG_FILENAME]);

;	0484	MESSAGE[MSG_OWNER]	= .HEADER[FH2$L_FILEOWNER];

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

;	0486	CH$MOVE (PCB$S_LNAME, PCB[PCB$T_LNAME], MESSAGE[MSG_PROCNAME]);

;	0487	MESSAGE[MSG_UIC]	= .PCB[PCB$L_UIC];

;	0488	

;	0489	$QIOW (

;     P 0490		CHAN = .CHANNEL,

;     P 0491		FUNC = IO$_WRITEVBLK OR IO$M_NOW,

;     P 0492		P1   = MESSAGE,

;     P 0493		P2   = MESSAGE_LENGTH

;     P 0494		);

;	0495	

;	0496	$DASSGN (CHAN = .CHANNEL);

;	0497	

;	0498	END;					! end of routine LOG_DELETE





							    .TITLE  LOGDEL

							    .IDENT  \B0001\



							    .PSECT  $CODE$,NOWRT,2



  5F  47  4F  4C  4C  45  44  24  50  43  41  00000 P.AAB:  .ASCII  \ACP$DELLOG_MBX\					      ;

				  58  42  4D  0000B									      ;

					      0000E	    .BLKB   2

				    0000000E  00010 P.AAA:  .LONG   14							      ;

				    00000000' 00014 	    .ADDRESS P.AAB						      ;



							    .EXTRN  IO_PACKET, CURRENT_UCB, SCH$GL_PCBVEC, SYS$ASSIGN

							    .EXTRN  SYS$GETTIM, SYS$QIOW, SYS$DASSGN



					 007C 00018 	    .ENTRY  LOG_DELETE, Save R2,R3,R4,R5,R6			      ; 0418

		         5E 	  BC   AE  9E 0001A 	    MOVAB   -68(SP), SP						      ;

				       7E  7C 0001E 	    CLRQ    -(SP)						      ; 0475

				  08   AE  9F 00020 	    PUSHAB  CHANNEL						      ;

				  EA   AF  9F 00023 	    PUSHAB  P.AAA						      ;

	      00000000G  9F	       04  FB 00026 	    CALLS   #4, @#SYS$ASSIGN					      ;

		         01 	       50  E8 0002D 	    BLBS    R0, 1$						      ;

					   04 00030 	    RET     							      ;

				  04   AE  9F 00031 1$:     PUSHAB  MESSAGE						      ; 0478

	      00000000G  9F	       01  FB 00034 	    CALLS   #1, @#SYS$GETTIM					      ;

		         51 	0000G  CF  D0 0003B 	    MOVL    CURRENT_UCB, R1					      ; 0479

		         50 	  24   A1  D0 00040 	    MOVL    36(R1), R0						      ;

		    0C   AE	  14   A0  D0 00044 	    MOVL    20(R0), MESSAGE+8					      ;



; Bliss-32 10.1-416	Monday 21-AUG-1978 23:17:29	DBB3:[F11B.SRC]LOGDEL.B32;7					Page 3-2

;

		    10   AE	  48   A1  B0 00049 	    MOVW    72(R1), MESSAGE+12					      ; 0480

		         50 	  04   AC  D0 0004E 	    MOVL    FIB, R0						      ; 0481

      12   AE	    0A   A0	       06  28 00052 	    MOVC3   #6, 10(R0), MESSAGE+14				      ;

		         56 	  08   AC  D0 00058 	    MOVL    HEADER, R6						      ; 0482

		         50 	       66  9A 0005C 	    MOVZBL  (R6), R0						      ;

		         50 	     6640  3E 0005F 	    MOVAW   (R6)[R0], IDENT_AREA				      ;

      18   AE	         60 	       14  28 00063 	    MOVC3   #20, (IDENT_AREA), MESSAGE+20			      ; 0483

		    2C   AE	  3C   A6  D0 00068 	    MOVL    60(R6), MESSAGE+40					      ; 0484

		         51 00000000G  9F  D0 0006D 	    MOVL    @#SCH$GL_PCBVEC, R1					      ; 0485

		         50 	0000G  CF  D0 00074 	    MOVL    IO_PACKET, R0					      ;

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

		         56 	     6140  D0 0007D 	    MOVL    (R1)[R0], PCB					      ;

      30   AE	    6C   A6	       10  28 00081 	    MOVC3   #16, 108(PCB), MESSAGE+44				      ; 0486

		    40   AE	  20   A6  D0 00087 	    MOVL    32(PCB), MESSAGE+60					      ; 0487

				       7E  7C 0008C 	    CLRQ    -(SP)						      ; 0494

				       7E  7C 0008E 	    CLRQ    -(SP)						      ;

		         7E 	  40   8F  9A 00090 	    MOVZBL  #64, -(SP)						      ;

				  18   AE  9F 00094 	    PUSHAB  MESSAGE						      ;

				       7E  7C 00097 	    CLRQ    -(SP)						      ;

				       7E  D4 00099 	    CLRL    -(SP)						      ;

		         7E 	  70   8F  9A 0009B 	    MOVZBL  #112, -(SP)						      ;

		         7E 	  28   AE  3C 0009F 	    MOVZWL  CHANNEL, -(SP)					      ;

				       7E  D4 000A3 	    CLRL    -(SP)						      ;

	      00000000G  9F	       0C  FB 000A5 	    CALLS   #12, @#SYS$QIOW					      ;

		         7E 	       6E  3C 000AC 	    MOVZWL  CHANNEL, -(SP)					      ; 0496

	      00000000G  9F	       01  FB 000AF 	    CALLS   #1, @#SYS$DASSGN					      ;

					   04 000B6 2$:     RET     							      ; 0418



; Routine Size:  159 bytes





;	0499	

;	0500	END

;	0501	ELUDOM













;				       PSECT SUMMARY

;

;	Name		 Bytes			       Attributes

;

;  $CODE$         	   183  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        26         0       240



; Bliss-32 10.1-416	Monday 21-AUG-1978 23:17:29	DBB3:[F11B.SRC]LOGDEL.B32;7					Page 3-3

;











; Size:		159 code + 24 data bytes

; Run Time:	00:06.0

; Elapsed Time:	00:14.7

; Memory Used:	292 pages

; Compilation Complete

