text: // $Id$
  
  // Note: For WinCE build, simply use: #include "ace/config-win32.h"
  //       It is same as config.h for Windows NT/2k so that you can
  //       share same files and directories for both WinCE and NT/2k
  //       builds, unless you add additional definition(s) for each
  //       specific build or change the output directory.
  
  #ifndef ACE_CONFIG_WINCE_H
  #define ACE_CONFIG_WINCE_H
  
  #include /**/ "ace/pre.h"
  
  #ifndef ACE_CONFIG_WIN32_H
  # error Use config-win32.h in config.h instead of this header
  #endif  // ACE_CONFIG_WIN32_H
  
  #if !defined (_WIN32_WCE)
  # error Define _WIN32_WCE to version (i.e. 500 = 5.0)
  #endif  // _WIN32_WCE
  
  #if (_WIN32_WCE < 500)
  # error ACE requires Windows CE 5.0 and later.
  #endif  // _WIN32_WCE
  
  #if !defined (ACE_HAS_WINCE)
  # define ACE_HAS_WINCE 1
  #endif
  
  #if defined (_MSC_VER) && (_MSC_VER < 1400)
  // WinCE prior to Visual Studio 2005 integration doesn't have most of
  // the standard C library time functions. It also doesn't define struct tm.
  // SYSTEMTIME has pretty much the same info though, so we can map it when
  // needed. Define struct tm here and use it when needed. This is taken
  // from the standard C library.
  # define ACE_LACKS_STRUCT_TM
  #endif
  
  // We need these libraries to build:
  #if defined (_MSC_VER)
  #  pragma comment(lib,"corelibc.lib")
  #  pragma comment(linker, "/nodefaultlib:oldnames.lib")
  #endif
  
  // Only DLL version is supported on CE.
  //#if defined (ACE_HAS_DLL)
  //# undef ACE_HAS_DLL
  //#endif  // ACE_HAS_DLL
  //#define ACE_HAS_DLL 1
  
  // Need to define LD search path explicitly on CE because
  // CE doesn't have environment variables and we can't get
  // the information using getenv.
  #define ACE_DEFAULT_LD_SEARCH_PATH ACE_TEXT (".\\;\\windows")
  
  #define ACE_LACKS_ABORT
  #define ACE_LACKS_FCNTL_H
  #define ACE_LACKS_SYS_TYPES_H
  #define ACE_LACKS_GETCWD
  #define ACE_LACKS_ASCTIME
  #define ACE_LACKS_ASCTIME_R
  #define ACE_LACKS_GMTIME
  #define ACE_LACKS_GMTIME_R
  #define ACE_LACKS_LOCALTIME
  #define ACE_LACKS_STRTOK_R
  #define ACE_LACKS_PERROR
  #define ACE_LACKS_STRFTIME
  #define ACE_LACKS_WIN32_SETFILEPOINTEREX
  #define ACE_LACKS_WIN32_SERVICES
  #define ACE_LACKS_WIN32_SECURITY_DESCRIPTORS
  #define ACE_LACKS_GETPROCESSTIMES
  #define ACE_LACKS_PDH_H
  #define ACE_LACKS_PDHMSG_H
  #define ACE_LACKS_TIME
  #define ACE_LACKS_TZSET
  #define ACE_LACKS_RAISE
  #define ACE_LACKS_BSEARCH
  
  #define ACE_LACKS_MSG_WFMO
  #define ACE_LACKS_UMASK
  #define ACE_HAS_TYPES_H
  #define ACE_LACKS_DEV_T
  
  #define ACE_ISCTYPE_EQUIVALENT ::_isctype
  
  // WinCE only supports the UNICODE API
  #if !defined (ACE_USES_WCHAR)
  # define ACE_USES_WCHAR
  #endif /* ACE_USES_WCHAR */
  
  #if (_WIN32_WCE < 0x600)
  # define ACE_USES_WINCE_SEMA_SIMULATION
  # define ACE_LACKS_ERRNO_H
  # define ACE_LACKS_DUP
  # define ACE_LACKS_GETSYSTEMTIMEASFILETIME
  #endif /*  (_WIN32_WCE < 0x600) */
  
  #define ACE_LACKS_REGNOTIFYCHANGEKEYVALUE
  
  #define ACE_HAS_NONSTATIC_OBJECT_MANAGER 1
  
  #if ! defined(ACE_DEFAULT_THREAD_KEYS)
  # define ACE_DEFAULT_THREAD_KEYS TLS_MINIMUM_AVAILABLE
  #endif // ! defined(ACE_DEFAULT_THREAD_KEYS)
  
  // FILE stuff isn't always defined in CE
  #if (_MSC_VER < 1400) && !defined (_FILE_DEFINED)
    typedef void FILE;
  # define _FILE_DEFINED
  #endif  /* _MSC_VER < 1400 && !_FILE_DEFINED */
  
  // This was defined in previous versions of CE, but not 2.11
  #define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
  
  #define ACE_MAIN WINAPI WinMain
  
  // SH3 cross-compiler can't handle inline functions correctly
  // (along with other bugs.)
  #if defined (SH3)
  # define ACE_LACKS_INLINE_FUNCTIONS
  #endif  // SH3 && _DEBUG
  
  #ifndef ACE_DEFAULT_SERVER_HOST
  # define ACE_DEFAULT_SERVER_HOST ACE_TEXT("localhost")
  #endif  // ACE_DEFAULT_SERVER_HOST
  
  // @@ Need to remap every function that uses any of these flags to
  //    Win32 API.  These are for ANSI styled function and are not
  //    available on WinCE.
  
  #define _O_RDONLY       0x0000  // open for reading only
  #define _O_WRONLY       0x0001  // open for writing only
  #define _O_RDWR         0x0002  // open for reading and writing
  #define _O_APPEND       0x0008  // writes done at eof
  
  #define _O_CREAT        0x0100  // create and open file
  #define _O_TRUNC        0x0200  // open and truncate
  #define _O_EXCL         0x0400  // open only if file doesn't already exist
  
  // O_TEXT files have <cr><lf> sequences translated to <lf> on read()'s,
  // and <lf> sequences translated to <cr><lf> on write()'s
  #define _O_TEXT         0x4000  // file mode is text (translated)
  #define _O_BINARY       0x8000  // file mode is binary (untranslated)
  
  // Temporary file bit - file is deleted when last handle is closed
  #define _O_TEMPORARY    0x0040  // temporary file bit
  
  // Non-ANSI names
  #define O_RDONLY        _O_RDONLY
  #define O_WRONLY        _O_WRONLY
  #define O_RDWR          _O_RDWR
  #define O_APPEND        _O_APPEND
  #define O_CREAT         _O_CREAT
  #define O_TRUNC         _O_TRUNC
  #define O_EXCL          _O_EXCL
  #define O_TEXT          _O_TEXT
  #define O_BINARY        _O_BINARY
  #define O_TEMPORARY     _O_TEMPORARY
  
  // @@ NSIG value.  This is definitely not correct.
  #define NSIG 23
  
  #if !defined (FILE_MAP_COPY)
  #define FILE_MAP_COPY 0
  #endif
  
  #define ACE_HAS_INTERLOCKED_EXCHANGEADD
  #define ACE_LACKS_ACCESS
  #define ACE_LACKS__WACCESS
  #define ACE_HAS_ACCESS_EMULATION
  #define ACE_LACKS_EXEC
  #define ACE_LACKS_MKTEMP
  #define ACE_LACKS_ISATTY
  #define ACE_LACKS_STRERROR
  #define ACE_LACKS_SYSTEM
  #define ACE_LACKS_PIPE
  
  #define ACE_LACKS_CHDIR
  #define ACE_LACKS_GETENV
  #define ACE_LACKS_SETENV
  #define ACE_LACKS_UNSETENV
  #define ACE_LACKS_PUTENV
  #define ACE_LACKS_GETENVSTRINGS
  #define ACE_LACKS_STRENVDUP
  #define ACE_LACKS_REALPATH
  #define ACE_LACKS_SWAB
  #define ACE_LACKS_TEMPNAM
  
  #if defined (_WIN32_WCE_EMULATION)
  // @@ For some reason, qsort isn't defined correctly (_stdcall vs _cdecl)
  // under emulation.  So for right now, exclude it.
  # define ACE_LACKS_QSORT
  #endif  // _WIN32_WCE_EMULATION
  
  #if !defined (BUFSIZ)
  # define BUFSIZ 1024
  #endif
  
  #define ACE_LACKS_MALLOC_H      // We do have malloc.h, but don't use it.
  
  #define ACE_HAS_WINCE_BROKEN_ERRNO
  
  #define ACE_HAS_STRDUP_EMULATION
  
  #if !defined (MAXSYMLINKS)
  # define MAXSYMLINKS 0
  #endif
  
  // WinCE can't do fixed addresses for memory-mapped files.
  #if defined (ACE_DEFAULT_BASE_ADDR)
  # undef ACE_DEFAULT_BASE_ADDR
  #endif
  #define ACE_DEFAULT_BASE_ADDR 0
  
  #if (_WIN32_WCE < 0x600)
  # define ACE_HAS_TSS_EMULATION
  #endif  // WinCE version < 6.0
  
  // CE doesn't support FILE_SHARE_DELETE like regular windows
  #if !defined (ACE_DEFAULT_FILE_PERMS)
  # define ACE_DEFAULT_FILE_PERMS (FILE_SHARE_READ | FILE_SHARE_WRITE)
  #endif
  
  #define ACE_LACKS_SIGNAL_H
  #define ACE_LACKS_SYS_STAT_H
  
  #include /**/ "ace/post.h"
  
  #endif  // ACE_CONFIG_WINCE_H
  