xref: /netbsd-src/sys/compat/linux/arch/i386/linux_fcntl.h (revision bf8fee7bf6b1cbbe98210059f99696da10ab8500)
1*bf8fee7bSnjoly /*	$NetBSD: linux_fcntl.h,v 1.8 2014/06/25 16:30:42 njoly Exp $	*/
245c3ba3eSerh 
345c3ba3eSerh /*-
48096c25aSfvdl  * Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
545c3ba3eSerh  * All rights reserved.
645c3ba3eSerh  *
745c3ba3eSerh  * This code is derived from software contributed to The NetBSD Foundation
88096c25aSfvdl  * by Frank van der Linden and Eric Haszlakiewicz.
945c3ba3eSerh  *
1045c3ba3eSerh  * Redistribution and use in source and binary forms, with or without
1145c3ba3eSerh  * modification, are permitted provided that the following conditions
1245c3ba3eSerh  * are met:
1345c3ba3eSerh  * 1. Redistributions of source code must retain the above copyright
1445c3ba3eSerh  *    notice, this list of conditions and the following disclaimer.
1545c3ba3eSerh  * 2. Redistributions in binary form must reproduce the above copyright
1645c3ba3eSerh  *    notice, this list of conditions and the following disclaimer in the
1745c3ba3eSerh  *    documentation and/or other materials provided with the distribution.
1845c3ba3eSerh  *
1945c3ba3eSerh  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
2045c3ba3eSerh  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
2145c3ba3eSerh  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
2245c3ba3eSerh  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
2345c3ba3eSerh  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2445c3ba3eSerh  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2545c3ba3eSerh  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2645c3ba3eSerh  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2745c3ba3eSerh  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2845c3ba3eSerh  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2945c3ba3eSerh  * POSSIBILITY OF SUCH DAMAGE.
3045c3ba3eSerh  */
313bf459f3Sfvdl 
323bf459f3Sfvdl /*
333bf459f3Sfvdl  * Various flag values used in Linux for open(2) and fcntl(2).
343bf459f3Sfvdl  */
353bf459f3Sfvdl 
3645c3ba3eSerh #ifndef _I386_LINUX_FCNTL_H
3745c3ba3eSerh #define _I386_LINUX_FCNTL_H
383bf459f3Sfvdl 
3945c3ba3eSerh /* read/write mode for open(2) defined in common/linux_fcntl.h */
403bf459f3Sfvdl 
413bf459f3Sfvdl /* flags used in open(2) */
42069ef5a4Schs #define LINUX_O_CREAT		0x00040
43069ef5a4Schs #define LINUX_O_EXCL		0x00080
44069ef5a4Schs #define LINUX_O_NOCTTY		0x00100
45069ef5a4Schs #define LINUX_O_TRUNC		0x00200
46069ef5a4Schs #define LINUX_O_APPEND		0x00400
47069ef5a4Schs #define LINUX_O_NONBLOCK	0x00800
48069ef5a4Schs #define LINUX_O_NDELAY		LINUX_O_NONBLOCK
49069ef5a4Schs #define LINUX_O_SYNC		0x01000
50069ef5a4Schs #define LINUX_FASYNC		0x02000
51*bf8fee7bSnjoly #define LINUX_O_DIRECT		0x04000
52*bf8fee7bSnjoly #define LINUX_O_LARGEFILE	0x08000
5338b9dc35Schs #define LINUX_O_DIRECTORY	0x10000
54*bf8fee7bSnjoly #define LINUX_O_NOFOLLOW	0x20000
55*bf8fee7bSnjoly #define LINUX_O_NOATIME		0x40000
56069ef5a4Schs #define LINUX_O_CLOEXEC		0x80000
573bf459f3Sfvdl 
583bf459f3Sfvdl /* fcntl(2) operations */
593bf459f3Sfvdl #define LINUX_F_DUPFD		0
603bf459f3Sfvdl #define LINUX_F_GETFD		1
613bf459f3Sfvdl #define LINUX_F_SETFD		2
623bf459f3Sfvdl #define LINUX_F_GETFL		3
633bf459f3Sfvdl #define LINUX_F_SETFL		4
643bf459f3Sfvdl #define LINUX_F_GETLK		5
653bf459f3Sfvdl #define LINUX_F_SETLK		6
663bf459f3Sfvdl #define LINUX_F_SETLKW		7
673bf459f3Sfvdl #define LINUX_F_SETOWN		8
683bf459f3Sfvdl #define LINUX_F_GETOWN		9
693bf459f3Sfvdl 
703bf459f3Sfvdl #define LINUX_F_RDLCK		0
713bf459f3Sfvdl #define LINUX_F_WRLCK		1
723bf459f3Sfvdl #define LINUX_F_UNLCK		2
733bf459f3Sfvdl 
743bf459f3Sfvdl #define LINUX_LOCK_EX		4
753bf459f3Sfvdl #define LINUX_LOCK_SH		8
763bf459f3Sfvdl 
77238328fbSmanu #define LINUX_F_GETLK64		12
78238328fbSmanu #define LINUX_F_SETLK64		13
79238328fbSmanu #define LINUX_F_SETLKW64	14
80069ef5a4Schs 
8145c3ba3eSerh #endif /* !_I386_LINUX_FCNTL_H */
82