	.TITLE	CMPOPN - OPEN A FILE TO OBTAIN ID'S
	.IDENT	/02/

;
;	COPYRIGHT (C) 1979
;		MANAGEMENT SCIENCE ASSOCIATES, INC.
;		5100 CENTRE AVENUE
;		PITTSBURGH, PENNSYLVANIA  15232
;
;	THIS SOFTWARE IS DISTRIBUTED WITHOUT COST, AND MAY BE
;	REPRODUCED ONLY WITH THE INCLUSION OF THIS COPYRIGHT
;	STATEMENT.  MANAGEMENT SCIENCE ASSOCIATES ASSUMES NO
;	RESPONSIBILITY FOR THE PERFORMANCE OF THIS SOFTWARE.
;
;	AUTHOR:	MARK PILANT
;

;
; CALL:	STATUS = OPNFIL(FILNAM,FILEID,DIRID)
;
; WHERE:
;
;	STATUS	- ERROR RETURN STATUS
;	FILNAM	- FILE NAME OF THE FILE
;	FILEID	- FILE ID (48 BITS)
;	DIRID	- DIRECTORY IF (48 BITS)
;
	$RMSDEF

	FILNAM=	4			;OFFSET FOR FILE NAME
	FID=	8			;OFFSET FOR FILE ID
	DID=	12			;OFFSET FOR DIRECTORY ID

	BLKSIZ=	512			;SIZE OF BLOCK IN BYTES

FABBLK:	$FAB	FAC=GET,-		;INPUT ONLY
		MRS=BLKSIZ,-		;BLOCK SIZE
		NAM=NAMBLK		;NAME BLOCK

NAMBLK:	$NAM				;SET UP NAME BLOCK

; ENTRY MASK

	.ENTRY	OPNFIL,^M<R2,R3,R4,R5>

; HERE TO START ROLLING

	MOVQ	@FILNAM(AP),R0		;GET FILE NAME DESCRIPTOR
	MOVB	R0,FABBLK+FAB$B_FNS	;SAVE IT
	MOVL	R1,FABBLK+FAB$L_FNA	;SAVE FILE NAME ADDRESS

; HERE TO OPEN FILE

	$OPEN	FAB=FABBLK		;OPEN UP FILE
	BLBC	R0,RETURN		;XFER IF ERROR OPENING FILE
	MOVC3	#6,NAMBLK+NAM$W_FID,@FID(AP)	;SAVE FILE ID
	MOVC3	#6,NAMBLK+NAM$W_DID,@DID(AP)	;SAVE DIRECTORY ID

; CLOSE UP

	$CLOSE	FAB=FABBLK		;CLOSE UP FILE

; THAT'S ALL FOLKS

RETURN:	RET				;RETURN TO MAIN PROGRAM

	.END
