fcntl.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * Copyright (C) 1995, 96, 97, 98, 99, 2003, 05 Ralf Baechle
  7. */
  8. #ifndef _ASM_FCNTL_H
  9. #define _ASM_FCNTL_H
  10. #define O_APPEND 0x0008
  11. #define O_SYNC 0x0010
  12. #define O_NONBLOCK 0x0080
  13. #define O_CREAT 0x0100 /* not fcntl */
  14. #define O_TRUNC 0x0200 /* not fcntl */
  15. #define O_EXCL 0x0400 /* not fcntl */
  16. #define O_NOCTTY 0x0800 /* not fcntl */
  17. #define FASYNC 0x1000 /* fcntl, for BSD compatibility */
  18. #define O_LARGEFILE 0x2000 /* allow large file opens */
  19. #define O_DIRECT 0x8000 /* direct disk access hint */
  20. #define F_GETLK 14
  21. #define F_SETLK 6
  22. #define F_SETLKW 7
  23. #define F_SETOWN 24 /* for sockets. */
  24. #define F_GETOWN 23 /* for sockets. */
  25. #ifndef __mips64
  26. #define F_GETLK64 33 /* using 'struct flock64' */
  27. #define F_SETLK64 34
  28. #define F_SETLKW64 35
  29. #endif
  30. /*
  31. * The flavours of struct flock. "struct flock" is the ABI compliant
  32. * variant. Finally struct flock64 is the LFS variant of struct flock. As
  33. * a historic accident and inconsistence with the ABI definition it doesn't
  34. * contain all the same fields as struct flock.
  35. */
  36. #ifdef CONFIG_32BIT
  37. struct flock {
  38. short l_type;
  39. short l_whence;
  40. off_t l_start;
  41. off_t l_len;
  42. long l_sysid;
  43. __kernel_pid_t l_pid;
  44. long pad[4];
  45. };
  46. #define HAVE_ARCH_STRUCT_FLOCK
  47. #endif /* CONFIG_32BIT */
  48. #include <asm-generic/fcntl.h>
  49. #endif /* _ASM_FCNTL_H */