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