ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/platform.h
Revision: 3.10
Committed: Tue Oct 21 19:19:28 2003 UTC (20 years, 6 months ago) by schorsch
Content type: text/plain
Branch: MAIN
Changes since 3.9: +2 -1 lines
Log Message:
Various platform compatibility fixes.

File Contents

# User Rev Content
1 schorsch 3.10 /* RCSid $Id: platform.h,v 3.9 2003/07/17 09:21:29 schorsch Exp $ */
2 schorsch 3.1 /*
3     * platform.h - header file for platform specific definitions
4     */
5     #ifndef _RAD_PLATFORM_H_
6     #define _RAD_PLATFORM_H_
7    
8     #ifdef _WIN32
9    
10 schorsch 3.7 #include <io.h> /* _setmode() and stuff from unistd.h */
11     typedef long off_t;
12    
13 schorsch 3.5 #include <stdio.h>
14     #define popen _popen
15     #define pclose _pclose
16 schorsch 3.10 #define snprintf _snprintf
17 schorsch 3.6
18 schorsch 3.7 #include <windows.h>
19     #define sleep(s) Sleep(s*1000)
20    
21 schorsch 3.6 #define NON_POSIX
22    
23     #include <sys/types.h>
24     #include <sys/stat.h>
25     #define RHAS_STAT
26     #define S_IFREG _S_IFREG
27     #define W_IFDIR _S_IFDIR
28    
29 schorsch 3.5 #include <fcntl.h> /* _O_BINARY, _O_TEXT */
30     #include <stdlib.h> /* _fmode */
31     #define SET_DEFAULT_BINARY() _fmode = _O_BINARY
32     #define SET_FILE_BINARY(fp) _setmode(fileno(fp),_O_BINARY)
33     #define SET_FD_BINARY(fd) _setmode(fd,_O_BINARY)
34 schorsch 3.1
35     #else /* _WIN32 */
36    
37 schorsch 3.5 #ifdef AMIGA
38     #define NON_POSIX
39     #else
40     /* assumedly posix systems */
41 schorsch 3.9 #include <unistd.h>
42 schorsch 3.5 #define RHAS_GETPWNAM
43 schorsch 3.6 #define RHAS_STAT
44 schorsch 3.5 #define RHAS_FORK_EXEC
45     #endif
46    
47     /* everybody except Windows */
48    
49     /* NOPs */
50     #define SET_DEFAULT_BINARY()
51     #define SET_FILE_BINARY(fp)
52     #define SET_FD_BINARY(fd)
53 schorsch 3.1
54     #endif /* _WIN32 */
55    
56 schorsch 3.8 #ifdef __cplusplus
57     extern "C" {
58     #endif
59    
60     /* nothing to protect yet */
61 schorsch 3.2
62     #ifdef __cplusplus
63     }
64     #endif
65 schorsch 3.1 #endif /* _RAD_PLATFORM_H_ */
66