mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-29 00:23:48 +00:00
510 lines
11 KiB
C
510 lines
11 KiB
C
#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
|
|
|