1 /*
2  * This file has been modified for the cdrkit suite.
3  *
4  * The behaviour and appearence of the program code below can differ to a major
5  * extent from the version distributed by the original author(s).
6  *
7  * For details, see Changelog file distributed with the cdrkit package. If you
8  * received this file from another source then ask the distributing person for
9  * a log of modifications.
10  *
11  */
12 
13 /* @(#)fctldefs.h	1.13 03/02/23 Copyright 1996 J. Schilling */
14 /*
15  *	Generic header for users of open(), creat() and chmod()
16  *
17  *	Copyright (c) 1996 J. Schilling
18  */
19 /*
20  * This program is free software; you can redistribute it and/or modify
21  * it under the terms of the GNU General Public License version 2
22  * as published by the Free Software Foundation.
23  *
24  * This program is distributed in the hope that it will be useful,
25  * but WITHOUT ANY WARRANTY; without even the implied warranty of
26  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27  * GNU General Public License for more details.
28  *
29  * You should have received a copy of the GNU General Public License along with
30  * this program; see the file COPYING.  If not, write to the Free Software
31  * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
32  */
33 
34 #ifndef _FCTLDEFS_H
35 #define	_FCTLDEFS_H
36 
37 #ifndef	_MCONFIG_H
38 #include <mconfig.h>
39 #endif
40 
41 #ifndef	_STATDEFS_H
42 #include <statdefs.h>		/* For 3rd arg of open() and chmod()	*/
43 #endif
44 
45 #ifndef	_INCL_SYS_TYPES_H
46 #include <sys/types.h>		/* Needed for fcntl.h			*/
47 #define	_INCL_SYS_TYPES_H
48 #endif
49 
50 #ifdef	HAVE_SYS_FILE_H
51 /*
52  * Historical systems with flock() only need sys/file.h
53  */
54 #	ifndef	_INCL_SYS_FILE_H
55 #	include <sys/file.h>
56 #	define	_INCL_SYS_FILE_H
57 #	endif
58 #endif
59 #ifdef	HAVE_FCNTL_H
60 #	ifndef	_INCL_FCNTL_H
61 #	include <fcntl.h>
62 #	define	_INCL_FCNTL_H
63 #endif
64 #endif
65 
66 /*
67  * Do not define more than O_RDONLY / O_WRONLY / O_RDWR / O_BINARY
68  * The values may differ.
69  *
70  * O_BINARY is defined here to allow all applications to compile on a non DOS
71  * environment without repeating this definition.
72  */
73 #ifndef	O_RDONLY
74 #	define	O_RDONLY	0
75 #endif
76 #ifndef	O_WRONLY
77 #	define	O_WRONLY	1
78 #endif
79 #ifndef	O_RDWR
80 #	define	O_RDWR		2
81 #endif
82 #ifndef	O_BINARY			/* Only present on DOS or similar */
83 #	define	O_BINARY	0
84 #endif
85 #ifndef	O_NDELAY			/* This is undefined on BeOS :-( */
86 #	define	O_NDELAY	0
87 #endif
88 
89 #ifndef	O_ACCMODE
90 #define	O_ACCMODE		(O_RDONLY|O_WRONLY|O_RDWR)
91 #endif
92 
93 #endif	/* _FCTLDEFS_H */
94