; public_domain_notice ; ; Copyright (c) 1996 David P. Murphy for Datametrics Systems Corporation --- ; please send all comments and bug reports to murphy@connor.datametrics.com ; ; Permission is granted to any individual or institution to use, copy, or ; redistribute this software so long as all of the original files are included, ; that it is not sold for profit, and that this copyright notice is retained. ; Use at your own risk. Neither Murphy nor Datametrics assumes responsibility. ; Do not taunt Happy Fun Ball. .MACRO $ICBDEF,$GBL $DEFINI ICB,$GBL ; we need to dereference the Image Control Blocks, but digital doesn't ; provide a $ICBDEF module, so i made my own based upon IDSM v5.2 ; (chapters 26.1.1.2 and 26.1.1.3), poking around in the debugger ; to compare those values against ANALYZE/IMAGE output (oh what fun), ; and some advice from the vaxman himself, Brian J. Schenkenberger. ; $EQU ICB$L_FLINK 0 ; Forward link in list $EQU ICB$L_BLINK 4 ; Backward link in list $EQU ICB$W_SIZE 8 ; Size of ICB in bytes $EQU ICB$B_TYPE 10 ; Structure type for ICB $EQU DYN$C_ICB 127 $EQU ICB$B_ICB_1 11 ; Spare for alignment $EQU ICB$B_ACCESS_MODE 12 ; Access mode of image $EQU ICB$B_ACT_CODE 13 ; Activation code $EQU ICB$K_MAIN_PROGRAM 1 ; Object of RUN command $EQU ICB$K_MERGED_IMAGE 2 ; Additional image mapped $EQU ICB$K_GLOBAL_IMAGE_SECTION 3 ; Image described by global ISD $EQU ICB$W_CHAN 14 ; Channel on which image file is opened $EQU ICB$L_FLAGS 16 ; Name attributes $EQU ICB$V_EXPREG 0 ; Image mapped at end of address space $EQU ICB$V_SHAREABLE 1 ; Image installed /SHAREABLE $EQU ICB$V_OPEN_FOR_WRITE 2 ; Image will be opened for write $EQU ICB$V_RES_HEADER 3 ; Image header already decoded $EQU ICB$V_LOAD_IMAGE 4 ; Load image from sequential device $EQU ICB$V_INITIALIZE 5 ; Image contains initialization code $EQU ICB$V_DONE 6 ; Image is completely activated $EQU ICB$V_SYS_STB 7 ; Image is linked against SYS.STB $EQU ICB$V_IN_CIRCULARITY 8 ; Image is involved in an image circularity $EQU ICB$V_MAPPED 9 ; Image is mapped in address space $EQU ICB$V_PROTECTED 10 ; Image installed protected $EQU ICB$V_PARENT_PROT 11 ; Parent image installed protected $EQU ICB$V_FORKABLE 12 ; Protected image allows POSIX fork() $EQU ICB$T_IMAGE_NAME 20 ; Name string (counted ASCII) $EQU ICB$S_IMAGE_NAME 40 $EQU ICB$L_SYMVECSIZE 60 ; Symbol Vector Size $EQU ICB$L_MATCH_CONTROL 64 $EQU ICB$B_MINORID 68 $EQU ICB$S_MINORID 3 $EQU ICB$B_MAJORID 71 $EQU ICB$S_MAJORID 1 $EQU ICB$L_STARTADDR 72 $EQU ICB$L_ENDADDR 76 $EQU ICB$L_IHD 80 ; Address of IHD for image $EQU ICB$L_KFE 84 ; Address of KFE for image $EQU ICB$L_CONTEXT 88 ; Address of context block $EQU ICB$L_BASE_ADDRESS 92 ; Base address at which image is mapped $EQU ICB$L_INITIALIZE 96 ; Address of initialization code $EQU ICB$L_ACTIVE_SONS 100 ; Count of not yet mapped son images; Valid only during activation .if defined __ALPHA $EQU ICB$L_FIXSECVADR 104 ; Fixup Section Virtual Address $EQU ICB$L_FILL_01 108 $EQU ICB$L_SYMVECVADR 112 ; Symbol Vector Virtual Address $EQU ICB$L_FILL_02 116 $EQU ICB$L_FILL_03 120 $EQU ICB$L_FILL_04 124 $EQU ICB$L_FILL_05 128 $EQU ICB$L_FILL_06 132 $EQU ICB$L_FILL_07 136 $EQU ICB$L_FILL_08 140 $EQU ICB$L_FILL_09 144 $EQU ICB$L_FILL_10 148 $EQU ICB$L_HIGHADR 152 ; 7ff-something $EQU ICB$T_SECTION_NAME 156 ; section name (counted ASCII) (add 4 for the "_001" which might be there) $EQU ICB$S_SECTION_NAME 40 .endc .if defined __ALPHA $EQU ICB$K_LENGTH 196 $EQU ICB$C_LENGTH 196 .if_false $EQU ICB$K_LENGTH 104 $EQU ICB$C_LENGTH 104 .endc $DEFEND ICB,$GBL,DEF .ENDM