Eneboo - Documentación para desarrolladores
src/qt/mkspecs/solaris-g++/qplatformdefs.h
Ir a la documentación de este archivo.
00001 #ifndef QPLATFORMDEFS_H
00002 #define QPLATFORMDEFS_H
00003 
00004 // Get Qt defines/settings
00005 
00006 #include "qglobal.h"
00007 
00008 // Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
00009 #ifndef _POSIX_PTHREAD_SEMANTICS
00010 #define _POSIX_PTHREAD_SEMANTICS
00011 #endif
00012 
00013 #include <unistd.h>
00014 
00015 
00016 // We are hot - unistd.h should have turned on the specific APIs we requested
00017 
00018 
00019 #ifdef QT_THREAD_SUPPORT
00020 #include <pthread.h>
00021 #endif
00022 
00023 #include <dirent.h>
00024 #include <fcntl.h>
00025 #include <grp.h>
00026 #include <pwd.h>
00027 #include <signal.h>
00028 #include <dlfcn.h>
00029 
00030 #include <sys/types.h>
00031 #include <sys/ioctl.h>
00032 #include <sys/filio.h>
00033 #include <sys/ipc.h>
00034 #include <sys/time.h>
00035 #include <sys/shm.h>
00036 #include <sys/socket.h>
00037 #include <sys/stat.h>
00038 #include <sys/wait.h>
00039 
00040 // DNS header files are not fully covered by X/Open specifications.
00041 // In particular nothing is said about res_* :/
00042 // On Solaris header files <netinet/in.h> and <arpa/nameser.h> are not
00043 // included by <resolv.h>. Note that <arpa/nameser.h> must be included
00044 // before <resolv.h>.
00045 #include <netinet/in.h>
00046 #include <arpa/nameser.h>
00047 #include <resolv.h>
00048 
00049 
00050 #if !defined(QT_NO_COMPAT)
00051 #define QT_STATBUF              struct stat
00052 #define QT_STATBUF4TSTAT        struct stat
00053 #define QT_STAT                 ::stat
00054 #define QT_FSTAT                ::fstat
00055 #define QT_STAT_REG             S_IFREG
00056 #define QT_STAT_DIR             S_IFDIR
00057 #define QT_STAT_MASK            S_IFMT
00058 #define QT_STAT_LNK             S_IFLNK
00059 #define QT_FILENO               fileno
00060 #define QT_OPEN                 ::open
00061 #define QT_CLOSE                ::close
00062 #define QT_LSEEK                ::lseek
00063 #define QT_READ                 ::read
00064 #define QT_WRITE                ::write
00065 #define QT_ACCESS               ::access
00066 #define QT_GETCWD               ::getcwd
00067 #define QT_CHDIR                ::chdir
00068 #define QT_MKDIR                ::mkdir
00069 #define QT_RMDIR                ::rmdir
00070 #define QT_OPEN_RDONLY          O_RDONLY
00071 #define QT_OPEN_WRONLY          O_WRONLY
00072 #define QT_OPEN_RDWR            O_RDWR
00073 #define QT_OPEN_CREAT           O_CREAT
00074 #define QT_OPEN_TRUNC           O_TRUNC
00075 #define QT_OPEN_APPEND          O_APPEND
00076 #endif
00077 
00078 #define QT_SIGNAL_RETTYPE       void
00079 #define QT_SIGNAL_ARGS          int
00080 #define QT_SIGNAL_IGNORE        SIG_IGN
00081 
00082 #if !defined(_XOPEN_UNIX)
00083 // Function usleep() is defined in C library but not declared in header files
00084 // on Solaris 2.5.1. Not really a surprise, usleep() is specified by XPG4v2
00085 // and XPG4v2 is only supported by Solaris 2.6 and better.
00086 // Function gethostname() is defined in C library but not declared in <unistd.h>
00087 // on Solaris 2.5.1.
00088 // So we are trying to detect Solaris 2.5.1 using macro _XOPEN_UNIX which is
00089 // not defined by <unistd.h> when XPG4v2 is not supported.
00090 typedef unsigned int useconds_t;
00091 extern "C" int usleep(useconds_t);
00092 extern "C" int gethostname(char *, int);
00093 #endif
00094 
00095 #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500) && (_XOPEN_VERSION-0 >= 500)
00096 // on Solaris 7 and better with specific feature test macros
00097 #define QT_SOCKLEN_T            socklen_t
00098 #elif defined(_XOPEN_SOURCE_EXTENDED) && defined(_XOPEN_UNIX)
00099 // on Solaris 2.6 and better with specific feature test macros
00100 #define QT_SOCKLEN_T            size_t
00101 #else
00102 // always this case in practice
00103 #define QT_SOCKLEN_T            int
00104 #endif
00105 
00106 #if defined(_XOPEN_UNIX)
00107 // Supported by Solaris 2.6 and better.  XPG4v2 and XPG4v2 is also supported
00108 // by Solaris 2.6 and better.  So we are trying to detect Solaris 2.6 using
00109 // macro _XOPEN_UNIX which is not defined by <unistd.h> when XPG4v2 is not
00110 // supported.
00111 #define QT_SNPRINTF             ::snprintf
00112 #define QT_VSNPRINTF            ::vsnprintf
00113 #endif
00114 
00115 
00116 #endif // QPLATFORMDEFS_H
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'