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 29* Contributed by Howard Feldman <feldman@mshri.on.ca> 30* 31* Version Creation Date: 6/14/2002 32* 33* $Revision: 6.1 $ 34* 35* File Description: 36* system dependent header 37* version for BeOS 38* 39* Modifications: 40* -------------------------------------------------------------------------- 41* Date Name Description of modification 42* ------- ---------- --------------------------------------------------- 43* 44* $Log: ncbilcl.beos,v $ 45* Revision 6.1 2002/06/17 14:29:32 ivanov 46* Initial revision 47* 48* 49* ========================================================================== 50*/ 51 52 53#ifndef _NCBILCL_ 54#define _NCBILCL_ 55 56/* PLATFORM DEFINITION FOR BeOS */ 57 58#define COMP_SYSV 59#define OS_UNIX 60#define OS_UNIX_BEOS 61#define PROC_I80X86 62#define WIN_DUMB 63 64/*----------------------------------------------------------------------*/ 65/* Desired or available feature list */ 66/*----------------------------------------------------------------------*/ 67#define SYSV_IPC_AVAIL /* System V Interprocess Communication available */ 68#undef _POSIX_SOURCE 69#undef _POSIX_C_SOURCE 70#undef _XOPEN_SOURCE 71#define _POSIX_SOURCE 1 72#define _POSIX_C_SOURCE 199309L 73#define _XOPEN_SOURCE 500 74 75#ifndef _REENTRANT 76#define _REENTRANT 77#endif 78 79/* good for the EGCS C/C++ compiler on Linux(e.g. putenv(), tempnam() proto) */ 80#define _SVID_SOURCE 1 81 82 83/*----------------------------------------------------------------------*/ 84/* #includes */ 85/*----------------------------------------------------------------------*/ 86#include <sys/types.h> 87#include <limits.h> 88#include <sys/stat.h> 89#include <stddef.h> 90#include <stdio.h> 91#include <ctype.h> 92#include <string.h> 93#include <malloc.h> 94#include <memory.h> 95#include <stdlib.h> 96#include <math.h> 97#include <errno.h> 98#include <float.h> 99#include <unistd.h> 100 101/* Check if there are POSIX threads available */ 102#ifdef _POSIX_THREADS 103#define POSIX_THREADS_AVAIL 104#endif 105 106 107/*----------------------------------------------------------------------*/ 108/* Missing ANSI-isms */ 109/*----------------------------------------------------------------------*/ 110#define noalias 111 112#ifndef SEEK_SET 113#define SEEK_SET 0 /* Set file pointer to offset */ 114#define SEEK_CUR 1 /* Set file pointer to current plus offset */ 115#define SEEK_END 2 /* Set file pointer to EOF plus offset */ 116#endif 117#ifndef FILENAME_MAX 118#define FILENAME_MAX 1024 119#endif 120 121/*----------------------------------------------------------------------*/ 122/* Aliased Logicals, Datatypes */ 123/*----------------------------------------------------------------------*/ 124 125/*----------------------------------------------------------------------*/ 126/* Misc Macros */ 127/*----------------------------------------------------------------------*/ 128#define PROTO(x) x /* Prototypes are acceptable */ 129#define VPROTO(x) x /* Prototype for variable argument list */ 130#define DIRDELIMCHR '/' 131#define DIRDELIMSTR "/" 132#define CWDSTR "." 133 134#define KBYTE (1024) 135#define MBYTE (1048576) 136 137#define IS_LITTLE_ENDIAN 138#define TEMPNAM_AVAIL 139 140/*----------------------------------------------------------------------*/ 141/* For importing MS_DOS code */ 142/*----------------------------------------------------------------------*/ 143#define near 144#define far 145#define huge 146#define cdecl 147#define pascal 148#define _pascal 149#define _near 150#define _far 151#define _huge 152#define _cdecl 153 154/*----------------------------------------------------------------------*/ 155/* Macros for Floating Point */ 156/*----------------------------------------------------------------------*/ 157#define EXP2(x) exp((x)*LN2) 158#define LOG2(x) (log(x)*(1./LN2)) 159#define EXP10(x) exp((x)*LN10) 160#define LOG10(x) log10(x) 161 162/*----------------------------------------------------------------------*/ 163/* Macros Defining Limits */ 164/*----------------------------------------------------------------------*/ 165#define MAXALLOC 0x40000000 /* Largest permissible memory request */ 166 167#endif 168