c

gcc

make

GNU libc (glibc)

musl libc

GNU Debugger (gdb)

ncurses

string literals

coding style

threads

keyboard handling

Use of ioctl() makes for nonportable programs. Use the POSIX interface described in termios(3) whenever possible.

stty -a prints the value of every flag in the struct termios in a human-readable format.

On Linux, an ioctl on a tty device with a "request" of TCGETS (defined in termios.h) takes a parameter that is a pointer to a struct termios, and copies the in-kernel settings for that tty to the provided struct.

So somewhere in libc, tcgetattr(fd, p) is just defined to do an ioctl(fd, TCGETS, p)

The standard headers:

  1. assert.h
  2. complex.h
  3. ctype.h
  4. errno.h - https://man.archlinux.org/man/errno.h.0p
  5. fenv.h
  6. float.h - https://man.archlinux.org/man/float.h.0p
  7. inttypes.h
  8. iso646.h
  9. limits.h - https://man.archlinux.org/man/limits.h.0p
  10. locale.h - https://man.archlinux.org/man/locale.h.0p
  11. math.h
  12. setjmp.h
  13. signal.h
  14. stdalign.h
  15. stdarg.h
  16. stdatomic.h
  17. stdbit.h
  18. stdbool.h - https://man.archlinux.org/man/stdbool.h.0p
  19. stdckdint.h
  20. stddef.h - https://man.archlinux.org/man/stddef.h.0p
  21. stdint.h - https://man.archlinux.org/man/stdint.h.0p
  22. stdio.h - https://man.archlinux.org/man/stdio.h.0p - https://man.archlinux.org/man/stdio.3
  23. stdlib.h - https://man.archlinux.org/man/stdlib.h.0p
  24. stdnoreturn.h
  25. string.h - https://man.archlinux.org/man/string.h.0p
  26. tgmath.h
  27. threads.h
  28. time.h - https://man.archlinux.org/man/time.h.0p
  29. uchar.h
  30. wchar.h - https://man.archlinux.org/man/wchar.h.0p
  31. wctype.h

glibc ISO-C

glibc Library Summary

man pages