41#include FT_CONFIG_OPTIONS_H
42#include FT_CONFIG_STANDARD_LIBRARY_H
69#define FT_CHAR_BIT CHAR_BIT
74#if FT_UINT_MAX == 0xFFFFUL
75#define FT_SIZEOF_INT ( 16 / FT_CHAR_BIT )
76#elif FT_UINT_MAX == 0xFFFFFFFFUL
77#define FT_SIZEOF_INT ( 32 / FT_CHAR_BIT )
78#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
79#define FT_SIZEOF_INT ( 64 / FT_CHAR_BIT )
81#error "Unsupported size of `int' type!"
86#if FT_ULONG_MAX == 0xFFFFFFFFUL
87#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
88#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
89#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
90#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
91#define FT_SIZEOF_LONG ( 64 / FT_CHAR_BIT )
93#error "Unsupported size of `long' type!"
100#define FT_UNUSED( arg ) ( (arg) = (arg) )
122#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
128#include "AvailabilityMacros.h"
130#if defined( __LP64__ ) && \
131 ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
135#elif defined( __SC__ ) || defined( __MRC__ )
137#include "ConditionalMacros.h"
139#define FT_MACINTOSH 1
146#if defined( __sgi ) && !defined( __GNUC__ )
147#if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
197 typedef signed XXX FT_Int32;
208 typedef unsigned XXX FT_UInt32;
232 typedef unsigned XXX FT_UInt64;
238#if FT_SIZEOF_INT == ( 32 / FT_CHAR_BIT )
240 typedef signed int FT_Int32;
241 typedef unsigned int FT_UInt32;
243#elif FT_SIZEOF_LONG == ( 32 / FT_CHAR_BIT )
245 typedef signed long FT_Int32;
246 typedef unsigned long FT_UInt32;
249#error "no 32bit type found -- please check your configuration files"
254#if FT_SIZEOF_INT >= ( 32 / FT_CHAR_BIT )
257 typedef unsigned int FT_UFast;
259#elif FT_SIZEOF_LONG >= ( 32 / FT_CHAR_BIT )
261 typedef long FT_Fast;
262 typedef unsigned long FT_UFast;
269#if FT_SIZEOF_LONG == ( 64 / FT_CHAR_BIT )
274#define FT_UINT64 unsigned long
283#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
285#if defined( __STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L
288#define FT_INT64 long long int
289#define FT_UINT64 unsigned long long int
291#elif defined( _MSC_VER ) && _MSC_VER >= 900
295#define FT_INT64 __int64
296#define FT_UINT64 unsigned __int64
298#elif defined( __BORLANDC__ )
305#define FT_INT64 __int64
306#define FT_UINT64 unsigned __int64
308#elif defined( __WATCOMC__ )
312#elif defined( __MWERKS__ )
315#define FT_INT64 long long int
316#define FT_UINT64 unsigned long long int
318#elif defined( __GNUC__ )
322#define FT_INT64 long long int
323#define FT_UINT64 unsigned long long int
331 typedef FT_UINT64 FT_UInt64;
338#define FT_UINT_TO_POINTER( x ) (void*)(unsigned __int64)(x)
340#define FT_UINT_TO_POINTER( x ) (void*)(unsigned long)(x)
351#define FT_BEGIN_STMNT do {
352#define FT_END_STMNT } while ( 0 )
353#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
357#if ( ( defined( __GNUC__ ) && __GNUC__ >= 2 ) || \
358 ( defined( __IBMC__ ) && __IBMC__ >= 1210 && \
359 defined( __IBM__TYPEOF__ ) ) || \
360 ( defined( __SUNPRO_C ) && __SUNPRO_C >= 0x5110 && !__STDC__ ) )
361#define FT_TYPEOF( type ) ( __typeof__ ( type ) )
363#define FT_TYPEOF( type )
375#ifdef FT_MAKE_OPTION_SINGLE_OBJECT
377#define FT_LOCAL( x ) static x
378#define FT_LOCAL_DEF( x ) static x
383#define FT_LOCAL( x ) extern "C" x
384#define FT_LOCAL_DEF( x ) extern "C" x
386#define FT_LOCAL( x ) extern x
387#define FT_LOCAL_DEF( x ) x
392#define FT_LOCAL_ARRAY( x ) extern const x
393#define FT_LOCAL_ARRAY_DEF( x ) const x
405#define FT_BASE( x ) extern "C" x
407#define FT_BASE( x ) extern x
416#define FT_BASE_DEF( x ) x
418#define FT_BASE_DEF( x ) x
460#ifdef FT2_BUILD_LIBRARY
462#if defined( _WIN32 ) && defined( DLL_EXPORT )
463#define FT_EXPORT( x ) __declspec( dllexport ) x
464#elif defined( __GNUC__ ) && __GNUC__ >= 4
465#define FT_EXPORT( x ) __attribute__(( visibility( "default" ) )) x
466#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
467#define FT_EXPORT( x ) __global x
468#elif defined( __cplusplus )
469#define FT_EXPORT( x ) extern "C" x
471#define FT_EXPORT( x ) extern x
476#if defined( _WIN32 ) && defined( DLL_IMPORT )
477#define FT_EXPORT( x ) __declspec( dllimport ) x
478#elif defined( __cplusplus )
479#define FT_EXPORT( x ) extern "C" x
481#define FT_EXPORT( x ) extern x
492#define FT_EXPORT_DEF( x ) extern "C" x
494#define FT_EXPORT_DEF( x ) extern x
503#define FT_EXPORT_VAR( x ) extern "C" x
505#define FT_EXPORT_VAR( x ) extern x
540#ifndef FT_CALLBACK_DEF
542#define FT_CALLBACK_DEF( x ) extern "C" x
544#define FT_CALLBACK_DEF( x ) static x
548#ifndef FT_BASE_CALLBACK
550#define FT_BASE_CALLBACK( x ) extern "C" x
551#define FT_BASE_CALLBACK_DEF( x ) extern "C" x
553#define FT_BASE_CALLBACK( x ) extern x
554#define FT_BASE_CALLBACK_DEF( x ) x
558#ifndef FT_CALLBACK_TABLE
560#define FT_CALLBACK_TABLE extern "C"
561#define FT_CALLBACK_TABLE_DEF extern "C"
563#define FT_CALLBACK_TABLE extern
564#define FT_CALLBACK_TABLE_DEF
struct FT_Int64_ FT_Int64