1/* ncbilcl.h 2* =========================================================================== 3* 4* PUBLIC DOMAIN NOTICE 5* National Center for Biotechnology Information 6* 7* This software/database is a "United States Government Work" under the 8* terms of the United States Copyright Act. It was written as part of 9* the author's official duties as a United States Government employee and 10* thus cannot be copyrighted. This software/database is freely available 11* to the public for use. The National Library of Medicine and the U.S. 12* Government have not placed any restriction on its use or reproduction. 13* 14* Although all reasonable efforts have been taken to ensure the accuracy 15* and reliability of the software and data, the NLM and the U.S. 16* Government do not and cannot warrant the performance or results that 17* may be obtained by using this software or data. The NLM and the U.S. 18* Government disclaim all warranties, express or implied, including 19* warranties of performance, merchantability or fitness for any particular 20* purpose. 21* 22* Please cite the author in any work or product based on this material. 23* 24* =========================================================================== 25* 26* File Name: ncbilcl.h 27* 28* Author: Gish, Kans, Ostell, Schuler, Epstein, Vakatov 29* Contributed by Howard Feldman <feldman@mshri.on.ca> 30* 31* Version Creation Date: 16/05/02 32* 33* $Revision: 6.1 $ 34* 35* File Description: 36* system dependent header 37* version for QNX 38* 39* Modifications: 40* -------------------------------------------------------------------------- 41* $Log: ncbilcl.qnx,v $ 42* Revision 6.1 2002/05/17 14:45:28 ivanov 43* Initial revision 44* 45* ========================================================================== 46*/ 47#ifndef _NCBILCL_ 48#define _NCBILCL_ 49 50/* PLATFORM DEFINITION FOR QNX */ 51 52#define COMP_SYSV 53#define OS_UNIX 54#define OS_UNIX_QNX 55#define PROC_I80X86 56#define WIN_DUMB 57 58 59/*----------------------------------------------------------------------*/ 60/* Desired or available feature list */ 61/*----------------------------------------------------------------------*/ 62#define SYSV_IPC_AVAIL /* System V Interprocess Communication available */ 63#undef _POSIX_SOURCE 64#undef _POSIX_C_SOURCE 65#undef _XOPEN_SOURCE 66#define _POSIX_SOURCE 1 67#define _POSIX_C_SOURCE 199309L 68#define _XOPEN_SOURCE 500 69 70#ifndef _REENTRANT 71#define _REENTRANT 72#endif 73 74/* good for the EGCS C/C++ compiler on Linux(e.g. putenv(), tempnam() proto) */ 75#define _SVID_SOURCE 1 76 77 78 79/*----------------------------------------------------------------------*/ 80/* #includes */ 81/*----------------------------------------------------------------------*/ 82#include <sys/types.h> 83#include <limits.h> 84#include <sys/stat.h> 85#include <stddef.h> 86#include <stdio.h> 87#include <ctype.h> 88#include <string.h> 89#include <malloc.h> 90#include <memory.h> 91#include <stdlib.h> 92#include <math.h> 93#include <errno.h> 94#include <float.h> 95#include <unistd.h> 96 97/* Check if there are POSIX threads available */ 98#ifdef _POSIX_THREADS 99#define POSIX_THREADS_AVAIL 100#endif 101 102 103/*----------------------------------------------------------------------*/ 104/* Missing ANSI-isms */ 105/*----------------------------------------------------------------------*/ 106#define noalias 107 108#ifndef SEEK_SET 109#define SEEK_SET 0 /* Set file pointer to offset */ 110#define SEEK_CUR 1 /* Set file pointer to current plus offset */ 111#define SEEK_END 2 /* Set file pointer to EOF plus offset */ 112#endif 113#ifndef FILENAME_MAX 114#define FILENAME_MAX 1024 115#endif 116 117/*----------------------------------------------------------------------*/ 118/* Aliased Logicals, Datatypes */ 119/*----------------------------------------------------------------------*/ 120 121/*----------------------------------------------------------------------*/ 122/* Misc Macros */ 123/*----------------------------------------------------------------------*/ 124#define PROTO(x) x /* Prototypes are acceptable */ 125#define VPROTO(x) x /* Prototype for variable argument list */ 126#define DIRDELIMCHR '/' 127#define DIRDELIMSTR "/" 128#define CWDSTR "." 129 130#define KBYTE (1024) 131#define MBYTE (1048576) 132 133#define IS_LITTLE_ENDIAN 134#define TEMPNAM_AVAIL 135 136/*----------------------------------------------------------------------*/ 137/* For importing MS_DOS code */ 138/*----------------------------------------------------------------------*/ 139#define near 140#define far 141#define huge 142#define cdecl 143#define pascal 144#define _pascal 145#define _near 146#define _far 147#define _huge 148#define _cdecl 149 150/*----------------------------------------------------------------------*/ 151/* Macros for Floating Point */ 152/*----------------------------------------------------------------------*/ 153#define EXP2(x) exp((x)*LN2) 154#define LOG2(x) (log(x)*(1./LN2)) 155#define EXP10(x) exp((x)*LN10) 156#define LOG10(x) log10(x) 157 158/*----------------------------------------------------------------------*/ 159/* Macros Defining Limits */ 160/*----------------------------------------------------------------------*/ 161#define MAXALLOC 0x40000000 /* Largest permissible memory request */ 162 163#endif 164