2005-04-17 05:20:36 +07:00
|
|
|
#ifndef _LINUX_FCNTL_H
|
|
|
|
#define _LINUX_FCNTL_H
|
|
|
|
|
|
|
|
#include <asm/fcntl.h>
|
|
|
|
|
|
|
|
#define F_SETLEASE (F_LINUX_SPECIFIC_BASE+0)
|
|
|
|
#define F_GETLEASE (F_LINUX_SPECIFIC_BASE+1)
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Request nofications on a directory.
|
|
|
|
* See below for events that may be notified.
|
|
|
|
*/
|
|
|
|
#define F_NOTIFY (F_LINUX_SPECIFIC_BASE+2)
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Types of directory notifications that may be requested.
|
|
|
|
*/
|
|
|
|
#define DN_ACCESS 0x00000001 /* File accessed */
|
|
|
|
#define DN_MODIFY 0x00000002 /* File modified */
|
|
|
|
#define DN_CREATE 0x00000004 /* File created */
|
|
|
|
#define DN_DELETE 0x00000008 /* File removed */
|
|
|
|
#define DN_RENAME 0x00000010 /* File renamed */
|
|
|
|
#define DN_ATTRIB 0x00000020 /* File changed attibutes */
|
|
|
|
#define DN_MULTISHOT 0x80000000 /* Don't remove notifier */
|
|
|
|
|
2006-01-19 08:43:53 +07:00
|
|
|
#define AT_FDCWD -100 /* Special value used to indicate
|
|
|
|
openat should use the current
|
|
|
|
working directory. */
|
|
|
|
#define AT_SYMLINK_NOFOLLOW 0x100 /* Do not follow symbolic links. */
|
|
|
|
#define AT_REMOVEDIR 0x200 /* Remove directory instead of
|
|
|
|
unlinking file. */
|
2006-06-25 19:49:11 +07:00
|
|
|
#define AT_SYMLINK_FOLLOW 0x400 /* Follow symbolic links. */
|
2006-01-19 08:43:53 +07:00
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
#ifdef __KERNEL__
|
|
|
|
|
2005-06-23 14:09:58 +07:00
|
|
|
#ifndef force_o_largefile
|
|
|
|
#define force_o_largefile() (BITS_PER_LONG != 32)
|
|
|
|
#endif
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
#if BITS_PER_LONG == 32
|
|
|
|
#define IS_GETLK32(cmd) ((cmd) == F_GETLK)
|
|
|
|
#define IS_SETLK32(cmd) ((cmd) == F_SETLK)
|
|
|
|
#define IS_SETLKW32(cmd) ((cmd) == F_SETLKW)
|
|
|
|
#define IS_GETLK64(cmd) ((cmd) == F_GETLK64)
|
|
|
|
#define IS_SETLK64(cmd) ((cmd) == F_SETLK64)
|
|
|
|
#define IS_SETLKW64(cmd) ((cmd) == F_SETLKW64)
|
|
|
|
#else
|
|
|
|
#define IS_GETLK32(cmd) (0)
|
|
|
|
#define IS_SETLK32(cmd) (0)
|
|
|
|
#define IS_SETLKW32(cmd) (0)
|
|
|
|
#define IS_GETLK64(cmd) ((cmd) == F_GETLK)
|
|
|
|
#define IS_SETLK64(cmd) ((cmd) == F_SETLK)
|
|
|
|
#define IS_SETLKW64(cmd) ((cmd) == F_SETLKW)
|
|
|
|
#endif /* BITS_PER_LONG == 32 */
|
|
|
|
|
|
|
|
#define IS_GETLK(cmd) (IS_GETLK32(cmd) || IS_GETLK64(cmd))
|
|
|
|
#define IS_SETLK(cmd) (IS_SETLK32(cmd) || IS_SETLK64(cmd))
|
|
|
|
#define IS_SETLKW(cmd) (IS_SETLKW32(cmd) || IS_SETLKW64(cmd))
|
|
|
|
|
|
|
|
#endif /* __KERNEL__ */
|
|
|
|
|
|
|
|
#endif
|