diff options
Diffstat (limited to 'ACE/ace/config-mqx.h')
-rw-r--r-- | ACE/ace/config-mqx.h | 509 |
1 files changed, 509 insertions, 0 deletions
diff --git a/ACE/ace/config-mqx.h b/ACE/ace/config-mqx.h new file mode 100644 index 00000000000..da4c5b2ab3b --- /dev/null +++ b/ACE/ace/config-mqx.h @@ -0,0 +1,509 @@ +#ifndef CONFIG_MQX_H +#define CONFIG_MQX_H + +// This macro is required in order to build the SOCK_Connector_Test +#define ACE_LACKS_GETHOSTENT + +#if defined(ACE_MQX_DLIB_FULL) +# define MQX_SUPPRESS_FILE_DEF 1 +# define MQX_SUPPRESS_STDIO_MACROS 1 +#endif + +#define MQX_STD_TIME_API 0 + +#include <time32.h> +#define _SIGNAL + +#include <mfs.h> +#include <rtcs.h> +#include <mutex.h> +#include <fio.h> + +// These headers do not have the proper guards for C++ +extern "C" { +// Allowing p_time.h to be included causes conflicts +// with time.h +#define __p_time_h__ + +#include <sys_types.h> +#include <p_pthread.h> +#include <p_signal.h> +#include <p_semaphore.h> +} + +#if MQX_STD_TIME_API == 0 +# define ACE_LACKS_LOCALTIME_R +#endif + +#if !defined (ACE_DEFAULT_MAP_SIZE) +# define ACE_DEFAULT_MAP_SIZE 64 +#endif /* ACE_DEFAULT_MAP_SIZE */ + +#if !defined (ACE_MAXLOGMSGLEN) +# define ACE_MAXLOGMSGLEN 1024 +#endif /* ACE_MAXLOGMSGLEN */ + +#if !defined (ACE_DEFAULT_ACCEPTOR_USE_SELECT) +# define ACE_DEFAULT_ACCEPTOR_USE_SELECT 0 +#endif /* ACE_DEFAULT_ACCEPTOR_USE_SELECT */ + +#define ACE_CHDIR_EQUIVALENT MQX_Filesystem::inst().chdir +#define ACE_RMDIR_EQUIVALENT MQX_Filesystem::inst().rmdir +#define ACE_GETCWD_EQUIVALENT MQX_Filesystem::inst().getcwd +#define ACE_UNLINK_EQUIVALENT MQX_Filesystem::inst().unlink +#define ACE_MKDIR_EQUIVALENT MQX_Filesystem::inst().mkdir +#define ACE_RENAME_EQUIVALENT MQX_Filesystem::inst().rename + +#define ACE_MQX +#define ACE_TEMPLATES_REQUIRE_SOURCE +#define ACE_PAGE_SIZE 4096 +#define ACE_SOCKET_LEN uint16_t +#define ACE_SOCKOPT_LEN socklen_t +typedef int SOCKET; + +#define ACE_UNUSED_ARG(X) + +// Add a check for null pointer before calling free(). This is not +// completely necessary, but MQX will set a task error of MQX_INVALID_POINTER +// if we call free with a null pointer. +#define ACE_FREE_FUNC(X) if ((X) != 0) ::free(X) + +#define ACE_USES_SOCKET_H + +#define ACE_LACKS_SIGINFO_H +#define ACE_LACKS_NEW_H +#define ACE_LACKS_UNISTD_H +#define ACE_LACKS_FCNTL_H +#define ACE_LACKS_UCONTEXT_H +#define ACE_LACKS_SEARCH_H +#define ACE_LACKS_PWD_H +#define ACE_LACKS_PTHREAD_H +#define ACE_LACKS_SCHED_H +#define ACE_LACKS_SEMAPHORE_H +#define ACE_LACKS_STROPTS_H +#define ACE_LACKS_DLFCN_H +#define ACE_LACKS_NETDB_H +#define ACE_LACKS_DIRENT_H +#define ACE_LACKS_STRINGS_H +#define ACE_LACKS_SYSLOG_H +#define ACE_LACKS_POLL_H +#define ACE_LACKS_REGEX_H + +#define ACE_LACKS_SYS_TYPES_H +#define ACE_LACKS_SYS_STAT_H +#define ACE_LACKS_SYS_PARAM_H +#define ACE_LACKS_SYS_TIME_H +#define ACE_LACKS_SYS_RESOURCE_H +#define ACE_LACKS_SYS_WAIT_H +#define ACE_LACKS_SYS_UTSNAME_H +#define ACE_LACKS_SYS_MMAN_H +#define ACE_LACKS_SYS_IPC_H +#define ACE_LACKS_SYS_SEM_H +#define ACE_LACKS_SYS_UIO_H +#define ACE_LACKS_SYS_SOCKET_H +#define ACE_LACKS_SYS_IOCTL_H +#define ACE_LACKS_SYS_SELECT_H +#define ACE_LACKS_SYS_UN_H +#define ACE_LACKS_SYS_MSG_H +#define ACE_LACKS_SYS_SHM_H +#define ACE_LACKS_SYS_SYSCTL_H + +#define ACE_LACKS_NETINET_IN_H +#define ACE_LACKS_NETINET_TCP_H +#define ACE_LACKS_NET_IF_H +#define ACE_LACKS_ARPA_INET_H + +#define ACE_HAS_THREADS +#define ACE_HAS_PTHREADS +#define ACE_LACKS_COND_T +#define ACE_LACKS_RWLOCK_T +#define ACE_MT_SAFE 1 +#define ACE_LACKS_SIGPROCMASK +#define ACE_LACKS_CONDATTR +#define ACE_LACKS_PTHREAD_CLEANUP +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_POSIX_SEM +#define ACE_HAS_POSIX_SEM_TIMEOUT +#define ACE_LACKS_PTHREAD_CANCEL +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_LACKS_NAMED_POSIX_SEM +#define ACE_DEFAULT_SEM_KEY { 1234 } +// MQX POSIX has this, but it doesn't appear to work +#define ACE_LACKS_SETINHERITSCHED +typedef pthread_mutex_t ACE_mutex_t; +typedef pthread_mutexattr_t ACE_mutexattr_t; + +#if !defined(ACE_MQX_DLIB_FULL) +#define ACE_LACKS_FGETWC +#define ACE_LACKS_FGETWS +#define ACE_LACKS_FPUTWS +#define ACE_LACKS_FGETPOS +#define ACE_LACKS_FSETPOS +#define ACE_LACKS_FREOPEN +#define ACE_LACKS_FDOPEN +#define ACE_LACKS_FILENO +#define ACE_LACKS_LOCALECONV + +#define BUFSIZ 512 + +#undef ungetc +#undef sscanf +#undef snprintf +#undef vsnprintf +#undef getchar +#undef putchar +#undef status + +#define getc(X) _io_fgetc(X) +#define ungetc(X,Y) _io_fungetc(X,Y) + +#ifdef fgetc +#undef fgetc +inline int fgetc(FILE* f) { + return _io_fgetc(f); +} +#endif +#ifdef fread +#undef fread +inline size_t fread(void* ptr, size_t so, size_t no,FILE* f) { + return (_io_read((f),(ptr),(so)*(no))/(so)); +} +#endif +#ifdef fwrite +#undef fwrite +inline size_t fwrite(const void* ptr, size_t so, size_t no, FILE* f) { + return (_io_write((f),(void*)(ptr),(so)*(no))/(so)); +} +#endif +#ifdef puts +#undef puts +#define def_puts +#endif +#ifdef getline +#undef getline +inline int getline(char* x, int y) { + return _io_fgetline(stdin, x, y); +} +#endif +#ifdef read +#undef read +inline int read(FILE* f, const void* b, int a) { + return _io_read(f, (void*)b, a); +} +#endif +#ifdef write +#undef write +inline int write(FILE* f, void* b, int a) { + return _io_write(f, b, a); +} +#endif +#ifdef printf +#undef printf +#define def_printf +#endif +#ifdef sprintf +#undef sprintf +#define def_sprintf +#endif +#ifdef fprintf +#undef fprintf +inline int fprintf(FILE* s, const char* f, ...) { + va_list argp; + va_start(argp, f); + const int r = _io_vfprintf(s, f, argp); + va_end (argp); + return r; +} +#endif +#ifdef vprintf +#undef vprintf +#define def_vprintf +#endif +#ifdef vsprintf +#undef vsprintf +#define def_vsprintf +#endif +#ifdef vfprintf +#undef vfprintf +inline int vfprintf(FILE* s, const char* f, va_list argp) { + return _io_vfprintf(s, f, argp); +} +#endif +#ifdef fclose +#undef fclose +inline int fclose(FILE* f) { + return _io_fclose(f); +} +#endif +#ifdef fflush +#undef fflush +inline int fflush(FILE* f) { + return _io_fflush(f); +} +#endif +#ifdef fgets +#undef fgets +inline char* fgets(char* b, int a, FILE* f) { + return _io_fgets(b, a, f); +} +#endif +#ifdef fputs +#undef fputs +inline int fputs(const char* s, FILE* f) { + return _io_fputs(s, f); +} +#endif +#ifdef fopen +#undef fopen +inline FILE* fopen(const char* f, const char* m) { + return _io_fopen(f, m); +} +#endif +#ifdef fseek +#undef fseek +inline int fseek(FILE* f, long o, int s) { + return _io_fseek(f, o, s); +} +#endif +#ifdef ftell +#undef ftell +inline int ftell(FILE* f) { + return _io_ftell(f); +} +#endif +#ifdef ioctl +#undef ioctl +inline int ioctl(FILE* f, unsigned int r, void* p) +{ + return _io_ioctl(f, r, p); +} +#endif + +#include <stdio.h> + +#ifdef def_printf +#undef def_printf +inline int printf(const char* f, ...) { + va_list argp; + va_start(argp, f); + const int r = _io_vprintf(f, argp); + va_end (argp); + return r; +} +#endif +#ifdef def_sprintf +#undef def_sprintf +inline int sprintf(char* s, const char* f, ...) { + va_list argp; + va_start(argp, f); + const int r = _io_vsprintf(s, f, argp); + va_end (argp); + return r; +} +#endif +#ifdef def_vprintf +#undef def_vprintf +inline int vprintf(const char* f, va_list argp) { + return _io_vprintf(f, argp); +} +#endif +#ifdef def_vsprintf +#undef def_vsprintf +inline int vsprintf(char* s, const char* f, va_list argp) { + return _io_vsprintf(s, f, argp); +} +#endif +#ifdef def_puts +#undef def_puts +inline int puts(const char* str) { + return _io_fputs(str, stdout); +} +#endif +#endif + +#define ACE_HAS_LINGER_MS +#define ACE_HAS_WCHAR +#define ACE_SIZEOF_WCHAR 4 +#define ACE_HAS_SSIZE_T +#define ACE_HAS_SIG_ATOMIC_T +#define ACE_HAS_POSIX_TIME +#define ACE_HAS_SOCKLEN_T +#define ACE_HAS_DIRENT + +#define ACE_NEW_THROWS_EXCEPTIONS +#define ACE_USES_STD_NAMESPACE_FOR_STDCPP_LIB +#define ACE_TEXT_WIN32_FIND_DATA MFS_SEARCH_DATA + +#define ACE_LACKS_UNIX_SIGNALS +#define ACE_LACKS_SO_DONTROUTE +#define ACE_LACKS_WCSDUP +#define ACE_LACKS_WCSTOK +#define ACE_LACKS_ITOW +#define ACE_LACKS_WCSICMP +#define ACE_LACKS_WCSNICMP +#define ACE_LACKS_INET_NTOA +#define ACE_LACKS_RAND_R +#define ACE_LACKS_PUTENV +#define ACE_LACKS_PWD_FUNCTIONS +#define ACE_LACKS_SETSID +#define ACE_LACKS_SETGID +#define ACE_LACKS_GETEGID +#define ACE_LACKS_GETGID +#define ACE_LACKS_GETEUID +#define ACE_LACKS_SETEGID +#define ACE_LACKS_SETEUID +#define ACE_LACKS_SETREUID +#define ACE_LACKS_SETREGID +#define ACE_LACKS_SETUID +#define ACE_LACKS_GETUID +#define ACE_LACKS_GETPGID +#define ACE_LACKS_SETPGID +#define ACE_LACKS_GETPPID +#define ACE_LACKS_GETPID +#define ACE_LACKS_EXEC +#define ACE_LACKS_FORK +#define ACE_LACKS_GETOPT +#define ACE_LACKS_SBRK +#define ACE_LACKS_PIPE +#define ACE_DISABLE_NOTIFY_PIPE_DEFAULT 1 +#define ACE_LACKS_ISATTY +#define ACE_LACKS_ALARM +#define ACE_LACKS_SYSCONF +#define ACE_LACKS_SWAB +#define ACE_LACKS_CADDR_T +#define ACE_LACKS_SETENV +#define ACE_LACKS_UNSETENV +#define ACE_LACKS_CUSERID +#define ACE_LACKS_MADVISE +#define ACE_LACKS_MMAP +#define ACE_LACKS_MPROTECT +#define ACE_LACKS_MSYNC +#define ACE_LACKS_MUNMAP +#define ACE_LACKS_STRPTIME +#define ACE_LACKS_GMTIME_R +#define ACE_LACKS_ASCTIME_R +#define ACE_LACKS_TZSET +#define ACE_LACKS_IOVEC +#define ACE_LACKS_ISASCII +#define ACE_LACKS_ISCTYPE +#define ACE_LACKS_READV +#define ACE_LACKS_WRITEV +#define ACE_LACKS_RECVMSG +#define ACE_LACKS_SENDMSG +#define ACE_LACKS_SOCKETPAIR +#define ACE_LACKS_GETHOSTBYADDR +#define ACE_LACKS_GETHOSTBYADDR_R +#define ACE_LACKS_GETHOSTBYNAME +#define ACE_LACKS_GETSERVBYNAME +#define ACE_LACKS_GETSERVBYNAME_R +#define ACE_LACKS_GAI_STRERROR +#define ACE_LACKS_GETPROTOBYNUMBER +#define ACE_LACKS_GETPROTOBYNUMBER_R +#define ACE_LACKS_GETPROTOBYNAME +#define ACE_LACKS_GETPROTOBYNAME_R +#define ACE_LACKS_STRUCT_DIR +#define ACE_LACKS_HOSTENT +#define ACE_LACKS_PROTOENT +#define ACE_LACKS_SERVENT +#define ACE_LACKS_RLIMIT +#define ACE_LACKS_WAIT +#define ACE_LACKS_WAITPID +#define ACE_LACKS_SIGEMPTYSET +#define ACE_LACKS_SIGADDSET +#define ACE_LACKS_IOSTREAM_TOTALLY +#define ACE_LACKS_ACE_IOSTREAM +#define ACE_LACKS_UNIX_SYSLOG +#define ACE_LACKS_UNAME +#define ACE_LACKS_IFCONF +#define ACE_LACKS_IFREQ +#define ACE_LACKS_STRRECVFD +#define ACE_MKDIR_LACKS_MODE + +// POSIX +#define ACE_HAS_PTHREAD_SIGMASK_PROTOTYPE +#define ACE_LACKS_SEMBUF_T +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS +#define ACE_LACKS_KILL +#define NSIG 64 +#define FD_SETSIZE RTCSCFG_FD_SETSIZE +#define FD_SET RTCS_FD_SET +#define FD_CLR RTCS_FD_CLR +#define FD_ZERO RTCS_FD_ZERO +#define FD_ISSET RTCS_FD_ISSET +#define NFDBITS (sizeof (fd_mask) * 8) +typedef long fd_mask; +struct fd_set: public rtcs_fd_set { + fd_set() + : fds_bits(fd_array) { + } + uint32_t* fds_bits; +}; + +// File System Related +#define ACE_LACKS_MKTEMP +#define ACE_LACKS_MKSTEMP +#define ACE_LACKS_ACCESS +#define ACE_LACKS_REALPATH +#define ACE_LACKS_LSTAT +#define ACE_LACKS_MKFIFO +#define ACE_LACKS_UMASK +#define ACE_LACKS_DUP +#define ACE_LACKS_DUP2 +#define ACE_LACKS_FSYNC +#define ACE_LACKS_FTRUNCATE +#define ACE_LACKS_READLINK +#define ACE_LACKS_TRUNCATE +#define ACE_LACKS_TEMPNAM +#define ACE_LACKS_FCNTL +#define ACE_LACKS_REWINDDIR +#define ACE_LACKS_OPENDIR +#define ACE_LACKS_READDIR +#define ACE_LACKS_SEEKDIR +#define ACE_LACKS_TELLDIR +#define ACE_LACKS_CLOSEDIR +#define ACE_LACKS_ALPHASORT + +#define ACE_DEFINE_MISSING_ERRNOS + +#define O_NDELAY 1 + +struct stat +{ + long st_size; + long st_mtime; + long st_mode; + long st_nlink; +}; + +typedef unsigned int uid_t; +typedef unsigned int gid_t; +typedef long off_t; +typedef long loff_t; +typedef unsigned int mode_t; +typedef struct timespec timespec_t; + +struct timeval +{ + int tv_sec; + suseconds_t tv_usec; +}; + +#define MAXSYMLINKS 1 + +#define FIONBIO 0 + +#define S_IFMT 00170000 +#define S_IFREG 00100000 +#define S_IFDIR 00040000 +#define S_IFCHR 00020000 +#define ACE_LACKS_MODE_MASKS + +#define IP_TTL 0 +#define IP_TOS 0 + +#define ACE_IPPROTO_TCP SOL_TCP +#define TCP_NODELAY OPT_NOWAIT + +#endif + |