%title 'AUX Alarm routines' %sbttl 'Introduction' MODULE Aux_Alarm( ! IDENT = '1' ) = BEGIN ! ! COPYRIGHT (c) 1983 BY ! Project Software & Development, Inc. ! ! This software is furnished under a license and may be used and copied ! only in accordance with the terms of such license and with the ! inclusion of the above copyright notice. This software or any other ! copies thereof may not be provided or otherwise made available to any ! other person. No title to and ownership of the software is hereby ! transferred. ! ! The information in this software is subject to change without notice ! and should not be construed as a commitment by PROJECT SOFTWARE ! AND DEVELOPMENT, INC. ! ! PROJECT SOFTWARE assumes no responsibility for the use or reliability ! of its software on equipment which is not supplied by PROJECT SOFTWARE. ! !++ ! FACILITY: AUXiliary Keypad DCL ! ! ABSTRACT: This module contains the routines which set and perform the alarm. ! ! ! ENVIRONMENT: VMS Native mode ! ! AUTHOR: M. Erik Husby, CREATION DATE: April 1983 ! ! MODIFIED BY: ! ! , : VERSION ! 01 - !-- ! ! TABLE OF CONTENTS: ! FORWARD ROUTINE Aux_set_alarm, Aux_check_alarm : Novalue ; ! ! ! INCLUDE FILES: ! library 'sys$library:lib'; Require 'sys$library:psdi'; Library 'Auxlib'; ! ! MACROS: ! ! ! EQUATED SYMBOLS: ! bind alarm_sym = $descriptor('AUX_ALARM') ; ! ! OWN STORAGE: ! ! ! EXTERNAL REFERENCES: ! EXTERNAL aux_l_alarm, aux_tt_chan : word ; ! EXTERNAL ROUTINE lib$get_symbol : addressing_mode(general), lib$delete_symbol : addressing_mode(general), lib$set_symbol : addressing_mode(general) ; %sbttl 'Aux_Set_Alarm' Global ROUTINE Aux_Set_Alarm = ! !++ ! FUNCTIONAL DESCRIPTION: ! This TPARSE routine causes the symbol AUX_ALARM to be defined. When ! Aux starts, it will ring the bell if it is defined. ! ! FORMAL PARAMETERS: ! ! NONE ! ! IMPLICIT INPUTS: ! ! NONE ! ! IMPLICIT OUTPUTS: ! ! NONE ! ! ROUTINE VALUE: ! COMPLETION CODES: ! ! 1 ! ! SIDE EFFECTS: ! ! NONE ! !-- BEGIN ! ! Define the symbol perform(lib$set_symbol(alarm_sym,$descriptor('Yes'),%ref(2))); ! ! And set the indicator so that the clock starts to blink aux_l_alarm = 1; return 1; END; !End of Aux_Set_Alarm %sbttl 'Aux_Check_Alarm' Global ROUTINE Aux_Check_Alarm :NOVALUE = ! !++ ! FUNCTIONAL DESCRIPTION: ! If the symbol AUX_ALARM is defined, then we ring the bell ! ! FORMAL PARAMETERS: ! ! NONE ! ! IMPLICIT INPUTS: ! ! NONE ! ! IMPLICIT OUTPUTS: ! ! NONE ! ! ROUTINE VALUE: ! COMPLETION CODES: ! ! NONE ! ! SIDE EFFECTS: ! ! NONE ! !-- BEGIN LOCAL alarm_value : dynamic_descriptor ; ! if lib$get_symbol(alarm_sym,alarm_value) then begin perform(lib$delete_symbol(alarm_sym,%ref(2))); perform($qiow( chan = .aux_tt_chan, func = (io$_writelblk or io$m_noformat), efn = write_flag, p1 = uplit(byte(7),byte(7)), p2 = 2 )); end; free1_dx((alarm_value)); return; END; !End of Aux_Check_Alarm END !End of module ELUDOM