Repository navigation
community_8_headers_tick
grisun0 edited this page Oct 23, 2026
·
7 revisions
Community 8 | 3 files | cohesion 0.67
This community groups 3 file(s) rooted at headers with dominant language c (cohesion 0.67). Central symbols: CHECK, TICK_CONFIG_DEFAULT, TICK_H, TICK_MAX_AUDIO_LISTENERS, TICK_MAX_DESKTOP_LISTENERS, TICK_MAX_USB_LISTENERS, dummy, main. Core file: headers/tick.h (16 symbols). Documented purpose: Docstring: Tick listener bus contract..
| File | Language | Layer | Symbols | Doc |
|---|---|---|---|---|
headers/tick.h |
h | utility | 16 | yes |
kernel/tick.c |
c | utility | 11 | yes |
tests/test_tick.c |
c | testing | 6 | yes |
-
TICK_H(macro,headers/tick.h:19)#define TICK_H -
tick_config_t(struct,headers/tick.h:22) - gating predicate for the desktop tick. Design: fixed-size tables, no heap, no locks. Registration h -
TICK_MAX_AUDIO_LISTENERS(macro,headers/tick.h:29)#define TICK_MAX_AUDIO_LISTENERS -
TICK_MAX_DESKTOP_LISTENERS(macro,headers/tick.h:31)#define TICK_MAX_DESKTOP_LISTENERS -
TICK_MAX_USB_LISTENERS(macro,headers/tick.h:34)#define TICK_MAX_USB_LISTENERS -
TICK_CONFIG_DEFAULT(macro,headers/tick.h:37)#define TICK_CONFIG_DEFAULT -
tick_reset(function,headers/tick.h:47)void tick_reset(void);- needs; the bound exists so the tables stay fixed-size. #define TICK_MAX_USB_LISTENERS 2 /** Docstrin -
tick_register_audio(function,headers/tick.h:54)int tick_register_audio(tick_fn_t fn, void *ctx);- Docstring: Register an unconditional BSP audio effect. Returns 0 on success, -1 when the handler is -
tick_register_desktop(function,headers/tick.h:61)int tick_register_desktop(tick_fn_t fn, void *ctx);- Docstring: Register a gated desktop effect. Returns 0 on success, -1 when the handler is null or th -
tick_register_usb(function,headers/tick.h:69)int tick_register_usb(tick_fn_t fn, void *ctx);- Docstring: Register a polled USB controller effect. The xHCI event ring is polled by decision rathe -
tick_run_usb(function,headers/tick.h:72)void tick_run_usb(void);- Docstring: Register a polled USB controller effect. The xHCI event ring is polled by decision rathe -
tick_run_audio(function,headers/tick.h:75)void tick_run_audio(void);- Docstring: Register a polled USB controller effect. The xHCI event ring is polled by decision rathe -
tick_run_desktop(function,headers/tick.h:78)void tick_run_desktop(void);- The xHCI event ring is polled by decision rather than interrupt-driven, so this listener is the poll -
tick_audio_count(function,headers/tick.h:81)int tick_audio_count(void);- handler is null or the USB table is full. A refusal changes nothing. int tick_register_usb(tick_fn_ -
tick_desktop_count(function,headers/tick.h:84)int tick_desktop_count(void);- /** Docstring: Run USB listeners in registration order. void tick_run_usb(void); /** Docstring: Run -
tick_desktop_due(function,headers/tick.h:92)int tick_desktop_due(unsigned long long ticks, unsigned interval);- Docstring: Pure desktop gating predicate. Returns nonzero when the given tick count falls on a desk -
tick_slot_t(struct,kernel/tick.c:15) - Docstring: Tick listener bus implementation. Owns two fixed listener tables behind the tick.h contr -
tick_reset(function,kernel/tick.c:34)void tick_reset(void)- /** Docstring: Audio listener table. static tick_slot_t tick_audio_slots[TICK_MAX_AUDIO_LISTENERS]; -
tick_register_audio(function,kernel/tick.c:58)int tick_register_audio(tick_fn_t fn, void *ctx)- Docstring: Register an unconditional BSP audio effect. Returns 0 on success, -1 when the handler is -
tick_register_desktop(function,kernel/tick.c:76)int tick_register_desktop(tick_fn_t fn, void *ctx)- Docstring: Register a gated desktop effect. Returns 0 on success, -1 when the handler is null or th -
tick_register_usb(function,kernel/tick.c:89)int tick_register_usb(tick_fn_t fn, void *ctx) -
tick_run_usb(function,kernel/tick.c:103)void tick_run_usb(void)- int tick_register_usb(tick_fn_t fn, void *ctx) { if (fn == NULL) { return -1; } if (tick_usb_used < -
tick_run_audio(function,kernel/tick.c:113)void tick_run_audio(void)- return 0; } /** Docstring: Run USB listeners in registration order. void tick_run_usb(void) { int i; -
tick_run_desktop(function,kernel/tick.c:123)void tick_run_desktop(void)- } } /** Docstring: Run audio listeners in registration order. void tick_run_audio(void) { int i; for -
tick_audio_count(function,kernel/tick.c:133)int tick_audio_count(void)- } } /** Docstring: Run desktop listeners in registration order. void tick_run_desktop(void) { int i; -
tick_desktop_count(function,kernel/tick.c:144)int tick_desktop_count(void)- } /** Docstring: Count registered audio listeners. int tick_audio_count(void) { if (tick_audio_used -
tick_desktop_due(function,kernel/tick.c:160)int tick_desktop_due(unsigned long long ticks, unsigned interval)- Docstring: Pure desktop gating predicate. Returns nonzero when the given tick count falls on a desk -
CHECK(macro,tests/test_tick.c:17)#define CHECK(cond, msg) -
rec_a(function,tests/test_tick.c:24)static void rec_a(void *ctx) -
rec_b(function,tests/test_tick.c:31)static void rec_b(void *ctx)
- Internal resolved imports (EXTRACTED): 2
- Cross-boundary resolved imports (EXTRACTED): 1
- [EXTRACTED] depends_on community 0 <-> 8 (strength 0.9): Extracted import edge crosses communities: kernel/sched.c imports headers/tick.h.
- [INFERRED] shares_context community 1 <-> 8 (strength 0.5): Inferred shared context (layer utility) with no import path between community 1 (progs/doomgeneric: d_englsh) and community 8 (headers: tick).
- No scoped security, taint, cycle, or layer risks.
- What would break if the most connected file in headers: tick changed?
- Should headers: tick be split, given cohesion 0.67?
Generated offline by readmenator from commit cd87980b5eb5. Edits here are overwritten by readmenator . --rebuild.
Start
Wiki
- community_0_headers_kernel
- community_10_orphans
- community_1_progs_doomgeneric_d_englsh
- community_2_progs_src
- community_3_progs_doomgeneric_p_spec
- community_4_tools_tls_crypto
- community_5_headers_vga_fb
- community_6_progs_doomgeneric_net_defs
- community_7_headers_batch
- community_8_headers_tick
- community_9_tools_doom_pwad
- concepts
- queries
- REPORT
Agent Docs
- API
- API_p10
- API_p11
- API_p12
- API_p13
- API_p14
- API_p15
- API_p16
- API_p17
- API_p18
- API_p19
- API_p2
- API_p20
- API_p21
- API_p3
- API_p4
- API_p5
- API_p6
- API_p7
- API_p8
- API_p9
- ARCHITECTURE
- ARCHITECTURE_p2
- ARCHITECTURE_p3
- ARCHITECTURE_p4
- CONCEPTS
- GOTCHAS
- INDEX
- INDEX_p2
- KB_asm
- KB_boot
- KB_doomgeneric
- KB_doomgeneric_p10
- KB_doomgeneric_p11
- KB_doomgeneric_p12
- KB_doomgeneric_p2
- KB_doomgeneric_p3
- KB_doomgeneric_p4
- KB_doomgeneric_p5
- KB_doomgeneric_p6
- KB_doomgeneric_p7
- KB_doomgeneric_p8
- KB_doomgeneric_p9
- KB_drivers
- KB_drivers_p2
- KB_file
- KB_freedomui
- KB_fs
- KB_headers
- KB_headers_arch_x86
- KB_headers_drivers
- KB_headers_kernel
- KB_headers_p2
- KB_headers_p3
- KB_headers_p4
- KB_headers_p5
- KB_headers_p6
- KB_kernel
- KB_kernel_p2
- KB_kernel_p3
- KB_kernel_p4
- KB_lib
- KB_lisp
- KB_lua
- KB_mcp
- KB_minios
- KB_misc
- KB_misc_p2
- KB_misc_p3
- KB_mm
- KB_net
- KB_nuklear
- KB_pokemon
- KB_progs
- KB_quake2generic
- KB_root
- KB_src
- KB_src_p2
- KB_src_p3
- KB_tests
- KB_tests_p2
- KB_tls_u
- KB_tools
- KB_tools_p2
- KB_wl
- KB_x86
- MEMORY
- SECURITY
- SYMBOLS
- SYMBOLS_p10
- SYMBOLS_p11
- SYMBOLS_p12
- SYMBOLS_p13
- SYMBOLS_p14
- SYMBOLS_p15
- SYMBOLS_p16
- SYMBOLS_p17
- SYMBOLS_p18
- SYMBOLS_p19
- SYMBOLS_p2
- SYMBOLS_p20
- SYMBOLS_p21
- SYMBOLS_p22
- SYMBOLS_p23
- SYMBOLS_p24
- SYMBOLS_p25
- SYMBOLS_p26
- SYMBOLS_p27
- SYMBOLS_p3
- SYMBOLS_p4
- SYMBOLS_p5
- SYMBOLS_p6
- SYMBOLS_p7
- SYMBOLS_p8
- SYMBOLS_p9
Recipes