arch/mips/include/uapi/asm/fcntl.h
Source file repositories/reference/linux-study-clean/arch/mips/include/uapi/asm/fcntl.h
File Facts
- System
- Linux kernel
- Corpus path
arch/mips/include/uapi/asm/fcntl.h- Extension
.h- Size
- 2056 bytes
- Lines
- 61
- Domain
- Architecture Layer
- Bucket
- arch/mips
- Inferred role
- Architecture Layer: implementation source
- Status
- source implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
asm/sgidefs.hasm-generic/fcntl.h
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
#ifndef _UAPI_ASM_FCNTL_H
#define _UAPI_ASM_FCNTL_H
#include <asm/sgidefs.h>
#define O_APPEND (1 << 3)
#define O_DSYNC (1 << 4) /* used to be O_SYNC, see below */
#define O_NONBLOCK (1 << 7)
#define O_CREAT (1 << 8) /* not fcntl */
#define O_TRUNC (1 << 9) /* not fcntl */
#define O_EXCL (1 << 10) /* not fcntl */
#define O_NOCTTY (1 << 11) /* not fcntl */
#define FASYNC (1 << 12) /* fcntl, for BSD compatibility */
#define O_LARGEFILE (1 << 13) /* 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 (1 << 14)
#define O_SYNC (__O_SYNC|O_DSYNC)
#define O_DIRECT (1 << 15) /* 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. */
#if __BITS_PER_LONG == 32 || defined(__KERNEL__)
#define F_GETLK64 33 /* using 'struct flock64' */
#define F_SETLK64 34
#define F_SETLKW64 35
#endif /* __BITS_PER_LONG == 32 || defined(__KERNEL__) */
#if _MIPS_SIM != _MIPS_SIM_ABI64
#define __ARCH_FLOCK_EXTRA_SYSID long l_sysid;
#define __ARCH_FLOCK_PAD long pad[4];
#endif
#include <asm-generic/fcntl.h>
#endif /* _UAPI_ASM_FCNTL_H */
Annotation
- Immediate include surface: `asm/sgidefs.h`, `asm-generic/fcntl.h`.
- Atlas domain: Architecture Layer / arch/mips.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.