linux_file.h revision 346812
152942Sbrian/*- 252942Sbrian * Copyright (c) 2007 Roman Divacky 352942Sbrian * All rights reserved. 452942Sbrian * 552942Sbrian * Redistribution and use in source and binary forms, with or without 652942Sbrian * modification, are permitted provided that the following conditions 752942Sbrian * are met: 852942Sbrian * 1. Redistributions of source code must retain the above copyright 952942Sbrian * notice, this list of conditions and the following disclaimer. 1052942Sbrian * 2. Redistributions in binary form must reproduce the above copyright 1152942Sbrian * notice, this list of conditions and the following disclaimer in the 1252942Sbrian * documentation and/or other materials provided with the distribution. 1352942Sbrian * 1452942Sbrian * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1552942Sbrian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1652942Sbrian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1752942Sbrian * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1852942Sbrian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1952942Sbrian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2052942Sbrian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2152942Sbrian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2252942Sbrian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2352942Sbrian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2452942Sbrian * SUCH DAMAGE. 2552942Sbrian * 2652942Sbrian * $FreeBSD: stable/11/sys/compat/linux/linux_file.h 346812 2019-04-28 09:53:08Z dchagin $ 2752942Sbrian */ 2852942Sbrian 2952942Sbrian#ifndef _LINUX_FILE_H_ 3052942Sbrian#define _LINUX_FILE_H_ 3152942Sbrian 3252942Sbrian#define LINUX_AT_FDCWD -100 3352942Sbrian#define LINUX_AT_SYMLINK_NOFOLLOW 0x100 3452942Sbrian#define LINUX_AT_EACCESS 0x200 3552942Sbrian#define LINUX_AT_REMOVEDIR 0x200 3652942Sbrian#define LINUX_AT_SYMLINK_FOLLOW 0x400 3774916Sbrian 3874916Sbrian/* 3952942Sbrian * posix_fadvise advice 4052942Sbrian */ 4152942Sbrian#define LINUX_POSIX_FADV_NORMAL 0 4252942Sbrian#define LINUX_POSIX_FADV_RANDOM 1 4352942Sbrian#define LINUX_POSIX_FADV_SEQUENTIAL 2 4452942Sbrian#define LINUX_POSIX_FADV_WILLNEED 3 4552942Sbrian#define LINUX_POSIX_FADV_DONTNEED 4 4652942Sbrian#define LINUX_POSIX_FADV_NOREUSE 5 4752942Sbrian 4852942Sbrian/* 4952942Sbrian * mount flags 5052942Sbrian */ 5152942Sbrian#define LINUX_MS_RDONLY 0x0001 5252942Sbrian#define LINUX_MS_NOSUID 0x0002 5352942Sbrian#define LINUX_MS_NODEV 0x0004 5453241Sbrian#define LINUX_MS_NOEXEC 0x0008 5552942Sbrian#define LINUX_MS_REMOUNT 0x0020 5671006Sbrian 5752942Sbrian/* 5852942Sbrian * common open/fcntl flags 5952942Sbrian */ 6052942Sbrian#define LINUX_O_RDONLY 00000000 6152942Sbrian#define LINUX_O_WRONLY 00000001 6252942Sbrian#define LINUX_O_RDWR 00000002 6352942Sbrian#define LINUX_O_ACCMODE 00000003 6452942Sbrian#define LINUX_O_CREAT 00000100 6552942Sbrian#define LINUX_O_EXCL 00000200 6652942Sbrian#define LINUX_O_NOCTTY 00000400 6752942Sbrian#define LINUX_O_TRUNC 00001000 6852942Sbrian#define LINUX_O_APPEND 00002000 6952942Sbrian#define LINUX_O_NONBLOCK 00004000 7052942Sbrian#define LINUX_O_NDELAY LINUX_O_NONBLOCK 7152942Sbrian#define LINUX_O_SYNC 00010000 7252942Sbrian#define LINUX_FASYNC 00020000 7352942Sbrian#define LINUX_O_DIRECT 00040000 /* Direct disk access hint */ 7452942Sbrian#define LINUX_O_LARGEFILE 00100000 7552942Sbrian#define LINUX_O_DIRECTORY 00200000 /* Must be a directory */ 7652942Sbrian#define LINUX_O_NOFOLLOW 00400000 /* Do not follow links */ 7752942Sbrian#define LINUX_O_NOATIME 01000000 7852942Sbrian#define LINUX_O_CLOEXEC 02000000 7952942Sbrian 8052942Sbrian#define LINUX_F_DUPFD 0 8152942Sbrian#define LINUX_F_GETFD 1 8252942Sbrian#define LINUX_F_SETFD 2 8352942Sbrian#define LINUX_F_GETFL 3 8452942Sbrian#define LINUX_F_SETFL 4 8552942Sbrian#ifndef LINUX_F_GETLK 8681634Sbrian#define LINUX_F_GETLK 5 8781634Sbrian#define LINUX_F_SETLK 6 8852942Sbrian#define LINUX_F_SETLKW 7 8952942Sbrian#endif 9052942Sbrian#ifndef LINUX_F_SETOWN 9152942Sbrian#define LINUX_F_SETOWN 8 9252942Sbrian#define LINUX_F_GETOWN 9 9381634Sbrian#endif 9481634Sbrian#ifndef LINUX_F_SETSIG 9552942Sbrian#define LINUX_F_SETSIG 10 9652942Sbrian#define LINUX_F_GETSIG 11 9774916Sbrian#endif 9852942Sbrian#ifndef LINUX_F_SETOWN_EX 9952942Sbrian#define LINUX_F_SETOWN_EX 15 10052942Sbrian#define LINUX_F_GETOWN_EX 16 10152942Sbrian#define LINUX_F_GETOWNER_UIDS 17 10252942Sbrian#endif 10352942Sbrian 10452942Sbrian#define LINUX_F_SPECIFIC_BASE 1024 10552942Sbrian 10652942Sbrian#define LINUX_F_SETLEASE (LINUX_F_SPECIFIC_BASE + 0) 10752942Sbrian#define LINUX_F_GETLEASE (LINUX_F_SPECIFIC_BASE + 1) 10852942Sbrian#define LINUX_F_CANCELLK (LINUX_F_SPECIFIC_BASE + 5) 10952942Sbrian#define LINUX_F_DUPFD_CLOEXEC (LINUX_F_SPECIFIC_BASE + 6) 11052942Sbrian#define LINUX_F_NOTIFY (LINUX_F_SPECIFIC_BASE + 2) 11152942Sbrian#define LINUX_F_SETPIPE_SZ (LINUX_F_SPECIFIC_BASE + 7) 11252942Sbrian#define LINUX_F_GETPIPE_SZ (LINUX_F_SPECIFIC_BASE + 8) 11352942Sbrian 11452942Sbrian#define LINUX_F_GETLKP 36 11552942Sbrian#define LINUX_F_SETLKP 37 11652942Sbrian#define LINUX_F_SETLKPW 38 11752942Sbrian 11852942Sbrian#define LINUX_F_OWNER_TID 0 11952942Sbrian#define LINUX_F_OWNER_PID 1 12052942Sbrian#define LINUX_F_OWNER_PGRP 2 12152942Sbrian 12252942Sbrian#ifndef LINUX_F_RDLCK 12352942Sbrian#define LINUX_F_RDLCK 0 12452942Sbrian#define LINUX_F_WRLCK 1 12552942Sbrian#define LINUX_F_UNLCK 2 12652942Sbrian#endif 12752942Sbrian 12852942Sbrian#endif /* !_LINUX_FILE_H_ */ 12952942Sbrian