From: SMTP%"mailserv-reply@kopc.hhs.dk" 3-JAN-1994 09:29:36.96 To: EVERHART CC: Subj: [UTILITIES]UTILITIES.1-OF-4;1 Date: Mon, 03 Jan 1994 14:41:41 +0100 From: "PMDF Mailserv V4.2" Subject: [UTILITIES]UTILITIES.1-OF-4;1 To: EVERHART@arisia.gce.com Message-id: <01H78ZR6D7I68ZDZ76@kopc.hhs.dk> MIME-version: 1.0 Content-type: TEXT/PLAIN Content-transfer-encoding: 7BIT $! ------------------ CUT HERE ----------------------- $ v='f$verify(f$trnlnm("SHARE_UNPACK_VERIFY"))' $! $! This archive created by VMS_SHARE Version 8.3 $! On 7-JUN-1993 13:01:11.35 By user ARNE $! $! The VMS_SHARE software that created this archive $! was written by Andy Harper, Kings College London UK $! -- December 1992 $! $! Credit is due to these people for their original ideas: $! James Gray, Michael Bednarek $! $!+ THIS PACKAGE DISTRIBUTED IN 4 PARTS, TO KEEP EACH PART $! BELOW 100 BLOCKS $! $! TO UNPACK THIS SHARE FILE, CONCATENATE ALL PARTS IN ORDER $! AND EXECUTE AS A COMMAND PROCEDURE ( @name ) $! $! THE FOLLOWING FILE(S) WILL BE CREATED AFTER UNPACKING: $! 1. DQFDEF.FOR;1 $! 2. DQFDEF.H;1 $! 3. DQFDEF.PAS;1 $! 4. EX.TXT;1 $! 5. JPIDEF.H;1 $! 6. PROC_POST.C;1 $! 7. PROC_POST.COM;1 $! 8. PROC_POST.FOR;1 $! 9. PROC_POST.PAS;1 $! 10. PROC_POST_EXT1.C;1 $! 11. PROC_POST_EXT1.COM;1 $! 12. PROC_POST_EXT1.FOR;1 $! 13. PROC_POST_EXT1.PAS;1 $! 14. PROC_POST_EXT2.C;1 $! 15. PROC_POST_EXT2.COM;1 $! 16. PROC_POST_EXT2.FOR;1 $! 17. PROC_POST_EXT2.PAS;1 $! 18. PROC_PRE.C;1 $! 19. PROC_PRE.COM;1 $! 20. PROC_PRE.FOR;1 $! 21. PROC_PRE.PAS;1 $! 22. PSCANDEF.H;1 $! 23. QUEUE_1Q.C;1 $! 24. QUEUE_1Q.COM;1 $! 25. QUEUE_1Q.FOR;1 $! 26. QUEUE_1Q.PAS;1 $! 27. QUEUE_1Q1J.C;1 $! 28. QUEUE_1Q1J.COM;1 $! 29. QUEUE_1Q1J.FOR;1 $! 30. QUEUE_1Q1J.PAS;1 $! 31. QUEUE_1QNJ.C;1 $! 32. QUEUE_1QNJ.COM;1 $! 33. QUEUE_1QNJ.FOR;1 $! 34. QUEUE_1QNJ.PAS;1 $! 35. QUEUE_NQ.C;1 $! 36. QUEUE_NQ.COM;1 $! 37. QUEUE_NQ.FOR;1 $! 38. QUEUE_NQ.PAS;1 $! 39. QUEUE_NQNJ.C;1 $! 40. QUEUE_NQNJ.COM;1 $! 41. QUEUE_NQNJ.FOR;1 $! 42. QUEUE_NQNJ.PAS;1 $! 43. QUOTA_SUP.C;1 $! 44. QUOTA_SUP.FOR;1 $! 45. QUOTA_SUP.PAS;1 $! 46. QUOTA_UNSUP.C;1 $! 47. QUOTA_UNSUP.COM;1 $! 48. QUOTA_UNSUP.FOR;1 $! 49. QUOTA_UNSUP.PAS;1 $! 50. SYSUAF_SUP.C;1 $! 51. SYSUAF_SUP.FOR;1 $! 52. SYSUAF_SUP.PAS;1 $! 53. SYSUAF_UNSUP.C;1 $! 54. SYSUAF_UNSUP.COM;1 $! 55. SYSUAF_UNSUP.FOR;1 $! 56. SYSUAF_UNSUP.PAS;1 $! 57. UAFDEF.FOR;1 $! 58. UAFDEF.H;1 $! 59. UAFDEF.PAS;1 $! 60. UTILITIES.TXT;1 $! $set="set" $set symbol/scope=(nolocal,noglobal) $f=f$parse("SHARE_UNPACK_TEMP","SYS$SCRATCH:."+f$getjpi("","PID")) $e="write sys$error ""%UNPACK"", " $w="write sys$output ""%UNPACK"", " $ if .not. f$trnlnm("SHARE_UNPACK_LOG") then $ w = "!" $ if f$getsyi("CPU") .gt. 127 then $ goto start $ ve=f$getsyi("version") $ if ve-f$extract(0,1,ve) .ges. "4.4" then $ goto start $ e "-E-OLDVER, Must run at least VMS 4.4" $ v=f$verify(v) $ exit 44 $unpack: subroutine ! P1=filename, P2=checksum, P3=attributes $ if f$parse(P1) .nes. "" then $ goto dirok $ dn=f$parse(P1,,,"DIRECTORY") $ w "-I-CREDIR, Creating directory ''dn'" $ create/dir 'dn' $ if $status then $ goto dirok $ e "-E-CREDIRFAIL, Unable to create ''dn' File skipped" $ delete 'f'* $ exit $dirok: $ x=f$search(P1) $ if x .eqs. "" then $ goto file_absent $ e "-W-EXISTS, File ''P1' exists. Skipped" $ delete 'f'* $ exit $file_absent: $ w "-I-UNPACK, Unpacking file ", P1 $ n=P1 $ if P3 .nes. "" then $ n=f $ if .not. f$verify() then $ define/user sys$output nl: $ EDIT/TPU/NOSEC/NODIS/COM=SYS$INPUT 'f'/OUT='n' PROCEDURE GetHex(s,p)LOCAL x1,x2;x1:=INDEX(t,SUBSTR(s,p,1))-1;x2:=INDEX(t, SUBSTR(s,p+1,1))-1;RETURN 16*x1+x2;ENDPROCEDURE; PROCEDURE SkipPartsep LOOP EXITIF MARK(NONE)=END_OF(b);EXITIF INDEX(ERASE_LINE, "-+-+-+-+-+-+-+-+")=1;ENDLOOP;ENDPROCEDURE;PROCEDURE ProcessLine LOCAL c,s,l,b, n,p;c := ERASE_CHARACTER(1);s := ERASE_LINE;IF c = "X" THEN SPLIT_LINE; ENDIF; MOVE_HORIZONTAL(-1);l := LENGTH(s);p := 1;LOOP EXITIF p > l;c := SUBSTR(s,p,1); p := p+1;CASE c FROM ' ' TO '`' ['`']: COPY_TEXT(ASCII(GetHex(s,p))); p:=p+2;[ ' ']: p:=p+1;[INRANGE,OUTRANGE]: COPY_TEXT(c);ENDCASE;ENDLOOP;ENDPROCEDURE; PROCEDURE Decode POSITION(BEGINNING_OF(b));LOOP EXITIF MARK(NONE)=END_OF(b); IF INDEX(CURRENT_LINE,"+-+-+-+-+-+-+-+-")=1 THEN SkipPartSep;ELSE ProcessLine; MOVE_HORIZONTAL(1);ENDIF;ENDLOOP;ENDPROCEDURE;SET(FACILITY_NAME,"UNPACK");SET( SUCCESS,OFF);SET(INFORMATIONAL,OFF);t:="0123456789ABCDEF";f:=GET_INFO( COMMAND_LINE,"file_name");b:=CREATE_BUFFER(f,f);Decode;WRITE_FILE(b,GET_INFO( COMMAND_LINE,"output_file"));QUIT; $ if p3 .eqs. "" then $ goto dl $ open/write fdl &f $ write fdl "RECORD" $ write fdl P3 $ close fdl $ w "-I-CONVRFM, Converting record format to ", P3 $ convert/fdl=&f &f-1 &P1 $dl: delete 'f'* $ checksum 'P1' $ if checksum$checksum .nes. P2 then $ - e "-E-CHKSMFAIL, Checksum of ''P1' failed." $ exit $ endsubroutine $start: $! $ create 'f' XC XC`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20DQFDEF.INC XC XC`20Definitions`20created`20by`20FORTRAN_DEFS`20at`2030-MAY-1993`2021:21:40.10 V XC X`20`20`20`20`20`20parameter`20(`20DQF$M_ACTIVE`20=`201`20) X`20`20`20`20`20`20parameter`20(`20DQF$K_LENGTH`20=`2032`20) X`20`20`20`20`20`20parameter`20(`20DQF$C_LENGTH`20=`2032`20) X`20`20`20`20`20`20parameter`20(`20DQF$S_DQFDEF`20=`2032`20) X`20`20`20`20`20`20parameter`20(`20DQF$L_FLAGS`20=`200`20) X`20`20`20`20`20`20parameter`20(`20DQF$V_ACTIVE`20=`200`20) X`20`20`20`20`20`20parameter`20(`20DQF$L_UIC`20=`204`20) X`20`20`20`20`20`20parameter`20(`20DQF$L_USAGE`20=`208`20) X`20`20`20`20`20`20parameter`20(`20DQF$L_PERMQUOTA`20=`2012`20) X`20`20`20`20`20`20parameter`20(`20DQF$L_OVERDRAFT`20=`2016`20) XC XC`20End`20of`20FORTRAN_DEFS`20definitions XC $ call unpack DQFDEF.FOR;1 1059942586 "" $! $ create 'f' X/*`20 X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20DQFDEF.H X`20*`20 X`20*`20`20Definitions`20created`20by`20VAXC_DEFS`20at`2030-MAY-1993`2016:12:27 V.50 X`20*/ X#define`20DQF$M_ACTIVE`201 X#define`20DQF$K_LENGTH`2032 X#define`20DQF$C_LENGTH`2032 X#define`20DQF$S_DQFDEF`2032 X#define`20DQF$L_FLAGS`200 X#define`20DQF$V_ACTIVE`200 X#define`20DQF$L_UIC`204 X#define`20DQF$L_USAGE`208 X#define`20DQF$L_PERMQUOTA`2012 X#define`20DQF$L_OVERDRAFT`2016 X/*`20 X`20*`20`20End`20of`20VAXC_DEFS`20definitions X`20*/ $ call unpack DQFDEF.H;1 51315406 "" $! $ create 'f' X(*`20 X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20DQFDEF.INC X`20*`20 X`20*`20`20Definitions`20created`20by`20PASCAL_DEFS`20at`2031-MAY-1993`2014:17: V19.92 X`20*) Xconst`20DQF$M_ACTIVE`20=`201;`20 Xconst`20DQF$K_LENGTH`20=`2032;`20 Xconst`20DQF$C_LENGTH`20=`2032;`20 Xconst`20DQF$S_DQFDEF`20=`2032;`20 Xconst`20DQF$L_FLAGS`20=`200;`20 Xconst`20DQF$V_ACTIVE`20=`200;`20 Xconst`20DQF$L_UIC`20=`204;`20 Xconst`20DQF$L_USAGE`20=`208;`20 Xconst`20DQF$L_PERMQUOTA`20=`2012;`20 Xconst`20DQF$L_OVERDRAFT`20=`2016;`20 X(*`20 X`20*`20`20End`20of`20PASCAL_DEFS`20definitions X`20*) $ call unpack DQFDEF.PAS;1 2050570380 "" $! $ create 'f' XEXAMPLES X======== X XAll`20examples`20are`20tested`20with: X X`20`20DCL`20`20`20`20`20-`20VMS`20VAX`20V5.5-2 X`20`20`20`20`20`20`20`20`20`20`20`20VMS`20AXP`20V1.0 X`20`20FORTRAN`20-`20VMS`20VAX`20V5.5-2`20`26`20VAX`20FORTRAN`20V5.9 X`20`20`20`20`20`20`20`20`20`20`20`20VMS`20AXP`20V1.0`20`26`20DEC`20FORTRAN`20V V6.0 X`20`20PASCAL`20`20-`20VMS`20VAX`20V5.5-2`20`26`20VAX`20PASCAL`20V4.3 X`20`20C`20`20`20`20`20`20`20-`20VMS`20VAX`20V5.5-2`20`26`20VAX`20C`20V3.2 X`20`20`20`20`20`20`20`20`20`20`20`20VMS`20VAX`20V5.5-2`20`26`20GNU`20C`20V2.3. V3 X`20`20`20`20`20`20`20`20`20`20`20`20VMS`20AXP`20V1.0`20`26`20DEC`20C`20V1.2 V`20`20(with`20/STANDARD=VAXC) X XAll`20examples`20are`20intended`20for`20use`20at`20a`20session`20at`20DECUS V`20Denmark Xsymposie`20in`20Kolding`20june`201993.`20The`20examples`20becomes`20public`20d Vomain Xafter`20that. X $ call unpack EX.TXT;1 1900960615 "" $! $ create 'f' X/*`20 X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20JPIDEF.H X`20*`20 X`20*`20`20Definitions`20created`20by`20VAXC_DEFS`20at`20`209-MAY-1993`2020:05: V16.40 X`20*/ X#define`20JPI$C_ADRTYPE`201 X#define`20JPI$C_CTLTYPE`202 X#define`20JPI$C_PCBTYPE`203 X#define`20JPI$C_PHDTYPE`204 X#define`20JPI$C_PCBFLDTYPE`205 X#define`20JPI$C_PHDFLDTYPE`206 X#define`20JPI$C_JIBTYPE`207 X#define`20JPI$C_ARBTYPE`208 X#define`20JPI$C_MAXSTRUC`206 X#define`20JPI$C_LISTEND`200 X#define`20JPI$_CHAIN`20-1 X#define`20JPI$_GETJPI_CONTROL_FLAGS`20-2 X#define`20JPI$M_NO_TARGET_INSWAP`201 X#define`20JPI$M_NO_TARGET_AST`202 X#define`20JPI$M_IGNORE_TARGET_STATUS`204 X#define`20JPI$S_JPICTLDEF`204 X#define`20JPI$V_NO_TARGET_INSWAP`200 X#define`20JPI$V_NO_TARGET_AST`201 X#define`20JPI$V_IGNORE_TARGET_STATUS`202 X#define`20JPI$K_OTHER`200 X#define`20JPI$K_NETWORK`201 X#define`20JPI$K_BATCH`202 X#define`20JPI$K_INTERACTIVE`203 X#define`20JPI$K_DETACHED`200 X#define`20JPI$K_LOCAL`203 X#define`20JPI$K_DIALUP`204 X#define`20JPI$K_REMOTE`205 X#define`20JPI$M_NEW_MAIL_AT_LOGIN`201 X#define`20JPI$M_PASSWORD_CHANGED`202 X#define`20JPI$M_PASSWORD_EXPIRED`204 X#define`20JPI$M_PASSWORD_WARNING`208 X#define`20JPI$M_PASSWORD2_CHANGED`2016 X#define`20JPI$M_PASSWORD2_EXPIRED`2032 X#define`20JPI$M_PASSWORD2_WARNING`2064 X#define`20JPI$S_JPILGIDEF`204 X#define`20JPI$V_NEW_MAIL_AT_LOGIN`200 X#define`20JPI$V_PASSWORD_CHANGED`201 X#define`20JPI$V_PASSWORD_EXPIRED`202 X#define`20JPI$V_PASSWORD_WARNING`203 X#define`20JPI$V_PASSWORD2_CHANGED`204 X#define`20JPI$V_PASSWORD2_EXPIRED`205 X#define`20JPI$V_PASSWORD2_WARNING`206 X#define`20JPI$_ASTACT`20768 X#define`20JPI$_ASTEN`20769 X#define`20JPI$_PRI`20770 X#define`20JPI$_OWNER`20771 X#define`20JPI$_UIC`20772 X#define`20JPI$_STS`20773 X#define`20JPI$_STATE`20774 X#define`20JPI$_MEM`20775 X#define`20JPI$_GRP`20776 X#define`20JPI$_PRIB`20777 X#define`20JPI$_APTCNT`20778 X#define`20JPI$_TMBU`20779 X#define`20JPI$_GPGCNT`20780 X#define`20JPI$_PPGCNT`20781 X#define`20JPI$_ASTCNT`20782 X#define`20JPI$_BIOCNT`20783 X#define`20JPI$_BIOLM`20784 X#define`20JPI$_BYTCNT`20785 X#define`20JPI$_DIOCNT`20786 X#define`20JPI$_DIOLM`20787 X#define`20JPI$_FILCNT`20788 X#define`20JPI$_TQCNT`20789 X#define`20JPI$_EFWM`20790 X#define`20JPI$_EFCS`20791 X#define`20JPI$_EFCU`20792 X#define`20JPI$_PID`20793 X#define`20JPI$_BYTLM`20794 X#define`20JPI$_PRCCNT`20795 X#define`20JPI$_PRCNAM`20796 X#define`20JPI$_TERMINAL`20797 X#define`20JPI$_JOBPRCCNT`20798 X#define`20JPI$_ENQCNT`20799 X#define`20JPI$_ENQLM`20800 X#define`20JPI$_SWPFILLOC`20801 X#define`20JPI$_MODE`20802 X#define`20JPI$_JOBTYPE`20803 X#define`20JPI$_PROC_INDEX`20804 X#define`20JPI$_MASTER_PID`20805 X#define`20JPI$_RIGHTSLIST`20806 X#define`20JPI$_CPU_ID`20807 X#define`20JPI$_STS2`20808 X#define`20JPI$_NODENAME`20809 X#define`20JPI$_NODE_CSID`20810 X#define`20JPI$_NODE_VERSION`20811 X#define`20JPI$_TT_PHYDEVNAM`20812 X#define`20JPI$_TT_ACCPORNAM`20813 X#define`20JPI$_PROCESS_RIGHTS`20814 X#define`20JPI$_SYSTEM_RIGHTS`20815 X#define`20JPI$_IMAGE_RIGHTS`20816 X#define`20JPI$_RIGHTS_SIZE`20817 X#define`20JPI$_LASTPCB`20818 X#define`20JPI$_CURPRIV`201024 X#define`20JPI$_WSAUTH`201025 X#define`20JPI$_WSQUOTA`201026 X#define`20JPI$_DFWSCNT`201027 X#define`20JPI$_FREP0VA`201028 X#define`20JPI$_FREP1VA`201029 X#define`20JPI$_DFPFC`201030 X#define`20JPI$_CPUTIM`201031 X#define`20JPI$_PRCLM`201032 X#define`20JPI$_ASTLM`201033 X#define`20JPI$_PAGEFLTS`201034 X#define`20JPI$_DIRIO`201035 X#define`20JPI$_BUFIO`201036 X#define`20JPI$_CPULIM`201037 X#define`20JPI$_PGFLQUOTA`201038 X#define`20JPI$_FILLM`201039 X#define`20JPI$_TQLM`201040 X#define`20JPI$_WSSIZE`201041 X#define`20JPI$_AUTHPRIV`201042 X#define`20JPI$_IMAGPRIV`201043 X#define`20JPI$_PAGFILCNT`201044 X#define`20JPI$_FREPTECNT`201045 X#define`20JPI$_WSEXTENT`201046 X#define`20JPI$_WSAUTHEXT`201047 X#define`20JPI$_AUTHPRI`201048 X#define`20JPI$_PAGFILLOC`201049 X#define`20JPI$_IMAGECOUNT`201050 X#define`20JPI$_PHDFLAGS`201051 X#define`20JPI$_VP_CPUTIM`201052 X#define`20JPI$_VP_CONSUMER`201053 X#define`20JPI$_LASTPHD`201054 X#define`20JPI$_VIRTPEAK`20512 X#define`20JPI$_WSPEAK`20513 X#define`20JPI$_USERNAME`20514 X#define`20JPI$_ACCOUNT`20515 X#define`20JPI$_PROCPRIV`20516 X#define`20JPI$_VOLUMES`20517 X#define`20JPI$_LOGINTIM`20518 X#define`20JPI$_IMAGNAME`20519 X#define`20JPI$_SITESPEC`20520 X#define`20JPI$_MSGMASK`20521 X#define`20JPI$_CLINAME`20522 X#define`20JPI$_TABLENAME`20523 X#define`20JPI$_CREPRC_FLAGS`20524 X#define`20JPI$_UAF_FLAGS`20525 X#define`20JPI$_MAXDETACH`20526 X#define`20JPI$_MAXJOBS`20527 X#define`20JPI$_SHRFILLM`20528 X#define`20JPI$_FAST_VP_SWITCH`20529 X#define`20JPI$_SLOW_VP_SWITCH`20530 X#define`20JPI$_LAST_LOGIN_I`20531 X#define`20JPI$_LAST_LOGIN_N`20532 X#define`20JPI$_LOGIN_FAILURES`20533 X#define`20JPI$_LOGIN_FLAGS`20534 X#define`20JPI$_LASTCTL`20535 X#define`20JPI$_EXCVEC`20256 X#define`20JPI$_FINALEXC`20257 X#define`20JPI$_LASTADR`20258 X#define`20JPI$_LASTPCBFLD`201280 X#define`20JPI$_LASTPHDFLD`201536 X/*`20 X`20*`20`20End`20of`20VAXC_DEFS`20definitions X`20*/ $ call unpack JPIDEF.H;1 321422176 "" $! $ create 'f' X#include`20 X#include`20 X#ifdef`20__DECC X#include`20 X#include`20 X#else X#include`20"pscandef.h" X#include`20"jpidef.h" X#endif X Xstruct`20itemlist`20`7B X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20short`20buflen,code; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20long`20bufadr,retlenadr; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`7D; X Xlong`20sys$setprv(); Xlong`20sys$process_scan(); Xlong`20sys$getjpiw(); X Xmain() X`7B X`20`20`20long`20stat,cntx,iosb`5B2`5D,pid; X`20`20`20char`20nn`5B7`5D,un`5B13`5D,pn`5B16`5D; X`20`20`20short`20nnl,unl,pnl; X`20`20`20char`20all`5B`5D`20=`20"*"; X`20`20`20long`20priv`5B2`5D`20=`20`7B`20PRV$M_WORLD,0`20`7D; X`20`20`20struct`20itemlist`20pslist`5B2`5D`20=`20`7B`20`7Bsizeof(all)-1,PSCAN$ V_USERNAME, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`26all,PSCAN$M_WILDCARD`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`7B0,0,0,0`7D`20`7D; X`20`20`20struct`20itemlist`20jpilist`5B5`5D`20=`20`7B`20`7Bsizeof(pid),JPI$_PI VD,`26pid,0`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7Bsizeof(nn)-1,JPI$_NODENAME,`26nn,`26nnl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7Bsizeof(un)-1,JPI$_USERNAME,`26un,`26unl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7Bsizeof(pn)-1,JPI$_PRCNAM,`26pn,`26pnl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7B0,0,0,0`7D`20`7D; X`20`20`20stat`20=`20sys$setprv(1,priv,0,0); X`20`20`20stat`20=`20sys$process_scan(`26cntx,pslist); X`20`20`20while`20(1)`20`7B X`20`20`20`20`20`20stat`20=`20sys$getjpiw(0,`26cntx,0,jpilist,iosb,0,0); X`20`20`20`20`20`20if`20((stat`261)!=1)`20break; X`20`20`20`20`20`20if`20((iosb`5B0`5D`261)!=1)`20break; X`20`20`20`20`20`20nn`5Bnnl`5D`20=`20'`5C0'; X`20`20`20`20`20`20un`5Bunl`5D`20=`20'`5C0'; X`20`20`20`20`20`20pn`5Bpnl`5D`20=`20'`5C0'; X`20`20`20`20`20`20printf("%8X`20%6s`20%12s`20%s`5Cn",pid,nn,un,pn); X`20`20`20`7D; X`7D; $ call unpack PROC_POST.C;1 739736172 "" $! $ create 'f' X$`20set`20proc/priv=world X$`20cntx="" X$`20tmp=f$context("PROCESS",cntx,"USERNAME","*","EQL") X$`20loop: X$`20`20`20`20pid=f$pid(cntx) X$`20`20`20`20if`20pid`20.eqs.`20""`20then`20goto`20endloop X$`20`20`20`20nn=f$getjpi(pid,"NODENAME") X$`20`20`20`20un=f$getjpi(pid,"USERNAME") X$`20`20`20`20pn=f$getjpi(pid,"PRCNAM") X$`20`20`20`20write`20sys$output`20f$fao("!8AS`20!6AS`20!12AS`20!AS",pid,nn,un, Vpn) X$`20`20`20`20goto`20loop X$`20endloop: X$`20exit $ call unpack PROC_POST.COM;1 1802064901 "" $! $ create 'f' X`20`20`20`20`20`20PROGRAM`20PROC_POST X`20`20`20`20`20`20INCLUDE`20'($PRVDEF)' X`20`20`20`20`20`20INCLUDE`20'($PSCANDEF)' X`20`20`20`20`20`20INCLUDE`20'($JPIDEF)' X`20`20`20`20`20`20STRUCTURE`20/ITEMLIST/ X`20`20`20`20`20`20`20`20INTEGER*2`20BUFLEN,CODE X`20`20`20`20`20`20`20`20INTEGER*4`20BUFADR,RETLENADR X`20`20`20`20`20`20ENDSTRUCTURE X`20`20`20`20`20`20INTEGER*4`20STAT,CNTX,IOSB(2),PID X`20`20`20`20`20`20CHARACTER*6`20NN X`20`20`20`20`20`20CHARACTER*12`20UN X`20`20`20`20`20`20CHARACTER*15`20PN X`20`20`20`20`20`20INTEGER*2`20NNL,UNL,PNL X`20`20`20`20`20`20CHARACTER*1`20ALL X`20`20`20`20`20`20INTEGER*4`20PRIV(2) X`20`20`20`20`20`20RECORD`20/ITEMLIST/PSLIST(2) X`20`20`20`20`20`20RECORD`20/ITEMLIST/JPILIST(5) X`20`20`20`20`20`20INTEGER*4`20SYS$SETPRV,SYS$PROCESS_SCAN,SYS$GETJPIW X`20`20`20`20`20`20DATA`20ALL/'*'/ X`20`20`20`20`20`20DATA`20PRIV/PRV$M_WORLD,0/ X`20`20`20`20`20`20PSLIST(1).BUFLEN=LEN(ALL) X`20`20`20`20`20`20PSLIST(1).CODE=PSCAN$_USERNAME X`20`20`20`20`20`20PSLIST(1).BUFADR=%LOC(ALL) X`20`20`20`20`20`20PSLIST(1).RETLENADR=PSCAN$M_WILDCARD X`20`20`20`20`20`20PSLIST(2).BUFLEN=0 X`20`20`20`20`20`20PSLIST(2).CODE=0 X`20`20`20`20`20`20PSLIST(2).BUFADR=0 X`20`20`20`20`20`20PSLIST(2).RETLENADR=0 X`20`20`20`20`20`20JPILIST(1).BUFLEN=4 X`20`20`20`20`20`20JPILIST(1).CODE=JPI$_PID X`20`20`20`20`20`20JPILIST(1).BUFADR=%LOC(PID) X`20`20`20`20`20`20JPILIST(1).RETLENADR=0 X`20`20`20`20`20`20JPILIST(2).BUFLEN=LEN(NN) X`20`20`20`20`20`20JPILIST(2).CODE=JPI$_NODENAME X`20`20`20`20`20`20JPILIST(2).BUFADR=%LOC(NN) X`20`20`20`20`20`20JPILIST(2).RETLENADR=%LOC(NNL) X`20`20`20`20`20`20JPILIST(3).BUFLEN=LEN(UN) X`20`20`20`20`20`20JPILIST(3).CODE=JPI$_USERNAME X`20`20`20`20`20`20JPILIST(3).BUFADR=%LOC(UN) X`20`20`20`20`20`20JPILIST(3).RETLENADR=%LOC(UNL) X`20`20`20`20`20`20JPILIST(4).BUFLEN=LEN(PN) X`20`20`20`20`20`20JPILIST(4).CODE=JPI$_PRCNAM X`20`20`20`20`20`20JPILIST(4).BUFADR=%LOC(PN) X`20`20`20`20`20`20JPILIST(4).RETLENADR=%LOC(PNL) X`20`20`20`20`20`20JPILIST(5).BUFLEN=0 X`20`20`20`20`20`20JPILIST(5).CODE=0 X`20`20`20`20`20`20JPILIST(5).BUFADR=0 X`20`20`20`20`20`20JPILIST(5).RETLENADR=0 X`20`20`20`20`20`20STAT=SYS$SETPRV(%VAL(1),PRIV,,) X`20`20`20`20`20`20STAT=SYS$PROCESS_SCAN(CNTX,PSLIST) X100`20`20`20STAT=SYS$GETJPIW(,CNTX,,JPILIST,IOSB,,) X`20`20`20`20`20`20IF((STAT.AND.1).NE.1)`20GOTO`20200 X`20`20`20`20`20`20IF((IOSB(1).AND.1).NE.1)`20GOTO`20200 X`20`20`20`20`20`20WRITE(6,'(1X,Z8,1X,A6,1X,A12,1X,A)') X`20`20`20`20`20+`20`20`20PID,NN(1:NNL),UN(1:UNL),PN(1:PNL) X`20`20`20`20`20`20GOTO`20100 X200`20`20`20CONTINUE X`20`20`20`20`20`20END $ call unpack PROC_POST.FOR;1 1011110809 "" $! $ create 'f' X`5Binherit('sys$library:starlet')`5D X Xprogram`20proc_post(input,output); X Xlabel X`20`20`20fin; X Xconst X`20`20`20string_length`20=`20256; X Xtype X`20`20`20string`20`20`20=`20varying`20`5Bstring_length`5D`20of`20char; X`20`20`20word`20`20`20`20`20=`20`5Bword`5D`200..65535; X`20`20`20quad`20`20`20`20`20=`20record X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20l0,l1`20:`20unsigned; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20end; X`20`20`20itemlist`20=`20record X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20buflen,code`20:`20word; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20bufadr,retlenadr`20:`20unsi Vgned; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20end; X Xvar X`20`20`20stat,cntx,pid`20:`20unsigned; X`20`20`20iosb`20`20`20`20`20`20`20`20`20`20:`20quad; X`20`20`20nn,un,pn`20`20`20`20`20`20:`20string; X`20`20`20unl,pnl`20`20`20`20`20`20`20:`20word; X`20`20`20all`20`20`20`20`20`20`20`20`20`20`20:`20string; X`20`20`20priv`20`20`20`20`20`20`20`20`20`20:`20quad; X`20`20`20pslist`20`20`20`20`20`20`20`20:`20array`20`5B1..2`5D`20of`20itemlist; V X`20`20`20jpilist`20`20`20`20`20`20`20:`20array`20`5B1..5`5D`20of`20itemlist; X Xbegin X`20`20`20all:='*'; X`20`20`20priv.l0:=PRV$M_WORLD; X`20`20`20priv.l1:=0; X`20`20`20pslist`5B1`5D.buflen:=all.length; X`20`20`20pslist`5B1`5D.code:=PSCAN$_USERNAME; X`20`20`20pslist`5B1`5D.bufadr:=iaddress(all.body); X`20`20`20pslist`5B1`5D.retlenadr:=PSCAN$M_WILDCARD; X`20`20`20pslist`5B2`5D.buflen:=0; X`20`20`20pslist`5B2`5D.code:=0; X`20`20`20pslist`5B2`5D.bufadr:=0; X`20`20`20pslist`5B2`5D.retlenadr:=0; X`20`20`20jpilist`5B1`5D.buflen:=4; X`20`20`20jpilist`5B1`5D.code:=JPI$_PID; X`20`20`20jpilist`5B1`5D.bufadr:=iaddress(pid); X`20`20`20jpilist`5B1`5D.retlenadr:=0; X`20`20`20jpilist`5B2`5D.buflen:=string_length; X`20`20`20jpilist`5B2`5D.code:=JPI$_NODENAME; X`20`20`20jpilist`5B2`5D.bufadr:=iaddress(nn.body); X`20`20`20jpilist`5B2`5D.retlenadr:=iaddress(nn.length); X`20`20`20jpilist`5B3`5D.buflen:=string_length; X`20`20`20jpilist`5B3`5D.code:=JPI$_USERNAME; X`20`20`20jpilist`5B3`5D.bufadr:=iaddress(un.body); X`20`20`20jpilist`5B3`5D.retlenadr:=iaddress(un.length); X`20`20`20jpilist`5B4`5D.buflen:=string_length; X`20`20`20jpilist`5B4`5D.code:=JPI$_PRCNAM; X`20`20`20jpilist`5B4`5D.bufadr:=iaddress(pn.body); X`20`20`20jpilist`5B4`5D.retlenadr:=iaddress(pn.length); X`20`20`20jpilist`5B5`5D.buflen:=0; X`20`20`20jpilist`5B5`5D.code:=0; X`20`20`20jpilist`5B5`5D.bufadr:=0; X`20`20`20jpilist`5B5`5D.retlenadr:=0; X`20`20`20stat:=$setprv(enbflg:=1,prvadr:=priv); X`20`20`20stat:=$process_scan(pidctx:=cntx,itmlst:=pslist); X`20`20`20while(true)`20do`20begin X`20`20`20`20`20`20stat:=$getjpiw(pidadr:=cntx,itmlst:=jpilist,iosb:=iosb); X`20`20`20`20`20`20if`20not(odd(stat))`20then`20goto`20fin; X`20`20`20`20`20`20if`20not(odd(iosb.l0))`20then`20goto`20fin; X`20`20`20`20`20`20writeln(hex(pid):8,'`20',pad(nn,'`20',6),'`20',pad(un,'`20', V12),'`20',pn); X`20`20`20end; Xfin: Xend. $ call unpack PROC_POST.PAS;1 1493654927 "" $! $ create 'f' X#include`20 X#include`20 X#ifdef`20__DECC X#include`20 X#include`20 X#else X#include`20"pscandef.h" X#include`20"jpidef.h" X#endif X Xstruct`20itemlist`20`7B X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20short`20buflen,code; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20long`20bufadr,retlenadr; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`7D; X Xlong`20sys$setprv(); Xlong`20sys$process_scan(); Xlong`20sys$getjpiw(); X Xmain() X`7B X`20`20`20long`20stat,cntx,iosb`5B2`5D,pid; X`20`20`20char`20nn`5B7`5D,un`5B13`5D,pn`5B16`5D; X`20`20`20short`20nnl,unl,pnl; X`20`20`20char`20all`5B`5D`20=`20"*"; X`20`20`20long`20priv`5B2`5D`20=`20`7B`20PRV$M_WORLD,0`20`7D; X`20`20`20struct`20itemlist`20pslist`5B3`5D`20=`20`7B`20`7Bsizeof(all)-1,PSCAN$ V_NODENAME, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`26all,PSCAN$M_WILDCARD`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`7Bsizeof(all)-1,PSCAN$_USERNAME, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`26all,PSCAN$M_WILDCARD`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`7B0,0,0,0`7D`20`7D; X`20`20`20struct`20itemlist`20jpilist`5B5`5D`20=`20`7B`20`7Bsizeof(pid),JPI$_PI VD,`26pid,0`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7Bsizeof(nn)-1,JPI$_NODENAME,`26nn,`26nnl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7Bsizeof(un)-1,JPI$_USERNAME,`26un,`26unl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7Bsizeof(pn)-1,JPI$_PRCNAM,`26pn,`26pnl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7B0,0,0,0`7D`20`7D; X`20`20`20stat`20=`20sys$setprv(1,priv,0,0); X`20`20`20stat`20=`20sys$process_scan(`26cntx,pslist); X`20`20`20while`20(1)`20`7B X`20`20`20`20`20`20stat`20=`20sys$getjpiw(0,`26cntx,0,jpilist,iosb,0,0); X`20`20`20`20`20`20if`20((stat`261)!=1)`20break; X`20`20`20`20`20`20if`20((iosb`5B0`5D`261)!=1)`20break; X`20`20`20`20`20`20nn`5Bnnl`5D`20=`20'`5C0'; X`20`20`20`20`20`20un`5Bunl`5D`20=`20'`5C0'; X`20`20`20`20`20`20pn`5Bpnl`5D`20=`20'`5C0'; X`20`20`20`20`20`20printf("%8X`20%6s`20%12s`20%s`5Cn",pid,nn,un,pn); X`20`20`20`7D; X`7D; $ call unpack PROC_POST_EXT1.C;1 408883544 "" $! $ create 'f' X$`20set`20proc/priv=world X$`20cntx="" X$`20tmp=f$context("PROCESS",cntx,"NODENAME","*","EQL") X$`20tmp=f$context("PROCESS",cntx,"USERNAME","*","EQL") X$`20loop: X$`20`20`20`20pid=f$pid(cntx) X$`20`20`20`20if`20pid`20.eqs.`20""`20then`20goto`20endloop X$`20`20`20`20nn=f$getjpi(pid,"NODENAME") X$`20`20`20`20un=f$getjpi(pid,"USERNAME") X$`20`20`20`20pn=f$getjpi(pid,"PRCNAM") X$`20`20`20`20write`20sys$output`20f$fao("!8AS`20!6AS`20!12AS`20!AS",pid,nn,un, Vpn) X$`20`20`20`20goto`20loop X$`20endloop: X$`20exit $ call unpack PROC_POST_EXT1.COM;1 1745116065 "" $! $ create 'f' X`20`20`20`20`20`20PROGRAM`20PROC_POST_EXT1 X`20`20`20`20`20`20INCLUDE`20'($PRVDEF)' X`20`20`20`20`20`20INCLUDE`20'($PSCANDEF)' X`20`20`20`20`20`20INCLUDE`20'($JPIDEF)' X`20`20`20`20`20`20STRUCTURE`20/ITEMLIST/ X`20`20`20`20`20`20`20`20INTEGER*2`20BUFLEN,CODE X`20`20`20`20`20`20`20`20INTEGER*4`20BUFADR,RETLENADR X`20`20`20`20`20`20ENDSTRUCTURE X`20`20`20`20`20`20INTEGER*4`20STAT,CNTX,IOSB(2),PID X`20`20`20`20`20`20CHARACTER*6`20NN X`20`20`20`20`20`20CHARACTER*12`20UN X`20`20`20`20`20`20CHARACTER*15`20PN X`20`20`20`20`20`20INTEGER*2`20NNL,UNL,PNL X`20`20`20`20`20`20CHARACTER*1`20ALL X`20`20`20`20`20`20INTEGER*4`20PRIV(2) X`20`20`20`20`20`20RECORD`20/ITEMLIST/PSLIST(3) X`20`20`20`20`20`20RECORD`20/ITEMLIST/JPILIST(5) X`20`20`20`20`20`20INTEGER*4`20SYS$SETPRV,SYS$PROCESS_SCAN,SYS$GETJPIW X`20`20`20`20`20`20DATA`20ALL/'*'/ X`20`20`20`20`20`20DATA`20PRIV/PRV$M_WORLD,0/ X`20`20`20`20`20`20PSLIST(1).BUFLEN=LEN(ALL) X`20`20`20`20`20`20PSLIST(1).CODE=PSCAN$_NODENAME X`20`20`20`20`20`20PSLIST(1).BUFADR=%LOC(ALL) X`20`20`20`20`20`20PSLIST(1).RETLENADR=PSCAN$M_WILDCARD X`20`20`20`20`20`20PSLIST(2).BUFLEN=LEN(ALL) X`20`20`20`20`20`20PSLIST(2).CODE=PSCAN$_USERNAME X`20`20`20`20`20`20PSLIST(2).BUFADR=%LOC(ALL) X`20`20`20`20`20`20PSLIST(2).RETLENADR=PSCAN$M_WILDCARD X`20`20`20`20`20`20PSLIST(3).BUFLEN=0 X`20`20`20`20`20`20PSLIST(3).CODE=0 X`20`20`20`20`20`20PSLIST(3).BUFADR=0 X`20`20`20`20`20`20PSLIST(3).RETLENADR=0 X`20`20`20`20`20`20JPILIST(1).BUFLEN=4 X`20`20`20`20`20`20JPILIST(1).CODE=JPI$_PID X`20`20`20`20`20`20JPILIST(1).BUFADR=%LOC(PID) X`20`20`20`20`20`20JPILIST(1).RETLENADR=0 X`20`20`20`20`20`20JPILIST(2).BUFLEN=LEN(NN) X`20`20`20`20`20`20JPILIST(2).CODE=JPI$_NODENAME X`20`20`20`20`20`20JPILIST(2).BUFADR=%LOC(NN) X`20`20`20`20`20`20JPILIST(2).RETLENADR=%LOC(NNL) X`20`20`20`20`20`20JPILIST(3).BUFLEN=LEN(UN) X`20`20`20`20`20`20JPILIST(3).CODE=JPI$_USERNAME X`20`20`20`20`20`20JPILIST(3).BUFADR=%LOC(UN) X`20`20`20`20`20`20JPILIST(3).RETLENADR=%LOC(UNL) X`20`20`20`20`20`20JPILIST(4).BUFLEN=LEN(PN) X`20`20`20`20`20`20JPILIST(4).CODE=JPI$_PRCNAM X`20`20`20`20`20`20JPILIST(4).BUFADR=%LOC(PN) X`20`20`20`20`20`20JPILIST(4).RETLENADR=%LOC(PNL) X`20`20`20`20`20`20JPILIST(5).BUFLEN=0 X`20`20`20`20`20`20JPILIST(5).CODE=0 X`20`20`20`20`20`20JPILIST(5).BUFADR=0 X`20`20`20`20`20`20JPILIST(5).RETLENADR=0 X`20`20`20`20`20`20STAT=SYS$SETPRV(%VAL(1),PRIV,,) X`20`20`20`20`20`20STAT=SYS$PROCESS_SCAN(CNTX,PSLIST) X100`20`20`20STAT=SYS$GETJPIW(,CNTX,,JPILIST,IOSB,,) X`20`20`20`20`20`20IF((STAT.AND.1).NE.1)`20GOTO`20200 X`20`20`20`20`20`20IF((IOSB(1).AND.1).NE.1)`20GOTO`20200 X`20`20`20`20`20`20WRITE(6,'(1X,Z8,1X,A6,1X,A12,1X,A)') X`20`20`20`20`20+`20`20`20PID,NN(1:NNL),UN(1:UNL),PN(1:PNL) X`20`20`20`20`20`20GOTO`20100 X200`20`20`20CONTINUE X`20`20`20`20`20`20END $ call unpack PROC_POST_EXT1.FOR;1 1481099561 "" $! $ create 'f' X`5Binherit('sys$library:starlet')`5D X Xprogram`20proc_post_ext1(input,output); X Xlabel X`20`20`20fin; X Xconst X`20`20`20string_length`20=`20256; X Xtype X`20`20`20string`20`20`20=`20varying`20`5Bstring_length`5D`20of`20char; X`20`20`20word`20`20`20`20`20=`20`5Bword`5D`200..65535; X`20`20`20quad`20`20`20`20`20=`20record X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20l0,l1`20:`20unsigned; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20end; X`20`20`20itemlist`20=`20record X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20buflen,code`20:`20word; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20bufadr,retlenadr`20:`20unsi Vgned; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20end; X Xvar X`20`20`20stat,cntx,pid`20:`20unsigned; X`20`20`20iosb`20`20`20`20`20`20`20`20`20`20:`20quad; X`20`20`20nn,un,pn`20`20`20`20`20`20:`20string; X`20`20`20unl,pnl`20`20`20`20`20`20`20:`20word; X`20`20`20all`20`20`20`20`20`20`20`20`20`20`20:`20string; X`20`20`20priv`20`20`20`20`20`20`20`20`20`20:`20quad; X`20`20`20pslist`20`20`20`20`20`20`20`20:`20array`20`5B1..3`5D`20of`20itemlist; V X`20`20`20jpilist`20`20`20`20`20`20`20:`20array`20`5B1..5`5D`20of`20itemlist; X Xbegin X`20`20`20all:='*'; X`20`20`20priv.l0:=PRV$M_WORLD; X`20`20`20priv.l1:=0; X`20`20`20pslist`5B1`5D.buflen:=all.length; X`20`20`20pslist`5B1`5D.code:=PSCAN$_NODENAME; X`20`20`20pslist`5B1`5D.bufadr:=iaddress(all.body); X`20`20`20pslist`5B1`5D.retlenadr:=PSCAN$M_WILDCARD; X`20`20`20pslist`5B2`5D.buflen:=all.length; X`20`20`20pslist`5B2`5D.code:=PSCAN$_USERNAME; X`20`20`20pslist`5B2`5D.bufadr:=iaddress(all.body); X`20`20`20pslist`5B2`5D.retlenadr:=PSCAN$M_WILDCARD; X`20`20`20pslist`5B3`5D.buflen:=0; X`20`20`20pslist`5B3`5D.code:=0; X`20`20`20pslist`5B3`5D.bufadr:=0; X`20`20`20pslist`5B3`5D.retlenadr:=0; X`20`20`20jpilist`5B1`5D.buflen:=4; X`20`20`20jpilist`5B1`5D.code:=JPI$_PID; X`20`20`20jpilist`5B1`5D.bufadr:=iaddress(pid); X`20`20`20jpilist`5B1`5D.retlenadr:=0; X`20`20`20jpilist`5B2`5D.buflen:=string_length; X`20`20`20jpilist`5B2`5D.code:=JPI$_NODENAME; X`20`20`20jpilist`5B2`5D.bufadr:=iaddress(nn.body); X`20`20`20jpilist`5B2`5D.retlenadr:=iaddress(nn.length); X`20`20`20jpilist`5B3`5D.buflen:=string_length; X`20`20`20jpilist`5B3`5D.code:=JPI$_USERNAME; X`20`20`20jpilist`5B3`5D.bufadr:=iaddress(un.body); X`20`20`20jpilist`5B3`5D.retlenadr:=iaddress(un.length); X`20`20`20jpilist`5B4`5D.buflen:=string_length; X`20`20`20jpilist`5B4`5D.code:=JPI$_PRCNAM; X`20`20`20jpilist`5B4`5D.bufadr:=iaddress(pn.body); X`20`20`20jpilist`5B4`5D.retlenadr:=iaddress(pn.length); X`20`20`20jpilist`5B5`5D.buflen:=0; X`20`20`20jpilist`5B5`5D.code:=0; X`20`20`20jpilist`5B5`5D.bufadr:=0; X`20`20`20jpilist`5B5`5D.retlenadr:=0; X`20`20`20stat:=$setprv(enbflg:=1,prvadr:=priv); X`20`20`20stat:=$process_scan(pidctx:=cntx,itmlst:=pslist); X`20`20`20while(true)`20do`20begin X`20`20`20`20`20`20stat:=$getjpiw(pidadr:=cntx,itmlst:=jpilist,iosb:=iosb); X`20`20`20`20`20`20if`20not(odd(stat))`20then`20goto`20fin; X`20`20`20`20`20`20if`20not(odd(iosb.l0))`20then`20goto`20fin; X`20`20`20`20`20`20writeln(hex(pid):8,'`20',pad(nn,'`20',6),'`20',pad(un,'`20', V12),'`20',pn); X`20`20`20end; Xfin: Xend. $ call unpack PROC_POST_EXT1.PAS;1 1008665159 "" $! $ create 'f' X#include`20 X#include`20 X#include`20 X#ifdef`20__DECC X#include`20 X#include`20 X#else X#include`20"pscandef.h" X#include`20"jpidef.h" X#endif X Xstruct`20itemlist`20`7B X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20short`20buflen,code; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20long`20bufadr,retlenadr; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`7D; X Xlong`20sys$setprv(); Xlong`20sys$getsyiw(); Xlong`20sys$process_scan(); Xlong`20sys$getjpiw(); X Xmain() X`7B X`20`20`20long`20stat,csi,cntx,iosb`5B2`5D,pid; X`20`20`20char`20nn`5B7`5D,un`5B13`5D,pn`5B16`5D; X`20`20`20short`20nnl,unl,pnl; X`20`20`20char`20all`5B`5D`20=`20"*"; X`20`20`20long`20priv`5B2`5D`20=`20`7B`20PRV$M_WORLD,0`20`7D; X`20`20`20struct`20itemlist`20syilist`5B2`5D`20=`20`7B`20`7Bsizeof(nn)-1,SYI$_N VODENAME,`26nn,`26nnl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7B0,0,0,0`7D`20`7D; X`20`20`20struct`20itemlist`20pslist`5B3`5D`20=`20`7B`20`7Bsizeof(nn)-1,PSCAN$_ VNODENAME, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`26nn,PSCAN$M_WILDCARD`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`7Bsizeof(all)-1,PSCAN$_USERNAME, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`26all,PSCAN$M_WILDCARD`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`7B0,0,0,0`7D`20`7D; X`20`20`20struct`20itemlist`20jpilist`5B4`5D`20=`20`7B`20`7Bsizeof(pid),JPI$_PI VD,`26pid,0`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7Bsizeof(un)-1,JPI$_USERNAME,`26un,`26unl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7Bsizeof(pn)-1,JPI$_PRCNAM,`26pn,`26pnl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7B0,0,0,0`7D`20`7D; X`20`20`20stat`20=`20sys$setprv(1,priv,0,0); X`20`20`20csi`20=`20-1; X`20`20`20while`20(1)`20`7B X`20`20`20`20`20`20stat`20=`20sys$getsyiw(0,`26csi,0,syilist,iosb,0,0); X`20`20`20`20`20`20if`20((stat`261)!=1)`20break; X`20`20`20`20`20`20if`20((iosb`5B0`5D`261)!=1)`20break; X`20`20`20`20`20`20nn`5Bnnl`5D`20=`20'`5C0'; X`20`20`20`20`20`20pslist`5B0`5D.buflen`20=`20nnl; X`20`20`20`20`20`20stat`20=`20sys$process_scan(`26cntx,pslist); X`20`20`20`20`20`20while`20(1)`20`7B X`20`20`20`20`20`20`20`20`20stat`20=`20sys$getjpiw(0,`26cntx,0,jpilist,iosb,0,0 V); X`20`20`20`20`20`20`20`20`20if`20((stat`261)!=1)`20break; X`20`20`20`20`20`20`20`20`20if`20((iosb`5B0`5D`261)!=1)`20break; X`20`20`20`20`20`20`20`20`20un`5Bunl`5D`20=`20'`5C0'; X`20`20`20`20`20`20`20`20`20pn`5Bpnl`5D`20=`20'`5C0'; X`20`20`20`20`20`20`20`20`20printf("%8X`20%6s`20%12s`20%s`5Cn",pid,nn,un,pn); X`20`20`20`20`20`20`7D; X`20`20`20`7D; X`7D; $ call unpack PROC_POST_EXT2.C;1 440232530 "" $! $ create 'f' X$`20set`20proc/priv=world X$`20ncntx="" X$`20loop1: X$`20`20`20`20csid=f$csid(ncntx) X$`20`20`20`20if`20csid`20.eqs.`20""`20then`20goto`20endloop1 X$`20`20`20`20nn=f$getsyi("NODENAME",,csid) X$`20`20`20`20cntx="" X$`20`20`20`20tmp=f$context("PROCESS",cntx,"NODENAME",nn,"EQL") X$`20`20`20`20tmp=f$context("PROCESS",cntx,"USERNAME","*","EQL") X$`20`20`20`20loop2: X$`20`20`20`20`20`20`20pid=f$pid(cntx) X$`20`20`20`20`20`20`20if`20pid`20.eqs.`20""`20then`20goto`20endloop2 X$`20`20`20`20`20`20`20un=f$getjpi(pid,"USERNAME") X$`20`20`20`20`20`20`20pn=f$getjpi(pid,"PRCNAM") X$`20`20`20`20`20`20`20write`20sys$output`20f$fao("!8AS`20!6AS`20!12AS`20!AS",p Vid,nn,un,pn) X$`20`20`20`20`20`20`20goto`20loop2 X$`20`20`20`20endloop2: X$`20`20`20`20goto`20loop1 X$`20endloop1: X$`20exit $ call unpack PROC_POST_EXT2.COM;1 1263557521 "" $! $ create 'f' X`20`20`20`20`20`20PROGRAM`20PROC_POST_EXT2 X`20`20`20`20`20`20INCLUDE`20'($PRVDEF)' X`20`20`20`20`20`20INCLUDE`20'($SYIDEF)' X`20`20`20`20`20`20INCLUDE`20'($PSCANDEF)' X`20`20`20`20`20`20INCLUDE`20'($JPIDEF)' X`20`20`20`20`20`20STRUCTURE`20/ITEMLIST/ X`20`20`20`20`20`20`20`20INTEGER*2`20BUFLEN,CODE X`20`20`20`20`20`20`20`20INTEGER*4`20BUFADR,RETLENADR X`20`20`20`20`20`20ENDSTRUCTURE X`20`20`20`20`20`20INTEGER*4`20STAT,CSI,CNTX,IOSB(2),PID X`20`20`20`20`20`20CHARACTER*6`20NN X`20`20`20`20`20`20CHARACTER*12`20UN X`20`20`20`20`20`20CHARACTER*15`20PN X`20`20`20`20`20`20INTEGER*2`20NNL,UNL,PNL X`20`20`20`20`20`20CHARACTER*1`20ALL X`20`20`20`20`20`20INTEGER*4`20PRIV(2) X`20`20`20`20`20`20RECORD`20/ITEMLIST/SYILIST(2) X`20`20`20`20`20`20RECORD`20/ITEMLIST/PSLIST(3) X`20`20`20`20`20`20RECORD`20/ITEMLIST/JPILIST(4) X`20`20`20`20`20`20INTEGER*4`20SYS$SETPRV,SYS$GETSYIW,SYS$PROCESS_SCAN,SYS$GETJ VPIW X`20`20`20`20`20`20DATA`20ALL/'*'/ X`20`20`20`20`20`20DATA`20PRIV/PRV$M_WORLD,0/ X`20`20`20`20`20`20SYILIST(1).BUFLEN=LEN(NN) X`20`20`20`20`20`20SYILIST(1).CODE=SYI$_NODENAME X`20`20`20`20`20`20SYILIST(1).BUFADR=%LOC(NN) X`20`20`20`20`20`20SYILIST(1).RETLENADR=%LOC(NNL) X`20`20`20`20`20`20SYILIST(2).BUFLEN=0 X`20`20`20`20`20`20SYILIST(2).CODE=0 X`20`20`20`20`20`20SYILIST(2).BUFADR=0 X`20`20`20`20`20`20SYILIST(2).RETLENADR=0 X`20`20`20`20`20`20PSLIST(1).BUFLEN=LEN(NN) X`20`20`20`20`20`20PSLIST(1).CODE=PSCAN$_NODENAME X`20`20`20`20`20`20PSLIST(1).BUFADR=%LOC(NN) X`20`20`20`20`20`20PSLIST(1).RETLENADR=PSCAN$M_WILDCARD X`20`20`20`20`20`20PSLIST(2).BUFLEN=LEN(ALL) X`20`20`20`20`20`20PSLIST(2).CODE=PSCAN$_USERNAME X`20`20`20`20`20`20PSLIST(2).BUFADR=%LOC(ALL) X`20`20`20`20`20`20PSLIST(2).RETLENADR=PSCAN$M_WILDCARD X`20`20`20`20`20`20PSLIST(3).BUFLEN=0 X`20`20`20`20`20`20PSLIST(3).CODE=0 X`20`20`20`20`20`20PSLIST(3).BUFADR=0 X`20`20`20`20`20`20PSLIST(3).RETLENADR=0 X`20`20`20`20`20`20JPILIST(1).BUFLEN=4 X`20`20`20`20`20`20JPILIST(1).CODE=JPI$_PID X`20`20`20`20`20`20JPILIST(1).BUFADR=%LOC(PID) X`20`20`20`20`20`20JPILIST(1).RETLENADR=0 X`20`20`20`20`20`20JPILIST(2).BUFLEN=LEN(UN) X`20`20`20`20`20`20JPILIST(2).CODE=JPI$_USERNAME X`20`20`20`20`20`20JPILIST(2).BUFADR=%LOC(UN) X`20`20`20`20`20`20JPILIST(2).RETLENADR=%LOC(UNL) X`20`20`20`20`20`20JPILIST(3).BUFLEN=LEN(PN) X`20`20`20`20`20`20JPILIST(3).CODE=JPI$_PRCNAM X`20`20`20`20`20`20JPILIST(3).BUFADR=%LOC(PN) X`20`20`20`20`20`20JPILIST(3).RETLENADR=%LOC(PNL) X`20`20`20`20`20`20JPILIST(4).BUFLEN=0 X`20`20`20`20`20`20JPILIST(4).CODE=0 X`20`20`20`20`20`20JPILIST(4).BUFADR=0 X`20`20`20`20`20`20JPILIST(4).RETLENADR=0 X`20`20`20`20`20`20STAT=SYS$SETPRV(%VAL(1),PRIV,,) X`20`20`20`20`20`20CSI=-1 X100`20`20`20STAT=SYS$GETSYIW(,CSI,,SYILIST,IOSB,,) X`20`20`20`20`20`20IF((STAT.AND.1).NE.1)`20GOTO`20400 X`20`20`20`20`20`20IF((IOSB(1).AND.1).NE.1)`20GOTO`20400 X`20`20`20`20`20`20PSLIST(1).BUFLEN=NNL X`20`20`20`20`20`20STAT=SYS$PROCESS_SCAN(CNTX,PSLIST) X200`20`20`20STAT=SYS$GETJPIW(,CNTX,,JPILIST,IOSB,,) X`20`20`20`20`20`20IF((STAT.AND.1).NE.1)`20GOTO`20300 X`20`20`20`20`20`20IF((IOSB(1).AND.1).NE.1)`20GOTO`20300 X`20`20`20`20`20`20WRITE(6,'(1X,Z8,1X,A6,1X,A12,1X,A)') X`20`20`20`20`20+`20`20`20PID,NN(1:NNL),UN(1:UNL),PN(1:PNL) X`20`20`20`20`20`20GOTO`20200 X300`20`20`20CONTINUE X`20`20`20`20`20`20GOTO`20100 X400`20`20`20CONTINUE X`20`20`20`20`20`20END $ call unpack PROC_POST_EXT2.FOR;1 1662870486 "" $! $ create 'f' X`5Binherit('sys$library:starlet')`5D X Xprogram`20proc_post_ext2(input,output); X Xlabel X`20`20`20fin1,fin2; X Xconst X`20`20`20string_length`20=`20256; X Xtype X`20`20`20string`20`20`20=`20varying`20`5Bstring_length`5D`20of`20char; X`20`20`20word`20`20`20`20`20=`20`5Bword`5D`200..65535; X`20`20`20quad`20`20`20`20`20=`20record X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20l0,l1`20:`20unsigned; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20end; X`20`20`20itemlist`20=`20record X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20buflen,code`20:`20word; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20bufadr,retlenadr`20:`20unsi Vgned; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20end; X Xvar X`20`20`20stat,csi,cntx,pid`20:`20unsigned; X`20`20`20iosb`20`20`20`20`20`20`20`20`20`20`20`20`20`20:`20quad; X`20`20`20nn,un,pn`20`20`20`20`20`20`20`20`20`20:`20string; X`20`20`20unl,pnl`20`20`20`20`20`20`20`20`20`20`20:`20word; X`20`20`20all`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20:`20string; X`20`20`20priv`20`20`20`20`20`20`20`20`20`20`20`20`20`20:`20quad; X`20`20`20syilist`20`20`20`20`20`20`20`20`20`20`20:`20array`20`5B1..2`5D`20of V`20itemlist; X`20`20`20pslist`20`20`20`20`20`20`20`20`20`20`20`20:`20array`20`5B1..3`5D`20of V`20itemlist; X`20`20`20jpilist`20`20`20`20`20`20`20`20`20`20`20:`20array`20`5B1..4`5D`20of V`20itemlist; X Xbegin X`20`20`20all:='*'; X`20`20`20priv.l0:=PRV$M_WORLD; X`20`20`20priv.l1:=0; X`20`20`20syilist`5B1`5D.buflen:=string_length; X`20`20`20syilist`5B1`5D.code:=SYI$_NODENAME; X`20`20`20syilist`5B1`5D.bufadr:=iaddress(nn.body); X`20`20`20syilist`5B1`5D.retlenadr:=iaddress(nn.length); X`20`20`20syilist`5B2`5D.buflen:=0; X`20`20`20syilist`5B2`5D.code:=0; X`20`20`20syilist`5B2`5D.bufadr:=0; X`20`20`20syilist`5B2`5D.retlenadr:=0; X`20`20`20pslist`5B1`5D.buflen:=string_length; X`20`20`20pslist`5B1`5D.code:=PSCAN$_NODENAME; X`20`20`20pslist`5B1`5D.bufadr:=iaddress(nn.body); X`20`20`20pslist`5B1`5D.retlenadr:=PSCAN$M_WILDCARD; X`20`20`20pslist`5B2`5D.buflen:=all.length; X`20`20`20pslist`5B2`5D.code:=PSCAN$_USERNAME; X`20`20`20pslist`5B2`5D.bufadr:=iaddress(all.body); X`20`20`20pslist`5B2`5D.retlenadr:=PSCAN$M_WILDCARD; X`20`20`20pslist`5B3`5D.buflen:=0; X`20`20`20pslist`5B3`5D.code:=0; X`20`20`20pslist`5B3`5D.bufadr:=0; X`20`20`20pslist`5B3`5D.retlenadr:=0; X`20`20`20jpilist`5B1`5D.buflen:=4; X`20`20`20jpilist`5B1`5D.code:=JPI$_PID; X`20`20`20jpilist`5B1`5D.bufadr:=iaddress(pid); X`20`20`20jpilist`5B1`5D.retlenadr:=0; X`20`20`20jpilist`5B2`5D.buflen:=string_length; X`20`20`20jpilist`5B2`5D.code:=JPI$_USERNAME; X`20`20`20jpilist`5B2`5D.bufadr:=iaddress(un.body); X`20`20`20jpilist`5B2`5D.retlenadr:=iaddress(un.length); X`20`20`20jpilist`5B3`5D.buflen:=string_length; X`20`20`20jpilist`5B3`5D.code:=JPI$_PRCNAM; X`20`20`20jpilist`5B3`5D.bufadr:=iaddress(pn.body); X`20`20`20jpilist`5B3`5D.retlenadr:=iaddress(pn.length); X`20`20`20jpilist`5B4`5D.buflen:=0; X`20`20`20jpilist`5B4`5D.code:=0; X`20`20`20jpilist`5B4`5D.bufadr:=0; X`20`20`20jpilist`5B4`5D.retlenadr:=0; X`20`20`20stat:=$setprv(enbflg:=1,prvadr:=priv); X`20`20`20csi:=-1; X`20`20`20while(true)`20do`20begin X`20`20`20`20`20`20stat:=$getsyiw(csidadr:=csi,itmlst:=syilist,iosb:=iosb); X`20`20`20`20`20`20if`20not(odd(stat))`20then`20goto`20fin2; X`20`20`20`20`20`20if`20not(odd(iosb.l0))`20then`20goto`20fin2; X`20`20`20`20`20`20pslist`5B1`5D.buflen:=length(nn); X`20`20`20`20`20`20stat:=$process_scan(pidctx:=cntx,itmlst:=pslist); X`20`20`20`20`20`20while(true)`20do`20begin X`20`20`20`20`20`20`20`20`20stat:=$getjpiw(pidadr:=cntx,itmlst:=jpilist,iosb:=i Vosb); X`20`20`20`20`20`20`20`20`20if`20not(odd(stat))`20then`20goto`20fin1; X`20`20`20`20`20`20`20`20`20if`20not(odd(iosb.l0))`20then`20goto`20fin1; X`20`20`20`20`20`20`20`20`20writeln(hex(pid):8,'`20',pad(nn,'`20',6),'`20',pad( Vun,'`20',12),'`20',pn); X`20`20`20`20`20`20end; X`20`20`20fin1: X`20`20`20end; Xfin2: Xend. $ call unpack PROC_POST_EXT2.PAS;1 1414018862 "" $! $ create 'f' X#include`20 X#include`20 X#include`20 X Xstruct`20itemlist`20`7B X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20short`20buflen,code; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20long`20bufadr,retlenadr; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`7D; X Xlong`20sys$setprv(); Xlong`20sys$getjpiw(); X Xmain() X`7B X`20`20`20long`20stat,cntx,iosb`5B2`5D,pid; X`20`20`20char`20un`5B13`5D,pn`5B16`5D; X`20`20`20short`20unl,pnl; X`20`20`20long`20priv`5B2`5D`20=`20`7B`20PRV$M_WORLD,0`20`7D; X`20`20`20struct`20itemlist`20jpilist`5B4`5D`20=`20`7B`20`7Bsizeof(pid),JPI$_PI VD,`26pid,0`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7Bsizeof(un)-1,JPI$_USERNAME,`26un,`26unl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7Bsizeof(pn)-1,JPI$_PRCNAM,`26pn,`26pnl`7D`20, X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20`20`20`20`7B0,0,0,0`7D`20`7D; X`20`20`20stat`20=`20sys$setprv(1,priv,0,0); X`20`20`20cntx`20=`20-1; X`20`20`20while`20(1)`20`7B X`20`20`20`20`20`20stat`20=`20sys$getjpiw(0,`26cntx,0,jpilist,iosb,0,0); X`20`20`20`20`20`20if`20((stat`261)!=1)`20break; X`20`20`20`20`20`20if`20((iosb`5B0`5D`261)!=1)`20break; X`20`20`20`20`20`20un`5Bunl`5D`20=`20'`5C0'; X`20`20`20`20`20`20pn`5Bpnl`5D`20=`20'`5C0'; X`20`20`20`20`20`20printf("%8X`20%12s`20%s`5Cn",pid,un,pn); X`20`20`20`7D; X`7D; $ call unpack PROC_PRE.C;1 738469350 "" $! $ create 'f' X$`20set`20proc/priv=world X$`20cntx="" X$`20loop: X$`20`20`20`20pid=f$pid(cntx) X$`20`20`20`20if`20pid`20.eqs.`20""`20then`20goto`20endloop X$`20`20`20`20un=f$getjpi(pid,"USERNAME") X$`20`20`20`20pn=f$getjpi(pid,"PRCNAM") X$`20`20`20`20write`20sys$output`20f$fao("!8AS`20!12AS`20!AS",pid,un,pn) X$`20`20`20`20goto`20loop X$`20endloop: X$`20exit $ call unpack PROC_PRE.COM;1 1782592966 "" $! $ create 'f' X`20`20`20`20`20`20PROGRAM`20PROC_PRE X`20`20`20`20`20`20INCLUDE`20'($PRVDEF)' X`20`20`20`20`20`20INCLUDE`20'($JPIDEF)' X`20`20`20`20`20`20STRUCTURE`20/ITEMLIST/ X`20`20`20`20`20`20`20`20INTEGER*2`20BUFLEN,CODE X`20`20`20`20`20`20`20`20INTEGER*4`20BUFADR,RETLENADR X`20`20`20`20`20`20ENDSTRUCTURE X`20`20`20`20`20`20INTEGER*4`20STAT,CNTX,IOSB(2),PID X`20`20`20`20`20`20CHARACTER*12`20UN X`20`20`20`20`20`20CHARACTER*15`20PN X`20`20`20`20`20`20INTEGER*2`20UNL,PNL X`20`20`20`20`20`20INTEGER*4`20PRIV(2) X`20`20`20`20`20`20RECORD`20/ITEMLIST/JPILIST(4) X`20`20`20`20`20`20INTEGER*4`20SYS$SETPRV,SYS$GETJPIW X`20`20`20`20`20`20DATA`20PRIV/PRV$M_WORLD,0/ X`20`20`20`20`20`20JPILIST(1).BUFLEN=4 X`20`20`20`20`20`20JPILIST(1).CODE=JPI$_PID X`20`20`20`20`20`20JPILIST(1).BUFADR=%LOC(PID) X`20`20`20`20`20`20JPILIST(1).RETLENADR=0 X`20`20`20`20`20`20JPILIST(2).BUFLEN=LEN(UN) X`20`20`20`20`20`20JPILIST(2).CODE=JPI$_USERNAME X`20`20`20`20`20`20JPILIST(2).BUFADR=%LOC(UN) X`20`20`20`20`20`20JPILIST(2).RETLENADR=%LOC(UNL) X`20`20`20`20`20`20JPILIST(3).BUFLEN=LEN(PN) X`20`20`20`20`20`20JPILIST(3).CODE=JPI$_PRCNAM X`20`20`20`20`20`20JPILIST(3).BUFADR=%LOC(PN) X`20`20`20`20`20`20JPILIST(3).RETLENADR=%LOC(PNL) X`20`20`20`20`20`20JPILIST(4).BUFLEN=0 X`20`20`20`20`20`20JPILIST(4).CODE=0 X`20`20`20`20`20`20JPILIST(4).BUFADR=0 X`20`20`20`20`20`20JPILIST(4).RETLENADR=0 X`20`20`20`20`20`20STAT=SYS$SETPRV(%VAL(1),PRIV,,) X`20`20`20`20`20`20CNTX=-1 X100`20`20`20STAT=SYS$GETJPIW(,CNTX,,JPILIST,IOSB,,) X`20`20`20`20`20`20IF((STAT.AND.1).NE.1)`20GOTO`20200 X`20`20`20`20`20`20IF((IOSB(1).AND.1).NE.1)`20GOTO`20200 X`20`20`20`20`20`20WRITE(6,'(1X,Z8,1X,A12,1X,A)')`20PID,UN(1:UNL),PN(1:PNL) X`20`20`20`20`20`20GOTO`20100 X200`20`20`20CONTINUE X`20`20`20`20`20`20END $ call unpack PROC_PRE.FOR;1 958412585 "" $! $ create 'f' X`5Binherit('sys$library:starlet')`5D X Xprogram`20proc_pre(input,output); X Xlabel X`20`20`20fin; X Xconst X`20`20`20string_length`20=`20256; X Xtype X`20`20`20string`20`20`20=`20varying`20`5Bstring_length`5D`20of`20char; X`20`20`20word`20`20`20`20`20=`20`5Bword`5D`200..65535; X`20`20`20quad`20`20`20`20`20=`20record X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20l0,l1`20:`20unsigned; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20end; X`20`20`20itemlist`20=`20record X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20buflen,code`20:`20word; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20bufadr,retlenadr`20:`20unsi Vgned; X`20`20`20`20`20`20`20`20`20`20`20`20`20`20end; X Xvar X`20`20`20stat,cntx,pid`20:`20unsigned; X`20`20`20iosb`20`20`20`20`20`20`20`20`20`20:`20quad; X`20`20`20un,pn`20`20`20`20`20`20`20`20`20:`20string; X`20`20`20unl,pnl`20`20`20`20`20`20`20:`20word; X`20`20`20priv`20`20`20`20`20`20`20`20`20`20:`20quad; X`20`20`20jpilist`20`20`20`20`20`20`20:`20array`20`5B1..4`5D`20of`20itemlist; X Xbegin X`20`20`20priv.l0:=PRV$M_WORLD; X`20`20`20priv.l1:=0; X`20`20`20jpilist`5B1`5D.buflen:=4; X`20`20`20jpilist`5B1`5D.code:=JPI$_PID; X`20`20`20jpilist`5B1`5D.bufadr:=iaddress(pid); X`20`20`20jpilist`5B1`5D.retlenadr:=0; X`20`20`20jpilist`5B2`5D.buflen:=string_length; X`20`20`20jpilist`5B2`5D.code:=JPI$_USERNAME; X`20`20`20jpilist`5B2`5D.bufadr:=iaddress(un.body); X`20`20`20jpilist`5B2`5D.retlenadr:=iaddress(un.length); X`20`20`20jpilist`5B3`5D.buflen:=string_length; X`20`20`20jpilist`5B3`5D.code:=JPI$_PRCNAM; X`20`20`20jpilist`5B3`5D.bufadr:=iaddress(pn.body); X`20`20`20jpilist`5B3`5D.retlenadr:=iaddress(pn.length); X`20`20`20jpilist`5B4`5D.buflen:=0; X`20`20`20jpilist`5B4`5D.code:=0; X`20`20`20jpilist`5B4`5D.bufadr:=0; X`20`20`20jpilist`5B4`5D.retlenadr:=0; X`20`20`20stat:=$setprv(enbflg:=1,prvadr:=priv); X`20`20`20cntx:=-1; X`20`20`20while(true)`20do`20begin X`20`20`20`20`20`20stat:=$getjpiw(pidadr:=cntx,itmlst:=jpilist,iosb:=iosb); X`20`20`20`20`20`20if`20not(odd(stat))`20then`20goto`20fin; X`20`20`20`20`20`20if`20not(odd(iosb.l0))`20then`20goto`20fin; X`20`20`20`20`20`20writeln(hex(pid):8,'`20',pad(un,'`20',12),'`20',pn); X`20`20`20end; Xfin: Xend. $ call unpack PROC_PRE.PAS;1 1131627708 "" $! $ create 'f' X/*`20 X`20*`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20 V`20`20`20`20`20`20PSCANDEF.H X`20*`20 X`20*`20`20Definitions`20created`20by`20VAXC_DEFS`20at`20`209-MAY-1993`2019:44: V08.93 X`20*/ X#define`20PSCAN$_BEGIN`200 X#define`20PSCAN$_ACCOUNT`201 X#define`20PSCAN$_AUTHPRI`202 X#define`20PSCAN$_CURPRIV`203 X#define`20PSCAN$_GRP`204 +-+-+-+-+-+-+-+- END OF PART 1 +-+-+-+-+-+-+-+-