; 	.TITLE	CNTRPRCDEF        
;	.IDENT /V01-001/
	.MACRO	CNTRPRCDEF,$GBL
	$DEFINI	CNTRPRCDEF,$GBL
;++
; 1 CNTRPRCDEF
; Definition file diverges from standard in a number of areas:
;	Datatype designation may be X meaning value is one of Long or float.
;	An A datatype means address rather than value.
; 	Database contains 1 of 2 possible fixed len recs
;	Long and float types occupy the same space whereas Quad is longer.
;	This means there are 2 defs for the same space in areas
;--
; Calling sequence (offsets from (AP))
$EQU    CTP_L_FUNC	4	; Function code;
$EQU	CTP_A_SMPLE	8	; Address of Sample  (0 if CTP_V_FNCR);
$EQU	CTP_L_DTYPE	12	; Data type (values below)
$EQU	CTP_A_CNTID	16	; Address of record key
$EQU	CTP_A_OUTP 	20	; .address of 8 byte output area;
$EQU	CTP_A_TIME	24	; .address of quad VMS Time Optional. If not 
;				; present, Current time is used
; CTP_L_DTYPE is a bit pattern. Low Byte is datatype of the sample and may 
; take on the following values:
$EQU	CTP_V_INT 	0	; 32 bit integer unsigned
$EQU	CTP_V_QAD 	1	; 64 bit integer unsigned
$EQU	CTP_V_FLT 	2	; F-float
;
$EQU	CTP_M_INT 	1	; 32 bit integer unsigned
$EQU	CTP_M_QAD 	2	; 64 bit integer unsigned
$EQU	CTP_M_FLT 	4	; F-float
; Second byte of DTYPE is processing options for this item:
$EQU	CTP_V_INCR 	8	; Incrementer - process increase from last sam
$EQU	CTP_V_GUAGE 	9	; Guage - process as presented
$EQU	CTP_V_ARRAY 	10	; Item is array - special processing
;
$EQU	CTP_M_INCR 	256	; Incrementer
$EQU	CTP_M_GUAGE 	512	; Guage
$EQU	CTP_M_ARRAY 	1024	; Array

; CTP_L_FUNC may take on the following values:
$EQU	CTP_C_FNCR 	1	; Create counter;
$EQU	CTP_C_FNPR	3	; Process counter;
$EQU	CTP_C_RECA	2	; Return address of record in OUTP 
$EQU	CTP_C_FNDL	4	; Delete counter;

; CTP_L_OUTP is divided into the following feilds:;
$EQU	CTP_W_OSTS	0	; Additional status return;
$EQU	CTP_W_TRSH      4       ; Threashold that was exceeded;
$EQU	CTP_W_ESTS 	6	; Final error status;
; CTP_W_TRSH may take on the following values;
$EQU	CTP_W_STN	1	; Short term Min;
$EQU	CTP_W_STX	2	; Short term Max;
$EQU	CTP_W_LTN	3	; Long term Min;
$EQU	CTP_W_LTX	4	; Long term Max;
$EQU	CTP_W_MMN	5	; Min ;
$EQU	CTP_W_MMX	6	; Max;
;
$EQU	CTP_C_MAXSMPL	1728	; 72/day for 24 days
$EQU	CTP_C_MAXTBL	CTP_C_MAXSMPL-1
; Record format; (float and Long)
; Record offsets:;
; Key
$EQU	CTP_Q_NODE	0	; Node name (space padded) 
$EQU	CTP_L_FAC	8	; Facility (Below)
$EQU	CTP_L_CODE	12	; RMI,QUOMON etc. Code
$EQU	CTP_AR_SPEC	16	; Facility specific (96 bytes)
$EQU	CTP_C_KEYSIZ	112	; Total Key Size
; Data
$EQU	CTP_L_DTYP	CTP_C_KEYSIZ	; Data Type
$EQU	CTP_L_CATGRY	CTP_C_KEYSIZ+4	; Category (bit pattern)
$EQU	CTP_X_LTCNT	CTP_C_KEYSIZ+8	;  Long term sample count  ;
$EQU	CTP_X_LTTOT	CTP_C_KEYSIZ+12	;  Long term total;
$EQU	CTP_X_LTRNG	CTP_C_KEYSIZ+16	;  Long term range (% movement);
$EQU	CTP_X_STRNG	CTP_C_KEYSIZ+20	;  Short term range (% movement);
$EQU	CTP_X_STCNT	CTP_C_KEYSIZ+24	;  Short term sample count;
$EQU	CTP_X_MAX	CTP_C_KEYSIZ+28	; Max Value seen;
$EQU	CTP_X_MIN	CTP_C_KEYSIZ+32	; Min Value seen;
$EQU	CTP_F_SLOPE	CTP_C_KEYSIZ+36	; Calculated Slope of line
$EQU	CTP_Q_LASTSN	CTP_C_KEYSIZ+40	; Last time sample rec'ed (EXE$GQ_SYSTIME)    ;
$EQU	CTP_Q_LASTSM	CTP_C_KEYSIZ+48	; Last sample rec'ed 
$EQU	CTP_L_TBLPNT	CTP_C_KEYSIZ+56	; Index to tables    ;
$EQU	CTP_L_SPARE	CTP_C_KEYSIZ+60	; Spare/Align

; Tables within records ;
$EQU	CTP_TQ_TIMTBL	CTP_C_KEYSIZ+64	; System time this sample (EXE$GQ_SYSTIME)    ;
$EQU	CTP_TF_SAMTBL	CTP_C_MAXSMPL*8+CTP_TQ_TIMTBL ; Last n samples ;
$EQU	CTPRECSIZE	CTP_C_MAXSMPL*12+CTP_TQ_TIMTBL ; Rec size (bytes);
;
; Facility codes
$EQU	CTP_FAC_RMI	1	; Performance management
$EQU	CTP_FAC_QUOMON	2       ; Quota Monitor

	$DEFEND	CNTRPRCDEF,$GBL,DEF
	.ENDM
