include/linux/vt_kern.h
Source file repositories/reference/linux-study-clean/include/linux/vt_kern.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/vt_kern.h- Extension
.h- Size
- 5451 bytes
- Lines
- 179
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: operation-table or driver-model contract
- Status
- pattern 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 an operation table; this is where Linux turns generic core objects into subsystem-specific behavior.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/vt.hlinux/kd.hlinux/tty.hlinux/mutex.hlinux/console_struct.hlinux/mm.hlinux/consolemap.hlinux/notifier.h
Detected Declarations
struct tty_structstruct unipairstruct vt_spawn_consolestruct vt_notifier_paramfunction vc_resizefunction con_set_trans_oldfunction con_get_trans_oldfunction con_set_trans_newfunction con_get_trans_newfunction con_clear_unimapfunction con_set_unimapfunction con_get_unimapfunction con_set_default_unimapfunction con_free_unimap
Annotated Snippet
int vty_init(const struct file_operations *console_fops);
extern bool vt_dont_switch;
extern int default_utf8;
extern int global_cursor_default;
struct vt_spawn_console {
spinlock_t lock;
struct pid *pid;
int sig;
};
extern struct vt_spawn_console vt_spawn_con;
int vt_move_to_console(unsigned int vt, int alloc);
/* Interfaces for VC notification of character events (for accessibility etc) */
struct vt_notifier_param {
struct vc_data *vc; /* VC on which the update happened */
unsigned int c; /* Printed char */
};
int register_vt_notifier(struct notifier_block *nb);
int unregister_vt_notifier(struct notifier_block *nb);
void hide_boot_cursor(bool hide);
/* keyboard provided interfaces */
int vt_do_diacrit(unsigned int cmd, void __user *up, int eperm);
int vt_do_kdskbmode(unsigned int console, unsigned int arg);
int vt_do_kdskbmeta(unsigned int console, unsigned int arg);
int vt_do_kbkeycode_ioctl(int cmd, struct kbkeycode __user *user_kbkc,
int perm);
int vt_do_kdsk_ioctl(int cmd, struct kbentry __user *user_kbe, int perm,
unsigned int console);
int vt_do_kdgkb_ioctl(int cmd, struct kbsentry __user *user_kdgkb, int perm);
int vt_do_kdskled(unsigned int console, int cmd, unsigned long arg, int perm);
int vt_do_kdgkbmode(unsigned int console);
int vt_do_kdgkbmeta(unsigned int console);
void vt_reset_unicode(unsigned int console);
int vt_get_shift_state(void);
void vt_reset_keyboard(unsigned int console);
int vt_get_leds(unsigned int console, int flag);
int vt_get_kbd_mode_bit(unsigned int console, int bit);
void vt_set_kbd_mode_bit(unsigned int console, int bit);
void vt_clr_kbd_mode_bit(unsigned int console, int bit);
void vt_set_led_state(unsigned int console, int leds);
void vt_kbd_con_start(unsigned int console);
void vt_kbd_con_stop(unsigned int console);
#endif /* _VT_KERN_H */
Annotation
- Immediate include surface: `linux/vt.h`, `linux/kd.h`, `linux/tty.h`, `linux/mutex.h`, `linux/console_struct.h`, `linux/mm.h`, `linux/consolemap.h`, `linux/notifier.h`.
- Detected declarations: `struct tty_struct`, `struct unipair`, `struct vt_spawn_console`, `struct vt_notifier_param`, `function vc_resize`, `function con_set_trans_old`, `function con_get_trans_old`, `function con_set_trans_new`, `function con_get_trans_new`, `function con_clear_unimap`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: pattern 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.