Update copyright dates with scripts/update-copyrights.
[glibc.git] / sysdeps / unix / sysv / linux / generic / bits / fcntl.h
blobcf7c76a70de77b552667f959f11bb2b25a609fe7
1 /* O_*, F_*, FD_* bit values for the generic Linux ABI.
2 Copyright (C) 2011-2015 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library. If not, see
18 <http://www.gnu.org/licenses/>. */
20 #ifndef _FCNTL_H
21 # error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
22 #endif
24 #include <bits/wordsize.h>
26 #if __WORDSIZE == 64
27 # define __O_LARGEFILE 0
28 #endif
30 struct flock
32 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
33 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
34 #ifndef __USE_FILE_OFFSET64
35 __off_t l_start; /* Offset where the lock begins. */
36 __off_t l_len; /* Size of the locked area; zero means until EOF. */
37 #else
38 __off64_t l_start; /* Offset where the lock begins. */
39 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
40 #endif
41 __pid_t l_pid; /* Process holding the lock. */
44 #ifdef __USE_LARGEFILE64
45 struct flock64
47 short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
48 short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
49 __off64_t l_start; /* Offset where the lock begins. */
50 __off64_t l_len; /* Size of the locked area; zero means until EOF. */
51 __pid_t l_pid; /* Process holding the lock. */
53 #endif
55 /* Include generic Linux declarations. */
56 #include <bits/fcntl-linux.h>