The EXEHDR options that can change executable files are MIN, MAX, STACKDOS, STACKOS2, PMTYPE, HEAP, RESETERROR, and NEWFILES.
Executable headers are used by the operating system to determine characteristics of the executable file, such as stack size, entry point, number of objects (or segments), and so on. EXEHDR recognizes three different kinds of executable headers: DOS (generated by DOS linker), OS/2 16-bit (generated by LINK), and OS/2 32-bit (generated by LINK386).
An X in the following table indicates which option changes which executable header:
┌───────────────┬───────────────┬───────────────┬───────────────┐ │Option │DOS │OS/2 16-bit │OS/2 32-bit │ │ │ │(LINK) │(LINK386) │ ├───────────────┼───────────────┼───────────────┼───────────────┤ │HEAP │ │X │X │ ├───────────────┼───────────────┼───────────────┼───────────────┤ │MAX │X │ │ │ ├───────────────┼───────────────┼───────────────┼───────────────┤ │MIN │X │ │ │ ├───────────────┼───────────────┼───────────────┼───────────────┤ │NEWFILES │ │X │ │ ├───────────────┼───────────────┼───────────────┼───────────────┤ │PMTYPE │ │X │X │ ├───────────────┼───────────────┼───────────────┼───────────────┤ │RESETERROR │ │X │X │ ├───────────────┼───────────────┼───────────────┼───────────────┤ │STACKDOS │X │ │ │ ├───────────────┼───────────────┼───────────────┼───────────────┤ │STACKOS2 │ │X │X │ └───────────────┴───────────────┴───────────────┴───────────────┘
For compatibility purposes, executable files generated by either of the OS/2 link utilities include both a DOS header and an OS/2 header.