10 ! ----- GET_UIC.FUN ----- ! ! ----- GETS THE UIC OF THE CALLING PROCESS ----- ! ! ---------- PASSED: ---------- ! ! ! ! ---------- RETURNED: ---------- ! ! GET_UIC (LONG) The function wil; return the longword UIC value ! ! ----- Last Change 05/01/89 by Brian Lomasky ----- ! ! ----- Teradyne, Inc., 179 Lincoln Street, Boston, MA 02111 ----- ! ----- (617) 482-2706, x3259 ----- ! ! ----- Neither Brian Lomasky nor Teradyne, Inc. implicitly or ----- ! ----- explicitly implies this program is usable in any way. ----- ! ----- This program is released to the public domain in an ----- ! ----- "AS-IS" condition. ----- ! ! ----- Restrictions: ----- ! ----- 1) Requires VAX BASIC V2.4 or later. ----- ! FUNCTION LONG GET_UIC EXTERNAL LONG CONSTANT JPI$_UIC ! UIC FOR $GETJPIW EXTERNAL LONG CONSTANT SS$_NORMAL ! NORMAL SUCCESS STATUS RECORD JPIBUF ! $GETJPIW RECORD WORD BUFFER_LENGTH1 WORD ITEM_CODE1 LONG BUFFER_ADDRESS1 LONG RETURN_LENGTH_ADDRESS1 LONG LIST_TERMINATOR END RECORD JPIBUF DECLARE JPIBUF JPIITEM ! EQUATE $GETJPIW RECORD DECLARE LONG SYS_STATUS ! VMS EXIT STATUS DECLARE WORD UIC_LENGTH ! LENGTH OF THE_UIC EXTERNAL LONG FUNCTION SYS$GETJPIW ! GET JOB INFORMATION + WAIT ! ----- MAPPED VARIABLES FOR $GETJPI SYSTEM SERVICE ----- MAP (GUSRUIC) LONG THE_UIC ! UIC JPIITEM::BUFFER_LENGTH1 = 4% ! STORE DATA FOR $GETJPIW JPIITEM::ITEM_CODE1 = JPI$_UIC JPIITEM::BUFFER_ADDRESS1 = LOC(THE_UIC) JPIITEM::RETURN_LENGTH_ADDRESS1 = LOC(UIC_LENGTH) JPIITEM::LIST_TERMINATOR = 0% SYS_STATUS = SYS$GETJPIW(, , , JPIITEM, , , ) CALL LIB$STOP(SYS_STATUS BY VALUE) IF SYS_STATUS <> SS$_NORMAL GET_UIC = THE_UIC ! STORE UIC TO BE RETURNED END FUNCTION