	SUBROUTINE GET_JPI
C
C	This subroutine is used to get our job/process information to
C	determine if we are running in batch mode.
C
	INCLUDE 'COM.INC/NOLIST'
	INCLUDE '($JPIDEF)/NOLIST'

	LOGICAL*1 ITEMS(16)			! Buffer for JPI items list.

	PARAMETER (PCB$M_BATCH = '0E')		! Batch mode = bit 14.

	INTEGER*2 PROCESS_LEN, PROCESS_CODE
	INTEGER*4 PROCESS_ADDR, PROCESS_RET, PROCESS_STATUS, PROCESS_SIZE

	EQUIVALENCE (PROCESS_LEN,ITEMS(1))	! Length of status buffer.
	EQUIVALENCE (PROCESS_CODE,ITEMS(3))	! Store JPI code here.
	EQUIVALENCE (PROCESS_ADDR,ITEMS(5))	! Address of status longword.
	EQUIVALENCE (PROCESS_RET,ITEMS(9))	! Address of return length.
	EQUIVALENCE (END_ITEMS,ITEMS(13))	! End of items list.

	PROCESS_LEN = 4			! Length of status longword.
	PROCESS_CODE = JPI$_STS		! Return process status flags.
	PROCESS_ADDR = %LOC(PROCESS_STATUS) ! Address of status longword.
	PROCESS_RET = %LOC(PROCESS_SIZE) ! Address to store user name size.
	END_ITEMS = 0			! Terminate the items list.

	BATCH_MODE = .FALSE.		! Presume not in batch mode.
	STATUS = SYS$GETJPI(,,,ITEMS,LIOSB,,)
	IF (STATUS) THEN
		IF ((PROCESS_STATUS .AND. PCB$M_BATCH) .NE. 0) THEN
			BATCH_MODE = .TRUE.
		ENDIF
	ELSE
		CALL CHECK_STATUS('GETJPI',STATUS)
	ENDIF
	RETURN
	END
