source: git/src/osdepend.h @ affaeee

RELEASE/1.1RELEASE/1.2debug-cidebug-ci-sanitisersstereowalls-data
Last change on this file since affaeee was affaeee, checked in by Olly Betts <olly@…>, 18 years ago

Rework the OS== mechanism as defining WIN32 and UNIX causes problems with
third party headers which test for these defines and assume the wrong OS!

git-svn-id: file:///home/survex-svn/survex/branches/survex-1_1@3072 4b37db11-9a0c-4f06-9ece-9ab7cdaee568

  • Property mode set to 100644
File size: 2.4 KB
Line 
1/* osdepend.h
2 * Contains commonly required OS dependent bits
3 * Copyright (C) 1993-2003,2004,2005 Olly Betts
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 */
19
20/* Note to porters: defaults are at the end of the file. Check there first */
21
22#ifndef OSDEPEND_H  /* only include once */
23# define OSDEPEND_H
24
25# include "whichos.h"
26# include "ostypes.h"
27
28# if OS_WIN32
29
30/* FNM_SEP_DRV and FNM_SEP_EXT and FNM_SEP_LEV2 needn't be defined */
31#  define FNM_SEP_LEV '\\'
32#  define FNM_SEP_LEV2 '/'
33#  define FNM_SEP_DRV ':'
34#  define FNM_SEP_EXT '.'
35
36#  ifdef __TURBOC__
37#   include <time.h>
38#   ifndef CLOCKS_PER_SEC
39#    define CLOCKS_PER_SEC CLK_TCK
40#   endif
41#  endif
42
43# elif OS_UNIX
44
45/* FNM_SEP_DRV and FNM_SEP_EXT needn't be defined */
46#  define FNM_SEP_LEV '/'
47/* #  define FNM_SEP_DRV  No equivalent under UNIX */
48#  define FNM_SEP_EXT '.'
49
50#  define NO_STDPRN
51
52# else
53#  error Do not know what to do for this operating system
54# endif
55
56/***************************************************************************/
57
58/* Use "Far" rather than "FAR" to avoid colliding with windows headers
59 * which may "#define FAR far" and "#define far" or something similar.
60 *
61 * Use "Huge" to avoid colliding with "HUGE" which is a pre-ANSI name for
62 * "HUGE_VAL"
63 */
64# ifdef HAVE_FAR_POINTERS
65#  define Far far
66#  define Huge huge
67# else
68/* just lose these on a sensible OS */
69#  define Far
70#  define Huge
71# endif /* !Huge */
72
73/* defaults for things that are the same for most OS */
74
75# ifndef init_screen
76#  define init_screen() /* ie do nothing special */
77# endif /* !init_screen */
78
79/* prototypes for functions in osdepend.c */
80bool fAbsoluteFnm(const char *fnm);
81bool fDirectory(const char *fnm);
82
83# ifndef HAVE_DIFFTIME
84#  define difftime(A, B) ((B)-(A))
85# endif
86
87#endif /* !OSDEPEND_H */
Note: See TracBrowser for help on using the repository browser.