root/include/linux/fcntl.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _LINUX_FCNTL_H
   3 #define _LINUX_FCNTL_H
   4 
   5 #include <uapi/linux/fcntl.h>
   6 
   7 /* list of all valid flags for the open/openat flags argument: */
   8 #define VALID_OPEN_FLAGS \
   9         (O_RDONLY | O_WRONLY | O_RDWR | O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC | \
  10          O_APPEND | O_NDELAY | O_NONBLOCK | O_NDELAY | __O_SYNC | O_DSYNC | \
  11          FASYNC | O_DIRECT | O_LARGEFILE | O_DIRECTORY | O_NOFOLLOW | \
  12          O_NOATIME | O_CLOEXEC | O_PATH | __O_TMPFILE)
  13 
  14 #ifndef force_o_largefile
  15 #define force_o_largefile() (!IS_ENABLED(CONFIG_ARCH_32BIT_OFF_T))
  16 #endif
  17 
  18 #if BITS_PER_LONG == 32
  19 #define IS_GETLK32(cmd)         ((cmd) == F_GETLK)
  20 #define IS_SETLK32(cmd)         ((cmd) == F_SETLK)
  21 #define IS_SETLKW32(cmd)        ((cmd) == F_SETLKW)
  22 #define IS_GETLK64(cmd)         ((cmd) == F_GETLK64)
  23 #define IS_SETLK64(cmd)         ((cmd) == F_SETLK64)
  24 #define IS_SETLKW64(cmd)        ((cmd) == F_SETLKW64)
  25 #else
  26 #define IS_GETLK32(cmd)         (0)
  27 #define IS_SETLK32(cmd)         (0)
  28 #define IS_SETLKW32(cmd)        (0)
  29 #define IS_GETLK64(cmd)         ((cmd) == F_GETLK)
  30 #define IS_SETLK64(cmd)         ((cmd) == F_SETLK)
  31 #define IS_SETLKW64(cmd)        ((cmd) == F_SETLKW)
  32 #endif /* BITS_PER_LONG == 32 */
  33 
  34 #define IS_GETLK(cmd)   (IS_GETLK32(cmd)  || IS_GETLK64(cmd))
  35 #define IS_SETLK(cmd)   (IS_SETLK32(cmd)  || IS_SETLK64(cmd))
  36 #define IS_SETLKW(cmd)  (IS_SETLKW32(cmd) || IS_SETLKW64(cmd))
  37 
  38 #endif

/* [<][>][^][v][top][bottom][index][help] */