]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
manual: Remove '.info' suffix in manual names passed to @ref [BZ #32962].
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / powerpc / bits / fcntl.h
CommitLineData
73a061bb 1/* O_*, F_*, FD_* bit values for Linux/PowerPC.
26420023 2 Copyright (C) 1995-2025 Free Software Foundation, Inc.
b455bec2
AJ
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
b455bec2
AJ
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
41bdb6e2
AJ
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
b455bec2 14
41bdb6e2 15 You should have received a copy of the GNU Lesser General Public
59ba27a6 16 License along with the GNU C Library; if not, see
5a82c748 17 <https://www.gnu.org/licenses/>. */
b455bec2
AJ
18
19#ifndef _FCNTL_H
20# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
21#endif
22
2c1adbcb 23#include <bits/wordsize.h>
b455bec2 24
2c1adbcb
AJ
25#define __O_DIRECTORY 040000 /* Must be a directory. */
26#define __O_NOFOLLOW 0100000 /* Do not follow links. */
27#define __O_DIRECT 0400000 /* Direct disk access. */
b455bec2 28
2c1adbcb
AJ
29#if __WORDSIZE == 64
30/* Not necessary, files are always with 64bit off_t. */
31# define __O_LARGEFILE 0
b455bec2 32#else
2c1adbcb 33# define __O_LARGEFILE 0200000
1df99b5f 34#endif
a67b0400 35
434bf72a 36#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64
5f828ff8
AZ
37# define F_GETLK 5
38# define F_SETLK 6
39# define F_SETLKW 7
40#endif
41
b455bec2
AJ
42struct flock
43 {
1df99b5f 44 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
b455bec2
AJ
45 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
46#ifndef __USE_FILE_OFFSET64
47 __off_t l_start; /* Offset where the lock begins. */
48 __off_t l_len; /* Size of the locked area; zero means until EOF. */
49#else
50 __off64_t l_start; /* Offset where the lock begins. */
51 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
52#endif
53 __pid_t l_pid; /* Process holding the lock. */
54 };
55
56#ifdef __USE_LARGEFILE64
57struct flock64
58 {
1df99b5f 59 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
b455bec2
AJ
60 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
61 __off64_t l_start; /* Offset where the lock begins. */
62 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
63 __pid_t l_pid; /* Process holding the lock. */
64 };
65#endif
66
2c1adbcb
AJ
67/* Include generic Linux declarations. */
68#include <bits/fcntl-linux.h>