/* * winPort.h -- * * This header file handles porting issues that occur because of * differences between Windows and Unix. It should be the only * file that contains #ifdefs to handle different flavors of OS. * * Copyright (c) 1995 Sun Microsystems, Inc. * * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * * SCCS: @(#) tkWinPort.h 1.10 96/07/23 16:58:01 */ #ifndef _WINPORT #define _WINPORT #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef _MSC_VER # define strncasecmp strnicmp # define hypot _hypot #else /* _MSC_VER */ # define strncasecmp strncmpi #endif /* _MSC_VER */ #define NBBY 8 #define OPEN_MAX 32 /* * The following define causes Tk to use its internal keysym hash table */ #define REDO_KEYSYM_LOOKUP /* * The following macro checks to see whether there is buffered * input data available for a stdio FILE. */ #ifdef _MSC_VER # define TK_READ_DATA_PENDING(f) ((f)->_cnt > 0) #else /* _MSC_VER */ # define TK_READ_DATA_PENDING(f) ((f)->level > 0) #endif /* _MSC_VER */ /* * The following stubs implement various calls that don't do anything * under Windows. */ #define TkFreeWindowId(dispPtr,w) #define TkInitXId(dispPtr) #define XFlush(display) #define XGrabServer(display) #define XUngrabServer(display) /* * The following X functions are implemented as macros under Windows. */ #define XFree(data) {if ((data) != NULL) ckfree((char *) (data));} #define XNoOp(display) {display->request++;} #define XSynchronize(display, bool) {display->request++;} #define XSync(display, bool) {display->request++;} #define XVisualIDFromVisual(visual) (visual->visualid) /* * Define timezone for gettimeofday. */ struct timezone { int tz_minuteswest; int tz_dsttime; }; extern int gettimeofday(struct timeval *, struct timezone *); extern void panic(); #endif /* _WINPORT */