epoc32/include/zconf.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@4
     1
/* Portions Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@4
     2
 * All rights reserved.
williamr@4
     3
 */
williamr@4
     4
williamr@2
     5
/* zconf.h -- configuration of the zlib compression library
williamr@2
     6
 * Copyright (C) 1995-2005 Jean-loup Gailly.
williamr@2
     7
 * For conditions of distribution and use, see copyright notice in zlib.h
williamr@2
     8
 */
williamr@4
     9
 
williamr@4
    10
/** 
williamr@4
    11
@file
williamr@4
    12
@publishedAll
williamr@4
    13
@externallyDefinedApi
williamr@4
    14
*/
williamr@2
    15
williamr@4
    16
/* @(#) $Id$ */
williamr@2
    17
williamr@2
    18
#ifndef _ZCONF_H
williamr@2
    19
#define _ZCONF_H
williamr@2
    20
williamr@2
    21
#if (defined(__TOOLS2__) || defined(__TOOLS__))
williamr@2
    22
	/** Defined as nothing for tools builds, as EXPORT_C keyword not supported on these platforms  */
williamr@2
    23
	#define EXPORT_C	
williamr@2
    24
#else
williamr@2
    25
#ifdef __SYMBIAN32__
williamr@2
    26
	#include <e32def.h> 		/* Include for definition of IMPORT_C below */
williamr@2
    27
	/** This macro is used in function prototypes in zlib.h and libzcore.h.  Use Symbian definition IMPORT_C instead of ZEXTERN */ 
williamr@2
    28
	#define ZEXTERN IMPORT_C	
williamr@2
    29
	/** This macro is used for EZLIB component */
williamr@2
    30
	#define SYMBIAN_EZLIB_DEVICE
williamr@2
    31
#endif /* __SYMBIAN32__ */
williamr@2
    32
#endif /* __TOOLS2__ || __TOOLS__ */
williamr@2
    33
williamr@2
    34
williamr@2
    35
/*
williamr@2
    36
 * If you *really* need a unique prefix for all types and library functions,
williamr@2
    37
 * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
williamr@2
    38
 */
williamr@2
    39
#ifdef Z_PREFIX
williamr@2
    40
#  define deflateInit_          z_deflateInit_
williamr@2
    41
#  define deflate               z_deflate
williamr@2
    42
#  define deflateEnd            z_deflateEnd
williamr@2
    43
#  define inflateInit_          z_inflateInit_
williamr@2
    44
#  define inflate               z_inflate
williamr@2
    45
#  define inflateEnd            z_inflateEnd
williamr@2
    46
#  define deflateInit2_         z_deflateInit2_
williamr@2
    47
#  define deflateSetDictionary  z_deflateSetDictionary
williamr@2
    48
#  define deflateCopy           z_deflateCopy
williamr@2
    49
#  define deflateReset          z_deflateReset
williamr@2
    50
#  define deflateParams         z_deflateParams
williamr@2
    51
#  define deflateBound          z_deflateBound
williamr@2
    52
#  define deflatePrime          z_deflatePrime
williamr@2
    53
#  define inflateInit2_         z_inflateInit2_
williamr@2
    54
#  define inflateSetDictionary  z_inflateSetDictionary
williamr@2
    55
#  define inflateSync           z_inflateSync
williamr@2
    56
#  define inflateSyncPoint      z_inflateSyncPoint
williamr@2
    57
#  define inflateCopy           z_inflateCopy
williamr@2
    58
#  define inflateReset          z_inflateReset
williamr@2
    59
#  define inflateBack           z_inflateBack
williamr@2
    60
#  define inflateBackEnd        z_inflateBackEnd
williamr@2
    61
#  define compress              z_compress
williamr@2
    62
#  define compress2             z_compress2
williamr@2
    63
#  define compressBound         z_compressBound
williamr@2
    64
#  define uncompress            z_uncompress
williamr@2
    65
#  define adler32               z_adler32
williamr@2
    66
#  define crc32                 z_crc32
williamr@2
    67
#  define get_crc_table         z_get_crc_table
williamr@2
    68
