PageRenderTime 45ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/dep/acelite/ace/config-tandem-nsk-mips-v3.h

https://bitbucket.org/CatrinaEmu/core/
C Header | 464 lines | 155 code | 132 blank | 177 comment | 0 complexity | 55930d0a601fcd461492b9b44d78aec0 MD5 | raw file
Possible License(s): GPL-2.0
  1. // -*- C++ -*-
  2. //
  3. // $Id: config-tandem-nsk-mips-v3.h 87167 2009-10-19 19:33:53Z olli $
  4. #ifndef ACE_CONFIG_NSK_H
  5. #define ACE_CONFIG_NSK_H
  6. #include /**/ "ace/pre.h"
  7. // The following configuration file contains defines for Tandem NSK
  8. // platform, MIPS processor, version 3 C++ compiler.
  9. //=========================================================================
  10. // Tandem NSK specific parts
  11. //=========================================================================
  12. // Disable pthread renaming of symbols such as "open" and "close"
  13. #define _CMA_NOWRAPPERS_ 1
  14. // Get Handle_Set.cpp to generate correct bit operations for NSK platform
  15. #define ACE_TANDEM_NSK_BIT_ORDER
  16. // Use facilities provided by T1248 version of pthreads.
  17. // (If not defined, will use old version of pthreads.)
  18. #define ACE_TANDEM_T1248_PTHREADS
  19. // Use all available T1248 thread aware wrapper functions for providing
  20. // non-blocking I/O.
  21. // [Note: this causes a significant performance degradation]
  22. //#define ACE_TANDEM_T1248_PTHREADS_ALL_IO_WRAPPERS
  23. // Need this include here because some symbols defined by pthreads
  24. // (e.g. timespec_t) are needed before spthread.h is normally included
  25. // by ACE
  26. #ifdef ACE_TANDEM_T1248_PTHREADS
  27. #include <spthread.h>
  28. #else
  29. #include "pthread.h"
  30. #include "dce/cma_dispatch_coop.h"
  31. #endif
  32. // The following #defines are hacks to get around things
  33. // that seem to be missing or different in Tandem land
  34. #define NSIG 32 // missing from Signal.h
  35. // note: on nsk TNS/R there is room in
  36. // sigset_t for 128 signals but those
  37. // above 31 are not valid.
  38. #define MAXNAMLEN 248 // missing from dirent.h
  39. #define ERRMAX 4218 // from errno.h
  40. // Following seems to be missing from G06.20 version of standard
  41. // pthreads includes (it appeared in older version of standard pthreads)
  42. // (SCHED_FIFO (aka cma_c_sched_fifo) used in Dynamic_Priority_Test)
  43. #ifdef ACE_TANDEM_T1248_PTHREADS
  44. typedef enum CMA_T_SCHED_POLICY {
  45. cma_c_sched_fifo = 0,
  46. cma_c_sched_rr = 1,
  47. cma_c_sched_throughput = 2,
  48. cma_c_sched_background = 3,
  49. cma_c_sched_ada_low = 4
  50. } cma_t_sched_policy;
  51. #endif
  52. // T1248 doesn't define these constants. They're defined in spt/cma.h
  53. // (formerly dce/cma.h), but this header is not included or provided
  54. // by T1248 G07-AAL.
  55. #define cma_c_prio_fifo_min 16
  56. #define cma_c_prio_fifo_mid 24
  57. #define cma_c_prio_fifo_max 31
  58. #define cma_c_prio_rr_min 16
  59. #define cma_c_prio_rr_mid 24
  60. #define cma_c_prio_rr_max 31
  61. #define cma_c_prio_through_min 8
  62. #define cma_c_prio_through_mid 12
  63. #define cma_c_prio_through_max 15
  64. #define cma_c_prio_back_min 1
  65. #define cma_c_prio_back_mid 4
  66. #define cma_c_prio_back_max 7
  67. // Enable NSK Pluggable Protocols
  68. #define TAO_HAS_NSKPW 1
  69. #define TAO_HAS_NSKFS 1
  70. //=========================================================================
  71. // Platform specific parts
  72. //=========================================================================
  73. // Platform lacks getpwnam_r() methods (e.g., SGI 6.2).
  74. #define ACE_LACKS_PWD_REENTRANT_FUNCTIONS
  75. // Platform/compiler lacks {get,set}rlimit() function
  76. #define ACE_LACKS_RLIMIT
  77. // The platform doesn't have mmap(2)
  78. #define ACE_LACKS_MMAP
  79. // Platform lacks streambuf "linebuffered ()". [C++ iostream]
  80. #define ACE_LACKS_LINEBUFFERED_STREAMBUF
  81. // Platform supports recvmsg and sendmsg
  82. #define ACE_HAS_MSG
  83. // Platform defines ACE_HAS_MSG, but lacks msg_accrights{,len}.
  84. #define ACE_LACKS_MSG_ACCRIGHTS
  85. // Platform supports sigsuspend()
  86. #define ACE_HAS_SIGSUSPEND
  87. // Platform/compiler has the sigwait(2) prototype
  88. #define ACE_HAS_SIGWAIT
  89. // Compiler/platform defines the sig_atomic_t typedef
  90. #define ACE_HAS_SIG_ATOMIC_T
  91. // OS/compiler uses size_t * rather than int * for socket lengths
  92. #define ACE_HAS_SIZET_SOCKET_LEN
  93. // OS/compiler uses void * arg 4 setsockopt() rather than const char *
  94. #define ACE_HAS_VOIDPTR_SOCKOPT
  95. // The platform doesn't have mprotect(2)
  96. #define ACE_LACKS_MPROTECT
  97. // Platform lacks msync()
  98. #define ACE_LACKS_MSYNC
  99. // Platform does not support reentrant netdb functions (getprotobyname_r,
  100. // getprotobynumber_r, gethostbyaddr_r, gethostbyname_r, getservbyname_r).
  101. #define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS Platform does not support
  102. // Platform lacks madvise()
  103. #define ACE_LACKS_MADVISE
  104. // Platform lacks pri_t
  105. #define ACE_LACKS_PRI_T
  106. // Platform lacks a working sbrk()
  107. #define ACE_LACKS_SBRK
  108. // Platform doesn't have syscall() prototype
  109. #define ACE_LACKS_SYSCALL
  110. // Platform lacks the inet_aton() function.
  111. #define ACE_LACKS_INET_ATON
  112. // Compiler/platform has Dirent iterator functions
  113. #define ACE_HAS_DIRENT
  114. // Platform uses ACE_HAS_DIRENT but does not have readdir_r()
  115. #define ACE_LACKS_READDIR_R
  116. // Platform supports getpagesize() call (otherwise,
  117. // ACE_PAGE_SIZE must be defined)
  118. #define ACE_HAS_GETPAGESIZE
  119. // Platform supports IP multicast
  120. #define ACE_HAS_IP_MULTICAST
  121. // Platform's select() uses non-const timeval*
  122. #define ACE_HAS_NONCONST_SELECT_TIMEVAL
  123. // Platform supports POSIX O_NONBLOCK semantics
  124. #define ACE_HAS_POSIX_NONBLOCK
  125. // Platform lacks named POSIX semaphores
  126. #define ACE_LACKS_NAMED_POSIX_SEM
  127. // Platform has support for multi-byte character support compliant
  128. // with the XPG4 Worldwide Portability Interface wide-character
  129. // classification.
  130. #define ACE_HAS_XPG4_MULTIBYTE_CHAR
  131. // No wcsstr function available for this compiler
  132. #define ACE_LACKS_WCSSTR
  133. // No wctype.h available for this compiler
  134. #define ACE_LACKS_WCTYPE_H
  135. // Platform supports the POSIX regular expression library.
  136. // [Note Tandem NSK platform does have regular expresson support but it
  137. // does not follow the assumptions made by ACE. To use it would need
  138. // to make some ACE modifications.]
  139. //#define ACE_HAS_REGEX
  140. // Platform doesn't have truncate()
  141. #define ACE_LACKS_TRUNCATE
  142. // Platform lacks readers/writer locks.
  143. #define ACE_LACKS_RWLOCK_T
  144. // Compiler's 'new' throws exception on failure (ANSI C++ behavior).
  145. #define ACE_NEW_THROWS_EXCEPTIONS
  146. // Optimize ACE_Handle_Set::count_bits for select() operations (common
  147. // case)
  148. #define ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT
  149. // Platform lacks setreuid()
  150. #define ACE_LACKS_SETREUID
  151. // Platform lacks setregid()
  152. #define ACE_LACKS_SETREGID
  153. // Compile using multi-thread libraries
  154. #define ACE_MT_SAFE 1
  155. // Platform supports System V IPC
  156. #define ACE_HAS_SYSV_IPC
  157. #define ACE_LACKS_SO_SNDBUF
  158. #define ACE_LACKS_SO_RCVBUF
  159. // Platform lacks the socketpair() call
  160. #define ACE_LACKS_SOCKETPAIR
  161. // Platform limits the maximum socket message size.
  162. #define ACE_HAS_SOCK_BUF_SIZE_MAX
  163. // hrtime_t is a basic type that doesn't require ACE_U64_TO_U32 conversion
  164. #define ACE_HRTIME_T_IS_BASIC_TYPE
  165. // printf format specifiers for 64 bit integers
  166. # define ACE_UINT64_FORMAT_SPECIFIER_ASCII "%Ld"
  167. # define ACE_INT64_FORMAT_SPECIFIER_ASCII "%Ld"
  168. // Use larger default buffer size for ease of interoperability
  169. #define ACE_DEFAULT_CDR_BUFSIZE 4096
  170. // Size of a wchar
  171. #define ACE_SIZEOF_WCHAR 2
  172. // Platform lacks time typedefs
  173. #define ACE_LACKS_SUSECONDS_T
  174. #define ACE_LACKS_USECONDS_T
  175. // Platform lacks setegid() and seteuid()
  176. #define ACE_LACKS_SETEGID
  177. #define ACE_LACKS_SETEUID
  178. // Platform lacks vsnprintf()
  179. #define ACE_LACKS_VSNPRINTF
  180. // Platform lacks log2()
  181. #define ACE_LACKS_LOG2
  182. // Platform lacks alphasort()
  183. #define ACE_LACKS_ALPHASORT
  184. #define ACE_LACKS_FD_MASK
  185. #define ACE_LACKS_NFDBITS
  186. //=========================================================================
  187. // Threads specific parts
  188. //=========================================================================
  189. // Platform supports threads
  190. #define ACE_HAS_THREADS
  191. // Platform supports POSIX Pthreads, of one form or another. This
  192. // macro says the platform has a pthreads variety - should also define
  193. // one of the below to say which one. Also may need some
  194. // ACE_HAS_... thing for extensions.
  195. #define ACE_HAS_PTHREADS
  196. // Standard pthreads supports only SCHED_FIFO
  197. #define ACE_HAS_ONLY_SCHED_FIFO
  198. // Compiler/platform has thread-specific storage
  199. #define ACE_HAS_THREAD_SPECIFIC_STORAGE
  200. // Platform has no implementation of pthread_condattr_setpshared(),
  201. // even though it supports pthreads!
  202. #define ACE_LACKS_CONDATTR_PSHARED
  203. // pthread_cond_timedwait does *not* reset the time argument when the
  204. // lock is acquired.
  205. #define ACE_LACKS_COND_TIMEDWAIT_RESET
  206. // Platform lacks pthread_attr_setsched()
  207. #define ACE_LACKS_SETSCHED
  208. // Platform has pthread_getschedparam and pthread_setschedparam
  209. // even when ACE_LACKS_SETSCHED is defined.
  210. #define ACE_HAS_PTHREAD_SCHEDPARAM
  211. // Platform has pthread_mutexattr_setkind_np().
  212. #define ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP
  213. // Platform lacks pthread_mutexattr_setpshared().
  214. #define ACE_LACKS_MUTEXATTR_PSHARED
  215. // Platform lacks pthread_attr_setscope()
  216. #define ACE_LACKS_THREAD_PROCESS_SCOPING
  217. // Platform lacks pthread_attr_setstackaddr
  218. #define ACE_LACKS_PTHREAD_ATTR_SETSTACKADDR
  219. // Platform lacks pthread_attr_setstack
  220. #define ACE_LACKS_PTHREAD_ATTR_SETSTACK
  221. // Defining ACE_HAS_UCONTEXT_T since G06.21 version of spthreads has
  222. // a definition for it.
  223. #ifdef ACE_TANDEM_T1248_PTHREADS
  224. #define ACE_HAS_UCONTEXT_T
  225. #endif
  226. //=========================================================================
  227. // Include file characteristics
  228. //=========================================================================
  229. // Compiler/platform contains the <sys/syscall.h> file.
  230. #define ACE_HAS_SYS_SYSCALL_H
  231. // Platform lacks malloc.h
  232. #define ACE_LACKS_MALLOC_H
  233. // Platform lacks the siginfo.h include file
  234. #define ACE_LACKS_SIGINFO_H
  235. // Platform doesn't define struct strrecvfd.
  236. #define ACE_LACKS_STRRECVFD
  237. // Platform lacks the ucontext.h file
  238. #define ACE_LACKS_UCONTEXT_H
  239. // Prototypes for both signal() and struct sigaction are consistent.
  240. #define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES
  241. // Platform supports the POSIX struct timespec type
  242. #define ACE_HAS_POSIX_TIME
  243. // Platform/compiler supports timezone * as second parameter to gettimeofday()
  244. #define ACE_HAS_TIMEZONE_GETTIMEOFDAY
  245. // Platform has <strings.h> (which contains bzero() prototype)
  246. #define ACE_HAS_STRINGS 1
  247. // OS/compiler omits the const from the iovec parameter in the
  248. // writev() prototype.
  249. #define ACE_HAS_NONCONST_WRITEV
  250. // Platform lacks <stdint.h>
  251. #define ACE_LACKS_STDINT_H
  252. // Platform lacks <inttypes.h>
  253. #define ACE_LACKS_INTTYPES_H
  254. // Platform lacks <sys/select.h>
  255. #define ACE_LACKS_SYS_SELECT_H
  256. // Platform lacks <dlfcn.h>
  257. #define ACE_LACKS_DLFCN_H
  258. // Platform lacks <semaphore.h>
  259. #define ACE_LACKS_SEMAPHORE_H
  260. // Platform lacks <poll.h>
  261. #define ACE_LACKS_POLL_H
  262. // Platform lacks <sys/sysctl.h>
  263. #define ACE_LACKS_SYS_SYSCTL_H
  264. //=========================================================================
  265. // Compiler specific parts
  266. //=========================================================================
  267. // Compiler supports C++ exception handling
  268. #define ACE_HAS_EXCEPTIONS 1
  269. // Compiler/platform has correctly prototyped header files
  270. #define ACE_HAS_CPLUSPLUS_HEADERS
  271. // Compiler/platform does not support the unsigned long long datatype.
  272. #define ACE_LACKS_UNSIGNEDLONGLONG_T
  273. // Compiler supports the ssize_t typedef
  274. #define ACE_HAS_SSIZE_T
  275. // Platform/compiler supports Standard C++ Library
  276. #define ACE_HAS_STANDARD_CPP_LIBRARY 1
  277. // Compiler's template mechanism must see source code (i.e.,
  278. // .cpp files).
  279. #define ACE_TEMPLATES_REQUIRE_SOURCE
  280. // Compiler implements templates that support typedefs inside
  281. // of classes used as formal arguments to a template class.
  282. #define ACE_HAS_TEMPLATE_TYPEDEFS
  283. // Platform/Compiler supports a String class
  284. #define ACE_HAS_STRING_CLASS
  285. #define ACE_HAS_STDCPP_STL_INCLUDES
  286. // Platform has its standard c++ library in the namespace std.
  287. #define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB 1
  288. // Compiler doesn't support static data member templates
  289. #define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
  290. // Platform lacks "signed char" type (broken!)
  291. // Following will not be needed if use standard c library (G06.20 and later)
  292. #define ACE_LACKS_SIGNED_CHAR
  293. // Compiler can handle any operators in namespace
  294. #define ACE_ANY_OPS_USE_NAMESPACE
  295. // Platform lacks intptr_t typedef
  296. #define ACE_LACKS_INTPTR_T
  297. //=========================================================================
  298. // C++ version3 import/export macros
  299. //=========================================================================
  300. // Define the export macros needed to export symbols outside a DLL
  301. // The ACE_IMPORT_SINGLETON_DECLARE macro has been modified to not explicitly
  302. // instantiate the class template.
  303. #if defined(USE_EXPLICIT_EXPORT)
  304. #define ACE_LACKS_INLINE_FUNCTIONS
  305. #define ACE_HAS_CUSTOM_EXPORT_MACROS
  306. #define ACE_Proper_Export_Flag export$
  307. #define ACE_Proper_Import_Flag import$
  308. #define ACE_EXPORT_SINGLETON_DECLARATION(T) template class export$ T
  309. #define ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class export$ SINGLETON_TYPE<CLASS, LOCK>;
  310. #define ACE_IMPORT_SINGLETON_DECLARATION(T) template class import$ T
  311. #define ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) template class import$ SINGLETON_TYPE <CLASS, LOCK>;
  312. #endif
  313. //=========================================================================
  314. // Build options
  315. //=========================================================================
  316. // Disable the inclusion of RCS ids in the generated code.
  317. #define ACE_USE_RCSID 0
  318. // For debugging problems in os calls (but this doesn't work too well
  319. // since output is not interleaved properly with output from ACE_TRACE
  320. //# define ACE_OS_TRACE(X) ::printf(X)
  321. // Uncomment the following if timed message blocks are needed (e.g.
  322. // for Dynamic_Priority_Test. Otherwise leave this disabled because
  323. // enabling it adds overhead to message blocks and timed message blocks
  324. // are "rarely used."
  325. //#define ACE_HAS_TIMED_MESSAGE_BLOCKS
  326. // Uncomment the following if tokens library is needed.
  327. //#define ACE_HAS_TOKENS_LIBRARY
  328. // NonStop CORBA uses the XML Service Configurator
  329. #define ACE_HAS_XML_SVC_CONF
  330. #define ACE_LD_SEARCH_PATH "_RLD_LIB_PATH"
  331. #include /**/ "ace/post.h"
  332. #endif /* ACE_CONFIG_NSK_H */