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 |
|
---|