#  define zError                z_zError
williamr@2
    69
williamr@2
    70
#  define alloc_func            z_alloc_func
williamr@2
    71
#  define free_func             z_free_func
williamr@2
    72
#  define in_func               z_in_func
williamr@2
    73
#  define out_func              z_out_func
williamr@2
    74
#  define Byte                  z_Byte
williamr@2
    75
#  define uInt                  z_uInt
williamr@2
    76
#  define uLong                 z_uLong
williamr@2
    77
#  define Bytef                 z_Bytef
williamr@2
    78
#  define charf                 z_charf
williamr@2
    79
#  define intf                  z_intf
williamr@2
    80
#  define uIntf                 z_uIntf
williamr@2
    81
#  define uLongf                z_uLongf
williamr@2
    82
#  define voidpf                z_voidpf
williamr@2
    83
#  define voidp                 z_voidp
williamr@2
    84
#endif
williamr@2
    85
williamr@2
    86
#if defined(__MSDOS__) && !defined(MSDOS)
williamr@2
    87
#  define MSDOS
williamr@2
    88
#endif
williamr@2
    89
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
williamr@2
    90
#  define OS2
williamr@2
    91
#endif
williamr@2
    92
#if defined(_WINDOWS) && !defined(WINDOWS)
williamr@2
    93
#  define WINDOWS
williamr@2
    94
#endif
williamr@2
    95
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
williamr@2
    96
#  ifndef WIN32
williamr@2
    97
#    define WIN32
williamr@2
    98
#  endif
williamr@2
    99
#endif
williamr@2
   100
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
williamr@2
   101
#  if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
williamr@2
   102
#    ifndef SYS16BIT
williamr@2
   103
#      define SYS16BIT
williamr@2
   104
#    endif
williamr@2
   105
#  endif
williamr@2
   106
#endif
williamr@2
   107
williamr@2
   108
/*
williamr@2
   109
 * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
williamr@2
   110
 * than 64k bytes at a time (needed on systems with 16-bit int).
williamr@2
   111
 */
williamr@2
   112
#ifdef SYS16BIT
williamr@2
   113
#  define MAXSEG_64K
williamr@2
   114
#endif
williamr@2
   115
#ifdef MSDOS
williamr@2
   116
#  define UNALIGNED_OK
williamr@2
   117
#endif
williamr@2
   118
williamr@2
   119
#ifdef __STDC_VERSION__
williamr@2
   120
#  ifndef STDC
williamr@2
   121
#    define STDC
williamr@2
   122
#  endif
williamr@2
   123
#  if __STDC_VERSION__ >= 199901L
williamr@2
   124
#    ifndef STDC99
williamr@2
   125
#      define STDC99
williamr@2
   126
#    endif
williamr@2
   127
#  endif
williamr@2
   128
#endif
williamr@2
   129
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
williamr@2
   130
/** define STDC i.e. Standard C */
williamr@2
   131
#  define STDC
williamr@2
   132
#endif
williamr@2
   133
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
williamr@2
   134
#  define STDC
williamr@2
   135
#endif
williamr@2
   136
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
williamr@2
   137
#  define STDC
williamr@2
   138
#endif
williamr@2
   139
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
williamr@2
   140
#  define STDC
williamr@2
   141
#endif
williamr@2
   142
williamr@2
   143
#if defined(__OS400__) && !defined(STDC)    /* iSeries (formerly AS/400). */
williamr@2
   144
#  define STDC
williamr@2
   145
#endif
williamr@2
   146
williamr@2
   147
#ifndef STDC
williamr@2
   148
#  ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
williamr@2
   149
#    define const       /* note: need a more gentle solution here */
williamr@2
   150
#  endif
williamr@2
   151
#endif
williamr@2
   152
williamr@2
   153
/* Some Mac compilers merge all .h files incorrectly: */
williamr@2
   154
#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
williamr@2
   155
#  define NO_DUMMY_DECL
williamr@2
   156
#endif
williamr@2
   157
williamr@2
   158
#ifndef MAX_MEM_LEVEL
williamr@2
   159
