Skip to content

refactor(headers): reorganize header placement by subsystem - #116

Merged
FengHeting merged 1 commit into
ViudiraTech:developfrom
FengHeting:refactor/header-reorg
Oct 23, 2026
Merged

FengHeting merged 1 commit into
ViudiraTech:developfrom
FengHeting:refactor/header-reorg

Conversation

@FengHeting

Copy link
Copy Markdown
Contributor

Move headers out of include/kernel now that their ownership is clear:

errno.h -> include/libs/std/errno.h
writer.h -> include/libs/util/writer.h
ioctl.h -> include/syscall/ioctl.h
termios.h -> include/drivers/tty/termios.h
printk.h -> include/kernel/debug/printk.h
vsprintf.h -> include/kernel/debug/vsprintf.h

Update every include site and sort the leading include blocks of the affected files. Move the scheduler steal-budget assertion below the header's initial constant as a small ordering cleanup.

Split ioctl command definitions from the request-number encoding: syscall/ioctl.h keeps only the _IOC/_IO* machinery, while the new syscall/ioctls.h holds the generic file/descriptor commands (FIONREAD, FIONBIO, FIONCLEX, FIOCLEX, FIOASYNC and FIOQSIZE). termios.h includes the command header and keeps TIOCINQ as the TTY alias for FIONREAD; pipe, inotify and process include the generic header directly, while rtc, ppdev, evdev, drm and seccomp keep the encoding-only header.

No functional change.

Validation: clean GCC LTO build; git diff --check.

Move headers out of include/kernel now that their ownership is clear:

  errno.h     -> include/libs/std/errno.h
  writer.h    -> include/libs/util/writer.h
  ioctl.h     -> include/syscall/ioctl.h
  termios.h   -> include/drivers/tty/termios.h
  printk.h    -> include/kernel/debug/printk.h
  vsprintf.h  -> include/kernel/debug/vsprintf.h

Update every include site and sort the leading include blocks of the
affected files.  Move the scheduler steal-budget assertion below the
header's initial constant as a small ordering cleanup.

Split ioctl command definitions from the request-number encoding:
syscall/ioctl.h keeps only the _IOC/_IO* machinery, while the new
syscall/ioctls.h holds the generic file/descriptor commands (FIONREAD,
FIONBIO, FIONCLEX, FIOCLEX, FIOASYNC and FIOQSIZE).  termios.h includes
the command header and keeps TIOCINQ as the TTY alias for FIONREAD;
pipe, inotify and process include the generic header directly, while
rtc, ppdev, evdev, drm and seccomp keep the encoding-only header.

No functional change.

Validation: clean GCC LTO build; git diff --check.
Signed-off-by: MicroFish <2609948707@qq.com>
@FengHeting
FengHeting merged commit 8b4de15 into ViudiraTech:develop Oct 23, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant