tree: b34aa1d892d0cf156826425d8d6ca8cea68a0899 [path history] [tgz]
  1. bootreason/
  2. devicetree/
  3. ebpf/
  4. ebpf_api/
  5. ebpf_loader/
  6. estimate_timeline/
  7. expando/
  8. extended_pstate/
  9. features/
  10. filter_methods_macro/
  11. line_discipline/
  12. linux_uapi/
  13. magma/
  14. memory_pinning/
  15. page_buf/
  16. range_map/
  17. selinux/
  18. seq_lock/
  19. split_enum_storage/
  20. starnix_container/
  21. starnix_ext/
  22. starnix_lifecycle/
  23. starnix_logging/
  24. starnix_rcu/
  25. starnix_registers/
  26. starnix_stack/
  27. starnix_sync/
  28. starnix_syscalls/
  29. starnix_task_command/
  30. starnix_types/
  31. starnix_uapi/
  32. syncio/
  33. third_party/
  34. usercopy/
  35. virtgralloc/
  36. BUILD.gn
  37. README.md
src/starnix/lib/README.md

Starnix Libraries

This directory contains libraries used by Starnix.

Dependency Rules

Code in this directory must not depend on //src/starnix/kernel/core (target starnix_core). This separation ensures that base libraries remain decoupled from the core kernel logic.

Placement Guide

If your code needs to depend on starnix_core, it belongs in one of the following locations:

  • //src/starnix/modules: If the code implements a distinct feature, file system, or optional module. This is the preferred location for most features.
  • //src/starnix/kernel: If the code is fundamental to the kernel's operation and tightly coupled with the core.

If your code is generic and not specific to Starnix at all, consider placing it in //src/lib.