source: cmedia/trunk/Include/Asm/fcntl.h

Last change on this file was 354, checked in by stevenhl, 17 years ago

Import untested baseline cmedia sources, work products and binaries
Binaries and work products should be deleted from repository.
once new builds are verified to work.

File size: 1.9 KB
RevLine 
[354]1/* $Id: fcntl.h,v 1.1 2000/04/23 14:55:28 ktk Exp $ */
2
3#ifndef _I386_FCNTL_H
4#define _I386_FCNTL_H
5
6/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
7 located on an ext2 file system */
8#define O_ACCMODE 0003
9#define O_RDONLY 00
10#define O_WRONLY 01
11#define O_RDWR 02
12#define O_CREAT 0100 /* not fcntl */
13#define O_EXCL 0200 /* not fcntl */
14#define O_NOCTTY 0400 /* not fcntl */
15#define O_TRUNC 01000 /* not fcntl */
16#define O_APPEND 02000
17#define O_NONBLOCK 04000
18#define O_NDELAY O_NONBLOCK
19#define O_SYNC 010000
20#define FASYNC 020000 /* fcntl, for BSD compatibility */
21#define O_DIRECT 040000 /* direct disk access hint - currently ignored */
22#define O_LARGEFILE 0100000
23#define O_DIRECTORY 0200000 /* must be a directory */
24#define O_NOFOLLOW 0400000 /* don't follow links */
25
26#define F_DUPFD 0 /* dup */
27#define F_GETFD 1 /* get f_flags */
28#define F_SETFD 2 /* set f_flags */
29#define F_GETFL 3 /* more flags (cloexec) */
30#define F_SETFL 4
31#define F_GETLK 5
32#define F_SETLK 6
33#define F_SETLKW 7
34
35#define F_SETOWN 8 /* for sockets. */
36#define F_GETOWN 9 /* for sockets. */
37#define F_SETSIG 10 /* for sockets. */
38#define F_GETSIG 11 /* for sockets. */
39
40/* for F_[GET|SET]FL */
41#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
42
43/* for posix fcntl() and lockf() */
44#define F_RDLCK 0
45#define F_WRLCK 1
46#define F_UNLCK 2
47
48/* for old implementation of bsd flock () */
49#define F_EXLCK 4 /* or 3 */
50#define F_SHLCK 8 /* or 4 */
51
52/* operations for bsd flock(), also used by the kernel implementation */
53#define LOCK_SH 1 /* shared lock */
54#define LOCK_EX 2 /* exclusive lock */
55#define LOCK_NB 4 /* or'd with one of the above to prevent
56 blocking */
57#define LOCK_UN 8 /* remove lock */
58
59struct flock {
60 short l_type;
61 short l_whence;
62 off_t l_start;
63 off_t l_len;
64 pid_t l_pid;
65};
66
67#endif
Note: See TracBrowser for help on using the repository browser.