You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdepim/mimelib/mimelib/config.h

170 lines
5.4 KiB

//=============================================================================
// File: config.h
// Contents: Declarations of macros for configuring the library
// Maintainer: Doug Sauder <dwsauder@fwb.gulf.net>
// WWW: http://www.fwb.gulf.net/~dwsauder/mimepp.html
//
// Copyright (c) 1996, 1997 Douglas W. Sauder
// All rights reserved.
//
// IN NO EVENT SHALL DOUGLAS W. SAUDER BE LIABLE TO ANY PARTY FOR DIRECT,
// INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF
// THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF DOUGLAS W. SAUDER
// HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// DOUGLAS W. SAUDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT
// NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
// PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS"
// BASIS, AND DOUGLAS W. SAUDER HAS NO OBLIGATION TO PROVIDE MAINTENANCE,
// SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
//
//=============================================================================
#ifndef DW_CONFIG_H
#define DW_CONFIG_H
//-----------------------------------------------------------------------------
// Platform
//
// Make sure that the following lines define either DW_UNIX or DW_WIN32.
//-----------------------------------------------------------------------------
#if defined(_WIN32) || defined(__WIN32__)
# define DW_WIN32
#endif
#if defined(__unix__) || defined(__unix) || defined(_AIX) || defined(__NetBSD__) || defined(__APPLE__)
# define DW_UNIX
#endif
//-----------------------------------------------------------------------------
// End of line characters
//
// Uncomment one of the following to indicate whether you want the library to
// use LF or CR LF as the end of line characters.
//
// I strongly recommend using LF ('\n') alone as the end of line character,
// since that is the normal end of line character for C and C++ libraries.
// Then you can do the conversion to and from the CR LF end of line
// characters at the interface to the transport system.
//-----------------------------------------------------------------------------
#define DW_EOL_LF
//#define DW_EOL_CRLF
#if defined(DW_EOL_CRLF)
# define DW_EOL "\r\n"
#elif defined(DW_EOL_LF)
# define DW_EOL "\n"
#else
# error "Must define DW_EOL_CRLF, DW_EOL_LF"
#endif
//-----------------------------------------------------------------------------
// C++ namespaces
//
// Uncomment the following line if you want the DwMime namespace to be defined.
// If the namespace is not defined, then enums are specified as part of a
// DwMime class.
//-----------------------------------------------------------------------------
//#define DW_USE_NAMESPACES
//-----------------------------------------------------------------------------
// C++ library string class
//
// Uncomment the following line if you want DwString typedef-ed to the
// ANSI/ISO string class.
//
// *** Important: This option is not working or not fully tested yet ***
//-----------------------------------------------------------------------------
//#define DW_USE_ANSI_STRING
//-----------------------------------------------------------------------------
// bool type
//
// Uncomment the following line if you want DwBool typedef-ed to int instead
// of bool.
//-----------------------------------------------------------------------------
//#define DW_NO_BOOL
#if defined(DW_NO_BOOL)
typedef int DwBool;
#define DwFalse 0
#define DwTrue 1
#else
typedef bool DwBool;
#define DwFalse false
#define DwTrue true
#endif
//-----------------------------------------------------------------------------
// DLL vs static library
//
// Win32 users: Uncomment out the following line to create a static library
// instead of a DLL.
//-----------------------------------------------------------------------------
// #define DW_NO_DLL
#if defined(DW_WIN32) && !defined(DW_NO_DLL)
# ifdef DW_IMPLEMENTATION
# define DW_EXPORT __declspec(dllexport)
# else
# define DW_EXPORT __declspec(dllimport)
# endif
#else
# define DW_EXPORT /* empty */
#endif
//-----------------------------------------------------------------------------
// Type definitions
//
// Make sure the following types are accurate for your machine.
//-----------------------------------------------------------------------------
#if defined(__BCPLUSPLUS__) && !defined(__WIN32__)
# define DW_STD_16_BIT
#endif
#if defined(__alpha) || defined(__sgi)
# define DW_STD_64_BIT
#endif
#if !defined(DW_STD_16_BIT) && !defined(DW_STD_64_BIT)
# define DW_STD_32_BIT
#endif
typedef char DwChar7; // type for ASCII characters
typedef unsigned char DwChar8; // type for 8-bit characters
typedef signed char DwInt8; // type for 8-bit signed integers
typedef unsigned char DwUint8; // type for 8-bit unsigned integers
#if defined(DW_STD_16_BIT)
typedef int DwInt16; // 16-bit signed integers
typedef unsigned int DwUint16; // 16-bit unsigned integers
typedef long DwInt32; // 32-bit signed integers
typedef unsigned long DwUint32; // 32-bit unsigned integers
#elif defined(DW_STD_32_BIT)
typedef short DwInt16;
typedef unsigned short DwUint16;
typedef int DwInt32;
typedef unsigned int DwUint32;
#elif defined(DW_STD_64_BIT)
typedef short DwInt16;
typedef unsigned short DwUint16;
typedef int DwInt32;
typedef unsigned int DwUint32;
#endif
#endif