1 EMU_DISP_ALERT   
 EMU Alert interface. This interface uses SMG.
 Through this interface the user may 
	1. Receive formatted alerts in real time
	2. Review the alert database
	3. Set alert filters
2 ALTDISP_MONITOR
 Routine to display alerts as they are recieved from ALERT. That process
 delivers the fully formated alerts through MBX. THis process simply
 reads the MBX and prints the contents on the screen. Unsolicited input
 is enabled and is implemented such that any input recieved from the 
 keyboard exits this routine and re-displays the main menu.
3 Inputs
 	User. None. Any received from the user exits routine.
	System. Formatted alerts via MBX
3 Outputs
	User. Formatted alerts displayed on screen
	System. None
3 Returns
	SS$_NORMAL	always
2 ALTDISP_EXIT_MON 
 Routine called when user hits any key during monitor operation.
 Cancels all output on READMBX causing that $QIO to complete with
 either ABORT (I/O in progress) or CANCEL (No I/O outstanding). 
 The display routine exits if either of these conditions are returned.
 
PUSHL	ALTOUTCHAN
CALLS	#1,G^SYS$CANCEL
RET

.CALL_ENTRY	MAX_ARGS=0, -
		HOME_ARGS=TRUE, - 
		INPUT=<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>, -
		PRESERVE=<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>, -
		LABEL=ALTDISP_REVIEW

++
2 ALTDISP_REVIEW
 Routine to allow user to browse through the recorded alerts.
 ANy combination of Time, Alert class or nodeid may be used to 
 select alerts to display. The alserts selected are displayed on the 
 screen one at a time until exhaustion or exit.
 --

EV_START:
 Make menu structure
MOVAL	MENU_STRUCT,R6
MOVAL	MAIN_DISP,SUI_MEN_L_DISPLAY(R6)
MOVQ	REVIEW_MENU,SUI_MEN_L_MTYPE(R6)  		; Type,count
MOVQ	REVIEW_MENU+8,SUI_MEN_L_ITEMSIZ(R6)       ; Size,check flag
MOVAL	REVIEW_PRIVS,SUI_MEN_L_PRIVLST(R6)        ; privs
MOVAL	REVIEW_ITEMS,SUI_MEN_L_MENU(R6)        	; Display items
 Make select menu 
PUSHAL	CHOICE
PUSHAL	MENU_STRUCT
CALLS	#2,G^SUI_MAKE_MENU
BLBC	R0,100$  		; Any error exits
CASEW	CHOICE,#1,#3		; Select processing routine
0$:                             
.WORD	11$-10$          	; Time
.WORD	12$-10$          	; Name
.WORD	13$-10$          	; Class
.WORD	14$-10$			; Execute
BRB	100$
1$:
CALLS	#0,ALTREV_GETTIME
       BRW	REV_START
2$:
CALLS	#0,ALTREV_GETNAME
       BRW	REV_START
3$:
CALLS	#0,ALTREV_GETCLASS
       BRW	REV_START
4$:
CALLS	#0,ALTREV_EXECUTE
       BRW	REV_START
00$:
PUSHAL	MAIN_DISP
CALLS	#1,G^SMG$ERASE_DISPLAY
RET


.CALL_ENTRY	MAX_ARGS=0, -
		HOME_ARGS=TRUE, - 
		INPUT=<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>, -
		PRESERVE=<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>, -
		LABEL=ALTREV_GETTIME 

++
2 ALTREV_GETTIME 
 Prompts for time and accepts VMS abstime as input. Writes resultant
 .quad in ALERT_BUFF (ksy)
2 ALTREV_EXECUTE 
  Routine to extract the alerts accoring to the params set by user.
  In essense:
	get the 1st rec with a time >= input
	If any other field set then check for match
	if all match then display rec
		Display submenu
			On Next change to seq access
			On Prev change to Key/Rev access
			On filter Set_filt routine
	continue to eof
