Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6725 siemargl 1
/*
2
  Copyright (c) 1990-2008 Info-ZIP.  All rights reserved.
3
 
4
  See the accompanying file LICENSE, version 2000-Apr-09 or later
5
  (the contents of which are also included in unzip.h) for terms of use.
6
  If, for some reason, all these files are missing, the Info-ZIP license
7
  also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html
8
*/
9
/*---------------------------------------------------------------------------
10
    OS/2 specific configuration section:
11
  ---------------------------------------------------------------------------*/
12
 
13
#ifndef __os2cfg_h
14
#define __os2cfg_h
15
 
16
#ifdef MSDOS
17
#  include            /* for REGS macro (TC) or _dos_setftime (MSC) */
18
#  ifdef __TURBOC__          /* includes Power C */
19
#    include    /* for structure ftime */
20
#    ifndef __BORLANDC__     /* there appears to be a bug (?) in Borland's */
21
#      include        /*  MEM.H related to __STDC__ and far poin-   */
22
#    endif                   /*  ters. (dpk)  [mem.h included for memcpy]  */
23
#  endif
24
#endif /* MSDOS */
25
 
26
#ifdef __IBMC__
27
#  define S_IFMT 0xF000
28
#  define timezone _timezone            /* (underscore names work with    */
29
#  define tzset _tzset                  /*  all versions of C Set)        */
30
#  define PIPE_ERROR (errno == EERRSET || errno == EOS2ERR)
31
#endif /* __IBMC__ */
32
 
33
#ifdef __WATCOMC__
34
#  ifdef __386__
35
#    ifndef WATCOMC_386
36
#      define WATCOMC_386
37
#    endif
38
#    define __32BIT__
39
#    undef far
40
#    define far
41
#    undef near
42
#    define near
43
 
44
/* Get asm routines to link properly without using "__cdecl": */
45
#    ifndef USE_ZLIB
46
#      pragma aux crc32         "_*" parm caller [] value [eax] modify [eax]
47
#      pragma aux get_crc_table "_*" parm caller [] value [eax] \
48
                                      modify [eax ecx edx]
49
#    endif /* !USE_ZLIB */
50
#  else /* !__386__ */
51
#    ifndef USE_ZLIB
52
#      pragma aux crc32         "_*" parm caller [] value [ax dx] \
53
                                      modify [ax cx dx bx]
54
#      pragma aux get_crc_table "_*" parm caller [] value [ax] \
55
                                      modify [ax cx dx bx]
56
#    endif /* !USE_ZLIB */
57
#  endif /* ?__386__ */
58
#endif /* __WATCOMC__ */
59
 
60
#ifdef __EMX__
61
#  ifndef __32BIT__
62
#    define __32BIT__
63
#  endif
64
#  define far
65
#endif
66
 
67
#ifndef __32BIT__
68
#  define __16BIT__
69
#endif
70
 
71
#ifdef MSDOS
72
#  undef MSDOS
73
#endif
74
 
75
#if defined(M_I86CM) || defined(M_I86LM)
76
#  define MED_MEM
77
#endif
78
#if (defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__))
79
#  define MED_MEM
80
#endif
81
#ifdef __16BIT__
82
#  ifndef MED_MEM
83
#    define SMALL_MEM
84
#  endif
85
#endif
86
 
87
#ifdef __16BIT__
88
# if defined(MSC) || defined(__WATCOMC__)
89
#   include 
90
#   define nearmalloc _nmalloc
91
#   define nearfree _nfree
92
# endif
93
# if defined(__TURBOC__) && defined(DYNALLOC_CRCTAB)
94
#   if defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__)
95
#     undef DYNALLOC_CRCTAB
96
#   endif
97
# endif
98
# ifndef nearmalloc
99
#   define nearmalloc malloc
100
#   define nearfree free
101
# endif
102
# ifdef USE_DEFLATE64
103
#   if (defined(M_I86TM) || defined(M_I86SM) || defined(M_I86MM))
104
#     error Deflate64(tm) requires compact or large memory model
105
#   endif
106
#   if (defined(__TINY__) || defined(__SMALL__) || defined(__MEDIUM__))
107
#     error Deflate64(tm) requires compact or large memory model
108
#   endif
109
    /* the 64k history buffer for Deflate64 must be allocated specially */
110
#   define MALLOC_WORK
111
#   define MY_ZCALLOC
112
# endif
113
#endif
114
 
115
/* TIMESTAMP is now supported on OS/2, so enable it by default */
116
#if (!defined(NOTIMESTAMP) && !defined(TIMESTAMP))
117
#  define TIMESTAMP
118
#endif
119
 
120
/* check that TZ environment variable is defined before using UTC times */
121
#if (!defined(NO_IZ_CHECK_TZ) && !defined(IZ_CHECK_TZ))
122
#  define IZ_CHECK_TZ
123
#endif
124
 
125
#ifndef RESTORE_ACL
126
#  define RESTORE_ACL
127
#endif
128
 
129
#ifndef OS2_EAS
130
#  define OS2_EAS    /* for -l and -v listings (list.c) */
131
#endif
132
 
133
#ifdef isupper
134
#  undef isupper
135
#endif
136
#ifdef tolower
137
#  undef tolower
138
#endif
139
#define isupper(x)   IsUpperNLS((unsigned char)(x))
140
#define tolower(x)   ToLowerNLS((unsigned char)(x))
141
#ifndef NO_STRNICMP     /* use UnZip's zstrnicmp(), because some compilers  */
142
#  define NO_STRNICMP   /*  don't provide a NLS-aware strnicmp() function  */
143
#endif
144
 
145
#define USETHREADID
146
 
147
/* handlers for OEM <--> ANSI string conversions */
148
#ifndef _OS2_ISO_ANSI
149
   /* use home-brewed conversion functions; internal charset is OEM */
150
#  ifdef CRTL_CP_IS_ISO
151
#    undef CRTL_CP_IS_ISO
152
#  endif
153
#  ifndef CRTL_CP_IS_OEM
154
#    define CRTL_CP_IS_OEM
155
#  endif
156
#endif
157
 
158
/* screen size detection */
159
#define SCREENWIDTH 80
160
#define SCREENSIZE(scrrows, scrcols)  screensize(scrrows, scrcols)
161
int screensize(int *tt_rows, int *tt_cols);
162
 
163
/* on the OS/2 console screen, line-wraps are always enabled */
164
#define SCREENLWRAP 1
165
 
166
#endif /* !__os2cfg_h */