ohmu
·
2026-10-15
1#include "modules/modules.h"
2
3// Note:
4// FF_MODULE_DISABLE_<module> only controls if the module is registered,
5// the module code itself is still compiled.
6// We rely `LTO` to remove the unused code (only enabled in Release mode)
7
8static FFModuleBaseInfo* A[] = {
9 nullptr,
10};
11
12static FFModuleBaseInfo* B[] = {
13#if !FF_MODULE_DISABLE_BATTERY
14 &ffBatteryModuleInfo,
15#endif
16#if !FF_MODULE_DISABLE_BIOS
17 &ffBiosModuleInfo,
18#endif
19#if !FF_MODULE_DISABLE_BLUETOOTH
20 &ffBluetoothModuleInfo,
21#endif
22#if !FF_MODULE_DISABLE_BLUETOOTHRADIO
23 &ffBluetoothRadioModuleInfo,
24#endif
25#if !FF_MODULE_DISABLE_BOARD
26 &ffBoardModuleInfo,
27#endif
28#if !FF_MODULE_DISABLE_BOOTMGR
29 &ffBootmgrModuleInfo,
30#endif
31#if !FF_MODULE_DISABLE_BREAK
32 &ffBreakModuleInfo,
33#endif
34#if !FF_MODULE_DISABLE_BRIGHTNESS
35 &ffBrightnessModuleInfo,
36#endif
37#if !FF_MODULE_DISABLE_BTRFS
38 &ffBtrfsModuleInfo,
39#endif
40 nullptr,
41};
42
43static FFModuleBaseInfo* C[] = {
44#if !FF_MODULE_DISABLE_CAMERA
45 &ffCameraModuleInfo,
46#endif
47#if !FF_MODULE_DISABLE_CHASSIS
48 &ffChassisModuleInfo,
49#endif
50#if !FF_MODULE_DISABLE_CODEC
51 &ffCodecModuleInfo,
52#endif
53#if !FF_MODULE_DISABLE_COMMAND
54 &ffCommandModuleInfo,
55#endif
56#if !FF_MODULE_DISABLE_COLORS
57 &ffColorsModuleInfo,
58#endif
59#if !FF_MODULE_DISABLE_CPU
60 &ffCPUModuleInfo,
61#endif
62#if !FF_MODULE_DISABLE_CPUCACHE
63 &ffCPUCacheModuleInfo,
64#endif
65#if !FF_MODULE_DISABLE_CPUUSAGE
66 &ffCPUUsageModuleInfo,
67#endif
68#if !FF_MODULE_DISABLE_CURSOR
69 &ffCursorModuleInfo,
70#endif
71#if !FF_MODULE_DISABLE_CUSTOM
72 &ffCustomModuleInfo,
73#endif
74 nullptr,
75};
76
77static FFModuleBaseInfo* D[] = {
78#if !FF_MODULE_DISABLE_DATETIME
79 &ffDateTimeModuleInfo,
80#endif
81#if !FF_MODULE_DISABLE_DE
82 &ffDEModuleInfo,
83#endif
84#if !FF_MODULE_DISABLE_DISPLAY
85 &ffDisplayModuleInfo,
86#endif
87#if !FF_MODULE_DISABLE_DISK
88 &ffDiskModuleInfo,
89#endif
90#if !FF_MODULE_DISABLE_DISKIO
91 &ffDiskIOModuleInfo,
92#endif
93#if !FF_MODULE_DISABLE_DNS
94 &ffDNSModuleInfo,
95#endif
96 nullptr,
97};
98
99static FFModuleBaseInfo* E[] = {
100#if !FF_MODULE_DISABLE_EDITOR
101 &ffEditorModuleInfo,
102#endif
103 nullptr,
104};
105
106static FFModuleBaseInfo* F[] = {
107#if !FF_MODULE_DISABLE_FONT
108 &ffFontModuleInfo,
109#endif
110 nullptr,
111};
112
113static FFModuleBaseInfo* G[] = {
114#if !FF_MODULE_DISABLE_GAMEPAD
115 &ffGamepadModuleInfo,
116#endif
117#if !FF_MODULE_DISABLE_GPU
118 &ffGPUModuleInfo,
119#endif
120 nullptr,
121};
122
123static FFModuleBaseInfo* H[] = {
124#if !FF_MODULE_DISABLE_HOST
125 &ffHostModuleInfo,
126#endif
127 nullptr,
128};
129
130static FFModuleBaseInfo* I[] = {
131#if !FF_MODULE_DISABLE_ICONS
132 &ffIconsModuleInfo,
133#endif
134#if !FF_MODULE_DISABLE_INITSYSTEM
135 &ffInitSystemModuleInfo,
136#endif
137 nullptr,
138};
139
140static FFModuleBaseInfo* J[] = {
141 nullptr,
142};
143
144static FFModuleBaseInfo* K[] = {
145#if !FF_MODULE_DISABLE_KERNEL
146 &ffKernelModuleInfo,
147#endif
148#if !FF_MODULE_DISABLE_KEYBOARD
149 &ffKeyboardModuleInfo,
150#endif
151 nullptr,
152};
153
154static FFModuleBaseInfo* L[] = {
155#if !FF_MODULE_DISABLE_LM
156 &ffLMModuleInfo,
157#endif
158#if !FF_MODULE_DISABLE_LOADAVG
159 &ffLoadavgModuleInfo,
160#endif
161#if !FF_MODULE_DISABLE_LOCALE
162 &ffLocaleModuleInfo,
163#endif
164#if !FF_MODULE_DISABLE_LOCALIP
165 &ffLocalIPModuleInfo,
166#endif
167#if !FF_MODULE_DISABLE_LOGO
168 &ffLogoModuleInfo,
169#endif
170 nullptr,
171};
172
173static FFModuleBaseInfo* M[] = {
174#if !FF_MODULE_DISABLE_MEDIA
175 &ffMediaModuleInfo,
176#endif
177#if !FF_MODULE_DISABLE_MEMORY
178 &ffMemoryModuleInfo,
179#endif
180#if !FF_MODULE_DISABLE_MONITOR
181 &ffMonitorModuleInfo,
182#endif
183#if !FF_MODULE_DISABLE_MOUSE
184 &ffMouseModuleInfo,
185#endif
186 nullptr,
187};
188
189static FFModuleBaseInfo* N[] = {
190#if !FF_MODULE_DISABLE_NETIO
191 &ffNetIOModuleInfo,
192#endif
193 nullptr,
194};
195
196static FFModuleBaseInfo* O[] = {
197#if !FF_MODULE_DISABLE_OPENCL
198 &ffOpenCLModuleInfo,
199#endif
200#if !FF_MODULE_DISABLE_OPENGL
201 &ffOpenGLModuleInfo,
202#endif
203#if !FF_MODULE_DISABLE_OS
204 &ffOSModuleInfo,
205#endif
206 nullptr,
207};
208
209static FFModuleBaseInfo* P[] = {
210#if !FF_MODULE_DISABLE_PACKAGES
211 &ffPackagesModuleInfo,
212#endif
213#if !FF_MODULE_DISABLE_PHYSICALDISK
214 &ffPhysicalDiskModuleInfo,
215#endif
216#if !FF_MODULE_DISABLE_PHYSICALMEMORY
217 &ffPhysicalMemoryModuleInfo,
218#endif
219#if !FF_MODULE_DISABLE_PLAYER
220 &ffPlayerModuleInfo,
221#endif
222#if !FF_MODULE_DISABLE_POWERADAPTER
223 &ffPowerAdapterModuleInfo,
224#endif
225#if !FF_MODULE_DISABLE_PROCESSES
226 &ffProcessesModuleInfo,
227#endif
228#if !FF_MODULE_DISABLE_PUBLICIP
229 &ffPublicIPModuleInfo,
230#endif
231 nullptr,
232};
233
234static FFModuleBaseInfo* Q[] = {
235 nullptr,
236};
237
238static FFModuleBaseInfo* R[] = {
239 nullptr,
240};
241
242static FFModuleBaseInfo* S[] = {
243#if !FF_MODULE_DISABLE_SEPARATOR
244 &ffSeparatorModuleInfo,
245#endif
246#if !FF_MODULE_DISABLE_SHELL
247 &ffShellModuleInfo,
248#endif
249#if !FF_MODULE_DISABLE_SOUND
250 &ffSoundModuleInfo,
251#endif
252#if !FF_MODULE_DISABLE_SWAP
253 &ffSwapModuleInfo,
254#endif
255 nullptr,
256};
257
258static FFModuleBaseInfo* T[] = {
259#if !FF_MODULE_DISABLE_TERMINAL
260 &ffTerminalModuleInfo,
261#endif
262#if !FF_MODULE_DISABLE_TERMINALFONT
263 &ffTerminalFontModuleInfo,
264#endif
265#if !FF_MODULE_DISABLE_TERMINALSIZE
266 &ffTerminalSizeModuleInfo,
267#endif
268#if !FF_MODULE_DISABLE_TERMINALTHEME
269 &ffTerminalThemeModuleInfo,
270#endif
271#if !FF_MODULE_DISABLE_TITLE
272 &ffTitleModuleInfo,
273#endif
274#if !FF_MODULE_DISABLE_TOP
275 &ffTopModuleInfo,
276#endif
277#if !FF_MODULE_DISABLE_THEME
278 &ffThemeModuleInfo,
279#endif
280#if !FF_MODULE_DISABLE_TPM
281 &ffTPMModuleInfo,
282#endif
283 nullptr,
284};
285
286static FFModuleBaseInfo* U[] = {
287#if !FF_MODULE_DISABLE_UPTIME
288 &ffUptimeModuleInfo,
289#endif
290#if !FF_MODULE_DISABLE_USERS
291 &ffUsersModuleInfo,
292#endif
293 nullptr,
294};
295
296static FFModuleBaseInfo* V[] = {
297#if !FF_MODULE_DISABLE_VERSION
298 &ffVersionModuleInfo,
299#endif
300#if !FF_MODULE_DISABLE_VULKAN
301 &ffVulkanModuleInfo,
302#endif
303 nullptr,
304};
305
306static FFModuleBaseInfo* W[] = {
307#if !FF_MODULE_DISABLE_WALLPAPER
308 &ffWallpaperModuleInfo,
309#endif
310#if !FF_MODULE_DISABLE_WEATHER
311 &ffWeatherModuleInfo,
312#endif
313#if !FF_MODULE_DISABLE_WM
314 &ffWMModuleInfo,
315#endif
316#if !FF_MODULE_DISABLE_WIFI
317 &ffWifiModuleInfo,
318#endif
319#if !FF_MODULE_DISABLE_WMTHEME
320 &ffWMThemeModuleInfo,
321#endif
322 nullptr,
323};
324
325static FFModuleBaseInfo* X[] = {
326 nullptr,
327};
328
329static FFModuleBaseInfo* Y[] = {
330 nullptr,
331};
332
333static FFModuleBaseInfo* Z[] = {
334#if !FF_MODULE_DISABLE_ZPOOL
335 &ffZpoolModuleInfo,
336#endif
337 nullptr,
338};
339
340FFModuleBaseInfo** ffModuleInfos[] = {
341 A,
342 B,
343 C,
344 D,
345 E,
346 F,
347 G,
348 H,
349 I,
350 J,
351 K,
352 L,
353 M,
354 N,
355 O,
356 P,
357 Q,
358 R,
359 S,
360 T,
361 U,
362 V,
363 W,
364 X,
365 Y,
366 Z,
367};