forked from mirrors/linux
		
	Many user space API headers have licensing information, which is either
incomplete, badly formatted or just a shorthand for referring to the
license under which the file is supposed to be.  This makes it hard for
compliance tools to determine the correct license.
Update these files with an SPDX license identifier.  The identifier was
chosen based on the license information in the file.
GPL/LGPL licensed headers get the matching GPL/LGPL SPDX license
identifier with the added 'WITH Linux-syscall-note' exception, which is
the officially assigned exception identifier for the kernel syscall
exception:
   NOTE! This copyright does *not* cover user programs that use kernel
   services by normal system calls - this is merely considered normal use
   of the kernel, and does *not* fall under the heading of "derived work".
This exception makes it possible to include GPL headers into non GPL
code, without confusing license compliance tools.
Headers which have either explicit dual licensing or are just licensed
under a non GPL license are updated with the corresponding SPDX
identifier and the GPLv2 with syscall exception identifier.  The format
is:
        ((GPL-2.0 WITH Linux-syscall-note) OR SPDX-ID-OF-OTHER-LICENSE)
SPDX license identifiers are a legally binding shorthand, which can be
used instead of the full boiler plate text.  The update does not remove
existing license information as this has to be done on a case by case
basis and the copyright holders might have to be consulted. This will
happen in a separate step.
This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.  See the previous patch in this series for the
methodology of how this patch was researched.
Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
		
	
			
		
			
				
	
	
		
			80 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 | 
						|
/*
 | 
						|
 * This file is subject to the terms and conditions of the GNU General Public
 | 
						|
 * License.  See the file "COPYING" in the main directory of this archive
 | 
						|
 * for more details.
 | 
						|
 *
 | 
						|
 * Copyright (C) 1995, 96, 97, 98, 99, 2003, 05 Ralf Baechle
 | 
						|
 */
 | 
						|
#ifndef _UAPI_ASM_FCNTL_H
 | 
						|
#define _UAPI_ASM_FCNTL_H
 | 
						|
 | 
						|
#include <asm/sgidefs.h>
 | 
						|
 | 
						|
#define O_APPEND	0x0008
 | 
						|
#define O_DSYNC		0x0010	/* used to be O_SYNC, see below */
 | 
						|
#define O_NONBLOCK	0x0080
 | 
						|
#define O_CREAT		0x0100	/* not fcntl */
 | 
						|
#define O_TRUNC		0x0200	/* not fcntl */
 | 
						|
#define O_EXCL		0x0400	/* not fcntl */
 | 
						|
#define O_NOCTTY	0x0800	/* not fcntl */
 | 
						|
#define FASYNC		0x1000	/* fcntl, for BSD compatibility */
 | 
						|
#define O_LARGEFILE	0x2000	/* allow large file opens */
 | 
						|
/*
 | 
						|
 * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using
 | 
						|
 * the O_SYNC flag.  We continue to use the existing numerical value
 | 
						|
 * for O_DSYNC semantics now, but using the correct symbolic name for it.
 | 
						|
 * This new value is used to request true Posix O_SYNC semantics.  It is
 | 
						|
 * defined in this strange way to make sure applications compiled against
 | 
						|
 * new headers get at least O_DSYNC semantics on older kernels.
 | 
						|
 *
 | 
						|
 * This has the nice side-effect that we can simply test for O_DSYNC
 | 
						|
 * wherever we do not care if O_DSYNC or O_SYNC is used.
 | 
						|
 *
 | 
						|
 * Note: __O_SYNC must never be used directly.
 | 
						|
 */
 | 
						|
#define __O_SYNC	0x4000
 | 
						|
#define O_SYNC		(__O_SYNC|O_DSYNC)
 | 
						|
#define O_DIRECT	0x8000	/* direct disk access hint */
 | 
						|
 | 
						|
#define F_GETLK		14
 | 
						|
#define F_SETLK		6
 | 
						|
#define F_SETLKW	7
 | 
						|
 | 
						|
#define F_SETOWN	24	/*  for sockets. */
 | 
						|
#define F_GETOWN	23	/*  for sockets. */
 | 
						|
 | 
						|
#ifndef __mips64
 | 
						|
#define F_GETLK64	33	/*  using 'struct flock64' */
 | 
						|
#define F_SETLK64	34
 | 
						|
#define F_SETLKW64	35
 | 
						|
#endif
 | 
						|
 | 
						|
/*
 | 
						|
 * The flavours of struct flock.  "struct flock" is the ABI compliant
 | 
						|
 * variant.  Finally struct flock64 is the LFS variant of struct flock.	 As
 | 
						|
 * a historic accident and inconsistence with the ABI definition it doesn't
 | 
						|
 * contain all the same fields as struct flock.
 | 
						|
 */
 | 
						|
 | 
						|
#if _MIPS_SIM != _MIPS_SIM_ABI64
 | 
						|
 | 
						|
#include <linux/types.h>
 | 
						|
 | 
						|
struct flock {
 | 
						|
	short	l_type;
 | 
						|
	short	l_whence;
 | 
						|
	__kernel_off_t	l_start;
 | 
						|
	__kernel_off_t	l_len;
 | 
						|
	long	l_sysid;
 | 
						|
	__kernel_pid_t l_pid;
 | 
						|
	long	pad[4];
 | 
						|
};
 | 
						|
 | 
						|
#define HAVE_ARCH_STRUCT_FLOCK
 | 
						|
 | 
						|
#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
 | 
						|
 | 
						|
#include <asm-generic/fcntl.h>
 | 
						|
 | 
						|
#endif /* _UAPI_ASM_FCNTL_H */
 |