include/uapi/linux/auto_fs.h
Source file repositories/reference/linux-study-clean/include/uapi/linux/auto_fs.h
File Facts
- System
- Linux kernel
- Corpus path
include/uapi/linux/auto_fs.h- Extension
.h- Size
- 6450 bytes
- Lines
- 232
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/limits.hsys/ioctl.h
Detected Declarations
struct autofs_packet_hdrstruct autofs_packet_missingstruct autofs_packet_expirestruct autofs_packet_expire_multistruct autofs_v5_packetenum autofs_notifyfunction set_autofs_type_indirectfunction autofs_type_indirectfunction set_autofs_type_directfunction autofs_type_directfunction set_autofs_type_offsetfunction autofs_type_offsetfunction autofs_type_triggerfunction autofs_dev_ioctl_ismountpointfunction autofs_type_any
Annotated Snippet
struct autofs_packet_hdr {
int proto_version; /* Protocol version */
int type; /* Type of packet */
};
struct autofs_packet_missing {
struct autofs_packet_hdr hdr;
autofs_wqt_t wait_queue_token;
int len;
char name[NAME_MAX+1];
};
/* v3 expire (via ioctl) */
struct autofs_packet_expire {
struct autofs_packet_hdr hdr;
int len;
char name[NAME_MAX+1];
};
#define AUTOFS_IOCTL 0x93
enum {
AUTOFS_IOC_READY_CMD = 0x60,
AUTOFS_IOC_FAIL_CMD,
AUTOFS_IOC_CATATONIC_CMD,
AUTOFS_IOC_PROTOVER_CMD,
AUTOFS_IOC_SETTIMEOUT_CMD,
AUTOFS_IOC_EXPIRE_CMD,
};
#define AUTOFS_IOC_READY _IO(AUTOFS_IOCTL, AUTOFS_IOC_READY_CMD)
#define AUTOFS_IOC_FAIL _IO(AUTOFS_IOCTL, AUTOFS_IOC_FAIL_CMD)
#define AUTOFS_IOC_CATATONIC _IO(AUTOFS_IOCTL, AUTOFS_IOC_CATATONIC_CMD)
#define AUTOFS_IOC_PROTOVER _IOR(AUTOFS_IOCTL, \
AUTOFS_IOC_PROTOVER_CMD, int)
#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(AUTOFS_IOCTL, \
AUTOFS_IOC_SETTIMEOUT_CMD, \
compat_ulong_t)
#define AUTOFS_IOC_SETTIMEOUT _IOWR(AUTOFS_IOCTL, \
AUTOFS_IOC_SETTIMEOUT_CMD, \
unsigned long)
#define AUTOFS_IOC_EXPIRE _IOR(AUTOFS_IOCTL, \
AUTOFS_IOC_EXPIRE_CMD, \
struct autofs_packet_expire)
/* autofs version 4 and later definitions */
/* Mask for expire behaviour */
#define AUTOFS_EXP_NORMAL 0x00
#define AUTOFS_EXP_IMMEDIATE 0x01
#define AUTOFS_EXP_LEAVES 0x02
#define AUTOFS_EXP_FORCED 0x04
#define AUTOFS_TYPE_ANY 0U
#define AUTOFS_TYPE_INDIRECT 1U
#define AUTOFS_TYPE_DIRECT 2U
#define AUTOFS_TYPE_OFFSET 4U
static inline void set_autofs_type_indirect(unsigned int *type)
{
*type = AUTOFS_TYPE_INDIRECT;
}
static inline unsigned int autofs_type_indirect(unsigned int type)
{
return (type == AUTOFS_TYPE_INDIRECT);
}
static inline void set_autofs_type_direct(unsigned int *type)
{
*type = AUTOFS_TYPE_DIRECT;
}
static inline unsigned int autofs_type_direct(unsigned int type)
{
return (type == AUTOFS_TYPE_DIRECT);
}
static inline void set_autofs_type_offset(unsigned int *type)
{
*type = AUTOFS_TYPE_OFFSET;
}
static inline unsigned int autofs_type_offset(unsigned int type)
{
return (type == AUTOFS_TYPE_OFFSET);
}
static inline unsigned int autofs_type_trigger(unsigned int type)
{
Annotation
- Immediate include surface: `linux/types.h`, `linux/limits.h`, `sys/ioctl.h`.
- Detected declarations: `struct autofs_packet_hdr`, `struct autofs_packet_missing`, `struct autofs_packet_expire`, `struct autofs_packet_expire_multi`, `struct autofs_v5_packet`, `enum autofs_notify`, `function set_autofs_type_indirect`, `function autofs_type_indirect`, `function set_autofs_type_direct`, `function autofs_type_direct`.
- Atlas domain: Core OS / Core Kernel Interface.
- 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.