	! ----- CHANGE_UIC.FUN -----
	!
	! ----- FUNCTION TO CHANGE YOUR UIC -----
	!
	! ---------- PASSED: ----------
	!
	! -----		THE_UIC_GROUP = Octal UIC Group to change to
	! -----		THE_UIC_MEMBER = Octal UIC Member to change to
	!
	! ---------- RETURNED: ----------
	!
	! -----		CHANGE_UIC returns system service exit status -----
	! -----			(SS$_NORMAL if successful)
	!
	! ----- Last Change 07/06/93 by Brian Lomasky -----
	!
	FUNCTION LONG CHANGE_UIC(WORD THE_UIC_GROUP, WORD THE_UIC_MEMBER)

		%INCLUDE "NUSER.INC"

		DIM LONG ARG_LIST(1%)		! ARGUMENT LIST FOR CHANGE_UIC
		DIM WORD RET_UIC(1%)		! CHANGE_UIC PASSED/RETURNED UIC

		EXTERNAL LONG FUNCTION					&
			SYS$CMKRNL		! CHANGE MODE TO KERNEL

		EXTERNAL LONG FUNCTION DEC_TO_OCT(			&
			LONG)			! CONVERT DECIMAL TO OCTAL
		EXTERNAL LONG SET_UIC		! SET UIC

		RET_UIC(0%) = THE_UIC_MEMBER	! STORE NEW MEMBER UIC
		RET_UIC(1%) = THE_UIC_GROUP	! STORE NEW GROUP UIC
		ARG_LIST(0%) = 1%		! 1 ARGUMENT
		ARG_LIST(1%) = LOC(RET_UIC(0%))	! PASS ADDRESS OF RET_UIC
		CHANGE_UIC = SYS$CMKRNL(SET_UIC, ARG_LIST() BY REF)
		IF DEBUG_MODE THEN
			PRINT "DEBUG>UIC was: ";			&
				DEC_TO_OCT((RET_UIC(1%))),		&
				DEC_TO_OCT((RET_UIC(0%)))
		END IF
	END FUNCTION
