fcntl.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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 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_EXCL 0x0400 /* not fcntl */
  15. #define O_NOCTTY 0x0800 /* not fcntl */
  16. #define FASYNC 0x1000 /* fcntl, for BSD compatibility */
  17. #define O_LARGEFILE 0x2000 /* allow large file opens */
  18. #define O_DIRECT 0x8000 /* direct disk access hint */
  19. #define F_GETLK 14
  20. #define F_SETLK 6
  21. #define F_SETLKW 7
  22. #define F_SETOWN 24 /* for sockets. */
  23. #define F_GETOWN 23 /* for sockets. */
  24. #define F_SETSIG 10 /* for sockets. */
  25. #define F_GETSIG 11 /* for sockets. */
  26. #ifndef __mips64
  27. #define F_GETLK64 33 /* using 'struct flock64' */
  28. #define F_SETLK64 34
  29. #define F_SETLKW64 35
  30. #endif
  31. /*
  32. * The flavours of struct flock. "struct flock" is the ABI compliant
  33. * variant. Finally struct flock64 is the LFS variant of struct flock. As
  34. * a historic accident and inconsistence with the ABI definition it doesn't
  35. * contain all the same fields as struct flock.
  36. */
  37. #ifndef __mips64
  38. struct flock {
  39. short l_type;
  40. short l_whence;
  41. __kernel_off_t l_start;
  42. __kernel_off_t l_len;
  43. long l_sysid;
  44. __kernel_pid_t l_pid;
  45. long pad[4];
  46. };
  47. #define HAVE_ARCH_STRUCT_FLOCK
  48. #endif
  49. #include <asm-generic/fcntl.h>
  50. typedef struct flock flock_t;
  51. #ifndef __mips64
  52. typedef struct flock64 flock64_t;
  53. #endif
  54. #endif /* _ASM_FCNTL_H */