linux_file.h revision 283437
158713Sjhb/*-
258713Sjhb * Copyright (c) 2007 Roman Divacky
358713Sjhb * All rights reserved.
458713Sjhb *
558713Sjhb * Redistribution and use in source and binary forms, with or without
658713Sjhb * modification, are permitted provided that the following conditions
758713Sjhb * are met:
858713Sjhb * 1. Redistributions of source code must retain the above copyright
958713Sjhb *    notice, this list of conditions and the following disclaimer.
1058713Sjhb * 2. Redistributions in binary form must reproduce the above copyright
1158713Sjhb *    notice, this list of conditions and the following disclaimer in the
1258713Sjhb *    documentation and/or other materials provided with the distribution.
1358713Sjhb *
1458713Sjhb * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1558713Sjhb * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1658713Sjhb * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1758713Sjhb * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
1858713Sjhb * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1958713Sjhb * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2058713Sjhb * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2158713Sjhb * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2258713Sjhb * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2358713Sjhb * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2458713Sjhb * SUCH DAMAGE.
2558713Sjhb *
2658713Sjhb * $FreeBSD: head/sys/compat/linux/linux_file.h 283437 2015-05-24 16:31:44Z dchagin $
2758713Sjhb */
2858713Sjhb
2958713Sjhb#ifndef _LINUX_FILE_H_
3058713Sjhb#define	_LINUX_FILE_H_
3158713Sjhb
3258713Sjhb#define	LINUX_AT_FDCWD			-100
3358713Sjhb#define	LINUX_AT_SYMLINK_NOFOLLOW	0x100
3458713Sjhb#define	LINUX_AT_EACCESS		0x200
3558713Sjhb#define	LINUX_AT_REMOVEDIR		0x200
3658713Sjhb#define	LINUX_AT_SYMLINK_FOLLOW		0x400
3758713Sjhb
3858713Sjhb/*
3958713Sjhb * posix_fadvise advice
4069391Sps */
4158713Sjhb#define	LINUX_POSIX_FADV_NORMAL		0
4258713Sjhb#define	LINUX_POSIX_FADV_RANDOM		1
4358713Sjhb#define	LINUX_POSIX_FADV_SEQUENTIAL    	2
4458713Sjhb#define	LINUX_POSIX_FADV_WILLNEED      	3
4558713Sjhb#define	LINUX_POSIX_FADV_DONTNEED      	4
4658713Sjhb#define	LINUX_POSIX_FADV_NOREUSE       	5
4758713Sjhb
4858713Sjhb/*
4958713Sjhb * mount flags
5058713Sjhb */
5158713Sjhb#define	LINUX_MS_RDONLY		0x0001
5258713Sjhb#define	LINUX_MS_NOSUID		0x0002
5358713Sjhb#define	LINUX_MS_NODEV		0x0004
5458713Sjhb#define	LINUX_MS_NOEXEC		0x0008
5558713Sjhb#define	LINUX_MS_REMOUNT	0x0020
5669391Sps
5769391Sps/*
5869391Sps * common open/fcntl flags
5969391Sps */
6058713Sjhb#define	LINUX_O_RDONLY		00000000
6158713Sjhb#define	LINUX_O_WRONLY		00000001
6258713Sjhb#define	LINUX_O_RDWR		00000002
6358713Sjhb#define	LINUX_O_ACCMODE		00000003
6458713Sjhb#define	LINUX_O_CREAT		00000100
6558713Sjhb#define	LINUX_O_EXCL		00000200
6658713Sjhb#define	LINUX_O_NOCTTY		00000400
6758713Sjhb#define	LINUX_O_TRUNC		00001000
6858713Sjhb#define	LINUX_O_APPEND		00002000
6958713Sjhb#define	LINUX_O_NONBLOCK	00004000
7058713Sjhb#define	LINUX_O_NDELAY		LINUX_O_NONBLOCK
7169391Sps#define	LINUX_O_SYNC		00010000
7269391Sps#define	LINUX_FASYNC		00020000
7369391Sps#define	LINUX_O_DIRECT		00040000	/* Direct disk access hint */
7469391Sps#define	LINUX_O_LARGEFILE	00100000
7558713Sjhb#define	LINUX_O_DIRECTORY	00200000	/* Must be a directory */
7658713Sjhb#define	LINUX_O_NOFOLLOW	00400000	/* Do not follow links */
7758713Sjhb#define	LINUX_O_NOATIME		01000000
7858713Sjhb#define	LINUX_O_CLOEXEC		02000000
7958713Sjhb
8058713Sjhb#define	LINUX_F_DUPFD		0
8158713Sjhb#define	LINUX_F_GETFD		1
8258713Sjhb#define	LINUX_F_SETFD		2
8358713Sjhb#define	LINUX_F_GETFL		3
8458713Sjhb#define	LINUX_F_SETFL		4
8558713Sjhb#ifndef LINUX_F_GETLK
8658713Sjhb#define	LINUX_F_GETLK		5
8758713Sjhb#define	LINUX_F_SETLK		6
8858713Sjhb#define	LINUX_F_SETLKW		7
8958713Sjhb#endif
9058713Sjhb#ifndef LINUX_F_SETOWN
9158713Sjhb#define	LINUX_F_SETOWN		8
9258713Sjhb#define	LINUX_F_GETOWN		9
9358713Sjhb#endif
9458713Sjhb
9558713Sjhb#ifndef LINUX_F_RDLCK
9658713Sjhb#define	LINUX_F_RDLCK		0
9760821Sjhb#define	LINUX_F_WRLCK		1
9858713Sjhb#define	LINUX_F_UNLCK		2
9958713Sjhb#endif
10058713Sjhb
10158713Sjhb#endif	/* !_LINUX_FILE_H_ */
10260821Sjhb