#  ifdef MAXSEG_64K
williamr@2
   160
/** Maximum value for memLevel in deflateInit2 */
williamr@2
   161
#    define MAX_MEM_LEVEL 8
williamr@2
   162
#  else
williamr@2
   163
/** Maximum value for memLevel in deflateInit2 */
williamr@2
   164
#    define MAX_MEM_LEVEL 9
williamr@2
   165
#  endif
williamr@2
   166
#endif
williamr@2
   167
williamr@2
   168
/* Maximum value for windowBits in deflateInit2 and inflateInit2.
williamr@2
   169
 * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
williamr@2
   170
 * created by gzip. (Files created by minigzip can still be extracted by
williamr@2
   171
 * gzip.)
williamr@2
   172
 */
williamr@2
   173
#ifndef MAX_WBITS
williamr@2
   174
/** 32K LZ77 window */
williamr@2
   175
#  define MAX_WBITS   15 
williamr@2
   176
#endif
williamr@2
   177
williamr@2
   178
/* The memory requirements for deflate are (in bytes):
williamr@2
   179
            (1 << (windowBits+2)) +  (1 << (memLevel+9))
williamr@2
   180
 that is: 128K for windowBits=15  +  128K for memLevel = 8  (default values)
williamr@2
   181
 plus a few kilobytes for small objects. For example, if you want to reduce
williamr@2
   182
 the default memory requirements from 256K to 128K, compile with
williamr@2
   183
     make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
williamr@2
   184
 Of course this will generally degrade compression (there's no free lunch).
williamr@2
   185
williamr@2
   186
   The memory requirements for inflate are (in bytes) 1 << windowBits
williamr@2
   187
 that is, 32K for windowBits=15 (default value) plus a few kilobytes
williamr@2
   188
 for small objects.
williamr@2
   189
*/
williamr@2
   190
williamr@2
   191
                        /* Type declarations */
williamr@2
   192
williamr@2
   193
#ifndef OF /* function prototypes */
williamr@2
   194
#  ifdef STDC
williamr@2
   195
/** 
williamr@2
   196
	Function prototypes 
williamr@2
   197
	@param args arguments ...
williamr@2
   198
*/
williamr@2
   199
#    define OF(args)  args
williamr@2
   200
#  else
williamr@2
   201
/** Function prototypes */
williamr@2
   202
#    define OF(args)  ()
williamr@2
   203
#  endif
williamr@2
   204
#endif
williamr@2
   205
williamr@2
   206
/* The following definitions for FAR are needed only for MSDOS mixed
williamr@2
   207
 * model programming (small or medium model with some far allocations).
williamr@2
   208
 * This was tested only with MSC; for other MSDOS compilers you may have
williamr@2
   209
 * to define NO_MEMCPY in zutil.h.  If you don't need the mixed model,
williamr@2
   210
 * just define FAR to be empty.
williamr@2
   211
 */
williamr@2
   212
#ifdef SYS16BIT
williamr@2
   213
#  if defined(M_I86SM) || defined(M_I86MM)
williamr@2
   214
     /* MSC small or medium model */
williamr@2
   215
#    define SMALL_MEDIUM
williamr@2
   216
#    ifdef _MSC_VER
williamr@2
   217
#      define FAR _far
williamr@2
   218
#    else
williamr@2
   219
#      define FAR far
williamr@2
   220
#    endif
williamr@2
   221
#  endif
williamr@2
   222
#  if (defined(__SMALL__) || defined(__MEDIUM__))
williamr@2
   223
     /* Turbo C small or medium model */
williamr@2
   224
#    define SMALL_MEDIUM
williamr@2
   225
#    ifdef __BORLANDC__
williamr@2
   226
#      define FAR _far
williamr@2
   227
#    else
williamr@2
   228
#      define FAR far
williamr@2
   229
#    endif
williamr@2
   230
#  endif
williamr@2
   231
#endif
williamr@2
   232
williamr@2
   233
#if defined(WINDOWS) || defined(WIN32)
williamr@2
   234
   /* If building or using zlib as a DLL, define ZLIB_DLL.
williamr@2
   235
    * This is not mandatory, but it offers a little performance increase.
williamr@2
   236
    */
