Trailing-Edge
-
PDP-10 Archives
-
BB-KL11J-BM_1990
-
t20src/mxcndt.r36
There are 13 other files named mxcndt.r36 in the archive. Click here to see a list.
! COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1985, 1989.
! ALL RIGHTS RESERVED.
!
! 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 DIGITAL EQUIPMENT
! CORPORATION.
!
! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
! SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
!Condition handling stuff (temporary until we get real one from BLISS grp)
LITERAL
STS$K_NORMAL = 1,
STS$K_SUCCESS = 1,
STS$K_ERROR = 2,
STS$K_INFO = 3,
STS$K_FATAL = 4,
STS$K_SEVERE = 4,
STS$K_WARNING = 0;
LITERAL
SS$_NORMAL = STS$K_NORMAL,
SS$_ERROR = STS$K_ERROR,
SS$_FATAL = STS$K_FATAL,
SS$_WARNING = STS$K_WARNING;
LITERAL STS$K_RESIGNAL=0,
SS$_RESIGNAL=0,
STS$K_CONTINUE=1,
SS$_CONTINUE=1;
EXTERNAL LITERAL SS$UNW;
MACRO STS$K_UNWIND=SS$UNW %;
MACRO SS$_UNWIND=SS$UNW %;
! Define the condition code fields
FIELD
condit_fields =
SET
sts$v_severity = [0,0,3,0], ! Severity field
sts$v_success = [0,0,1,0], ! Success field
sts$v_cond_id = [0,3,29,0], ! Identity field
sts$v_msg_no = [0,3,15,0], ! Message number field
sts$v_fac_sp = [0,17,1,0], ! Facility specific flag
sts$v_code = [0,3,14,0], ! Code for condition only
sts$v_fac_no = [0,18,14,0], ! Facility number
sts$v_fac_mx = [0,18,13,0], ! Facility number
sts$v_cust_def = [0,31,1,0] ! Customer definition flag
TES;
MACRO
condition_value = BLOCK[1] FIELD (condit_fields) %;
! Define the status definition macro
KEYWORDMACRO
sts$value (
SEV = sts$k_severe, ! default is severe
COD = 0, ! %(318)% no default code
FAC_SP = 1 ^17, ! default is facility-specific
FAC = 0, ! arbitrary default
CUST_DEF = 1^31) = ! default is user definition
(SEV AND %O'7') OR
(COD AND %O'37777')^3 OR
(IF FAC_SP NEQ 0
THEN 1^17
ELSE 0) OR
(FAC AND %O'37777')^18 OR
(IF CUST_DEF NEQ 0
THEN 1^31
ELSE 0)
%;
MACRO
STS$MATCH(a,b) =
BEGIN
LOCAL
QQQQA: CONDITION_VALUE,
QQQQB: CONDITION_VALUE;
QQQQA = (A);
QQQQB = (B);
IF NOT (.QQQQA[STS$V_FAC_SP] OR .QQQQB[STS$V_FAC_SP])
THEN
.QQQQA[STS$V_CODE] EQL .QQQQB[STS$V_CODE]
ELSE
.QQQQA[STS$V_COND_ID] EQL .QQQQB[STS$V_COND_ID]
END %;