1551ccae044b0ff658fe629dd67edd5ffe75d10e8Reid Spencer#ifndef _UAPI_LINUX_FCNTL_H 27a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#define _UAPI_LINUX_FCNTL_H 3582a23c686aa544c8a44d07601d4520d4ea18980Reid Spencer 4582a23c686aa544c8a44d07601d4520d4ea18980Reid Spencer#include <asm/fcntl.h> 5582a23c686aa544c8a44d07601d4520d4ea18980Reid Spencer 67a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#define F_SETLEASE (F_LINUX_SPECIFIC_BASE + 0) 77a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#define F_GETLEASE (F_LINUX_SPECIFIC_BASE + 1) 87a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell 97a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell/* 107a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell * Cancel a blocking posix lock; internal use only until we expose an 117a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell * asynchronous lock api to userspace: 127a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell */ 137a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#define F_CANCELLK (F_LINUX_SPECIFIC_BASE + 5) 140a262ba7c3250ef02833fae864459ccc905a2e9bReid Spencer 150a262ba7c3250ef02833fae864459ccc905a2e9bReid Spencer/* Create a file descriptor with FD_CLOEXEC set. */ 160a262ba7c3250ef02833fae864459ccc905a2e9bReid Spencer#define F_DUPFD_CLOEXEC (F_LINUX_SPECIFIC_BASE + 6) 177a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell 187a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell/* 197a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell * Request nofications on a directory. 207a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell * See below for events that may be notified. 217a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell */ 227a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell#define F_NOTIFY (F_LINUX_SPECIFIC_BASE+2) 237a73b80b9052136c8cd2234eb3433a07df7cf38eJohn Criswell 248c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer/* 258c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer * Set and get of pipe page size array 268c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer */ 278c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define F_SETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 7) 288c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8) 298c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer 308c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer/* 318c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer * Types of directory notifications that may be requested. 328c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer */ 338c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define DN_ACCESS 0x00000001 /* File accessed */ 348c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define DN_MODIFY 0x00000002 /* File modified */ 358c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define DN_CREATE 0x00000004 /* File created */ 368c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define DN_DELETE 0x00000008 /* File removed */ 378c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define DN_RENAME 0x00000010 /* File renamed */ 388c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define DN_ATTRIB 0x00000020 /* File changed attibutes */ 398c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define DN_MULTISHOT 0x80000000 /* Don't remove notifier */ 408c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer 418c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define AT_FDCWD -100 /* Special value used to indicate 428c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer openat should use the current 438c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer working directory. */ 448c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define AT_SYMLINK_NOFOLLOW 0x100 /* Do not follow symbolic links. */ 450c803894985f80e894b36ad4de58ea4c2e906b07Brian Gaeke#define AT_REMOVEDIR 0x200 /* Remove directory instead of 460c803894985f80e894b36ad4de58ea4c2e906b07Brian Gaeke unlinking file. */ 470c803894985f80e894b36ad4de58ea4c2e906b07Brian Gaeke#define AT_SYMLINK_FOLLOW 0x400 /* Follow symbolic links. */ 488c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define AT_NO_AUTOMOUNT 0x800 /* Suppress terminal automount traversal */ 498c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer#define AT_EMPTY_PATH 0x1000 /* Allow empty relative pathname */ 508c8af327b83a210aed30634c908bb4b39f41eedbReid Spencer 514046846d2cb36a6281b853c73776584063cca19dJohn Criswell 524046846d2cb36a6281b853c73776584063cca19dJohn Criswell#endif /* _UAPI_LINUX_FCNTL_H */ 534046846d2cb36a6281b853c73776584063cca19dJohn Criswell