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