/* * $XConsortium: Xos.h,v 1.47 91/08/17 17:14:38 rws Exp $ * * Copyright 1987 by the Massachusetts Institute of Technology * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of M.I.T. not be used in advertising * or publicity pertaining to distribution of the software without specific, * written prior permission. M.I.T. makes no representations about the * suitability of this software for any purpose. It is provided "as is" * without express or implied warranty. * * The X Window System is a Trademark of MIT. * */ /* This is a collection of things to try and minimize system dependencies * in a "signficant" number of source files. */ #ifndef _XOS_H_ #define _XOS_H_ #include "lndir-Xosdefs.h" /* * Get major data types (esp. caddr_t) */ #ifdef USG #ifndef __TYPES__ #ifdef CRAY #define word word_t #endif /* CRAY */ #include /* forgot to protect it... */ #define __TYPES__ #endif /* __TYPES__ */ #else /* USG */ #if defined(_POSIX_SOURCE) && defined(MOTOROLA) #undef _POSIX_SOURCE #include #define _POSIX_SOURCE #else #include #endif #endif /* USG */ /* * Just about everyone needs the strings routines. We provide both forms here, * index/rindex and strchr/strrchr, so any systems that don't provide them all * need to have #defines here. */ #ifndef X_NOT_STDC_ENV #include #define index strchr #define rindex strrchr #else #ifdef SYSV #include #define index strchr #define rindex strrchr #else #include #define strchr index #define strrchr rindex #endif #endif /* * Get open(2) constants */ #ifdef X_NOT_POSIX #include #ifdef USL #include #endif /* USL */ #ifdef CRAY #include #endif /* CRAY */ #ifdef MOTOROLA #include #endif /* MOTOROLA */ #ifdef SYSV386 #include #endif /* SYSV386 */ #include #else /* X_NOT_POSIX */ #if !defined(_POSIX_SOURCE) && defined(macII) #define _POSIX_SOURCE #include #undef _POSIX_SOURCE #else #include #endif #include #endif /* X_NOT_POSIX else */ /* * Get struct timeval */ #ifdef SYSV #ifndef USL #include #endif #include #ifdef CRAY #undef word #endif /* CRAY */ #if defined(USG) && !defined(CRAY) && !defined(MOTOROLA) struct timeval { long tv_sec; long tv_usec; }; #ifndef USL_SHARELIB struct timezone { int tz_minuteswest; int tz_dsttime; }; #endif /* USL_SHARELIB */ #endif /* USG */ #else /* not SYSV */ #if defined(_POSIX_SOURCE) && defined(SVR4) /* need to omit _POSIX_SOURCE in order to get what we want in SVR4 */ #undef _POSIX_SOURCE #include #define _POSIX_SOURCE #else #include #endif #endif /* SYSV */ /* use POSIX name for signal */ #if defined(X_NOT_POSIX) && defined(SYSV) && !defined(SIGCHLD) #define SIGCHLD SIGCLD #endif #ifdef ISC #include #endif #endif /* _XOS_H_ */