Title: | VAX and Alpha VMS |
Notice: | This is a new VMSnotes, please read note 2.1 |
Moderator: | VAXAXP::BERNARDO |
Created: | Wed Jan 22 1997 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 703 |
Total number of notes: | 3722 |
I am sorry if this is answered elsewhere. But i need this information early. I am working on a new functionality for a command called 'file' on Digital Unix, which identifies different types of files. For eg. 'file' can identify unix executables, C files, fifo etc. I would like to know the VAX/VMS executable file format say starting from version 4.x onwards. i.e i require the magic numbers that identify the different VAX/VMS executables, objects, libraries etc. I need to put these entries in /etc/magic which 'file' uses to identify the file type. An entry in /etc/magic looks something like: 0 short 0407 VAX executable (object file) >8 short >0 not stripped 0 long 0410 VAX pure >16 long >0 not stripped 0 short 0413 VAX demand paged pure Thanks in advance, Surya. [email protected] [Posted by WWW Notes gateway]
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
490.1 | Pointers To Documentation, Caveats... | XDELTA::HOFFMAN | Steve, OpenVMS Engineering | Fri Apr 18 1997 11:37 | 31 |
The image header format is not officially documented, though a description exists in the Internals and Data Structures Manual, and in the source listings, and in the definition files. Given what I know about this area, you are going to have some fun coming up with a consistent definition that works across OpenVMS VAX and OpenVMS Alpha, and across multiple versions. You'll want to look in $IHDDEF in the sys$share:lib.mlb macro library, or in sys$share:lib.req in the bliss library, and see if that will give you enough for this tool -- OpenVMS image headers have a small fixed portion containing offsets to various image header data structures. definition contents of module name data structure ----------- -------------- $IHDDEF fixed portion of the image header $IHADEF transfer address array $IHSDEF symbol table and debug offsets $IHIDEF image name and ident strings $IHVNDEF system version array $IHPDEF patch information $ISDDEF image section descriptors Differentiating based on the image header data structures isn't always easy -- there are some historical design limitations in this area. | |||||
490.2 | CSC64::BLAYLOCK | If at first you doubt,doubt again. | Fri Apr 18 1997 14:45 | 14 | |
This works pretty well (though not perfect): 0 long <4 OpenVMS Executable >4 long 0 Alpha Architecture >52 long 1 Main Image >52 long 2 Shareable Image # 510 short 0xffff OpenVMS Executable >12 short <12849 VAX >14 short <13617 Architecture >17 byte 1 Main Image >17 byte 2 Shareable Image | |||||
490.3 | NNTPD::"[email protected]" | Surya Prasad P | Fri Apr 25 1997 03:42 | 5 | |
I made use of your information. Thank you both. A bunch of thanks, Surya Prasad [Posted by WWW Notes gateway] |