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