| 1 | /* $Id: options.h,v 1.1 1999-09-06 02:19:59 bird Exp $
|
|---|
| 2 | * Options.
|
|---|
| 3 | *
|
|---|
| 4 | * Copyright (c) 1998-1999 knut st. osmundsen
|
|---|
| 5 | *
|
|---|
| 6 | */
|
|---|
| 7 |
|
|---|
| 8 | #ifndef _options_h_
|
|---|
| 9 | #define _options_h_
|
|---|
| 10 |
|
|---|
| 11 | /* fKernel */
|
|---|
| 12 | #define KF_UNI 0x00000000UL
|
|---|
| 13 | #define KF_SMP 0x00000001UL
|
|---|
| 14 |
|
|---|
| 15 |
|
|---|
| 16 | /** Option struct */
|
|---|
| 17 | struct options
|
|---|
| 18 | {
|
|---|
| 19 | //*************/
|
|---|
| 20 | /** @cat misc */
|
|---|
| 21 | //*************/
|
|---|
| 22 | BOOL fQuiet; /* quiet initialization */
|
|---|
| 23 | USHORT usCom; /* Output port no. */
|
|---|
| 24 |
|
|---|
| 25 | //************************/
|
|---|
| 26 | /** @cat logging options */
|
|---|
| 27 | //************************/
|
|---|
| 28 | BOOL fLogging; /* logging */
|
|---|
| 29 |
|
|---|
| 30 | //*************************/
|
|---|
| 31 | /** @cat kernel selection */
|
|---|
| 32 | //*************************/
|
|---|
| 33 | ULONG fKernel; /* smp or uni kernel */
|
|---|
| 34 | ULONG ulBuild; /* kernel build */
|
|---|
| 35 | USHORT usVerMajor; /* OS/2 major ver - 20 */
|
|---|
| 36 | USHORT usVerMinor; /* OS/2 minor ver - 30,40 */
|
|---|
| 37 |
|
|---|
| 38 | //******************************************************/
|
|---|
| 39 | /** @cat Options affecting the generated LX executable */
|
|---|
| 40 | //******************************************************/
|
|---|
| 41 | int noExeTIBFix; /* ask win32k for initstuff (win32k only) */
|
|---|
| 42 | int AlignSections; /* don't align sections */
|
|---|
| 43 | //int TIBFixObject; /* make a TIBFix object - AlignSections = 0 */
|
|---|
| 44 |
|
|---|
| 45 | int lxoffset; /* if true use the fixed LXOFFSET if not ulPEOffset */
|
|---|
| 46 | int ourstub; /* our DOS stub or the one from the PE-file */
|
|---|
| 47 | };
|
|---|
| 48 |
|
|---|
| 49 |
|
|---|
| 50 | extern struct options options;
|
|---|
| 51 |
|
|---|
| 52 | #define SET_OPTIONS_TO_DEFAULT(o) \
|
|---|
| 53 | o.fQuiet = 0; \
|
|---|
| 54 | o.usCom = OUTPUT_COM2; \
|
|---|
| 55 | o.fLogging = 0; \
|
|---|
| 56 | o.ulBuild = 8259; \
|
|---|
| 57 | o.fKernel = KF_UNI; \
|
|---|
| 58 | o.usVerMajor = 20; \
|
|---|
| 59 | o.usVerMinor = 30; \
|
|---|
| 60 | o.noExeTIBFix = 0; \
|
|---|
| 61 | o.AlignSections = 1; \
|
|---|
| 62 | o.lxoffset = 0; \
|
|---|
| 63 | o.ourstub = 0
|
|---|
| 64 |
|
|---|
| 65 |
|
|---|
| 66 | #define SET_OPTIONS_WIN32K(o) \
|
|---|
| 67 | SET_OPTIONS_TO_DEFAULT(o)
|
|---|
| 68 |
|
|---|
| 69 | #define SET_OPTIONS_WIN32K_SAFE(o) \
|
|---|
| 70 | SET_OPTIONS_TO_DEFAULT(o); \
|
|---|
| 71 | o.noExeTIBFix = 0; \
|
|---|
| 72 | o.AlignSections = 1
|
|---|
| 73 |
|
|---|
| 74 |
|
|---|
| 75 | #define SET_OPTIONS_PE2LX(o) \
|
|---|
| 76 | SET_OPTIONS_TO_DEFAULT(o); \
|
|---|
| 77 | o.fLogging = 1; \
|
|---|
| 78 | o.noExeTIBFix = 0; \
|
|---|
| 79 | o.AlignSections = 1; \
|
|---|
| 80 | o.lxoffset = 0; \
|
|---|
| 81 | o.ourstub = 0
|
|---|
| 82 |
|
|---|
| 83 | #endif
|
|---|
| 84 |
|
|---|