Serenity Operating System
at master 64 lines 1.2 kB view raw
1/* 2 * Copyright (c) 2018-2021, Andreas Kling <kling@serenityos.org> 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#pragma once 8 9#include <Kernel/API/POSIX/sys/types.h> 10 11#ifdef __cplusplus 12extern "C" { 13#endif 14 15#define F_DUPFD 0 16#define F_GETFD 1 17#define F_SETFD 2 18#define F_GETFL 3 19#define F_SETFL 4 20#define F_ISTTY 5 21#define F_GETLK 6 22#define F_SETLK 7 23#define F_SETLKW 8 24#define F_DUPFD_CLOEXEC 9 25 26#define FD_CLOEXEC 1 27 28#define O_RDONLY (1 << 0) 29#define O_WRONLY (1 << 1) 30#define O_RDWR (O_RDONLY | O_WRONLY) 31#define O_ACCMODE (O_RDONLY | O_WRONLY) 32#define O_EXEC (1 << 2) 33#define O_CREAT (1 << 3) 34#define O_EXCL (1 << 4) 35#define O_NOCTTY (1 << 5) 36#define O_TRUNC (1 << 6) 37#define O_APPEND (1 << 7) 38#define O_NONBLOCK (1 << 8) 39#define O_DIRECTORY (1 << 9) 40#define O_NOFOLLOW (1 << 10) 41#define O_CLOEXEC (1 << 11) 42#define O_DIRECT (1 << 12) 43#define O_SYNC (1 << 13) 44 45#define F_RDLCK ((short)0) 46#define F_WRLCK ((short)1) 47#define F_UNLCK ((short)2) 48 49#define AT_FDCWD -100 50#define AT_SYMLINK_NOFOLLOW 0x100 51#define AT_REMOVEDIR 0x200 52#define AT_EACCESS 0x400 53 54struct flock { 55 short l_type; 56 short l_whence; 57 off_t l_start; 58 off_t l_len; 59 pid_t l_pid; 60}; 61 62#ifdef __cplusplus 63} 64#endif