mkspecs/solaris-g++/qplatformdefs.h
branchGCC_SURGE
changeset 31 5daf16870df6
parent 30 5dc02b23752f
equal deleted inserted replaced
27:93b982ccede2 31:5daf16870df6
    77 #include <netinet/in.h>
    77 #include <netinet/in.h>
    78 #ifndef QT_NO_IPV6IFNAME
    78 #ifndef QT_NO_IPV6IFNAME
    79 #include <net/if.h>
    79 #include <net/if.h>
    80 #endif
    80 #endif
    81 
    81 
       
    82 #define QT_USE_XOPEN_LFS_EXTENSIONS
       
    83 #include "../common/posix/qplatformdefs.h"
       
    84 
       
    85 #undef QT_SOCKLEN_T
       
    86 #undef QT_SOCKET_CONNECT
       
    87 #undef QT_SOCKET_BIND
       
    88 
       
    89 #define QT_SOCKET_CONNECT       qt_socket_connect
       
    90 #define QT_SOCKET_BIND          qt_socket_bind
       
    91 
    82 #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500) && (_XOPEN_VERSION-0 >= 500)
    92 #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE-0 >= 500) && (_XOPEN_VERSION-0 >= 500)
    83 // Solaris 7 and better with specific feature test macros
    93 // Solaris 7 and better with specific feature test macros
    84 #define QT_SOCKLEN_T            socklen_t
    94 #define QT_SOCKLEN_T            socklen_t
    85 #elif defined(_XOPEN_SOURCE_EXTENDED) && defined(_XOPEN_UNIX)
    95 #elif defined(_XOPEN_SOURCE_EXTENDED) && defined(_XOPEN_UNIX)
    86 // Solaris 2.6 and better with specific feature test macros
    96 // Solaris 2.6 and better with specific feature test macros
   102 { return ::bind(s, addr, addrlen); }
   112 { return ::bind(s, addr, addrlen); }
   103 #if defined(bind)
   113 #if defined(bind)
   104 # undef bind
   114 # undef bind
   105 #endif
   115 #endif
   106 
   116 
   107 #ifdef QT_LARGEFILE_SUPPORT
       
   108 #define QT_STATBUF              struct stat64
       
   109 #define QT_STATBUF4TSTAT        struct stat64
       
   110 #define QT_STAT                 ::stat64
       
   111 #define QT_FSTAT                ::fstat64
       
   112 #define QT_LSTAT                ::lstat64
       
   113 #define QT_OPEN                 ::open64
       
   114 #define QT_TRUNCATE             ::truncate64
       
   115 #define QT_FTRUNCATE            ::ftruncate64
       
   116 #define QT_LSEEK                ::lseek64
       
   117 #else
       
   118 #define QT_STATBUF		struct stat
       
   119 #define QT_STATBUF4TSTAT	struct stat
       
   120 #define QT_STAT			::stat
       
   121 #define QT_FSTAT		::fstat
       
   122 #define QT_LSTAT		::lstat
       
   123 #define QT_OPEN                 ::open
       
   124 #define QT_TRUNCATE             ::truncate
       
   125 #define QT_FTRUNCATE            ::ftruncate
       
   126 #define QT_LSEEK                ::lseek
       
   127 #endif
       
   128 
       
   129 #ifdef QT_LARGEFILE_SUPPORT
       
   130 #define QT_FOPEN                ::fopen64
       
   131 #define QT_FSEEK                ::fseeko64
       
   132 #define QT_FTELL                ::ftello64
       
   133 #define QT_FGETPOS              ::fgetpos64
       
   134 #define QT_FSETPOS              ::fsetpos64
       
   135 #define QT_MMAP                 ::mmap64
       
   136 #define QT_FPOS_T               fpos64_t
       
   137 #define QT_OFF_T                off64_t
       
   138 #else
       
   139 #define QT_FOPEN                ::fopen
       
   140 #define QT_FSEEK                ::fseek
       
   141 #define QT_FTELL                ::ftell
       
   142 #define QT_FGETPOS              ::fgetpos
       
   143 #define QT_FSETPOS              ::fsetpos
       
   144 #define QT_MMAP                 ::mmap
       
   145 #define QT_FPOS_T               fpos_t
       
   146 #define QT_OFF_T                long
       
   147 #endif
       
   148 
       
   149 #define QT_STAT_REG		S_IFREG
       
   150 #define QT_STAT_DIR		S_IFDIR
       
   151 #define QT_STAT_MASK		S_IFMT
       
   152 #define QT_STAT_LNK		S_IFLNK
       
   153 #define QT_SOCKET_CONNECT	qt_socket_connect
       
   154 #define QT_SOCKET_BIND		qt_socket_bind
       
   155 #define QT_FILENO		fileno
       
   156 #define QT_CLOSE                ::close
       
   157 #define QT_READ			::read
       
   158 #define QT_WRITE		::write
       
   159 #define QT_ACCESS		::access
       
   160 #define QT_GETCWD		::getcwd
       
   161 #define QT_CHDIR		::chdir
       
   162 #define QT_MKDIR		::mkdir
       
   163 #define QT_RMDIR		::rmdir
       
   164 #define QT_OPEN_LARGEFILE       O_LARGEFILE
       
   165 #define QT_OPEN_RDONLY		O_RDONLY
       
   166 #define QT_OPEN_WRONLY		O_WRONLY
       
   167 #define QT_OPEN_RDWR		O_RDWR
       
   168 #define QT_OPEN_CREAT		O_CREAT
       
   169 #define QT_OPEN_TRUNC		O_TRUNC
       
   170 #define QT_OPEN_APPEND		O_APPEND
       
   171 
       
   172 #define QT_SIGNAL_RETTYPE	void
       
   173 #define QT_SIGNAL_ARGS		int
       
   174 #define QT_SIGNAL_IGNORE	SIG_IGN
       
   175 
       
   176 #if !defined(_XOPEN_UNIX)
   117 #if !defined(_XOPEN_UNIX)
   177 // Solaris 2.5.1
   118 // Solaris 2.5.1
   178 // Function usleep() is defined in C library but not declared in header files
   119 // Function usleep() is defined in C library but not declared in header files
   179 // on Solaris 2.5.1. Not really a surprise, usleep() is specified by XPG4v2
   120 // on Solaris 2.5.1. Not really a surprise, usleep() is specified by XPG4v2
   180 // and XPG4v2 is only supported by Solaris 2.6 and better.
   121 // and XPG4v2 is only supported by Solaris 2.6 and better.