1 /* 2 * Copyright (c) 1983 Regents of the University of California. 3 * All rights reserved. The Berkeley software License Agreement 4 * specifies the terms and conditions for redistribution. 5 * 6 * @(#)fcntl.h 5.3 (Berkeley) 03/06/90 7 */ 8 9 /* 10 * Flag values accessible to open(2) and fcntl(2)-- copied from 11 * <sys/file.h>. (The first three can only be set by open.) 12 */ 13 #define O_RDONLY 000 /* open for reading */ 14 #define O_WRONLY 001 /* open for writing */ 15 #define O_RDWR 002 /* open for read & write */ 16 #define O_NDELAY FNDELAY /* non-blocking open */ 17 /* really non-blocking I/O for fcntl */ 18 #define O_APPEND FAPPEND /* append on each write */ 19 #define O_CREAT FCREAT /* open with file create */ 20 #define O_TRUNC FTRUNC /* open with truncation */ 21 #define O_EXCL FEXCL /* error on create if file exists */ 22 23 #ifndef F_DUPFD 24 /* fcntl(2) requests */ 25 #define F_DUPFD 0 /* Duplicate fildes */ 26 #define F_GETFD 1 /* Get fildes flags */ 27 #define F_SETFD 2 /* Set fildes flags */ 28 #define F_GETFL 3 /* Get file flags */ 29 #define F_SETFL 4 /* Set file flags */ 30 #define F_GETOWN 5 /* Get owner */ 31 #define F_SETOWN 6 /* Set owner */ 32 33 /* flags for F_GETFL, F_SETFL-- copied from <sys/file.h> */ 34 #define FNDELAY 00004 /* non-blocking reads */ 35 #define FAPPEND 00010 /* append on each write */ 36 #define FASYNC 00100 /* signal pgrp when data ready */ 37 #define FCREAT 01000 /* create if nonexistant */ 38 #define FTRUNC 02000 /* truncate to zero length */ 39 #define FEXCL 04000 /* error if already created */ 40 #endif 41 42 #ifdef __STDC__ 43 extern int fcntl(int, int, int); 44 #else 45 extern int fcntl(); 46 #endif 47