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