00001 // 00002 // archdeps.h - Architecture and/or environmental configuration. This file 00003 // contains definitions and configurations for things that are based on the 00004 // operating system in use, or the architecture(s) being compiled for. 00005 // 00006 00014 /* Configuration for OS-varient calls and behaviors. 00015 * 00016 * NO_SIGTIMEDWAIT - The sigtimedwait(3) (and presumedly sigwaitinfo(3)) 00017 * calls are not available for this compiler/environment. 00018 * NO_SA_LEN - The Operating system and/or networking stack in use 00019 * does not provide _len members in the multitude of 00020 * sockaddr structures. (sockaddr::sa_len, 00021 * sockaddr_in::sin_len, sockaddr_storage::ss_len, etc) 00022 */ 00023 00024 #if defined(__NetBSD__) || defined(__APPLE__) 00025 /* The pthreads implementation on Darwin doesn't implement pthread_yield(). */ 00026 #define pthread_yield() sched_yield() 00027 #endif /* defined(__APPLE__) */ 00028 00029 #if defined(__bsdi__) || defined(__APPLE__) 00030 #define NO_SIGTIMEDWAIT 1 00031 #endif /* defined(__bsdi__) */ 00032 00033 #if defined(__linux__) 00034 #define NO_SA_LEN 1 00035 #endif /* defined(__linux__) */ 00036 00037 #if defined(__sparc__) && defined(__bsdi__) 00038 // There is some odd problem with gethostbyname(), and thus getnameinfo(), 00039 // on the BSD/OS 4.3.1 sparc port. Don't feel like tracking it down right 00040 // now... - Chris Ross <cross@distal.com> - 11-July-2003 00041 # define BROKEN_GETNAMEINFO 1 00042 #endif 00043