williamr@2
   237
#  ifdef ZLIB_DLL
williamr@2
   238
#    if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
williamr@2
   239
#      ifdef ZLIB_INTERNAL
williamr@2
   240
#        define ZEXTERN extern __declspec(dllexport)
williamr@2
   241
#      else
williamr@2
   242
#        define ZEXTERN extern __declspec(dllimport)
williamr@2
   243
#      endif
williamr@2
   244
#    endif
williamr@2
   245
#  endif  /* ZLIB_DLL */
williamr@2
   246
   /* If building or using zlib with the WINAPI/WINAPIV calling convention,
williamr@2
   247
    * define ZLIB_WINAPI.
williamr@2
   248
    * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
williamr@2
   249
    */
williamr@2
   250
#  ifdef ZLIB_WINAPI
williamr@2
   251
#    ifdef FAR
williamr@2
   252
#      undef FAR
williamr@2
   253
#    endif
williamr@2
   254
#    include <windows.h>
williamr@2
   255
     /* No need for _export, use ZLIB.DEF instead. */
williamr@2
   256
     /* For complete Windows compatibility, use WINAPI, not __stdcall. */
williamr@2
   257
#    define ZEXPORT WINAPI
williamr@2
   258
#    ifdef WIN32
williamr@2
   259
#      define ZEXPORTVA WINAPIV
williamr@2
   260
#    else
williamr@2
   261
#      define ZEXPORTVA FAR CDECL
williamr@2
   262
#    endif
williamr@2
   263
#  endif
williamr@2
   264
#endif
williamr@2
   265
williamr@2
   266
#if defined (__BEOS__)
williamr@2
   267
#  ifdef ZLIB_DLL
williamr@2
   268
#    ifdef ZLIB_INTERNAL
williamr@2
   269
#      define ZEXPORT   __declspec(dllexport)
williamr@2
   270
#      define ZEXPORTVA __declspec(dllexport)
williamr@2
   271
#    else
williamr@2
   272
#      define ZEXPORT   __declspec(dllimport)
williamr@2
   273
#      define ZEXPORTVA __declspec(dllimport)
williamr@2
   274
#    endif
williamr@2
   275
#  endif
williamr@2
   276
#endif
williamr@2
   277
williamr@2
   278
#ifndef ZEXTERN
williamr@2
   279
/** extern defined as ZEXTERN */
williamr@2
   280
#  define ZEXTERN extern
williamr@2
   281
#endif
williamr@2
   282
#ifndef ZEXPORT
williamr@2
   283
#  define ZEXPORT
williamr@2
   284
#endif
williamr@2
   285
#ifndef ZEXPORTVA
williamr@2
   286
#  define ZEXPORTVA
williamr@2
   287
#endif
williamr@2
   288
williamr@2
   289
williamr@2
   290
#ifndef FAR
williamr@2
   291
#  define FAR
williamr@2
   292
#endif
williamr@2
   293
williamr@2
   294
#if !defined(__MACTYPES__)
williamr@2
   295
/** 8 bits */
williamr@2
   296
typedef unsigned char  Byte;  
williamr@2
   297
#endif
williamr@2
   298
/** 16 bits or more */
williamr@2
   299
typedef unsigned int   uInt;  
williamr@2
   300
/** 32 bits or more */
williamr@2
   301
typedef unsigned long  uLong; 
williamr@2
   302
williamr@2
   303
#ifdef SMALL_MEDIUM
williamr@2
   304
   /** Borland C/C++ and some old MSC versions ignore FAR inside typedef */
williamr@2
   305
#  define Bytef Byte FAR
williamr@2
   306
#else
williamr@2
   307
   /** Borland C/C++ and some old MSC versions ignore FAR inside typedef */
williamr@2
   308
   typedef Byte  FAR Bytef;
williamr@2
   309
#endif
williamr@2
   310
/** char typedef to charf */
williamr@2
   311
typedef char  FAR charf;
williamr@2
   312
