.TITLE SETUSER Set Up Process Username .IDENT /0-01/ ;++ ; ; TITLE: SETUSER Set Up Process Username ; ; VERSION: 0-01 ; ; FACILITY: General Utility Programs ; ; ABSTRACT: ; ; This program calls LIB$GET_FOREIGN to get a new username ; and then changes mode to KERNEL. In KERNEL mode, it ; changes CTL$T_USERNAME and JIB$T_USERNAME. ; ; ENVIRONMENT: Runs at any access mode - not AST re-entrant ; ; AUTHOR: Edward B. Hamrick, CREATION DATE: 30-AUG-1982 ; ; MODIFIED BY: ; ; 01 - original ; ;-- $JIBDEF $PCBDEF .PSECT $DATA,NOEXE NAME: .ASCID / / PRMT: .ASCID /Username: / .PSECT $CODE,NOWRT .ENTRY SETUSER,^M<> ; ; Read in the new username ; PUSHAL PRMT PUSHAL NAME CALLS #2,G^LIB$GET_FOREIGN BLBC R0,99999$ ; ; Change mode to KERNEL to access the system tables ; $CMKRNL_S KERNEL 99999$: RET ; ; Modify the kernel tables ; .ENTRY KERNEL,^M ; ; Modify the first username field ; MOVC5 #12,@NAME+4,#32,#12,G^CTL$T_USERNAME ; ; Modify the JIB username field ; MOVL G^SCH$GL_CURPCB,R6 ; Get the current PCB MOVL PCB$L_JIB(R6),R6 ; Get the current JIB MOVC5 #12,@NAME+4,#32,#12,JIB$T_USERNAME(R6) MOVZWL #SS$_NORMAL,R0 ; Successful RET ; return .END SETUSER