linux_file.h revision 293541
1238106Sdes/*-
2238106Sdes * Copyright (c) 2007 Roman Divacky
3238106Sdes * All rights reserved.
4238106Sdes *
5238106Sdes * Redistribution and use in source and binary forms, with or without
6238106Sdes * modification, are permitted provided that the following conditions
7238106Sdes * are met:
8238106Sdes * 1. Redistributions of source code must retain the above copyright
9238106Sdes *    notice, this list of conditions and the following disclaimer.
10238106Sdes * 2. Redistributions in binary form must reproduce the above copyright
11238106Sdes *    notice, this list of conditions and the following disclaimer in the
12238106Sdes *    documentation and/or other materials provided with the distribution.
13238106Sdes *
14238106Sdes * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15238106Sdes * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16238106Sdes * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17238106Sdes * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18238106Sdes * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19238106Sdes * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20238106Sdes * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21238106Sdes * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22238106Sdes * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23238106Sdes * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24269257Sdes * SUCH DAMAGE.
25269257Sdes *
26269257Sdes * $FreeBSD: stable/10/sys/compat/linux/linux_file.h 293541 2016-01-09 16:31:10Z dchagin $
27269257Sdes */
28269257Sdes
29269257Sdes#ifndef _LINUX_FILE_H_
30269257Sdes#define	_LINUX_FILE_H_
31269257Sdes
32269257Sdes#define	LINUX_AT_FDCWD			-100
33269257Sdes#define	LINUX_AT_SYMLINK_NOFOLLOW	0x100
34238106Sdes#define	LINUX_AT_EACCESS		0x200
35238106Sdes#define	LINUX_AT_REMOVEDIR		0x200
36238106Sdes#define	LINUX_AT_SYMLINK_FOLLOW		0x400
37238106Sdes
38238106Sdes/*
39238106Sdes * posix_fadvise advice
40238106Sdes */
41238106Sdes#define	LINUX_POSIX_FADV_NORMAL		0
42238106Sdes#define	LINUX_POSIX_FADV_RANDOM		1
43238106Sdes#define	LINUX_POSIX_FADV_SEQUENTIAL    	2
44238106Sdes#define	LINUX_POSIX_FADV_WILLNEED      	3
45238106Sdes#define	LINUX_POSIX_FADV_DONTNEED      	4
46255588Sdes#define	LINUX_POSIX_FADV_NOREUSE       	5
47238106Sdes
48238106Sdes/*
49238106Sdes * mount flags
50238106Sdes */
51238106Sdes#define	LINUX_MS_RDONLY		0x0001
52238106Sdes#define	LINUX_MS_NOSUID		0x0002
53238106Sdes#define	LINUX_MS_NODEV		0x0004
54285206Sdes#define	LINUX_MS_NOEXEC		0x0008
55238106Sdes#define	LINUX_MS_REMOUNT	0x0020
56238106Sdes
57238106Sdes/*
58238106Sdes * common open/fcntl flags
59238106Sdes */
60238106Sdes#define	LINUX_O_RDONLY		00000000
61238106Sdes#define	LINUX_O_WRONLY		00000001
62238106Sdes#define	LINUX_O_RDWR		00000002
63238106Sdes#define	LINUX_O_ACCMODE		00000003
64238106Sdes#define	LINUX_O_CREAT		00000100
65238106Sdes#define	LINUX_O_EXCL		00000200
66238106Sdes#define	LINUX_O_NOCTTY		00000400
67238106Sdes#define	LINUX_O_TRUNC		00001000
68238106Sdes#define	LINUX_O_APPEND		00002000
69238106Sdes#define	LINUX_O_NONBLOCK	00004000
70238106Sdes#define	LINUX_O_NDELAY		LINUX_O_NONBLOCK
71238106Sdes#define	LINUX_O_SYNC		00010000
72238106Sdes#define	LINUX_FASYNC		00020000
73238106Sdes#define	LINUX_O_DIRECT		00040000	/* Direct disk access hint */
74238106Sdes#define	LINUX_O_LARGEFILE	00100000
75238106Sdes#define	LINUX_O_DIRECTORY	00200000	/* Must be a directory */
76238106Sdes#define	LINUX_O_NOFOLLOW	00400000	/* Do not follow links */
77238106Sdes#define	LINUX_O_NOATIME		01000000
78238106Sdes#define	LINUX_O_CLOEXEC		02000000
79238106Sdes
80238106Sdes#define	LINUX_F_DUPFD		0
81238106Sdes#define	LINUX_F_GETFD		1
82238106Sdes#define	LINUX_F_SETFD		2
83238106Sdes#define	LINUX_F_GETFL		3
84238106Sdes#define	LINUX_F_SETFL		4
85238106Sdes#ifndef LINUX_F_GETLK
86238106Sdes#define	LINUX_F_GETLK		5
87238106Sdes#define	LINUX_F_SETLK		6
88238106Sdes#define	LINUX_F_SETLKW		7
89238106Sdes#endif
90238106Sdes#ifndef LINUX_F_SETOWN
91238106Sdes#define	LINUX_F_SETOWN		8
92238106Sdes#define	LINUX_F_GETOWN		9
93238106Sdes#endif
94238106Sdes
95238106Sdes#ifndef LINUX_F_RDLCK
96238106Sdes#define	LINUX_F_RDLCK		0
97238106Sdes#define	LINUX_F_WRLCK		1
98238106Sdes#define	LINUX_F_UNLCK		2
99238106Sdes#endif
100238106Sdes
101238106Sdes#endif	/* !_LINUX_FILE_H_ */
102238106Sdes