/** int typedef to intf */
williamr@2
   313
typedef int   FAR intf;
williamr@2
   314
/** uInt typedef to uIntf */
williamr@2
   315
typedef uInt  FAR uIntf;
williamr@2
   316
/** uLong typedef to uLongf */
williamr@2
   317
typedef uLong FAR uLongf;
williamr@2
   318
williamr@2
   319
#ifdef STDC
williamr@2
   320
   /** typedef void const* to voidpc */
williamr@2
   321
   typedef void const *voidpc;
williamr@2
   322
   /** typedef void FAR* to voidpf */
williamr@2
   323
   typedef void FAR   *voidpf;
williamr@2
   324
   /** typedef void* to voidp */
williamr@2
   325
   typedef void       *voidp;
williamr@2
   326
#else
williamr@2
   327
   /** typedef Byte const* to voidpc */
williamr@2
   328
   typedef Byte const *voidpc;
williamr@2
   329
   /** typedef Byte FAR* to voidpf */
williamr@2
   330
   typedef Byte FAR   *voidpf;
williamr@2
   331
   /** typedef Byte* to voidp */
williamr@2
   332
   typedef Byte       *voidp;
williamr@2
   333
#endif
williamr@2
   334
williamr@2
   335
#if 0           /* HAVE_UNISTD_H -- this line is updated by ./configure */
williamr@2
   336
#  include <sys/types.h> /* for off_t */
williamr@2
   337
#  include <unistd.h>    /* for SEEK_* and off_t */
williamr@2
   338
#  ifdef VMS
williamr@2
   339
#    include <unixio.h>   /* for off_t */
williamr@2
   340
#  endif
williamr@2
   341
#  define z_off_t off_t
williamr@2
   342
#endif
williamr@2
   343
#ifndef SEEK_SET
williamr@2
   344
/** Seek from beginning of file.  */
williamr@2
   345
#  define SEEK_SET        0       
williamr@2
   346
/** Seek from current position.  */
williamr@2
   347
#  define SEEK_CUR        1       
williamr@2
   348
/** Set file pointer to EOF plus "offset" */
williamr@2
   349
#  define SEEK_END        2       
williamr@2
   350
#endif
williamr@2
   351
#ifndef z_off_t
williamr@2
   352
/** define z_off_t as long */
williamr@2
   353
#  define z_off_t long
williamr@2
   354
#endif
williamr@2
   355
williamr@2
   356
#if defined(__OS400__)
williamr@2
   357
#  define NO_vsnprintf
williamr@2
   358
#endif
williamr@2
   359
williamr@2
   360
#if defined(__MVS__)
williamr@2
   361
#  define NO_vsnprintf
williamr@2
   362
#  ifdef FAR
williamr@2
   363
#    undef FAR
williamr@2
   364
#  endif
williamr@2
   365
#endif
williamr@2
   366
williamr@2
   367
/* MVS linker does not support external names larger than 8 bytes */
williamr@2
   368
#if defined(__MVS__)
williamr@2
   369
#   pragma map(deflateInit_,"DEIN")
williamr@2
   370
#   pragma map(deflateInit2_,"DEIN2")
williamr@2
   371
#   pragma map(deflateEnd,"DEEND")
williamr@2
   372
#   pragma map(deflateBound,"DEBND")
williamr@2
   373
#   pragma map(inflateInit_,"ININ")
williamr@2
   374
#   pragma map(inflateInit2_,"ININ2")
williamr@2
   375
#   pragma map(inflateEnd,"INEND")
williamr@2
   376
#   pragma map(inflateSync,"INSY")
williamr@2
   377
#   pragma map(inflateSetDictionary,"INSEDI")
williamr@2
   378
#   pragma map(compressBound,"CMBND")
williamr@2
   379
#   pragma map(inflate_table,"INTABL")
williamr@2
   380
#   pragma map(inflate_fast,"INFA")
williamr@2
   381
#   pragma map(inflate_copyright,"INCOPY")
williamr@2
   382
#endif
williamr@2
   383
williamr@2
   384
#endif /* _ZCONF_H */