summaryrefslogtreecommitdiff
path: root/ace/README
diff options
context:
space:
mode:
Diffstat (limited to 'ace/README')
-rw-r--r--ace/README1510
1 files changed, 0 insertions, 1510 deletions
diff --git a/ace/README b/ace/README
deleted file mode 100644
index b72397313ed..00000000000
--- a/ace/README
+++ /dev/null
@@ -1,1510 +0,0 @@
-// $Id$
-
-ACE Portability Macros
-----------------------
-
-The following describes the meaning of the C++ compiler macros that
-can be set in the config*.h file. When you port ACE to a new platform
-and/or C++ compiler, make sure that you check to see which of these
-need to be defined. It's helpful to check the various config*.h files
-in this directory to see what's already been defined. If you need to
-add new macros, please send them to me and I'll add them to this file.
-
-Eventually, most of this information should be auto-discovered via GNU
-autoconf, which Ossama Othman is working on, at
-http://www.cs.wustl.edu/~othman/aceconf/.
-
-Macro Description
------ -----------
-
-ACE_CAST_CONST Used to work around broken
- SunCC ANSI casts that require
- an extra const.
-ACE_DEFINES_DEFAULT_WIN32_SECURITY_ATTRIBUTES
- Win32 only. Users want to use
- a predefined security
- attributes defined in
- ACE_OS::default_win32_security_attributes
- as the default security
- object.
-ACE_DISABLE_DEBUG_DLL_CHECK Define this if you don't want
- debug version ACE search for
- debug version DLLs first
- before looking for the DLL
- names specified.
-ACE_DOESNT_INSTANTIATE_NONSTATIC_OBJECT_MANAGER
- Application will allocate its
- own object manager. This
- implicitly defines
- ACE_HAS_NONSTATIC_OBJECT_MANAGER.
- Usually used with MFC
- applications.
-ACE_MAIN Renames "main (int, char *[])",
- for platforms such as g++/VxWorks
- that don't allow "main". Requires
- the use of
- ACE_HAS_NONSTATIC_OBJECT_MANAGER.
-ACE_MT_SAFE Compile using multi-thread libraries
-ACE_NDEBUG Turns off debugging features
-ACE_NEW_THROWS_EXCEPTIONS Compiler's 'new' throws exception on
- failure (ANSI C++ behavior).
-ACE_NLOGGING Turns off the LM_DEBUG and
- LM_ERROR logging macros...
-ACE_NTRACE Turns off the tracing feature.
-ACE_PAGE_SIZE Defines the page size of the
- system (not used on Win32 or
- with ACE_HAS_GETPAGESIZE).
-ACE_REDEFINES_XTI_FUNCTIONS Platform redefines the t_... names (UnixWare)
-ACE_SELECT_USES_INT Platform uses int for select()
- rather than fd_set
-ACE_TEMPLATES_REQUIRE_PRAGMA Compiler's template mechanism
- must use a pragma This is used
- for AIX's C++ compiler.
-ACE_TEMPLATES_REQUIRE_SOURCE Compiler's template mechanim
- must see source code (i.e.,
- .cpp files). This is used for
- GNU G++.
-ACE_TIMER_SKEW If a timed ::select () can return
- early, then ACE_TIMER_SKEW is the
- maximum adjustment, in microseconds,
- that ACE_Timer_Queue uses to
- compensate for the early return.
-ACE_TLI_TCP_DEVICE Device the platform uses for TCP on
- TLI. Only needed if not /dev/tcp.
-ACE_USE_POLL The OS platform supports the
- poll() event demultiplexor
-ACE_USES_ASM_SYMBOL_IN_DLSYM Platform uses assembly symbols
- instead of C symbols in
- dlsym()
-ACE_USES_STATIC_MFC When linking MFC as a static library is desired
-ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB Platform has its standard c++
- library in the namespace std.
-ACE_WSOCK_VERSION A parameter list indicating
- the version of WinSock (e.g.,
- "1, 1" is version 1.1).
-
-ACE_HAS_AIO_CALLS Platform supports POSIX aio* calls.
-ACE_HAS_ALT_CUSERID Use ACE's alternate cuserid()
- implementation since a system
- cuserid() may not exist, or it
- is not desirable to use it.
- The implementation requires
- ACE_LACKS_PWD_FUNCTIONS to be
- undefined and that the
- geteuid() system call exists.
-ACE_HAS_ANSI_CASTS Platform supports new C++
- style casts (dynamic_cast,
- static_cast, reinterpret_cast
- and const_cast)
-ACE_DEFAULT_THREAD_KEYS Number of TSS keys, with
- ACE_HAS_TSS_EMULATION _only_.
- Defaults to 64.
-ACE_DEFAULT_LD_SEARCH_PATH Specify the platform default search
- paths. This macro should only be
- defined on platforms that don't
- support environment variables at all
- (i.e., Windows CE.)
-ACE_THREADS_DONT_INHERIT_LOG_MSG Specify this if you don't want
- threads to inherit parent
- thread's ACE_Log_Msg
- properties.
-ACE_THREAD_MANAGER_USES_SAFE_SPAWN Disable the "check before lock" feature
- in ACE_Thread_Manager. Defining this
- macro avoids a potential race condition
- on platforms with aggressive read/write
- reordering.
-ACE_HAS_GNUG_PRE_2_8 Compiling with g++ prior to
- version 2.8.0.
-ACE_HAS_ONE_DEFINITION_RULE Compiler enforces C++ One
- Definition Rule
-ACE_HAS_PRIOCNTL OS has priocntl (2).
-ACE_HAS_RECURSIVE_MUTEXES Mutexes are inherently recursive (e.g., Win32)
-ACE_HAS_RECV_TIMEDWAIT Platform has the MIT pthreads
- APIs for
-ACE_HAS_RECVFROM_TIMEDWAIT timed send/recv operations
-ACE_HAS_RECVMSG_TIMEDWAIT
-ACE_HAS_RLIMIT_RESOURCE_ENUM Platform has enum instead of
- int for first argument to
- ::{get,set}rlimit (). The
- value of this macro is the
- enum definition, e.g., enum
- __rlimit_resource, for Linux
- glibc 2.0.
-ACE_HAS_RUSAGE_WHO_ENUM Platform has enum instead of
- int for first argument to
- ::getrusage (). The value of
- this macro is the enum
- definition, e.g., enum
- __rusage_who, for Linux glibc
- 2.0.
-ACE_HAS_SEND_TIMEDWAIT
-ACE_HAS_SENDTO_TIMEDWAIT
-ACE_HAS_SENDMSG_TIMEDWAIT
-ACE_HAS_STDARG_THR_DEST Platform has void (*)(...)
- prototype for
- pthread_key_create()
- destructor (e.g., LynxOS).
-ACE_HAS_STL_MAP_CONFLICT Used when users want to
- compile ACE with STL and STL
- map class conflicts with
- <net/if.h> map struct.
-ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS Platform/compiler supports
- Win32 structural exceptions
-ACE_HAS_READ_TIMEDWAIT
-ACE_HAS_READV_TIMEDWAIT
-ACE_HAS_WRITE_TIMEDWAIT
-ACE_HAS_WRITEV_TIMEDWAIT
-ACE_HAS_4_4BSD_SENDMSG_RECVMSG Platform has BSD 4.4
- sendmsg()/recvmsg() APIs.
-ACE_HAS_P_READ_WRITE Platform has pread() and
- pwrite() support
-ACE_HAS_64BIT_LONGS Platform has 64bit longs and
- 32bit ints. NOTE: this macro
- is deprecated. Instead, use
- ACE_SIZEOF_LONG == 8.
-ACE_HAS_AIX_BROKEN_SOCKET_HEADER Platform, such as AIX4, needs
- to wrap #include of
- sys/socket.h with
- #undef/#define of
- __cplusplus.
-ACE_HAS_AIX_HI_RES_TIMER Platform has AIX4
- ::read_real_time ()
-ACE_HAS_ALLOCA Compiler/platform supports
- alloca()
-ACE_HAS_ALLOCA_H Compiler/platform has
- <alloca.h>
-ACE_HAS_ALPHA_TIMER CPU is an Alpha, with the rpcc
- instruction to read the tick timer.
- Limited to 32 bits, so not recommended.
-ACE_HAS_AUTOMATIC_INIT_FINI Compiler/platform correctly
- calls init()/fini() for shared
- libraries
-ACE_HAS_BIG_FD_SET Compiler/platform has typedef
- u_long fdmask (e.g., Linux and
- SCO).
-ACE_HAS_WORKING_EXPLICIT_TEMPLATE_DESTRUCTOR
- Compiler handles explicit calling of
- template destructor correctly. See
- "ace/OS.h" for details.
-ACE_HAS_BROKEN_ACCEPT_ADDR Platform can't correctly deal
- with a NULL addr to accept()
- (e.g, VxWorks).
-ACE_HAS_BROKEN_NAMESPACES Compiler/platform doesn't
- support namespaces (or the
- support is not fully
- implemented.)
-ACE_HAS_BROKEN_BITSHIFT Compiler has integer overflow
- problem with bit-shift
- operations.
-ACE_HAS_BROKEN_CONDITIONAL_STRING_CASTS Compiler can't handle const char *
- as rvalue in conditional operator.
-ACE_HAS_BROKEN_CONVERSIONS Compiler can't handle calls
- like foo->operator T *()
-ACE_HAS_BROKEN_CTIME Compiler/platform uses macro
- for ctime (e.g., MVS)
-ACE_HAS_BROKEN_DGRAM_SENDV Platform sendv() does not work
- properly with datagrams,
- i.e. it fails when the iovec
- size is IOV_MAX.
-ACE_HAS_BROKEN_ENUMS Compiler can't handle large
- enums (e.g., HP/UX C++)
-ACE_HAS_BROKEN_HPUX_TEMPLATES Earlier versions of HP/UX C++
- are damned...
-ACE_HAS_BROKEN_MAP_FAILED Platform doesn't cast MAP_FAILED
- to a void *.
-ACE_HAS_BROKEN_MSG_H Platform headers don't support
- <msg.h> prototypes
-ACE_HAS_BROKEN_MMAP_H HP/UX does not wrap the
- mmap(2) header files with
- extern "C".
-ACE_HAS_BROKEN_NESTED_TEMPLATES MSVC has trouble with defining
- STL containers for nested
- structs and classes
-ACE_HAS_BROKEN_NON_BLOCKING_CONNECTS Platform has a bug with
- non-blocking connects (e.g.,
- WinNT 4.0)
-ACE_HAS_BROKEN_POSIX_TIME Platform defines struct
- timespec in <sys/timers.h>
-ACE_HAS_BROKEN_RANDR OS/compiler's header files are
- inconsistent with libC
- definition of rand_r().
-ACE_HAS_BROKEN_READV() OS/Compiler's header files are
- not consistent with readv()
- definition.
-ACE_HAS_BROKEN_SAP_ANY Compiler can't handle the
- static ACE_Addr::sap_any
- construct.
-ACE_HAS_BROKEN_SENDMSG OS/compiler omits the const
- from the sendmsg() prototype.
-ACE_HAS_BROKEN_SETRLIMIT OS/compiler omits the const
- from the rlimit parameter in
- the setrlimit() prototype.
-ACE_HAS_BROKEN_T_ERROR Compiler/platform has the wrong
- prototype for t_error(), i.e.,
- t_error(char *) rather than
- t_error(const char *).
-ACE_HAS_BROKEN_TIMESPEC_MEMBERS platform define struct
- timespec members as ts_sec and
- ts_nsec instead of tv_sec and
- tv_nsec. This is highly
- non-portable. Currently only
- FreeBSD 2.1.x uses it.
-ACE_HAS_BROKEN_WRITEV OS/compiler omits the const
- from the iovec parameter in
- the writev() prototype.
-ACE_HAS_BROKEN_XTI_MACROS OS header files have some
- problems with XTI (HP/UX 11).
-ACE_HAS_BSTRING Platform has <bstring.h>
- (which contains bzero()
- prototype)
-ACE_HAS_BYTESEX_H Platform has <bytesex.h>.
-ACE_HAS_CANCEL_IO Platform supports the Win32
- CancelIO() function (WinNT 4.0
- and beyond).
-ACE_HAS_CHARPTR_DL OS/platform uses char * for
- dlopen/dlsym args, rather than
- const char *.
-ACE_HAS_CHARPTR_SOCKOPT OS/platform uses char * for
- sockopt, rather than const
- char *
-ACE_HAS_CHARPTR_SPRINTF sprintf() returns char *
- rather than int (e.g., SunOS
- 4.x)
-ACE_HAS_CLOCK_GETTIME Platform supports POSIX 1.b
- clock_gettime ()
-ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES Prototypes for both signal()
- and struct sigaction are
- consistent.
-ACE_HAS_CPLUSPLUS_HEADERS Compiler/platform has
- correctly prototyped header
- files
-ACE_HAS_CYGWIN32_SOCKET_H Platform has cygwin32 socket.h
-ACE_HAS_DIRENT Compiler/platform has Dirent
- iterator functions
-ACE_HAS_DLFCN_H_BROKEN_EXTERN_C For platforms, e.g., RedHat
- 4.2/Linux 2.0.30/Alpha, that
- don't declare dl* functions as
- extern "C" in dlfcn.h.
-ACE_HAS_DLL Build ACE using the frigging
- PC DLL nonsense...
-ACE_HAS_EXCEPTIONS Compiler supports C++
- exception handling
-ACE_HAS_EXPLICIT_KEYWORD Compiler support explicit constructors.
-ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION Compiler's template
- instantiation mechanism
- supports the use of explicit
- C++ specializations for all
- used templates. This is also
- used for GNU G++ if you don't
- use the "repo" patches.
-ACE_HAS_GETPAGESIZE Platform supports
- getpagesize() call (otherwise,
- ACE_PAGE_SIZE must be defined,
- except on Win32)
-ACE_HAS_GETRUSAGE Platform supports the
- getrusage() system call.
-ACE_HAS_GETRUSAGE_PROTO Platform has a getrusage ()
- prototype in sys/resource.h
- that differs from the one in
- ace/OS.i.
-ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS GNUC 2.7.3 mistakenly
- takes the template definition
- as the place where an inline
- function of an argument class
- is first used.
-ACE_HAS_BROKEN_EXTENDED_TEMPLATES GNU CC < 2.8 is broken for
- template classes. This label
- shortens the template parameter
- list by removing the iterator
- functionality in the
- Cache_Map_Manager class.
-ACE_HAS_GNU_CSTRING_H Denotes that GNU has cstring.h
- as standard which redefines
- memchr()
-ACE_HAS_GPERF The GPERF utility is compiled
- for this platform
-ACE_HAS_HANDLE_SET_OPTIMIZED_FOR_SELECT Optimize
- ACE_Handle_Set::count_bits for
- select() operations (common
- case)
-ACE_HAS_LLSEEK Platform supports llseek.
-ACE_HAS_HI_RES_TIMER Compiler/platform supports
- SunOS high resolution timers
-ACE_HAS_IDTYPE_T Compiler/platform supports
- idtype_t.
-ACE_HAS_INLINED_OSCALLS Inline all the static class OS
- methods to remove call
- overhead
-ACE_HAS_IP_MULTICAST Platform supports IP multicast
-ACE_HAS_IP6 Platform supports IPv6.
-ACE_HAS_IRIX62_THREADS Platform supports the very odd
- IRIX 6.2 threads...
-ACE_HAS_NONSTATIC_OBJECT_MANAGER Causes the ACE_Object_Manager
- instance to be created in main
- (int, char *[]), instead of as
- a static (global) instance.
-ACE_HAS_THR_KEYDELETE Platform supports
- thr_keydelete (e.g,. UNIXWARE)
-ACE_HAS_THR_MINSTACK Platform calls thr_minstack()
- rather than thr_min_stack()
- (e.g., Tandem).
-ACE_HAS_LIMITED_RUSAGE_T The rusage_t structure has
- only two fields.
-ACE_HAS_LIMITED_SELECT The select is unable to deal with
- large file descriptors.
-ACE_HAS_LONG_MAP_FAILED Platform defines MAP_FAILED as
- a long constant.
-ACE_HAS_MALLOC_STATS Enabled malloc statistics
- collection.
-ACE_HAS_MEMCHR Use native implementation of memchr.
-ACE_HAS_MINIMAL_ACE_OS Disables some #includes in ace/OS.*.
-ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION Avoid #including ace/streams.h
- in OS.h. Users must include
- ace/streams.h, <iostream>, or
- <iostream.h> explicitly in
- their code. Some platforms,
- such as g++/VxWorks, have
- trouble compiling templates
- and iostreams header because
- of static variables in the
- stream headers. This flag
- will also avoid extra
- compilation and runtime
- overheads on some platforms.
-ACE_HAS_MFC Platform supports Microsoft
- Foundation Classes
-ACE_HAS_MSG Platform supports recvmsg and
- sendmsg
-ACE_HAS_MT_SAFE_MKTIME Platform supports MT safe
- mktime() call (do any of
- them?)
-ACE_HAS_MUTABLE_KEYWORD Compiler supports mutable.
-ACE_HAS_NONCONST_GETBY Platform uses non-const char *
- in calls to gethostbyaddr,
- gethostbyname, getservbyname
-ACE_HAS_NONCONST_MSGSND Platform has a non-const
- parameter to msgsend() (e.g.,
- SCO).
-ACE_HAS_NONCONST_SELECT_TIMEVAL Platform's select() uses
- non-const timeval* (only found
- on Linux right now)
-ACE_HAS_OLD_MALLOC Compiler/platform uses old
- malloc()/free() prototypes
- (ugh)
-ACE_HAS_ONLY_SCHED_OTHER Platform, e.g., Solaris 2.5,
- only supports SCHED_OTHER
- POSIX scheduling policy.
-ACE_HAS_2_PARAM_ASCTIME_R_AND_CTIME_R Uses ctime_r & asctime_r with
- only two parameters
- vs. three.
-ACE_HAS_OPTIMIZED_MESSAGE_QUEUE Use the semaphore
- implementation of
- ACE_Message_Queue rather than
- the emulated condition
- variable (NT and VxWorks).
-ACE_HAS_ORBIX Platform has Orbix CORBA
- implementation
-ACE_HAS_OSF_TIMOD_H Platform supports the OSF TLI
- timod STREAMS module
-ACE_HAS_PENTIUM Platform is an Intel Pentium
- microprocessor.
-ACE_HAS_POLL Platform contains <poll.h>
-ACE_HAS_POSITION_INDEPENDENT_POINTERS Platform supports
- "position-independent" features
- provided by ACE_Based_Pointer<>.
-ACE_HAS_POSIX_NONBLOCK Platform supports POSIX
- O_NONBLOCK semantics
-ACE_HAS_POSIX_SEM Platform supports POSIX
- real-time semaphores (e.g.,
- VxWorks and Solaris)
-ACE_HAS_POSIX_TIME Platform supports the POSIX
- struct timespec type
-ACE_HAS_PROC_FS Platform supports the /proc
- file system and defines tid_t
- in <sys/procfs.h>
-ACE_HAS_POWERPC_TIMER Platform supports PowerPC
- time-base register.
-ACE_HAS_PRUSAGE_T Platform supports the
- prusage_t struct
-ACE_HAS_PTHREADS Platform supports POSIX
- Pthreads, of one form or
- another. This macro says the
- platform has a pthreads
- variety - should also define
- one of the below to say which
- one. Also may need some
- ACE_HAS_... thing for
- extensions.
-ACE_HAS_PTHREADS_DRAFT4 Platform's 'Pthreads' is .4a draft 4
-ACE_HAS_PTHREADS_DRAFT6 Platform's 'Pthreads' is .4a draft 6
-ACE_HAS_PTHREADS_DRAFT7 Platform's 'Pthreads' is .1c draft 7
-ACE_HAS_PTHREADS_STD Platform supports POSIX.1c-1995 threads
- (This is the final standard
- Pthreads).
-ACE_HAS_PTHREADS_UNIX98_EXT Platform has the UNIX98 extensions to
- Pthreads (susp/cont, rwlocks)
-ACE_HAS_PTHREAD_CONDATTR_SETKIND_NP Platform has pthread_condattr_setkind_np().
-ACE_HAS_PTHREAD_MUTEXATTR_SETKIND_NP Platform has
- pthread_mutexattr_setkind_np().
-ACE_HAS_PTHREAD_PROCESS_ENUM pthread.h declares an enum with
- PTHREAD_PROCESS_PRIVATE and
- PTHREAD_PROCESS_SHARED values.
-ACE_HAS_PURIFY Purify'ing. Set by wrapper_macros.GNU.
-ACE_HAS_QUANTIFY Quantify'ing. Set by wrapper_macros.GNU.
-ACE_HAS_RECURSIVE_THR_EXIT_SEMANTICS Platform will recurse
- infinitely on thread exits
- from TSS cleanup routines
- (e.g., AIX).
-ACE_HAS_REENTRANT_FUNCTIONS Platform supports reentrant
- functions (i.e., all the POSIX
- *_r functions).
-ACE_HAS_XPG4_MULTIBYTE_CHAR Platform has support for
- multi-byte character support
- compliant with the XPG4
- Worldwide Portability
- Interface wide-character
- classification.
-ACE_HAS_REGEX Platform supports the POSIX
- regular expression library
-ACE_HAS_SELECT_H Platform has special header for select().
-ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL For Win32: Use Select_Reactor
- as default implementation of
- Reactor instead of
- WFMO_Reactor.
-ACE_HAS_SEMUN Compiler/platform defines a
- union semun for SysV shared
- memory
-ACE_HAS_SET_T_ERRNO Platform has a function to set
- t_errno (e.g., Tandem).
-ACE_HAS_SIGINFO_T Platform supports SVR4
- extended signals
-ACE_HAS_SIGSUSPEND Platform supports sigsuspend()
-ACE_HAS_SIGISMEMBER_BUG Platform has bug with
- sigismember() (HP/UX 11).
-ACE_HAS_SIG_MACROS Platform/compiler has macros
- for sig{empty,fill,add,del}set
- (e.g., SCO and FreeBSD)
-ACE_HAS_SIGNAL_OBJECT_AND_WAIT Platform supports the Win32
- SignalObjectAndWait() function
- (WinNT 4.0 and beyond).
-ACE_HAS_SIGNAL_SAFE_OS_CALLS Automatically restart OS
- system calls when EINTR occurs
-ACE_HAS_SIGWAIT Platform/compiler has the
- sigwait(2) prototype
-ACE_HAS_SIG_ATOMIC_T Compiler/platform defines the
- sig_atomic_t typedef
-ACE_HAS_SIG_C_FUNC Compiler requires extern "C"
- functions for signals.
-ACE_HAS_SIN_LEN Platform supports new BSD
- inet_addr len field.
-ACE_HAS_SIZET_SOCKET_LEN OS/compiler uses size_t *
- rather than int * for socket
- lengths
-ACE_HAS_SOCKADDR_MSG_NAME Platform requires (struct
- sockaddr *) for msg_name field
- of struct msghdr.
-ACE_HAS_SOCKIO_H Compiler/platform provides the
- sockio.h file
-ACE_HAS_SOCKLEN_T Platform provides socklen_t
- type, such as Linux with
- glibc2.
-ACE_HAS_SPARCWORKS_401_SIGNALS Compiler has brain-damaged
- SPARCwork SunOS 4.x signal
- prototype...
-ACE_HAS_SSIZE_T Compiler supports the ssize_t
- typedef
-ACE_HAS_STRPTIME Enables ACE_OS::strptime ().
-ACE_HAS_STHREADS Platform supports Solaris
- threads
-ACE_HAS_STANDARD_CPP_LIBRARY Platform/compiler supports
- Standard C++ Library
-ACE_HAS_STRBUF_T Compiler/platform supports
- struct strbuf
-ACE_HAS_STRDUP_EMULATION Platform/compiler lacks
- strdup() (e.g., VxWorks,
- Chorus, WinCE)
-ACE_HAS_STREAMS Platform supports STREAMS
-ACE_HAS_STREAM_PIPES Platform supports STREAM pipes
-ACE_HAS_STRERROR Compiler/platform supports strerror ()
-ACE_HAS_STRICT Use the STRICT compilation mode on Win32.
-ACE_HAS_STRING_CLASS Platform/Compiler supports a
- String class (e.g., GNU or
- Win32).
-ACE_HAS_STRUCT_NETDB_DATA Compiler/platform has strange
- hostent API for socket *_r()
- calls
-ACE_HAS_SUNOS4_GETTIMEOFDAY SunOS 4 style prototype.
-ACE_HAS_SUNOS4_SIGNAL_T Compiler has horrible SunOS
- 4.x signal handlers...
-ACE_HAS_SVR4_DYNAMIC_LINKING Compiler/platform supports
- SVR4 dynamic linking semantics
-ACE_HAS_SVR4_GETTIMEOFDAY Compiler/platform supports
- SVR4 gettimeofday() prototype
-ACE_HAS_SVR4_SIGNAL_T Compiler/platform supports
- SVR4 signal typedef
-ACE_HAS_SVR4_TLI Compiler/platform supports
- SVR4 TLI (in particular,
- T_GETNAME stuff)...
-ACE_HAS_SYSCALL_GETRUSAGE HP/UX has an undefined syscall
- for GETRUSAGE...
-ACE_HAS_SYSCALL_H Compiler/platform contains the
- <sys/syscall.h> file.
-ACE_HAS_SYSENT_H Platform provides <sysent.h>
- header
-ACE_HAS_SYSINFO Platform supports system
- configuration information
-ACE_HAS_SYSV_IPC Platform supports System V IPC
- (most versions of UNIX, but
- not Win32)
-ACE_HAS_SYS_ERRLIST Platform/compiler supports
- _sys_errlist symbol
-ACE_HAS_SYS_FILIO_H Platform provides
- <sys/filio.h> header
-ACE_HAS_SYS_SIGLIST Compiler/platform supports
- _sys_siglist array
-ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA Compiler's template
- instantiation mechanism
- supports the use of "#pragma
- instantiate". Edison Design
- Group compilers, e.g., SGI C++
- and Green Hills 1.8.8 and
- later, support this.
-ACE_HAS_TEMPLATE_SPECIALIZATION Compiler implements template
- specialization
-ACE_HAS_TEMPLATE_TYPEDEFS Compiler implements templates
- that support typedefs inside
- of classes used as formal
- arguments to a template
- class.
-ACE_HAS_TERM_IOCTLS Platform has terminal ioctl
- flags like TCGETS and TCSETS.
-ACE_HAS_LAZY_MAP_MANAGER ACE supports lazy Map Managers
- that allow deletion of entries
- during active iteration.
-ACE_HAS_THREADS Platform supports threads
-ACE_HAS_THREAD_SAFE_ACCEPT Platform allows multiple
- threads to call accept() on
- the same port (e.g., WinNT).
-ACE_HAS_THREAD_SELF Platform has thread_self()
- rather than pthread_self()
- (e.g., DCETHREADS and AIX)
-ACE_HAS_THREAD_SPECIFIC_STORAGE Compiler/platform has
- thread-specific storage
-ACE_HAS_THR_C_DEST The pthread_keycreate()
- routine *must* take extern C
- functions.
-ACE_HAS_THR_C_FUNC The pthread_create() routine
- *must* take extern C
- functions.
-ACE_HAS_TIMEZONE_GETTIMEOFDAY Platform/compiler supports
- timezone * as second parameter
- to gettimeofday()
-ACE_HAS_TIMOD_H Platform supports TLI timod
- STREAMS module
-ACE_HAS_TIUSER_H Platform supports TLI tiuser
- header
-ACE_HAS_TLI Platform supports TLI. Also
- see ACE_TLI_TCP_DEVICE.
-ACE_HAS_TLI_PROTOTYPES Platform provides TLI function
- prototypes
-ACE_HAS_TSS_EMULATION ACE provides TSS emulation.
- See also
- ACE_DEFAULT_THREAD_KEYS.
-ACE_HAS_UALARM Platform supports ualarm()
-ACE_HAS_UCONTEXT_T Platform supports ucontext_t
- (which is used in the extended
- signal API).
-ACE_HAS_UNION_WAIT The wait() system call takes a
- (union wait *) rather than int
- *
-ACE_HAS_UNIXWARE_SVR4_SIGNAL_T Has inconsistent SVR4 signal
- stuff, but not the same as the
- other platforms
-ACE_HAS_USING_KEYWORD Compiler supports the new
- using keyword for C++
- namespaces.
-ACE_HAS_VERBOSE_NOTSUP Prints out console message in
- ACE_NOTSUP. Useful for
- tracking down origin of
- ACE_NOTSUP.
-ACE_HAS_VOIDPTR_MMAP Platform requires void * for
- mmap().
-ACE_HAS_VOIDPTR_SOCKOPT OS/compiler uses void * arg 4
- setsockopt() rather than const
- char *
-ACE_HAS_WIN32_TRYLOCK The Win32 platform support
- TryEnterCriticalSection()
- (WinNT 4.0 and beyond)
-ACE_HAS_WINSOCK2 The Win32 platform supports
- WinSock 2.0
-ACE_HAS_XLI Platform has the XLI version
- of TLI
-ACE_HAS_XT Platform has Xt and Motif
-ACE_HAS_XTI Platform has XTI
- (X/Open-standardized superset
- of TLI). Implies ACE_HAS_TLI
- but uses a different header
- file.
-ACE_LACKS_ACCESS Platform lacks access() (e.g.,
- VxWorks and Chorus)
-ACE_LACKS_ACE_IOSTREAM Platform can not build
- ace/IOStream{,_T}.cpp. This
- does not necessarily mean that
- the platform does not support
- iostreams.
-ACE_LACKS_AUTO_MMAP_REPLACEMENT No system support for replacing any
- previous mappings.
-ACE_LACKS_BSEARCH Compiler/platform lacks the
- standard C library bsearch()
- function
-ACE_LACKS_CMSG_DATA_MACRO Platform has
- ACE_HAS_4_4BSD_SENDMSG_RECVMSG but does
- not define CMSG_DATA (cmsg) macro.
-ACE_LACKS_CMSG_DATA_MEMBER Platform has
- ACE_HAS_4_4BSD_SENDMSG_RECVMSG but its
- cmsghdr structure does not contain
- an 'unsigned char cmsg_data[0]'
- member. (This may be
- 'unsigned char __cmsg_data[0]' on some
- platforms, in which case we need
- another macro.)
-ACE_LACKS_COND_TIMEDWAIT_RESET pthread_cond_timedwait does
- *not* reset the time argument
- when the lock is acquired.
-ACE_LACKS_CONST_STRBUF_PTR Platform uses struct strbuf *
- rather than const struct
- strbuf * (e.g., HP/UX 10.x)
-ACE_LACKS_CONST_TIMESPEC_PTR Platform forgot const in
- cond_timewait (e.g., HP/UX).
-ACE_LACKS_COND_T Platform lacks condition
- variables (e.g., Win32 and
- VxWorks)
-ACE_LACKS_CONDATTR_PSHARED Platform has no implementation
- of
- pthread_condattr_setpshared(),
- even though it supports
- pthreads!
-ACE_LACKS_DIFFTIME Platform lacks difftime() implementation
-ACE_LACKS_FCNTL Platform lacks POSIX-style fcntl ().
-ACE_LACKS_FSYNC Platform lacks fsync().
-ACE_LACKS_INLINE_FUNCTIONS Platform can't handle "inline"
- keyword correctly.
-ACE_LACKS_EXEC Platform lacks the exec()
- family of system calls (e.g.,
- Win32, VxWorks, Chorus)
-ACE_LACKS_FILELOCKS Platform lacks file locking
- mechanism
-ACE_LACKS_FLOATING_POINT Platform does not support
- floating point operations
- (e.g., certain Chorus hardware
- platforms)
-ACE_LACKS_FORK Platform lacks the fork()
- system call (e.g., Win32,
- VxWorks, Chorus)
-ACE_LACKS_GETOPT_PROTO Platform lacks the getopt()
- prototype (e.g., LynxOS)
-ACE_LACKS_GETPGID Platform lacks getpgid() call
- (e.g., Win32, Chorus, and
- FreeBSD).
-ACE_LACKS_GETSERVBYNAME Platforms lacks
- getservbyname() (e.g., VxWorks
- and Chorus).
-ACE_LACKS_IOSTREAMS_TOTALLY Iostreams are not supported
- adequately on the given platform.
-ACE_LACKS_IOSTREAM_FX iostream header does not
- declare ipfx (), opfx (),
- etc.
-ACE_LACKS_KEY_T Platform lacks key_t (e.g.,
- Chorus, VxWorks, Win32)
-ACE_LACKS_LINEBUFFERED_STREAMBUF Platform lacks streambuf
- "linebuffered ()".
-ACE_LACKS_LONGLONG_T Compiler/platform does no
- supports the unsigned long
- long datatype.
-ACE_LACKS_LSTAT Platform lacks the lstat() function.
-ACE_LACKS_MADVISE Platform lacks madvise()
- (e.g., Linux)
-ACE_LACKS_MALLOC_H Platform lacks malloc.h
-ACE_LACKS_MEMORY_H Platform lacks memory.h (e.g.,
- VxWorks and Chorus)
-ACE_LACKS_MKFIFO Platform lacks mkfifo() e.g.,
- VxWorks, Chorus, pSoS, and WinNT.
-ACE_LACKS_MKTEMP ACE has no mktemp()
-ACE_LACKS_MMAP The platform doesn't have
- mmap(2) (e.g., SCO UNIX).
-ACE_LACKS_MODE_MASKS Platform/compiler doesn't have
- open() mode masks.
-ACE_LACKS_MPROTECT The platform doesn't have
- mprotect(2) (e.g., EPLX real
- time OS from CDC (based on
- LYNX))
-ACE_LACKS_MSG_ACCRIGHTS Platform defines ACE_HAS_MSG,
- but lacks msg_accrights{,len}.
-ACE_LACKS_MSG_WFMO Platform lacks
- MsgWaitForMultipleObjects
- (only needs to be defined when
- ACE_WIN32 is also defined).
-ACE_LACKS_MSGBUF_T Platform lacks struct msgbuf
- (e.g., NT and MSV).
-ACE_LACKS_MSYNC Platform lacks msync() (e.g.,
- Linux)
-ACE_LACKS_MUTEXATTR_PSHARED Platform lacks
- pthread_mutexattr_setpshared().
-ACE_LACKS_NAMED_POSIX_SEM Platform lacks named POSIX
- semaphores (e.g., Chorus)
-ACE_LACKS_NETDB_REENTRANT_FUNCTIONS Platform does not support
- reentrant netdb functions
- (getprotobyname_r,
- getprotobynumber_r,
- gethostbyaddr_r,
- gethostbyname_r,
- getservbyname_r).
-ACE_LACKS_NEW_H OS doesn't have, or we don't want to
- use, new.h.
-ACE_LACKS_NULL_PTHREAD_STATUS OS requires non-null status pointer
- for ::pthread_join ().
-ACE_LACKS_PARAM_H Platform lacks <sys/param.h>
- (e.g., MVS)
-ACE_LACKS_POSIX_PROTOTYPES Platform lacks POSIX
- prototypes for certain System
- V functions like shared memory
- and message queues.
-ACE_LACKS_PRAGMA_ONCE Compiler complains about #pragma once
-ACE_LACKS_PRI_T Platform lacks pri_t (e.g.,
- Tandem NonStop UNIX).
-ACE_LACKS_PTHREAD_CANCEL Platform lacks
- pthread_cancel().
-ACE_LACKS_PTHREAD_SIGMASK Platform lacks pthread_sigmask ().
-ACE_LACKS_PTHREAD_THR_SIGSETMASK Platform lacks
- pthread_thr_sigsetmask (e.g.,
- MVS, HP/UX, and OSF/1 3.2)
-ACE_LACKS_PWD_REENTRANT_FUNCTIONS Platform lacks getpwnam_r()
- methods (e.g., SGI 6.2).
-ACE_LACKS_QSORT Compiler/platform lacks the
- standard C library qsort()
- function
-ACE_LACKS_RAND_REENTRANT_FUNCTIONS Platform lacks rand_r()
-ACE_LACKS_READLINK Platform lacks the readlink() function.
-ACE_LACKS_READV Platform doesn't define readv,
- so use our own
-ACE_LACKS_RENAME Platform lacks rename().
-ACE_LACKS_RLIMIT Platform/compiler lacks
- {get,set}rlimit() function
- (e.g., VxWorks, Chorus, and
- SCO UNIX)
-ACE_LACKS_RLIMIT_PROTOTYPE Platform/compiler lacks
- {get,set}rlimit() prototypes
- (e.g., Tandem)
-ACE_LACKS_RTTI Compiler does not support
- dynamic_cast. Usually used
- with ACE_HAS_ANSI_CASTS.
-ACE_LACKS_READDIR_R Platform uses ACE_HAS_DIRENT
- but does not have readdir_r
- ().
-ACE_LACKS_RECVMSG Platform lacks recvmsg()
- (e.g., Linux)
-ACE_LACKS_RWLOCK_T Platform lacks readers/writer
- locks.
-ACE_LACKS_SBRK Platform lacks a working
- sbrk() (e.g., Win32 and
- VxWorks)
-ACE_LACKS_SEEKDIR Platform uses ACE_HAS_DIRENT
- but does not have seekdir ().
-ACE_LACKS_SEMBUF_T Platform lacks struct sembuf
- (e.g., Win32 and VxWorks)
-ACE_LACKS_SETDETACH Platform lacks
- pthread_attr_setdetachstate()
- (e.g., HP/UX 10.x)
-ACE_LACKS_SETSCHED Platform lacks
- pthread_attr_setsched()
- (e.g. MVS)
-ACE_LACKS_SIGACTION Platform lacks struct
- sigaction (e.g., Win32 and
- Chorus)
-ACE_LACKS_SIGNED_CHAR Platform lacks "signed char"
- type (broken!)
-ACE_LACKS_SIGSET Platform lacks signal sets
- (e.g., Chorus and Win32)
-ACE_LACKS_SOME_POSIX_PROTOTYPES Platform lacks POSIX
- prototypes for certain System
- V functions like shared memory
- and message queues.
-ACE_LACKS_NATIVE_STRPTIME Platform/compiler lacks the strptime()
- function.
-ACE_LACKS_STRRCHR Platform/compiler lacks
- strrchr () function.
-ACE_LACKS_WCSRCHR Platform/compiler lacks wcsrchr ()
- function
-ACE_LACKS_SYS_NERR Platforms/compiler lacks the
- sys_nerr variable (e.g.,
- VxWorks and MVS).
-ACE_LACKS_SYSTIME_H <time.h> doesn't automatically
- #include /**/ <sys/time.h>
-ACE_LACKS_SYSV_MSG_H Platform lacks sys/msg.h
- (e.g., Chorus and VxWorks)
-ACE_LACKS_SENDMSG Platform lacks sendmsg()
- (e.g., Linux)
-ACE_LACKS_SI_ADDR Platform lacks the si_addr
- field of siginfo_t (e.g.,
- VxWorks and HP/UX 10.x)
-ACE_LACKS_SYSV_SHMEM Platform lacks System V shared
- memory (e.g., Win32 and
- VxWorks)
-ACE_LACKS_SIGINFO_H Platform lacks the siginfo.h
- include file (e.g., MVS)
-ACE_LACKS_SOCKET_BUFSIZ Platform doesn't support
- SO_SNDBUF/SO_RCVBUF
-ACE_LACKS_SOCKETPAIR Platform lacks the
- socketpair() call (e.g., SCO
- UNIX)
-ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES Compiler doesn't support
- static data member templates
-ACE_LACKS_STRCASECMP Compiler/platform lacks
- strcasecmp() (e.g., DG/UX,
- UNIXWARE, VXWORKS)
-ACE_LACKS_STRRECVFD Platform doesn't define struct
- strrecvfd.
-ACE_LACKS_SYSCALL Platform doesn't have
- syscall() prototype
-ACE_LACKS_T_ERRNO Header files lack t_errno for
- TLI
-ACE_LACKS_TCP_H Platform doesn't have
- netinet/tcp.h
-ACE_LACKS_TCP_NODELAY OS does not support TCP_NODELAY.
-ACE_LACKS_TELLDIR Platform uses ACE_HAS_DIRENT
- but does not have telldir ().
-ACE_LACKS_THREAD_STACK_SIZE Platform lacks
- pthread_attr_setstacksize()
- (e.g., Linux pthreads)
-ACE_LACKS_TIMEDWAIT_PROTOTYPES MIT pthreads platform lacks
- the timedwait prototypes
-ACE_LACKS_TIMESPEC_T Platform does not define
- timepec_t as a typedef for
- struct timespec.
-ACE_LACKS_TRUNCATE Platform doesn't have truncate()
- (e.g., vxworks)
-ACE_LACKS_U_LONGLONG_T Platform does not have
- u_longlong_t typedef, and
- "sun" is defined.
-ACE_LACKS_UALARM_PROTOTYPE Platform/compiler lacks the
- ualarm() prototype (e.g.,
- Solaris)
-ACE_LACKS_CHAR_RIGHT_SHIFTS Compiler does not have any istream
- operator>> for chars, u_chars, or
- signed chars.
-ACE_LACKS_CHAR_STAR_RIGHT_SHIFTS Compiler does not have
- operator>> (istream &, u_char *) or
- operator>> (istream &, signed char *)
-ACE_LACKS_UCONTEXT_H Platform lacks the ucontext.h
- file
-ACE_LACKS_UNBUFFERED_STREAMBUF Platform lacks streambuf
- "unbuffered ()".
-ACE_LACKS_UNISTD_H Platform lacks the unistd.h
- file (e.g., VxWorks and Win32)
-ACE_LACKS_UNIX_DOMAIN_SOCKETS ACE platform has no UNIX
- domain sockets
-ACE_LACKS_UNIX_SIGNALS Platform lacks full signal
- support (e.g., Win32 and
- Chorus).
-ACE_LACKS_UTSNAME_T Platform lacks struct utsname
- (e.g., Win32 and VxWorks)
-ACE_LACKS_WILDCARD_BIND The bind() call will not
- select the port if it's 0.
-
-ACE_LACKS_WRITEV Platform doesn't define
- writev, so use our own
-
-ACE_NEEDS_DEV_IO_CONVERSION Necessary with some compilers
- to pass ACE_TTY_IO as
- parameter to DEV_Connector.
-ACE_NEEDS_FUNC_DEFINITIONS Compiler requires a definition
- for a "hidden" function, e.g.,
- a private, unimplemented copy
- constructor or assignment
- operator. The SGI C++
- compiler needs this, in
- template classes, with
- ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA.
-ACE_NEEDS_HUGE_THREAD_STACKSIZE Required by platforms with small default stacks.
-ACE_NEEDS_LWP_PRIO_SET OS has LWPs, and when the
- priority of a bound thread is
- set, then the LWP priority
- must be set also.
-ACE_NEEDS_SCHED_H Platform needs to #include
- <sched.h>
- to get thread scheduling
- defs.
-ACE_WSTRING_HAS_USHORT_SUPPORT If a platform has wchar_t as a separate type,
- then ACE_WString doesn't have a constructor that
- understands an ACE_USHORT16 string. So this
- macro enables one. (mostly used my ACE Name Space).
-----------------------------------------
-
-The following is a partial list of where some of these macros are used
-in the code. This list was originally compiled by Jam Hamidi
-(jh1@core01.osi.com). It is now hopelessly out of date. Hopefully,
-someone will come along and update it....
-
-ACE_HAS_ALLOCA:
----------------
-
- Used in:
- libsrc/IPC_SAP/SOCK_SAP/SOCK_Connect.C
- for allocation of iovp
-A
- libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Msg.C
- for alocation of iovp
-
- In solaris:
- alloca() allocates size bytes of space in the stack frame of
- the caller, and returns a pointer to the allocated block.
- This temporary space is automatically freed when the caller
- returns. Note: if the allocated block is beyond the current
- stack limit, the resulting behavior is undefined.
-
- In HPUX:
- no equivalent.
-
- Notes:
- in HPUX it has to do new and delete. Affects performance.
-
-
-ACE_HAS_AUTOMATIC_INIT_FINI:
-----------------------------
-
- Used in:
- libsrc/Service_Configurator/Service_Repository.i
- libsrc/Service_Configurator/Parse_Node.i
- include/Parse_Node.i
- include/Service_Repository.i
-
- In solaris:
- _init() initializes a loadable module. It is called before
- any other routine in a loadable module.
- _info() returns information about a loadable module.
- _fini() should return the return value from mod_remove(9F).
- This flag if set, doesn't do anything. If not set, forces
- _init() and _fini() to be executed as is:
- dlsym ((char *) handle, "_fini").
-
- In HPUX:
- don't set.
- Maybe have to look into shl_load( ), shl_definesym( ),
- shl_findsym( ), shl_gethandle( ), shl_getsymbols( ),
- shl_unload( ), shl_get( )(3X) - explicit load of shared libraries
- Means Service Configurator won't be available.
- TBA.
-
-
-ACE_HAS_CPLUSPLUS_HEADERS:
---------------------------
-
- Used In:
- ace/OS.h
-
- HPUX:
- set it.
-
- Notes:
- If this is not defined, libc.h and osfcn.h get included.
- Only needed for older compiler/OS platforms that don't
- provide standard C++ header files in /usr/include.
-
-ACE_HAS_HI_RES_TIMER:
----------------------
-
- Used In:
- libsrc/Misc/High_Res_Timer.h
- libsrc/Misc/High_Res_Timer.C
- include/High_Res_Timer.h
-
- In Solaris,
- C++ wrapper around gethrtime(), which returns a long long.
- gethrtime() returns the current high-resolution real time.
- Time is expressed as nanoseconds since some arbitrary time
- in the past; it is not correlated in any way to the time of
- day, and thus is not subject to resetting, drifting, etc.
-
- In HPUX
- look into: getclock(), reltimer(), getitimer()
- maybe even vtimes structure vm_utime, vm_stime ?
-
- Notes:
- TBA
-
-
-ACE_LACKS_T_ERRNO:
--------------------
-
- Used In:
- ace/OS.h
-
- HPUX:
- set it.
-
- Notes:
- if set, adds:
- extern int t_errno;
-
-
-ACE_HAS_POSIX_NONBLOCK:
------------------------
-
- Used in:
- ace/OS.h
-
- HPUX:
- set it.
-
- Notes:
- if defined, sets ACE_NONBLOCK and O_NONBLOCK
- O_NONBLOCK is used in libsrc/Misc/misc.C to do a
- fcntl (fd, F_SETFL, opt)
- ACE_NONBLOCK is used in libsrc/IPC_SAP/FIFO_SAP/FIFO_Recv.C in the
- disable member function and options passed to the open function
- in libsrc/IPC_SAP/FIFO_SAP/FIFO.C
-
-
-ACE_HAS_PROC_FS:
-----------------
-
- Used in:
- ace/OS.h
- libsrc/Misc/Profile_Timer.i
-
- Notes:
- if set, includes <sys/procfs.h>
- the PIOCUSAGE define is used in Profile_Timer.
-
- Solaris:
- procfs.h defines things for the prpsinfo structure (basically to
- do a "ps" from inside a program).
-
- HPUX:
- don't set: obviously a different mechanism.
- Look into /usr/include/sys/proc.h. The structure is proc. The
- pointer to the kernel's proc table may be obtained by
- extern struct proc *proc, *procNPROC;
- extern int nproc;
-
-
-ACE_HAS_PRUSAGE_T:
-------------------
-
- Used in:
- libsrc/Misc/Profile_Timer.h
- libsrc/Misc/Profile_Timer.C
-
- Notes:
- If defined, declares the Profile_Timer class that does start(),
- stop() and basically gets real_time, user_time, system_time for
- an interval.
- This stuff is highly non-portable.
-
- HPUX:
- don't set
-
-
-ACE_HAS_SEMUN:
---------------
-
- Used in:
- libsrc/Semaphores/Semaphore_Simple.h
-
- Notes:
- if not defined, defines semun as:
- union semun {
- int val; /* value for SETVAL */
- struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
- ushort *array; /* array for GETALL & SETALL */
- };
-
- HPUX:
- don't set.
- in /usr/include/sem.h:
- /* The fourth argument to semctl() varies depending on the value of
- its first argument. If desired, "union semun" can be declared
- by the user, but this is not necessary since the individual
- member can just be passed as the argument. */
-
-
-ACE_HAS_SIG_ATOMIC_T:
----------------------
-
- Used in:
- ace/OS.h
-
- Notes:
- if not defined, does a:
- typedef int sig_atomic_t;
- This is used in the Reactor and service configurator.
-
- HPUX:
- set it.
- in /usr/include/sys/signal.h:
- typedef unsigned int sig_atomic_t;
-
-
-ACE_HAS_SSIZE_T:
-----------------
-
- Used in:
- ace/OS.h
-
- Notes:
- if not defined, does a
- typedef int ssize_t;
- used mostly in IPC_SAP. (don't confuse with size_t).
-
- HPUX:
- set it.
- in /usr/include/sys/types.h
-
-
-ACE_HAS_STRBUF_T:
------------------
-
- Used in:
- include/Str_Buf.h
-
- Notes:
- if not defined, declares the strbuf structure as:
- struct strbuf
- {
- int maxlen; /* no. of bytes in buffer */
- int len; /* no. of bytes returned */
- void *buf; /* pointer to data */
- };
-
- Solaris:
- defined in /usr/include/sys/stropts.h
- Sys V.4 Streams.
- uses strbuf as parameter to putmsg, putpmsg:
- int putmsg(int fildes, const struct strbuf *ctlptr,
- const struct strbuf *dataptr, int flags);
-
- HPUX:
- don't set.
- no SYS V.4 streams.
-
-
-ACE_HAS_STREAMS:
-----------------
-
- Used In:
- ace/OS.h
- libsrc/IPC_SAP/SOCK_SAP/LSOCK.C
-
- Notes:
- if defined, includes <stropts.h>
-
- HPUX:
- don't set.
- no SYS V.4 streams.
-
-
-ACE_HAS_STREAM_PIPES:
----------------------
-
- Used in:
- libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Msg.h
- libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Msg.C
- libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Listener.h
- libsrc/IPC_SAP/SPIPE_SAP/SPIPE_Listener.C
- libsrc/IPC_SAP/SPIPE_SAP/SPIPE.h
- libsrc/IPC_SAP/SPIPE_SAP/SPIPE.C
- libsrc/IPC_SAP/FIFO_SAP/FIFO_Send_Msg.h
- libsrc/IPC_SAP/FIFO_SAP/FIFO_Send_Msg.C
- libsrc/IPC_SAP/FIFO_SAP/FIFO_Send_Msg.i
- libsrc/IPC_SAP/FIFO_SAP/FIFO_Recv_Msg.h
- libsrc/IPC_SAP/FIFO_SAP/FIFO_Recv_Msg.C
- libsrc/IPC_SAP/FIFO_SAP/FIFO_Recv_Msg.i
-
- Notes:
- if not set, won't be able to use the SPIPE class (IPC_SAP) with
- rendezvous handles.
-
- HPUX:
- don't set.
- No sysV.4 streams.
-
-
-ACE_HAS_STRERROR:
------------------
-
- Used in:
- ace/OS.h
-
- Notes:
- if not defined, does a:
- #define strerror(err) sys_errlist[err]
-
- Solaris:
- /usr/include/string.h
-
- HPUX:
- set it.
- in /usr/include/sys/errno.h and string.h
- extern char *strerror (int);
-
-
-ACE_HAS_SVR4_DYNAMIC_LINKING:
------------------------------
-
- Used in:
- ace/OS.h
- tests/Service_Configurator/CCM_App.C
-
- Notes:
- if defined, includes <dlfcn.h>
- with dlopen(), dlsym(), etc..
-
- HPUX:
- don't set.
- has its own:
- shl_findsym( ), shl_gethandle( ), shl_getsymbols( ),
- shl_unload( ), shl_get( )(3X) - explicit load of shared libraries
-
-
-ACE_HAS_SVR4_GETTIMEOFDAY:
---------------------------
-
- Used in:
- ace/OS.h
- libsrc/Reactor/Timer_Queue.i
-
- Notes:
- has to do with gettimeofday ().
-
- Solaris:
- gettimeofday (struct timeval *tp)
-
- HPUX:
- don't set.
- it has gettimeofday (struct timeval *tp, struct timezone *tzp);
- most calls do a:
- #if defined (ACE_HAS_SVR4_GETTIMEOFDAY)
- ::gettimeofday (&cur_time);
- #else
- ::gettimeofday (&cur_time, 0);
- #endif /* ACE_HAS_SVR4_GETTIMEOFDAY */
-
-
-ACE_HAS_POLL:
-------------
- Used in:
- ace/OS.h
-
- Notes:
- #if defined (ACE_HAS_POLL)
- #include /**/ <poll.h>
- #endif /* ACE_HAS_POLL */
-
-ACE_USE_POLL_IMPLEMENTATION:
-------------------
-
- Used in:
- ace/OS.h
-
- Notes:
- Use the poll() event demultiplexor rather than select().
-
- HPUX:
- set it.
-
-
-ACE_HAS_SVR4_SIGNAL_T:
-----------------------
-
- Used in:
- ace/OS.h
-
- Notes:
- #if defined (ACE_HAS_SVR4_SIGNAL_T)
- typedef void (*SignalHandler)(int);
- typedef void (*SignalHandlerV)(void);
- #elif defined (ACE_HAS_SIGNALHANDLERV_INT_ARG)
- typedef void (*SignalHandler)(int);
- typedef void (*SignalHandlerV)(int);
- #else
- #define SignalHandler SIG_PF
- typedef void (*SignalHandlerV)(...);
- #endif /* ACE_HAS_SVR4_SIGNAL_T */
-
- HPUX:
- set it.
-
-
-ACE_HAS_SVR4_TLI:
------------------
-
- Used in:
- libsrc/IPC_SAP/TLI_SAP/TLI.C
- libsrc/IPC_SAP/TLI_SAP/TLI.h
- libsrc/IPC_SAP/TLI_SAP/TLI_Stream.C
-
- Notes:
- TLI is the transport layer calls as in: t_bind(), t_open(), t_unbind(),
- t_optmgmt(), ... in SunOS and Solaris.
-
- HPUX:
- don't set.
- Not supported.
-
-
-ACE_HAS_SYS_FILIO_H:
---------------------
-
- Used in:
- ace/OS.h
-
- Notes:
- if not defined, includes <sys/filio.h>.
- didn't find any reference to anything in this file in the ACE code.
-
- Solaris:
- filio.h defines FIOCLEX, FIOASYNC, ... as _IO('f', 1), ..
- for FIOLFS,.. solaris has this to say:
- /*
- * ioctl's for Online: DiskSuite.
- * WARNING - the support for these ioctls may be withdrawn
- * in the future OS releases.
- */
-
- HPUX:
- <sys/ioctl.h> defines FIOASYNC and some other ones,
- <sgtty.h> defines some like FIOCLEX.
- some are never defined.
- use #ifdef HP-UX to modify sysincludes.h
-
-
-ACE_HAS_SYS_SIGLIST:
---------------------
-
- Used in:
- ace/OS.h
- libsrc/Log_Msg/Log_Msg.C
-
- Notes:
- if not defined, does a:
- extern const char **_sys_siglist;
-
- Solaris:
- This is an array holding signal descriptions.
-
- HPUX:
- don't set.
- Some additional work is required. In libsrc/Log_Msg/Log_Msg.C,
- sys_siglist is used regardless of ACE_HAS_SYS_SIGLIST.
- have to add #ifdefs to remove them.
-
-
-ACE_HAS_TEMPLATE_TYPEDEFS:
---------------------------
-
- Used in:
- libsrc/ASX/*.[Chi]
-
- Notes:
- cfront-based C++ compilers don't implement templates that support
- classes with typedefs of other types as formal arguments. This
- typedef uses the C++ preprocessor to work around this problem.
-
-ACE_HAS_THREADS:
-----------------
-
- Used in:
- libsrc/Service_Configurator/Svc_Conf.y.C
- libsrc/Service_Configurator/Thread_Spawn.i
- libsrc/Threads/Synch.C
- libsrc/Threads/Synch.i
- libsrc/Threads/Thr_Manager.i
- libsrc/ASX/STREAM.C
- libsrc/ASX/Queue.C
- libsrc/ASX/Module.C
- libsrc/ASX/Stream_Modules.C
- libsrc/ASX/Multiplexor.C
- libsrc/ASX/Message_List.C
- include/Message_List.h
- include/Module.h
- include/Multiplexor.h
- include/Queue.h
- include/STREAM.h
- include/Stream_Modules.h
- include/Service_Types.h
- include/Thread_Spawn.h
- include/Synch.h
- include/Thr_Manager.h
-
- Notes:
- We use Message_List.h even in a non-threaded environment.
- our XOMessageList.h does this by #ifdefs around Threaded things.
-
- HPUX:
- not until 10.0.
-
-
-ACE_HAS_THREAD_T:
------------------
-
- Used in:
- ace/OS.h
-
- Notes:
- #if !defined (ACE_HAS_THREAD_T)
- typedef int thread_t;
- #endif /* !ACE_HAS_THREAD_T */
-
- HPUX:
- don't set.
-
-
-ACE_HAS_TIMOD_H:
-----------------
-
- Used in:
- ace/OS.h
-
- Notes:
- if defined, include <sys/timod.h>
-
- Solaris:
- timod is a STREAMS module for use with the Transport Inter-
- face (TI) functions of the Network Services library. The
- timod module converts a set of ioctl(2) calls into STREAMS
- messages that may be consumed by a transport protocol pro-
- vider that supports the Transport Interface. This allows a
- user to initiate certain TI functions as atomic operations.
-
- HPUX:
- don't set.
-
-
-ACE_HAS_TIUSER_H:
------------------
-
- Used in:
- ace/OS.h
-
- Notes:
- if set, includes <tiuser.h>
-
- Solaris:
- in conjunction with t_bind, t_accept, etc.. transport layer.
-
- HPUX:
- don't set.
-
-
-ACE_USE_POLL_IMPLEMENTATION:
-----------------------------
-
- Used in:
- libsrc/Reactor/Reactor.i
- include/Event_Handler.h
- ace/OS.h
- include/Reactor.h
-
- Notes:
- in the reactor, use poll instead of select. In general,
- good thing to have set.