]>
Commit | Line | Data |
---|---|---|
1 | /*--------------------------------------------------------------------------- | |
2 | OS/2 specific configuration section: | |
3 | ---------------------------------------------------------------------------*/ | |
4 | ||
5 | #ifndef __os2cfg_h | |
6 | #define __os2cfg_h | |
7 | ||
8 | #ifdef MSDOS | |
9 | # include <dos.h> /* for REGS macro (TC) or _dos_setftime (MSC) */ | |
10 | # ifdef __TURBOC__ /* includes Power C */ | |
11 | # include <sys/timeb.h> /* for structure ftime */ | |
12 | # ifndef __BORLANDC__ /* there appears to be a bug (?) in Borland's */ | |
13 | # include <mem.h> /* MEM.H related to __STDC__ and far poin- */ | |
14 | # endif /* ters. (dpk) [mem.h included for memcpy] */ | |
15 | # endif | |
16 | #endif /* MSDOS */ | |
17 | ||
18 | #ifdef __IBMC__ | |
19 | # define S_IFMT 0xF000 | |
20 | # define timezone _timezone /* (underscore names work with */ | |
21 | # define tzset _tzset /* all versions of C Set) */ | |
22 | # define PIPE_ERROR (errno == EERRSET || errno == EOS2ERR) | |
23 | #endif /* __IBMC__ */ | |
24 | ||
25 | #ifdef __WATCOMC__ | |
26 | # ifdef __386__ | |
27 | # ifndef WATCOMC_386 | |
28 | # define WATCOMC_386 | |
29 | # endif | |
30 | # define __32BIT__ | |
31 | # undef far | |
32 | # define far | |
33 | # undef near | |
34 | # define near | |
35 | ||
36 | /* Get asm routines to link properly without using "__cdecl": */ | |
37 | # ifndef USE_ZLIB | |
38 | # pragma aux crc32 "_*" parm caller [] value [eax] modify [eax] | |
39 | # pragma aux get_crc_table "_*" parm caller [] value [eax] \ | |
40 | modify [eax ecx edx] | |
41 | # endif /* !USE_ZLIB */ | |
42 | # else /* !__386__ */ | |
43 | # ifndef USE_ZLIB | |
44 | # pragma aux crc32 "_*" parm caller [] value [ax dx] \ | |
45 | modify [ax cx dx bx] | |
46 | # pragma aux get_crc_table "_*" parm caller [] value [ax] \ | |
47 | modify [ax cx dx bx] | |
48 | # endif /* !USE_ZLIB */ | |
49 | # endif /* ?__386__ */ | |
50 | ||
51 | # ifndef EPIPE | |
52 | # define EPIPE -1 | |
53 | # endif | |
54 | # define PIPE_ERROR (errno == EPIPE) | |
55 | #endif /* __WATCOMC__ */ | |
56 | ||
57 | #ifdef __EMX__ | |
58 | # ifndef __32BIT__ | |
59 | # define __32BIT__ | |
60 | # endif | |
61 | # define far | |
62 | #endif | |
63 | ||
64 | #ifndef __32BIT__ | |
65 | # define __16BIT__ | |
66 | #endif | |
67 | ||
68 | #ifdef MSDOS | |
69 | # undef MSDOS | |
70 | #endif | |
71 | ||
72 | #if defined(M_I86CM) || defined(M_I86LM) | |
73 | # define MED_MEM | |
74 | #endif | |
75 | #if (defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__)) | |
76 | # define MED_MEM | |
77 | #endif | |
78 | #ifdef __16BIT__ | |
79 | # ifndef MED_MEM | |
80 | # define SMALL_MEM | |
81 | # endif | |
82 | #endif | |
83 | ||
84 | #ifdef __16BIT__ | |
85 | # if defined(MSC) || defined(__WATCOMC__) | |
86 | # include <malloc.h> | |
87 | # define nearmalloc _nmalloc | |
88 | # define nearfree _nfree | |
89 | # endif | |
90 | # if defined(__TURBOC__) && defined(DYNALLOC_CRCTAB) | |
91 | # if defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__) | |
92 | # undef DYNALLOC_CRCTAB | |
93 | # endif | |
94 | # endif | |
95 | # ifndef nearmalloc | |
96 | # define nearmalloc malloc | |
97 | # define nearfree free | |
98 | # endif | |
99 | #endif | |
100 | ||
101 | /* TIMESTAMP is now supported on OS/2, so enable it by default */ | |
102 | #if (!defined(NOTIMESTAMP) && !defined(TIMESTAMP)) | |
103 | # define TIMESTAMP | |
104 | #endif | |
105 | ||
106 | /* check that TZ environment variable is defined before using UTC times */ | |
107 | #if (!defined(NO_IZ_CHECK_TZ) && !defined(IZ_CHECK_TZ)) | |
108 | # define IZ_CHECK_TZ | |
109 | #endif | |
110 | ||
111 | #ifndef OS2_EAS | |
112 | # define OS2_EAS /* for -l and -v listings (list.c) */ | |
113 | #endif | |
114 | ||
115 | #ifdef isupper | |
116 | # undef isupper | |
117 | #endif | |
118 | #ifdef tolower | |
119 | # undef tolower | |
120 | #endif | |
121 | #define isupper(x) IsUpperNLS((unsigned char)(x)) | |
122 | #define tolower(x) ToLowerNLS((unsigned char)(x)) | |
123 | #define USETHREADID | |
124 | ||
125 | /* handlers for OEM <--> ANSI string conversions */ | |
126 | #ifndef _OS2_ISO_ANSI | |
127 | /* use home-brewed conversion functions; internal charset is OEM */ | |
128 | # ifdef CRTL_CP_IS_ISO | |
129 | # undef CRTL_CP_IS_ISO | |
130 | # endif | |
131 | # ifndef CRTL_CP_IS_OEM | |
132 | # define CRTL_CP_IS_OEM | |
133 | # endif | |
134 | #endif | |
135 | ||
136 | #endif /* !__os2cfg_h */ |