linux_file.h revision 283438
159769Sgrog/*- 259769Sgrog * Copyright (c) 2007 Roman Divacky 324424Swosch * All rights reserved. 424424Swosch * 524424Swosch * Redistribution and use in source and binary forms, with or without 624424Swosch * modification, are permitted provided that the following conditions 724424Swosch * are met: 824424Swosch * 1. Redistributions of source code must retain the above copyright 924424Swosch * notice, this list of conditions and the following disclaimer. 1024424Swosch * 2. Redistributions in binary form must reproduce the above copyright 1124424Swosch * notice, this list of conditions and the following disclaimer in the 1224424Swosch * documentation and/or other materials provided with the distribution. 1324424Swosch * 1424424Swosch * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1542704Swosch * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1642704Swosch * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1742704Swosch * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1824424Swosch * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1942704Swosch * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2042704Swosch * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2142704Swosch * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2242704Swosch * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2342704Swosch * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2442704Swosch * SUCH DAMAGE. 2542704Swosch * 2642704Swosch * $FreeBSD: head/sys/compat/linux/linux_file.h 283438 2015-05-24 16:32:52Z dchagin $ 2742704Swosch */ 2842704Swosch 2942704Swosch#ifndef _LINUX_FILE_H_ 3059769Sgrog#define _LINUX_FILE_H_ 3159769Sgrog 3259769Sgrog#define LINUX_AT_FDCWD -100 3359769Sgrog#define LINUX_AT_SYMLINK_NOFOLLOW 0x100 3459769Sgrog#define LINUX_AT_EACCESS 0x200 3559769Sgrog#define LINUX_AT_REMOVEDIR 0x200 3659769Sgrog#define LINUX_AT_SYMLINK_FOLLOW 0x400 3759769Sgrog 3859769Sgrog/* 3924424Swosch * posix_fadvise advice 4042704Swosch */ 4124424Swosch#define LINUX_POSIX_FADV_NORMAL 0 4242704Swosch#define LINUX_POSIX_FADV_RANDOM 1 4324424Swosch#define LINUX_POSIX_FADV_SEQUENTIAL 2 4442704Swosch#define LINUX_POSIX_FADV_WILLNEED 3 4524424Swosch#define LINUX_POSIX_FADV_DONTNEED 4 4624424Swosch#define LINUX_POSIX_FADV_NOREUSE 5 4724424Swosch 4842704Swosch/* 4925031Swosch * mount flags 5059156Swosch */ 5125031Swosch#define LINUX_MS_RDONLY 0x0001 5225031Swosch#define LINUX_MS_NOSUID 0x0002 5324424Swosch#define LINUX_MS_NODEV 0x0004 5424424Swosch#define LINUX_MS_NOEXEC 0x0008 5524424Swosch#define LINUX_MS_REMOUNT 0x0020 5624424Swosch 5771231Sitojun/* 5824424Swosch * common open/fcntl flags 5971231Sitojun */ 6025031Swosch#define LINUX_O_RDONLY 00000000 6171231Sitojun#define LINUX_O_WRONLY 00000001 6224424Swosch#define LINUX_O_RDWR 00000002 6325031Swosch#define LINUX_O_ACCMODE 00000003 6425031Swosch#define LINUX_O_CREAT 00000100 6571231Sitojun#define LINUX_O_EXCL 00000200 6625031Swosch#define LINUX_O_NOCTTY 00000400 6771231Sitojun#define LINUX_O_TRUNC 00001000 6870110Swosch#define LINUX_O_APPEND 00002000 6970110Swosch#define LINUX_O_NONBLOCK 00004000 7070110Swosch#define LINUX_O_NDELAY LINUX_O_NONBLOCK 7170110Swosch#define LINUX_O_SYNC 00010000 7270110Swosch#define LINUX_FASYNC 00020000 7370110Swosch#define LINUX_O_DIRECT 00040000 /* Direct disk access hint */ 7470110Swosch#define LINUX_O_LARGEFILE 00100000 7570110Swosch#define LINUX_O_DIRECTORY 00200000 /* Must be a directory */ 7670110Swosch#define LINUX_O_NOFOLLOW 00400000 /* Do not follow links */ 7770110Swosch#define LINUX_O_NOATIME 01000000 7870110Swosch#define LINUX_O_CLOEXEC 02000000 7980675Sasmodai 8080675Sasmodai#define LINUX_F_DUPFD 0 8180675Sasmodai#define LINUX_F_GETFD 1 8280675Sasmodai#define LINUX_F_SETFD 2 8380675Sasmodai#define LINUX_F_GETFL 3 8480675Sasmodai#define LINUX_F_SETFL 4 8580675Sasmodai#ifndef LINUX_F_GETLK 8680675Sasmodai#define LINUX_F_GETLK 5 8780675Sasmodai#define LINUX_F_SETLK 6 8880675Sasmodai#define LINUX_F_SETLKW 7 8980675Sasmodai#endif 9080675Sasmodai#ifndef LINUX_F_SETOWN 9180675Sasmodai#define LINUX_F_SETOWN 8 9280675Sasmodai#define LINUX_F_GETOWN 9 9380675Sasmodai#endif 9480675Sasmodai#ifndef LINUX_F_SETSIG 9580675Sasmodai#define LINUX_F_SETSIG 10 9680675Sasmodai#define LINUX_F_GETSIG 11 9780675Sasmodai#endif 9880675Sasmodai#ifndef LINUX_F_SETOWN_EX 9980675Sasmodai#define LINUX_F_SETOWN_EX 15 10080675Sasmodai#define LINUX_F_GETOWN_EX 16 10180675Sasmodai#define LINUX_F_GETOWNER_UIDS 17 10280675Sasmodai#endif 10380675Sasmodai 10480675Sasmodai#define LINUX_F_SPECIFIC_BASE 1024 10580675Sasmodai 10680675Sasmodai#define LINUX_F_SETLEASE (LINUX_F_SPECIFIC_BASE + 0) 10780675Sasmodai#define LINUX_F_GETLEASE (LINUX_F_SPECIFIC_BASE + 1) 10880675Sasmodai#define LINUX_F_CANCELLK (LINUX_F_SPECIFIC_BASE + 5) 10980675Sasmodai#define LINUX_F_DUPFD_CLOEXEC (LINUX_F_SPECIFIC_BASE + 6) 11080675Sasmodai#define LINUX_F_NOTIFY (LINUX_F_SPECIFIC_BASE + 2) 11180675Sasmodai#define LINUX_F_SETPIPE_SZ (LINUX_F_SPECIFIC_BASE + 7) 11280675Sasmodai#define LINUX_F_GETPIPE_SZ (LINUX_F_SPECIFIC_BASE + 8) 11380675Sasmodai 11480675Sasmodai#define LINUX_F_GETLKP 36 11580675Sasmodai#define LINUX_F_SETLKP 37 11680675Sasmodai#define LINUX_F_SETLKPW 38 11780675Sasmodai 11880675Sasmodai#define LINUX_F_OWNER_TID 0 11980675Sasmodai#define LINUX_F_OWNER_PID 1 12080675Sasmodai#define LINUX_F_OWNER_PGRP 2 12180675Sasmodai 12280675Sasmodai#ifndef LINUX_F_RDLCK 12380675Sasmodai#define LINUX_F_RDLCK 0 12480675Sasmodai#define LINUX_F_WRLCK 1 12580675Sasmodai#define LINUX_F_UNLCK 2 12680675Sasmodai#endif 12780675Sasmodai 12880675Sasmodai#endif /* !_LINUX_FILE_H_ */ 12980675Sasmodai