2 // $Id: config-pharlap.h 81837 2008-06-04 22:48:08Z shuston $
4 // This configuration file is for use with the PharLap Realtime ETS Kernel.
5 // It has been tested with PharLap TNT Embedded ToolSuite version 9.1.
7 #ifndef ACE_CONFIG_PHARLAP_H
8 #define ACE_CONFIG_PHARLAP_H
9 #include /**/ "ace/pre.h"
11 #define ACE_HAS_PHARLAP
12 // Some features are only available with the Realtime edition of ETS.
13 // Assume that if using ACE, the realtime version is also being used, but
14 // allow it to be turned off as well.
15 #ifndef ACE_HAS_PHARLAP_RT
16 # define ACE_HAS_PHARLAP_RT
18 # if (ACE_HAS_PHARLAP_RT == 0)
19 # undef ACE_HAS_PHARLAP_RT
23 // Fortunately, PharLap ETS offers much of the Win32 API. But it's still on
25 #define ACE_HAS_WINSOCK2 0
27 // The TSS implementation doesn't pass muster on the TSS_Test, but it works
28 // well with ACE's TSS emulation.
29 #define ACE_HAS_TSS_EMULATION
31 #define ACE_LACKS_MMAP
32 #define ACE_LACKS_MPROTECT
33 #define ACE_LACKS_MSYNC
34 #define ACE_LACKS_TCP_NODELAY
35 #define ACE_LACKS_MSG_WFMO
36 #define ACE_LACKS_WIN32_MOVEFILEEX
37 #define ACE_LACKS_WIN32_REGISTRY
38 #define ACE_LACKS_WIN32_SECURITY_DESCRIPTORS
39 #define ACE_LACKS_WIN32_SERVICES
40 #define ACE_LACKS_WIN32_SETFILEPOINTEREX
42 // There's no host table, by default. So using "localhost" won't work.
43 // If your system does have the ability to use "localhost" and you want to,
44 // define it before including this file.
45 #if !defined (ACE_LOCALHOST)
46 # define ACE_LOCALHOST "127.0.0.1"
47 #endif /* ACE_LOCALHOST */
49 // The normal Windows default stack size doesn't hold for ETS. Set what you
51 #if !defined (ACE_DEFAULT_THREAD_STACKSIZE)
52 # define ACE_DEFAULT_THREAD_STACKSIZE (1024*1024)
53 #endif /* ACE_DEFAULT_THREAD_STACKSIZE */
55 // Don't know how to get the page size at execution time. This is most likely
57 #define ACE_PAGE_SIZE 4096
59 #if defined (ACE_HAS_PHARLAP_RT)
60 # define ACE_HAS_IP_MULTICAST
61 // ETS winsock doesn't define IP level socket options
63 #endif /* ACE_HAS_PHARLAP_RT */
65 // Let the config-win32.h file do its thing
67 #include "ace/config-win32.h"
68 // Now remove things that desktop/server Windows has but Pharlap ETS doesn't.
69 #undef ACE_HAS_INTERLOCKED_EXCHANGEADD
72 // PharLap's exports apparantly define LockFile, but it's documented as
73 // unsupported. LockFileEx is not present.
74 #define ACE_LACKS_FILELOCKS
76 #include /**/ <embkern.h>
77 #if defined (ACE_HAS_PHARLAP_RT)
78 # include /**/ <embtcpip.h>
79 #define ACE_LACKS_IP_ADD_MEMBERSHIP
80 #endif /* ACE_HAS_PHARLAP_RT */
82 // Although IN_CLASSD is defined in both winsock.h and winsock2.h, it ends
83 // up undefined for Pharlap ETS builds. If this is the case, set things up
84 // so nothing looks like class D.
85 #if !defined (IN_CLASSD)
86 # define IN_CLASSD(i) (0)
89 #include /**/ "ace/post.h"
90 #endif /* ACE_CONFIG_PHARLAP_H */