From: jonathan@ucsvc.ucs.unimelb.edu.au
Newsgroups: news.software.anu-news
Subject: NEWSSKIM_ALT.7-OF-7
Date: 15 Oct 92 03:10:15 GMT
Organization: The University of Melbourne

-+-+-+-+-+-+-+-+ START OF PART 7 -+-+-+-+-+-+-+-+
X40$:
X`20`09$forcex_g`20forcex_arglst
X`09ret
X;
X`09.end`09main
$ call unpack FORCEX.MAR;1 1111313263 ""
$!
$ create 'f'
X`A8`000`00D`00X`00`00`00`00`000205`01`01`00`00`FF`FF`FF`FF`FF`FF`FF`FF`00`00
V`00`00(`00`00`01`E9`10`A8C`00`00`00`00`00`06`00`00h`DF`FE`7F`0C`04`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`04`00`00`00`00`00`00`00`01`00`00`00`00`00
V`00`00`00`00`00`00`02LD`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`0201`00`00`00`00`00
V`00`00`00`00`00`00`00`00nD`E9`10`A8C`94`00`0505-05`00`00`00`00`00`00`00`00`00
V`00`0C`00`01`00`01`00`00`00`8C`00`00`00`10`00`01`00`02`00`00`00`80`00`00`00
V`02`00`00`00`10`00`01`00`03`00`00`00`0A`04`00`00`03`00`00`00`0C`00`14`00`EC
V`FF?`00`8C`00`00`FD`1F`00`C0`00`00`00`00`00!`00`00`03`00`00`00`00`0E`00`00`01
V`0ALIBRTL_001`1F`00`01`00`00`00`00`00+`00`00`04`00`00`00`00g`00`00`01`0APASRTL
V_001`00`00`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF
V`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF
V`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF
V`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF
V`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF
V`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF
V`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF
V`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF
V`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF`FF
V`FF`FF
XDAY_NUMBER`01`01`00@`C2`18`5E`D4`AD`F8`9E`FFF`02`00`00m`DD`00`DD`00`9F`EF`DB
V`FD`FF`FF`FB`03`FF`20`02`00`00`D0P`EF`D1`FD`FF`FF`E8`EF`CB`FD`FF`FF`12`DD`00
V`DD`EF`C2`FD`FF`FF`FB`02`FF`07`02`00`00`11v`01`B4`EF`B6`FD`FF`FF`DD`01`DD`EF
V`A6`FD`FF`FF`9F`EF`A8`FD`FF`FF`DD`06`FB`04`FF`F3`01`00`00`DF`8F`02`00`00`00
V`B0`EF`93`FD`FF`FF`AD`F0`B0`8F`0E`01`AD`F2`9E`EF`87`FD`FF`FF`AD`F4`9F`AD`F0
V`B0`0A`AD`E8`B0`8F`0E`01`AD`EA`9E`EFh`FF`FF`FF`AD`EC`9F`AD`E8`FB`03`FF`A4`01
V`00`00`D0P`EFY`FD`FF`FF`E8`EFS`FD`FF`FF`0F`DD`00`DD`EFJ`FD`FF`FF`FB`02`FF`8F
V`01`00`00`D0`01P`04`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
X`00`00`00`00`00`00`00`00@`00`00`00@`00`00`00`00`00`00`00h`00`00`00t`00`00`00
V`03`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`03`00`00`00`01`00`00`00P`03`00`008`08`00`00
V`F0`04`00`00`02`00`00`00`02`00`00`00`A8`05`00`00x`03`00`00`00`00`00`00`01`00
V`00`00`00`04`00`00`01`00`0D`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00@`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`06LIBRTL
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`06PASRTL`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
X`0E`BC`00`06`00`00`00`07LIB_DAY`06`B9`10`0A`04`00`00`17`B9`09`00`00`02`0A`FC
V`02`0D`F3`E8`F9`02`02`EE`E3`BE`F9`02`01`F1`0E`04`10`B8`00`00`04`00`00`05$CODE
V`C5`00`00`00`11`B8`00`00`02`00`00`06$LOCAL`10`00`00`00`0E`BE`00`0C`04`00`00
V`07LIB_DAY`06`BF`00`B9`00`00`00`01`BD`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
V`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00`00
$ call unpack LIB_DAY.EXE;1 3759932714 "FORMAT FIX;SIZE 512"
$!
$ create 'f'
X`7B************************************************************************
X*`09`09`09`09`09`09`09`09`09*
X*`20`20LIB_DAY`09A`20simple`20program`20to`20return`20the`20number`20of`20days
V`20since`09*
X*`09`09the`20start`20of`20"VMS`20time".`09`09`09`09*
X*`09`09`09`09`09`09`09`09`09*
X*`20`20Author:`09Jonathan`20Ridler.`09`09`09`09`09*
X*`20`20History:`0914-Feb-1991`09JER`09Original`20version.`09`09*
X*`09`09`09`09`09`09`09`09`09*
X************************************************************************`7D
X
X`5BINHERIT`20('SYS$LIBRARY:STARLET',
X`09`20`20'SYS$LIBRARY:PASCAL$LIB_ROUTINES')`20`5D
X
XPROGRAM`20Lib_Day`20;
X
XVAR
X
XDay_Number`20:`20INTEGER`20:=`200`20;
XRst`20:`20UNSIGNED`20:=`200`20;
X
XBuf`20:`20VARYING`20`5B6`5D`20OF`20CHAR`20:=`20''`20;
X
X
XBEGIN
XRst`20:=`20LIB$DAY`20(Day_Number)`20;
XIF`20NOT`20ODD`20(Rst)`20`20THEN
X`20`20`20LIB$SIGNAL`20(Rst)
X`20ELSE
X`20`20`20BEGIN
X`20`20`20WRITEV`20(Buf,Day_Number:1)`20;
X`20`20`20Rst`20:=`20LIB$SET_SYMBOL`20('DAY_NUMBER',Buf,LIB$K_CLI_GLOBAL_SYM)
V`20;
X`20`20`20IF`20NOT`20ODD`20(Rst)`20`20THEN
X`20`20`20`20`20`20LIB$SIGNAL`20(Rst)`20;
X`20`20`20END`20;
XEND.
$ call unpack LIB_DAY.PAS;1 926823932 ""
$!
$ create 'f'
X;*****************************************************************************
V*
X;`20SETUSER.MAR`09`09`09`09`09`09`09`09`20`20`20`20`20`20!
X;`09`09`09`09`09`09`09`09`09`20`20`20`20`20`20!
X;`20Abstract:-`09Modifies`20the`20username`20of`20the`20current`20process,`20t
Vhus`20enabling`20`20`20!
X;`09`09a`20privileged`20user`20to`20perform`20proxy`20DECnet`20operations`20un
Vder`20`20`20`20!
X;`09`09another`20username.`20`20UIC,`20privileges,`20etc.`20are`20unaltered.
V`09`20`20`20`20`20`20!
X;`09`09`09`09`09`09`09`09`09`20`20`20`20`20`20!
X;`09`09`09`09`09`09`09`09`09`20`20`20`20`20`20!
X;`20Environment:-`20Requires`20CHMKNL`20privilege`20to`20run.`20`20Process`20m
Vust`20have`20account`20`20!
X;`09`09SYS,`20UCS`20or`20nul.`09`09`09`09`09`20`20`20`20`20`20!
X;`09`09`09`09`09`09`09`09`09`20`20`20`20`20`20!
X;`20Programmer:-`09John`20M.R.`20Wastell.`09`09`09`09`09`20`20`20`20`20`20!
X;`20Created:-`0928/Mar/1984`09`09`09`09`09`09`20`20`20`20`20`20!
X;`09`09`09`09`09`09`09`09`09`20`20`20`20`20`20!
X;`20Revised:-`0923-Aug-1984`20`20J.Wastell`20-`20Insist`20that`20account`20mus
Vt`20be`20SYSTEM`20`20`20!
X;`09`0930-Jan-1985`20`20J.Wastell`20-`20or`20nul`09`09`09`09`20`20`20`20`20
V`20!
X;`09`09`207-Jan-1986`20`20C.Chaundy`20-`20Change`20UAF$S_USERNAME`20to`20JIB$S
V_...`20`20`20!
X;`09`0930-Apr-1986`20`20J.Wastell`20-`20Allow`20account`20UCS`09`09`20`20`20
V`20`20`20!
X;`09`0923-Jul-1990`20`20J.Ridler`20`20-`20Allow`20account`20UCS_NET
X;*****************************************************************************
V*
X
X
X.title`09setuser
X.ident`09/0-03/
X
X
X.enable`20suppression
X.default`20displacement`20WORD
X
X.library`20/SYS$LIBRARY:LIB.MLB/
X
X$JIBDEF
X$JPIDEF
X$PCBDEF
X$TPADEF
X
X.psect`09setuser_data,`09`09rd,wrt,exe,long
X
Xaccjpi:`09`09.word`098,`20jpi$_account
X`09`09.address`20account
X`09`09.long`090,0
Xaccount:`09.long`090,0
X
X
Xcmd_desc:`09.long`0980
X`09`09.address`20name
Xname_desc:`09.long`090
X`09`09.address`20name
Xname:`09`09.blkb`0980
Xname_prompt:`09.ascid`09/New`20username`20:-`20`20/
X
X;_____________________________________________________________________________
V_
X.align`09long
XTP:`09.long`093
X`09.address`20param
X`09.address`20state
X`09.address`20key
X
Xparam:`09.long`09TPA$K_COUNT0
X`09.long`090
X`09.blkb`09TPA$K_LENGTH0-8
X
X`09$INIT_STATE`09state,`20key
X
X`09$STATE`09START
X`09`20`20$TRAN`09TPA$_BLANK,`20START
X`09`20`20$TRAN`09TPA$_SYMBOL,`20,`20,`20,`20name_desc
X`09$STATE
X`09`20`20$TRAN`09TPA$_EOS,`20TPA$_EXIT
X
X`09$END_STATE
X
X;_____________________________________________________________________________
V_
X.psect`09setuser_code,`09`09rd,nowrt,exe,byte
X.entry`09setuser,`20`5Em<R3,R4>
X
X`09$GETJPI_S`20`20itmlst=accjpi`09`09`09;Get`20process's`20account
X`09blbc`09R0,`201$`09`09`09`09`09;`20and`20check`20that`20it
X`09movq`09account,`20R0`09`09`09`09;
X`09beqlu`092$`09`09`09`09`09;`20is`20nul
X`09cmpl`09R0,`20#`5Ea/SYS`20/`09`09`09`09;`20or`20SYSTEM
X`09beqlu`092$`09`09`09`09`09;
X0$:`09cmpl`09R0,`20#`5Ea/UCS`20/`09`09`09`09;`20or`20UCS
X`09beqlu`092$`09`09`09`09`09;
X`09cmpl`09R0,`20#`5Ea/UCS_/`09`09`09`09;`20or`20UCS_NET
X`09bnequ`0910$`09`09`09`09`09;
X`09cmpl`09R1,`20#`5Ea/NET`20/`09`09`09`09;
X`09beqlu`092$
X10$:`09movl`09#SS$_nopriv,`20R0`09`09`09`09;
X1$:`09ret`09`09`09`09`09`09;
X
X2$:`09clrq`09-(SP)`09`09`09`09`09;Get`20the`20new`20username
X`09pushal`09name_prompt`09`09`09`09;`20from`20the`20command`20line
X`09pushal`09cmd_desc`09`09`09`09;
X`09calls`09#4,`20g`5Elib$get_foreign`09`09`09;
X`09blbc`09R0,`203$`09`09`09`09`09;
X
X`09movl`09cmd_desc,`09param+TPA$L_STRINGCNT`09;Parse`20the`20command`20line
X`09movl`09cmd_desc+4,`09param+TPA$L_STRINGPTR`09;`20and`20extract`20a`20valid
X`09callg`09TP,`20g`5Elib$tparse`09`09`09;`20username.
X`09blbc`09R0,`203$`09`09`09`09`09;
X
X`09pushal`09name_desc`09`09`09`09;Make`20sure`20that`20its
X`09pushal`09name_desc`09`09`09`09;`20uppercase`20only.
X`09calls`09#2,`20g`5Estr$upcase`09`09`09;
X`09blbc`09R0,`203$`09`09`09`09`09;
X
X`09$CMKRNL_S`20routin=4$`09`09`09`09;Set`20the`20username
X3$:`09ret`09`09`09`09`09`09;
X
X;_____________________________________________________________________________
V_
X4$:`09.word`09`5Em<R2,R3,R4,R5>
X`09movc5`09name_desc,`20@name_desc+4,`20#`5Ea/`20/,-
X`09`09`09`09`09#JIB$S_USERNAME,`20@#CTL$T_USERNAME
X`09movl`09@#CTL$GL_PCB,`20`20R0
X`09movl`09PCB$L_JIB(R0),`20R1
X`09movc5`09name_desc,`20@name_desc+4,`20#`5Ea/`20/,-
X`09`09`09`09`09#JIB$S_USERNAME,`20JIB$T_USERNAME(R1)
X`09movl`09#1,`20R0
X`09ret
X
X;_____________________________________________________________________________
V_
X`09.end`09setuser
$ call unpack SETUSER.MAR;1 675261876 ""
$ v=f$verify(v)
$ exit