home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / qt3_emx.zip / mkspecs / aix-g++ / qplatformdefs.h < prev   
C/C++ Source or Header  |  2001-12-03  |  3KB  |  106 lines

  1. #ifndef QPLATFORMDEFS_H
  2. #define QPLATFORMDEFS_H
  3.  
  4. // Get Qt defines/settings
  5.  
  6. #include "qglobal.h"
  7.  
  8. // Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
  9.  
  10. #include <unistd.h>
  11.  
  12.  
  13. // We are hot - unistd.h should have turned on the specific APIs we requested
  14.  
  15.  
  16. #ifdef QT_THREAD_SUPPORT
  17. // uncomment if headers <sys/proc.h> is broken
  18. // typedef int crid_t;
  19. // typedef unsigned int class_id_t;
  20. #include <pthread.h>
  21. #endif
  22.  
  23. #include <dirent.h>
  24. #include <fcntl.h>
  25. #include <grp.h>
  26. #include <pwd.h>
  27. #include <signal.h>
  28. #include <strings.h> // AIX X11 headers define FD_ZERO using bzero()
  29.  
  30. #include <sys/types.h>
  31. #include <sys/ioctl.h>
  32. #include <sys/ipc.h>
  33. #include <sys/time.h>
  34. #include <sys/select.h>
  35. #include <sys/shm.h>
  36. #include <sys/socket.h>
  37. #include <sys/stat.h>
  38. #include <sys/wait.h>
  39.  
  40. // DNS header files are not fully covered by X/Open specifications.
  41. // In particular nothing is said about res_* :/
  42. // On AIX header files <netinet/in.h> and <arpa/nameser.h> are not
  43. // included by <resolv.h>. Note that <arpa/nameser.h> must be included
  44. // before <resolv.h>.
  45. #include <netinet/in.h>
  46. #define class c_class // AIX 4.3.1.0
  47. #include <arpa/nameser.h>
  48. #undef class
  49. #include <resolv.h>
  50.  
  51.  
  52. #define QT_STATBUF        struct stat
  53. #define QT_STATBUF4TSTAT    struct stat
  54. #define QT_STAT            ::stat
  55. #define QT_FSTAT        ::fstat
  56. #define QT_STAT_REG        S_IFREG
  57. #define QT_STAT_DIR        S_IFDIR
  58. #define QT_STAT_MASK        S_IFMT
  59. #define QT_STAT_LNK        S_IFLNK
  60. #define QT_FILENO        fileno
  61. #define QT_OPEN            ::open
  62. #define QT_CLOSE        ::close
  63. #define QT_LSEEK        ::lseek
  64. #define QT_READ            ::read
  65. #define QT_WRITE        ::write
  66. #define QT_ACCESS        ::access
  67. #define QT_GETCWD        ::getcwd
  68. #define QT_CHDIR        ::chdir
  69. #define QT_MKDIR        ::mkdir
  70. #define QT_RMDIR        ::rmdir
  71. #define QT_OPEN_RDONLY        O_RDONLY
  72. #define QT_OPEN_WRONLY        O_WRONLY
  73. #define QT_OPEN_RDWR        O_RDWR
  74. #define QT_OPEN_CREAT        O_CREAT
  75. #define QT_OPEN_TRUNC        O_TRUNC
  76. #define QT_OPEN_APPEND        O_APPEND
  77.  
  78. #define QT_SIGNAL_RETTYPE    void
  79. #define QT_SIGNAL_ARGS        int
  80. #define QT_SIGNAL_IGNORE    SIG_IGN
  81.  
  82. #ifdef _AIX43
  83. // AIX 4.3
  84. // The AIX 4.3 online documentation says 'size_t' but a user asked IBM
  85. // and they told him the documentation is wrong. And anyway 'socklen_t'
  86. // reportedly works for all AIX 4.3 users.
  87. #define QT_SOCKLEN_T        socklen_t
  88. #elif _AIX42
  89. // AIX 4.2
  90. #define QT_SOCKLEN_T        size_t
  91. #else
  92. // AIX 4.1
  93. #define QT_SOCKLEN_T        size_t
  94. // override
  95. #define QT_SOCKOPTLEN_T        int
  96. #endif
  97.  
  98. #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
  99. // AIX 4.3 and better only
  100. #define QT_SNPRINTF        ::snprintf
  101. #define QT_VSNPRINTF        ::vsnprintf
  102. #endif
  103.  
  104.  
  105. #endif // QPLATFORMDEFS_H
  106.