From: SMTP%"MACRO32%WKUVX1.BITNET@uu7.psi.com" 4-JUN-1993 10:12:43.32 To: EVERHART CC: Subj: Re: Image activation X-Listname: "VMS Internals, MACRO, & BLISS Discussions" Warnings-To: <> Errors-To: MacroMan%WKUVX1.BITNET@uu7.psi.com Sender: MacroMan%WKUVX1.BITNET@uu7.psi.com Date: 04 Jun 1993 09:16:17 -0500 (EST) From: "Brian J. Schenkenberger, VAXman" Reply-To: MACRO32%WKUVX1.BITNET@uu7.psi.com Subject: Re: Image activation To: MACRO32@WKUVX1.BITNET Message-Id: <01GYZ3P6WQF690MUS7@MONMOUTH-etdl1.Army.MIL> X-Vms-To: IN%"MACRO32%WKUVX1.BITNET@ULKYVM.LOUISVILLE.EDU" Mime-Version: 1.0 Content-Transfer-Encoding: 7BIT >Well, now I never said it would work for just anybody, you have >to be good! {:*) Seriously though, I'm running 5.5 but I suspect >that this showed up in 5.4. SDA> SHOW PROCESS .../IMAGE is present on a v5.4-2 system, so I would guest that your suspicions are correct. >that this showed up in 5.4. Otherwise I guess you have to walk the >ICB chain as someone else posted how to do. 'twas I. :-) I also talked of using the format command. The problem is that there are no ICB structures defined in the DEC supplied .STBs. I didn't post this with the original discussion of walking the ICB chain simply because I had built the .STB so long ago, I didn't know off-hand where I place the gererator procedure... anyway, here it be: --- $ Macro/Object=ICB_STBGEN.OBJ Sys$Input .title ICB_stbgen .MACRO $ICBDEF,$GBL ; RTFM: IDSM V5.2 Fig: 26.3 $DEFINI ICB,$GBL ; no flag ICB$M_ /$V_ include $EQU ICB$K_LENGTH 104 $EQU ICB$C_LENGTH 104 $EQU ICB$S_ICBDEF 104 $EQU ICB$L_FLINK 0 $EQU ICB$L_BLINK 4 $EQU ICB$W_SIZE 8 $EQU ICB$B_TYPE 10 $EQU ICB$B_RESERVED 11 $EQU ICB$B_ACCESS_MODE 12 $EQU ICB$B_ACT_CODE 13 $EQU ICB$W_CHAN 14 $EQU ICB$L_FLAGS 16 $EQU ICB$B_IMAGE_NAME_LEN 20 $EQU ICB$T_IMAGE_NAME 21 $EQU ICB$S_IMAGE_NAME 39 $EQU ICB$L_RESERVED 60 $EQU ICB$B_MATCH_CONTROL 64 $EQU ICB$L_RESERVED_3BYTES 65 $EQU ICB$L_MINOR_ID 68 $EQU ICB$B_MAJOR_ID 71 $EQU ICB$L_STARTING_ADDRESS 72 $EQU ICB$L_END_ADDRESS 76 $EQU ICB$L_IHD 80 $EQU ICB$L_KFE 84 $EQU ICB$L_CONTEXT 88 $EQU ICB$L_BASE_ADDRESS 92 $EQU ICB$L_INITIALIZE 96 $EQU ICB$L_ACTIVE_SONS 100 $DEFEND ICB,$GBL,DEF .ENDM $icbdef GLOBAL .end $ Link/Noexecutable/Symbol=icbdef.stb icb_stbgen --- Now, in the system analyzer (SDA), SDA> READ ICBDEF.STB SDA> SET PROCESS (, /INDEX=) SDA> EXAMINE IAC$GL_IMAGE_LIST SDA> FORMAT/TYPE=ICB @. SDA> FORMAT/TYPE=ICB @. SDA> FORMAT/TYPE=ICB @. and so on... to walk the list A personal message I received from the original question poster indicated that they wanted to retrieve this info from within the running program. By using the above $ICBDEF macro and linking with SYS$SYSTEM:SYS.STB to access IAC$GL_IMAGE_LIST, the program can also 'walk the list' of ICBs. BJS- /Brian Schenkenberger/Schenkenberg@Eisner.DECUS.Org/Space for Rent/ /VMS Software Support/Vitronics, Inc./Eatontown, NJ/(908) 542-0600/ /Independent Consult./Tmesis Consulting/Jackson, NJ/(908) 363-7551/ /@Monmouth-ETDL1.Army.Mil/CIS: 70253,114/