	.TITLE	XQ_GET_CNTRL_FLD
;-----------------------------------------------------------------------
;
;               D I S C L A I M E R   N O T I C E
;               -------------------   -----------
;
;  This document and/or portions of the material and data furnished
;  herewith, was developed under sponsorship of the U. S. Government.
;  Neither the U.S. nor the U.S.D.O.E., nor the Leland Stanford Junior
;  University, nor their employees, nor their respective contractors,
;  subcontractors, or their employees, makes any warranty, express or
;  implied, or assumes any liability or responsibility for accuracy,
;  completeness or usefulness of any information, apparatus, product
;  or process disclosed, or represents that its use will not infringe
;  privately-owned rights.  Mention of any product, its manufacturer,
;  or suppliers shall not, nor is it intended to, imply approval, dis-
;  approval, or fitness for any particular use.  The U. S. and the
;  University at all times retain the right to use and disseminate same
;  for any purpose whatsoever.  Such distribution shall be made by the
;  National Energy Software Center at the Argonne National Laboratory
;  and only subject to the distributee furnishing satisfactory proof
;  that he has a valid license from the Intel Corporation in effect.
;
;-----------------------------------------------------------------------
;
;	This USEROPEN procedure is used by the XQIO package to
;       obtain access to SOS and Wylbur-style lines numbers in
;       source files.  This code has been stolen almost verbatim
;	from the VAX-11 FORTRAN User's Guide, section 3.5.9.
;
;-----------------------------------------------------------------------
;		
;		R E V I S I O N   H I S T O R Y
;
;
;    04FEB82  Alex Hunter  1. Original version.
;
;-----------------------------------------------------------------------
 
	$FABDEF			; Define RAB and FAB offsets.
	$RABDEF
 
;  Define argument list offsets.
 
	FABOFF=4		; 1st argument is FAB.
	RABOFF=8		; 2nd argument is RAB.
	LUNOFF=12		; 3rd argument is logical unit.
 
	.ENTRY	XQ_GET_CNTRL_FLD, ^M<R2>
 
        MOVL    FABOFF(AP),R0   ; Load FAB address to R0.
        MOVL    RABOFF(AP),R1   ; Load RAB address to R1.
	MOVL	@LUNOFF(AP),R2	; Logical unit number to R2.
 
;  Set size of header field into FAB.
 
	MOVB	#2,FAB$B_FSZ(R0)
 
;  Set address into RAB.
 
	MOVAW	W_LINE_NUMBER[R2],RAB$L_RHB(R1)
 
	$OPEN	FAB=@FABOFF(AP)	; Perform the OPEN.
	BLBC	R0,10$		; Return immediately if error.
	$CONNECT RAB=@RABOFF(AP); Connect stream to file.
10$:	RET			; Status value is from the OPEN or
				; the CONNECT.
 
	.PSECT	XQ_LINE_SEQS,PIC,OVR,REL,GBL,SHR,NOEXE,RD,WRT,LONG
 
W_LINE_NUMBER:
	.BLKW	100
	.END
