#ifndef _ALDEFS_H
#define _ALDEFS_H
#if defined(__BORLANDC__) || defined(__TURBOC__)
# if defined( __WIN32__ )
# define AL_FLAT_MODEL
# define AL_WINDOWS_MEMORY
# endif
# if !defined( __BORLANDC__ )
# define AL_BORLAND __TURBOC__
# else
# define AL_BORLAND __BORLANDC__
# endif
# if sizeof( void * ) == 4
# define AL_LARGE_DATA
# endif
# if defined( _Windows )
# define AL_WINDOWS_MEMORY
# ifdef __DLL__
# define AL_BUILDING_DLL
# endif
# if !defined( __DPMI16__ ) && !defined( __CONSOLE__ )
# define AL_WINDOWS_GUI
# endif
# endif
#elif defined( __SC__ )
# define AL_SYMANTEC _MSC_VER
# if defined( __NT__ )
# define AL_FLAT_MODEL
# define AL_WINDOWS_MEMORY
# define AL_WINDOWS_GUI
# endif
# if defined( _M_I86HM ) || defined( _M_I86CM ) || defined( _M_I86LM )
# define AL_LARGE_DATA
# endif
# ifdef _WINDOWS
# define AL_WINDOWS_MEMORY
# define AL_WINDOWS_GUI
# ifdef _WINDLL
# define AL_BUILDING_DLL
# ifndef M_I86LM
#error All DLLs must be built using Large Model!
# endif
# endif
# endif
#elif defined( _MSC_VER ) && defined( _MSDOS )
# define AL_MICROSOFT _MSC_VER
# if defined( _M_I86HM ) || defined( _M_I86CM ) || defined( _M_I86LM )
# define AL_LARGE_DATA
# endif
# if ( AL_MICROSOFT >= 800 )
# pragma warning( disable : 4699 )
# pragma warning( disable : 4505 )
# pragma warning( disable : 4705 )
# pragma warning( disable : 4270 )
# pragma warning( disable : 4711 )
# pragma warning( disable : 4710 )
# else
# endif
# ifdef _WINDOWS
# define AL_WINDOWS_MEMORY
# define AL_WINDOWS_GUI
# ifdef _WINDLL
# define AL_BUILDING_DLL
# ifndef M_I86LM
#error All DLLs must be built using Large Model!
# endif
# endif
# endif
#elif defined( _MSC_VER ) && !defined( _MSDOS )
# define AL_MICROSOFT _MSC_VER
# define AL_FLAT_MODEL
# define AL_LARGE_DATA
# define AL_WIN32S
# define AL_WINDOWS_MEMORY
# pragma warning( disable : 4699 )
# pragma warning( disable : 4505 )
# pragma warning( disable : 4705 )
# pragma warning( disable : 4270 )
# pragma warning( disable : 4711 )
# pragma warning( disable : 4710 )
# pragma warning( disable : 4201 )
# ifdef _WINDOWS
# define AL_WINDOWS_MEMORY
# define AL_WINDOWS_GUI
# ifdef _WINDLL
# define AL_BUILDING_DLL
# endif
# endif
#elif defined( __WATCOMC__ ) && defined( __386__ )
# define AL_FLAT_MODEL
# ifdef __WINDOWS__
# define AL_WINDOWS_MEMORY
# define AL_WINDOWS_GUI
# endif
# if __WATCOMC__ > 950
# pragma warning 690 9
# pragma warning 549 9
# endif
#elif defined( __WATCOMC__ ) && !defined( __386__ )
# define AL_WATCOM
# ifdef __WINDOWS__
# define AL_WINDOWS_MEMORY
# define AL_WINDOWS_GUI
# ifdef __SW_ZU
# define AL_BUILDING_DLL
# ifndef M_I86LM
#error All DLLs must be built using Large Model!
# endif
# endif
# endif
# if defined( _M_I86HM ) || defined( _M_I86CM ) || defined( _M_I86LM )
# define AL_LARGE_DATA
# endif
# pragma warning 549 9
#elif defined( __IBMC__ ) || defined( __IBMCPP__ )
# define AL_IBM
# define AL_OS2
# define AL_FLAT_MODEL
#elif defined( AL_SUN4 )
# if !defined( AL_UNIX )
# define AL_UNIX
# endif
# if !defined( AL_GCC ) && !defined( __cplusplus )
# define AL_KR
# endif
#else
#endif
#if defined( AL_WINDOWS_MEMORY ) || defined( AL_WINDOWS_GUI ) || defined( AL_WIN32S )
# define STRICT
# include <windows.h>
# ifdef AL_FLAT_MODEL
# define AL_HUGE
# else
# define AL_HUGE _huge
# endif
#else
# define WORD unsigned int
# define DWORD unsigned long
#endif
#if ( defined( AL_WINDOWS_GUI ) || defined( AL_WINDOWS_MEMORY ) ) && defined( AL_FLAT_MODEL )
# define AL_WIN32S
#endif
#if defined( AL_WINDOWS_GUI ) && defined( AL_WINDOWS_MEMORY ) && \
!defined( AL_FLAT_MODEL ) && defined( AL_BUILDING_DLL )
# define AL_VB
#endif
#if defined( AL_BUILDING_DLL )
#if defined( AL_FLAT_MODEL ) && defined( AL_MICROSOFT )
# define AL_CLASS_TYPE __declspec( dllexport )
# define AL_PROTO
# define AL_DLL_FAR
# define AL_FUNCTION
# define AL_CFUNCTION
# elif defined( AL_FLAT_MODEL )
# define AL_CLASS_TYPE _export
# define AL_PROTO _export
# define AL_DLL_FAR
# define AL_FUNCTION _export pascal
# define AL_CFUNCTION _export cdecl
# elif defined( AL_WATCOM )
# define AL_CLASS_TYPE
# define AL_PROTO _export
# define AL_DLL_FAR
# define AL_FUNCTION _export _far pascal
# define AL_CFUNCTION _export _far cdecl
# else
# define AL_CLASS_TYPE _export
# define AL_PROTO _far
# define AL_DLL_FAR _far
# define AL_FUNCTION _export _far pascal
# define AL_CFUNCTION _export _far cdecl
# endif
#elif defined( AL_USING_DLL )
# if defined( AL_FLAT_MODEL ) && defined( AL_BORLAND )
# define AL_CLASS_TYPE _import
# define AL_PROTO _import
# define AL_DLL_FAR
# define AL_FUNCTION _import pascal
# define AL_CFUNCTION _import cdecl
# elif defined( AL_FLAT_MODEL ) && defined( AL_MICROSOFT )
# define AL_CLASS_TYPE
# define AL_PROTO
# define AL_DLL_FAR
# define AL_FUNCTION
# define AL_CFUNCTION
# elif defined( AL_FLAT_MODEL ) && defined( AL_SYMANTEC )
# define AL_CLASS_TYPE _export
# define AL_PROTO _export
# define AL_DLL_FAR
# define AL_FUNCTION _export pascal
# define AL_CFUNCTION _export cdecl
# elif defined( AL_WATCOM )
# define AL_PROTO
# define AL_DLL_FAR
# define AL_CLASS_TYPE
# define AL_FUNCTION _far _pascal
# define AL_CFUNCTION _far cdecl
# else
# define AL_PROTO _far
# define AL_DLL_FAR _far
# ifdef AL_BORLAND
# if ( AL_BORLAND >= 0x450 )
# define AL_CLASS_TYPE _import
# else
# define AL_CLASS_TYPE _huge
# endif
# else
# define AL_CLASS_TYPE _export
# endif
# define AL_FUNCTION _export _far _pascal
# define AL_CFUNCTION _export _far cdecl
# endif
#else
# define AL_PROTO
# define AL_CLASS_TYPE
# define AL_DLL_FAR
# define AL_FUNCTION
# define AL_CFUNCTION
#endif
#if defined( AL_WIN32S )
#define AL_EXPORT
#else
#define AL_EXPORT _export
#endif
#if defined( AL_MICROSOFT )
# define AL_UNUSED_PARAMETER( a ) ( a = a )
#else
# define AL_UNUSED_PARAMETER( a ) (void) a
#endif
enum ALMonitorType {
AL_MONITOR_OBJECTS,
AL_MONITOR_JOB
};
enum ALWindowsMessageType {
AL_SEND_BYTE_COUNT,
AL_SEND_RATIO,
};
enum ALErrors {
AL_CANT_OPEN_BUFFER = -1200,
AL_CANT_ALLOCATE_MEMORY,
AL_CANT_CREATE_ENGINE,
AL_CANT_CREATE_STORAGE_OBJECT,
AL_RENAME_ERROR,
AL_CANT_OPEN_FILE,
AL_SEEK_ERROR,
AL_READ_ERROR,
AL_WRITE_ERROR,
AL_DELETE_ERROR,
AL_ILLEGAL_PARAMETER,
AL_INTERNAL_ERROR,
AL_USER_ABORT,
AL_SERVER_NOT_PRESENT,
AL_COMPRESSION_TYPE_MISMATCH,
AL_NEED_LENGTH,
AL_CRC_ERROR,
AL_COMPARE_ERROR,
AL_UNKNOWN_COMPRESSION_TYPE,
AL_UNKNOWN_STORAGE_OBJECT,
AL_INVALID_ARCHIVE,
AL_LOGIC_ERROR,
AL_BACKUP_FAILURE,
AL_GETSEL_ERROR,
AL_DUPLICATE_ENTRY,
AL_END_OF_FILE = -1,
AL_SUCCESS = 0
};
enum ALCase {
AL_UPPER,
AL_LOWER,
AL_MIXED
};
enum ALGreenleafCompressionLevels {
AL_GREENLEAF_COPY = -1,
AL_GREENLEAF_LEVEL_0 = 0,
AL_GREENLEAF_LEVEL_1,
AL_GREENLEAF_LEVEL_2,
AL_GREENLEAF_LEVEL_3,
AL_GREENLEAF_LEVEL_4,
};
enum ALTraverseSetting {
AL_TRAVERSE = 1,
AL_DONT_TRAVERSE = 0,
};
enum ALStorageType {
AL_UNDEFINED = -1,
AL_MEMORY_OBJECT = 0,
AL_FILE_OBJECT = 1 };
enum ALCompressionType {
AL_COMPRESSION_COPY = 0,
AL_COMPRESSION_GREENLEAF = 1
};
#endif