xincs.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef XINCS_H
00025 #define XINCS_H
00026
00027
00028
00029
00030
00031 #ifndef _POSIX_PTHREAD_SEMANTICS
00032 #define _POSIX_PTHREAD_SEMANTICS
00033 #endif
00034
00035
00036 #ifndef _GNU_SOURCE
00037 #define _GNU_SOURCE
00038 #endif
00039
00040
00041 #ifndef WIN32
00042 #ifndef _FILE_OFFSET_BITS
00043 #define _FILE_OFFSET_BITS 64
00044 #endif
00045 #endif
00046
00047
00048 #include <stdio.h>
00049 #include <stdlib.h>
00050 #include <stdarg.h>
00051 #include <limits.h>
00052 #include <math.h>
00053 #include <float.h>
00054 #include <string.h>
00055 #include <errno.h>
00056 #include <signal.h>
00057 #include <time.h>
00058 #include <ctype.h>
00059 #include <locale.h>
00060 #include <fcntl.h>
00061 #include <sys/types.h>
00062 #include <sys/stat.h>
00063
00064 #ifndef WIN32
00065
00066 #include <grp.h>
00067 #include <pwd.h>
00068 #include <sys/ioctl.h>
00069 #ifdef HAVE_SYS_FILIO_H // Get FIONREAD on Solaris
00070 #include <sys/filio.h>
00071 #endif
00072 #else
00073
00074 #include <io.h>
00075 #if defined(_MSC_VER) || defined(__WATCOMC__) // Microsoft Visual C++ or Watcom C++
00076 #include <direct.h>
00077 #define stat _stat
00078 #define lstat _stat
00079 #define getcwd _getcwd
00080 #define mkdir _mkdir
00081 #define access _access
00082 #define vsnprintf _vsnprintf
00083 #define execl _execl
00084 #define execlp _execlp
00085 #define execle _execle
00086 #define execv _execv
00087 #define execve _execve
00088 #define execvp _execvp
00089 #define strdup _strdup
00090 #endif
00091 #ifdef __BORLANDC__ // Borland C++ Builder
00092 #include <dir.h>
00093 #if __BORLANDC__ <= 0x0530 // C++ Builder 3.0
00094 #define vsnprintf(a, b, c, d) vsprintf(a, c, d)
00095 #endif
00096 #define lstat stat
00097 #endif
00098 #ifdef __MINGW32__ // GCC MingW32
00099 #include <direct.h>
00100 #define vsnprintf _vsnprintf
00101 #endif
00102 #ifdef __SC__ // Digital Mars C++ Compiler
00103 #include <direct.h>
00104 #include <io.h>
00105 #define vsnprintf _vsnprintf
00106 #endif
00107
00108 #endif
00109
00110 #ifdef HAVE_UNISTD_H
00111 #include <unistd.h>
00112 #endif
00113 #ifdef HAVE_SYS_WAIT_H
00114 #include <sys/wait.h>
00115 #endif
00116 #ifdef TIME_WITH_SYS_TIME
00117 #include <sys/time.h>
00118 #include <time.h>
00119 #else
00120 #ifdef HAVE_SYS_TIME_H
00121 #include <sys/time.h>
00122 #else
00123 #include <time.h>
00124 #endif
00125 #endif
00126 #ifdef HAVE_SYS_PARAM_H
00127 #include <sys/param.h>
00128 #endif
00129 #ifdef HAVE_SYS_SELECT_H
00130 #if (!defined(__MINGW32__)) && (!defined(hpux))
00131 #include <sys/select.h>
00132 #endif
00133 #endif
00134 #ifdef HAVE_DIRENT_H
00135 #include <dirent.h>
00136 #define NAMLEN(dirent) strlen((dirent)->d_name)
00137 #else
00138 #define dirent direct
00139 #define NAMLEN(dirent) (dirent)->d_namlen
00140 #ifdef HAVE_SYS_NDIR_H
00141 #include <sys/ndir.h>
00142 #endif
00143 #ifdef HAVE_SYS_DIR_H
00144 #include <sys/dir.h>
00145 #endif
00146 #ifdef HAVE_NDIR_H
00147 #include <ndir.h>
00148 #endif
00149 #endif
00150 #ifdef HAVE_XSHM_H
00151 #include <sys/ipc.h>
00152 #include <sys/shm.h>
00153 #endif
00154 #ifdef HAVE_MMAP
00155 #include <sys/mman.h>
00156 #endif
00157
00158
00159
00160
00161 #ifdef HAVE_DIRENT_H
00162 #ifndef WIN32
00163 struct fxdirent : dirent {
00164 char buffer[256];
00165 };
00166 #endif
00167 #endif
00168
00169
00170
00171 #ifdef WIN32
00172 #ifndef STRICT
00173 #define STRICT
00174 #endif
00175 #ifndef WIN32_LEAN_AND_MEAN
00176 #define WIN32_LEAN_AND_MEAN
00177 #endif
00178 #include <windows.h>
00179 #ifndef __CYGWIN__
00180 #include <winsock2.h>
00181 #endif
00182 #include <commctrl.h>
00183
00184
00185 #else
00186 #include <X11/X.h>
00187 #include <X11/Xlib.h>
00188 #include <X11/Xcms.h>
00189 #include <X11/Xutil.h>
00190 #include <X11/Xresource.h>
00191 #include <X11/Xatom.h>
00192 #include <X11/cursorfont.h>
00193 #ifdef HUMMINGBIRD
00194 #include <X11/XlibXtra.h>
00195 #endif
00196 #ifdef HAVE_XSHM_H
00197 #include <X11/extensions/XShm.h>
00198 #endif
00199 #ifdef HAVE_XCURSOR_H
00200 #include <X11/Xcursor/Xcursor.h>
00201 #endif
00202 #ifdef HAVE_XFT_H
00203 #include <X11/Xft/Xft.h>
00204 #endif
00205 #ifdef HAVE_XSHAPE_H
00206 #include <X11/extensions/shape.h>
00207 #endif
00208 #ifdef HAVE_XRANDR_H
00209 #include <X11/extensions/Xrandr.h>
00210 #endif
00211 #ifndef XlibSpecificationRelease // Not defined until X11R5
00212 #define NO_XIM
00213 #elif XlibSpecificationRelease < 6 // Need at least Xlib X11R6
00214 #define NO_XIM
00215 #endif
00216 #endif
00217
00218
00219
00220 #ifdef HAVE_GL_H
00221 #ifndef SUN_OGL_NO_VERTEX_MACROS
00222 #define SUN_OGL_NO_VERTEX_MACROS
00223 #endif
00224 #ifndef HPOGL_SUPPRESS_FAST_API
00225 #define HPOGL_SUPPRESS_FAST_API
00226 #endif
00227 #include <GL/gl.h>
00228 #ifndef WIN32
00229 #include <GL/glx.h>
00230 #endif
00231 #endif
00232 #ifndef GLAPIENTRY
00233 #define GLAPIENTRY
00234 #endif
00235 #ifndef GLAPI
00236 #define GLAPI
00237 #endif
00238 #ifdef HAVE_GLU_H
00239 #include <GL/glu.h>
00240 #endif
00241
00242
00243 #ifndef MAXPATHLEN
00244 #if defined(PATH_MAX)
00245 #define MAXPATHLEN PATH_MAX
00246 #elif defined(_MAX_PATH)
00247 #define MAXPATHLEN _MAX_PATH
00248 #elif defined(MAX_PATH)
00249 #define MAXPATHLEN MAX_PATH
00250 #else
00251 #define MAXPATHLEN 1024
00252 #endif
00253 #endif
00254
00255
00256 #ifdef WIN32
00257 #ifndef R_OK
00258 #define R_OK 4
00259 #endif
00260 #ifndef W_OK
00261 #define W_OK 2
00262 #endif
00263 #ifndef X_OK
00264 #define X_OK 1
00265 #endif
00266 #ifndef F_OK
00267 #define F_OK 0
00268 #endif
00269 #endif
00270
00271
00272 #ifdef WIN32
00273 #if defined(_MSC_VER)
00274 #define O_APPEND _O_APPEND
00275 #define O_CREAT _O_CREAT
00276 #define O_EXCL _O_EXCL
00277 #define O_RDONLY _O_RDONLY
00278 #define O_RDWR _O_RDWR
00279 #define O_TRUNC _O_TRUNC
00280 #define O_WRONLY _O_WRONLY
00281 #define O_BINARY _O_BINARY
00282 #endif
00283 #endif
00284
00285
00286 #ifndef SEEK_SET
00287 #define SEEK_SET 0
00288 #endif
00289 #ifndef SEEK_CUR
00290 #define SEEK_CUR 1
00291 #endif
00292 #ifndef SEEK_END
00293 #define SEEK_END 2
00294 #endif
00295
00296
00297 #ifdef WIN32
00298 #include <winspool.h>
00299 #endif
00300
00301
00302
00303 #ifdef WIN32
00304
00305
00306 #ifndef SPI_GETWHEELSCROLLLINES
00307 #define SPI_GETWHEELSCROLLLINES 104
00308 #endif
00309 #ifndef WM_MOUSEWHEEL
00310 #define WM_MOUSEWHEEL 0x020A
00311 #endif
00312
00313
00314 #ifndef SM_XVIRTUALSCREEN
00315 #define SM_XVIRTUALSCREEN 76
00316 #endif
00317 #ifndef SM_YVIRTUALSCREEN
00318 #define SM_YVIRTUALSCREEN 77
00319 #endif
00320 #ifndef SM_CXVIRTUALSCREEN
00321 #define SM_CXVIRTUALSCREEN 78
00322 #endif
00323 #ifndef SM_CYVIRTUALSCREEN
00324 #define SM_CYVIRTUALSCREEN 79
00325 #endif
00326 #ifndef SM_CMONITORS
00327 #define SM_CMONITORS 80
00328 #endif
00329 #ifndef SM_SAMEDISPLAYFORMAT
00330 #define SM_SAMEDISPLAYFORMAT 81
00331 #endif
00332
00333
00334 #ifndef IMAGE_SUBSYSTEM_NATIVE_WINDOWS
00335 #define IMAGE_SUBSYSTEM_NATIVE_WINDOWS 8
00336 #endif
00337 #ifndef IMAGE_SUBSYSTEM_WINDOWS_CE_GUI
00338 #define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9
00339 #endif
00340 #endif
00341
00342
00343
00344 #if defined(__IBMCPP__) && defined(WIN32)
00345 #include <direct.h>
00346 #include <io.h>
00347 #define _mkdir(x) mkdir((char *)(x))
00348 #define _vsnprintf(a, b, c, d) vsprintf(a, c, d)
00349 #define ICON_SMALL 0
00350 #define ICON_BIG 1
00351 #define bool int
00352
00353
00354 #define TME_HOVER 0x00000001
00355 #define TME_LEAVE 0x00000002
00356 #define TME_QUERY 0x40000000
00357 #define TME_CANCEL 0x80000000
00358 #define HOVER_DEFAULT 0xFFFFFFFF
00359 #define WM_MOUSEHOVER 0x02A1
00360 #define WM_MOUSELEAVE 0x02A3
00361
00362 typedef struct tagTRACKMOUSEEVENT {
00363 DWORD cbSize;
00364 DWORD dwFlags;
00365 HWND hwndTrack;
00366 DWORD dwHoverTime;
00367 } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
00368
00369 WINUSERAPI
00370 BOOL
00371 WINAPI
00372 TrackMouseEvent(
00373 IN OUT LPTRACKMOUSEEVENT lpEventTrack);
00374
00375 #ifdef __GL_H__
00376 #define GL_COLOR_LOGIC_OP 0x0BF2
00377 #define GL_POLYGON_OFFSET_POINT 0x2A01
00378 #define GL_POLYGON_OFFSET_LINE 0x2A02
00379 WINGDIAPI void APIENTRY glPolygonOffset (GLfloat factor,GLfloat units);
00380 #endif
00381
00382 #endif
00383
00384 #endif