From: Chris Olive [nospam@raytheon.com] Sent: Friday, May 02, 2003 10:06 AM To: Info-VAX@Mvb.Saic.Com Subject: Re: [OpenVMS Alpha] How to get image version in DCL ? Brian Tillman wrote: >>Do you know of a freeware tool (MACRO, FORTRAN, PASCAL, C, ...) to get such >>information (image name, image file identification, ...) in DCL symbols ? > > > From Mark London's BULLETIN: > > .TITLE READ_HEADER - Read Image Header > .IDENT /1-001/ > > ; This subroutine returns the image identification and link time. > ; > ; Format: > ; > ; status.wlc.v = READ_HEADER( ident.wt.ds [,time.wt.ds] ) > ; > ; Parameters: > ; > ; ident The image identification text. > ; > ; time The image link time (text format). > > > ; Date By Comments > ; 4/10/87 D.E. Greenwood Originally written by John Miano, > 24-June-1986 - > ; obtained from April 87 DECUS L&T Sig > Newsletter > .LIBRARY "SYS$LIBRARY:LIB" > > $DSCDEF > $IHDDEF > $IHIDEF > $SSDEF > > ; Argument pointer offsets > > $OFFSET 4,POSITIVE, > > .PSECT READ_HEADER, RD, NOWRT, EXE, LONG > .ENTRY READ_HEADER, ^M< R2, R3, R4, R5, R6, R7, R8, R11 > > > CMPL (AP),#1 ; Make sure that there is at least > BGEQ ENOUGH_ARGUMENTS ; one argument to this routine > MOVL #SS$_INSFARG, R0 > RET > > ENOUGH_ARGUMENTS: > > ; Get the identification of the image. > > MOVL @#CTL$GL_IMGHDRBF, R11 ; R11 - Address of image buffer > MOVL (R11), R6 ; R6 - Address of image header > > CVTWL IHD$W_IMGIDOFF(R6), R7 > MOVAB (R6)[R7], R7 ; R7 - Address of ID Block > > CVTBL IHI$T_IMGID(R7),R0 ; Length of the ID string > MOVL IDENT(AP), R8 > MOVC5 R0, (R7), #32, - > DSC$W_LENGTH(R8), @DSC$A_POINTER(R8) > > CMPL (AP), #2 > BGEQ RETURN_TIME > MOVZBL #1, R0 > RET > > RETURN_TIME: > > ; Get the time the image was linked and convert it to ASCII > > $ASCTIM_S - > TIMBUF=@TIME(AP), - > TIMADR=IHI$Q_LINKTIME(R7) > > RET > > .END > I dare say this won't work on an Alpha. Chris ----- Chris Olive Systems Consultant Raytheon Technical Services Corporation Indianapolis, IN email: olivec(AT)indy(DOT)raytheon(DOT)com