diff --git a/src/common/option.h b/src/common/option.h index 0e68ec4e1..618739a5d 100644 --- a/src/common/option.h +++ b/src/common/option.h @@ -29,6 +29,8 @@ typedef struct FFModuleBaseInfo // This is UB, because `void*` is not compatible with `FF*Options*`. // However we can't do it better unless we move to C++, so that `option` becomes a `this` pointer // https://stackoverflow.com/questions/559581/casting-a-function-pointer-to-another-type + void (*initOptions)(void* options); + void (*destroyOptions)(void* options); void (*parseJsonObject)(void* options, struct yyjson_val *module); void (*printModule)(void* options); void (*generateJsonResult)(void* options, struct yyjson_mut_doc* doc, struct yyjson_mut_val* module); diff --git a/src/modules/battery/battery.c b/src/modules/battery/battery.c index 90f211760..27982c9b0 100644 --- a/src/modules/battery/battery.c +++ b/src/modules/battery/battery.c @@ -248,6 +248,8 @@ void ffGenerateBatteryJsonResult(FFBatteryOptions* options, yyjson_mut_doc* doc, static FFModuleBaseInfo ffModuleInfo = { .name = FF_BATTERY_MODULE_NAME, .description = "Print battery capacity, status, etc", + .initOptions = (void*) ffInitBatteryOptions, + .destroyOptions = (void*) ffDestroyBatteryOptions, .parseJsonObject = (void*) ffParseBatteryJsonObject, .printModule = (void*) ffPrintBattery, .generateJsonResult = (void*) ffGenerateBatteryJsonResult, diff --git a/src/modules/bios/bios.c b/src/modules/bios/bios.c index c9e758e59..bbf1a5f08 100644 --- a/src/modules/bios/bios.c +++ b/src/modules/bios/bios.c @@ -131,6 +131,8 @@ exit: static FFModuleBaseInfo ffModuleInfo = { .name = FF_BIOS_MODULE_NAME, .description = "Print information of 1st-stage bootloader (name, version, release date, etc)", + .initOptions = (void*) ffInitBiosOptions, + .destroyOptions = (void*) ffDestroyBiosOptions, .parseJsonObject = (void*) ffParseBiosJsonObject, .printModule = (void*) ffPrintBios, .generateJsonResult = (void*) ffGenerateBiosJsonResult, diff --git a/src/modules/bluetooth/bluetooth.c b/src/modules/bluetooth/bluetooth.c index 6274e8c4a..4409b0a16 100644 --- a/src/modules/bluetooth/bluetooth.c +++ b/src/modules/bluetooth/bluetooth.c @@ -166,6 +166,8 @@ void ffGenerateBluetoothJsonResult(FFBluetoothOptions* options, yyjson_mut_doc* static FFModuleBaseInfo ffModuleInfo = { .name = FF_BLUETOOTH_MODULE_NAME, .description = "List (connected) bluetooth devices", + .initOptions = (void*) ffInitBluetoothOptions, + .destroyOptions = (void*) ffDestroyBluetoothOptions, .parseJsonObject = (void*) ffParseBluetoothJsonObject, .printModule = (void*) ffPrintBluetooth, .generateJsonResult = (void*) ffGenerateBluetoothJsonResult, diff --git a/src/modules/bluetoothradio/bluetoothradio.c b/src/modules/bluetoothradio/bluetoothradio.c index 2432ab633..d55ab6c49 100644 --- a/src/modules/bluetoothradio/bluetoothradio.c +++ b/src/modules/bluetoothradio/bluetoothradio.c @@ -169,6 +169,8 @@ void ffGenerateBluetoothRadioJsonResult(FF_MAYBE_UNUSED FFBluetoothRadioOptions* static FFModuleBaseInfo ffModuleInfo = { .name = FF_BLUETOOTHRADIO_MODULE_NAME, .description = "List bluetooth radios width supported version and vendor", + .initOptions = (void*) ffInitBluetoothRadioOptions, + .destroyOptions = (void*) ffDestroyBluetoothRadioOptions, .parseJsonObject = (void*) ffParseBluetoothRadioJsonObject, .printModule = (void*) ffPrintBluetoothRadio, .generateJsonResult = (void*) ffGenerateBluetoothRadioJsonResult, diff --git a/src/modules/board/board.c b/src/modules/board/board.c index 3c5c29873..693b9b3cf 100644 --- a/src/modules/board/board.c +++ b/src/modules/board/board.c @@ -109,6 +109,8 @@ exit: static FFModuleBaseInfo ffModuleInfo = { .name = FF_BOARD_MODULE_NAME, .description = "Print motherboard name and other info", + .initOptions = (void*) ffInitBoardOptions, + .destroyOptions = (void*) ffDestroyBoardOptions, .parseJsonObject = (void*) ffParseBoardJsonObject, .printModule = (void*) ffPrintBoard, .generateJsonResult = (void*) ffGenerateBoardJsonResult, diff --git a/src/modules/bootmgr/bootmgr.c b/src/modules/bootmgr/bootmgr.c index e5084e318..47c831350 100644 --- a/src/modules/bootmgr/bootmgr.c +++ b/src/modules/bootmgr/bootmgr.c @@ -100,6 +100,8 @@ exit: static FFModuleBaseInfo ffModuleInfo = { .name = FF_BOOTMGR_MODULE_NAME, .description = "Print information of 2nd-stage bootloader (name, firmware, etc)", + .initOptions = (void*) ffInitBootmgrOptions, + .destroyOptions = (void*) ffDestroyBootmgrOptions, .parseJsonObject = (void*) ffParseBootmgrJsonObject, .printModule = (void*) ffPrintBootmgr, .generateJsonResult = (void*) ffGenerateBootmgrJsonResult, diff --git a/src/modules/break/break.c b/src/modules/break/break.c index fbb88b637..978bff5c6 100644 --- a/src/modules/break/break.c +++ b/src/modules/break/break.c @@ -24,6 +24,8 @@ void ffParseBreakJsonObject(FF_MAYBE_UNUSED FFBreakOptions* options, FF_MAYBE_UN static FFModuleBaseInfo ffModuleInfo = { .name = FF_BREAK_MODULE_NAME, .description = "Print a empty line", + .initOptions = (void*) ffInitBreakOptions, + .destroyOptions = (void*) ffDestroyBreakOptions, .parseJsonObject = (void*) ffParseBreakJsonObject, .printModule = (void*) ffPrintBreak, }; diff --git a/src/modules/brightness/brightness.c b/src/modules/brightness/brightness.c index 8b5a43d6a..cfd10aa10 100644 --- a/src/modules/brightness/brightness.c +++ b/src/modules/brightness/brightness.c @@ -190,6 +190,8 @@ void ffGenerateBrightnessJsonResult(FF_MAYBE_UNUSED FFBrightnessOptions* options static FFModuleBaseInfo ffModuleInfo = { .name = FF_BRIGHTNESS_MODULE_NAME, .description = "Print current brightness level of your monitors", + .initOptions = (void*) ffInitBrightnessOptions, + .destroyOptions = (void*) ffDestroyBrightnessOptions, .parseJsonObject = (void*) ffParseBrightnessJsonObject, .printModule = (void*) ffPrintBrightness, .generateJsonResult = (void*) ffGenerateBrightnessJsonResult, diff --git a/src/modules/btrfs/btrfs.c b/src/modules/btrfs/btrfs.c index 22db04bca..0c96b7623 100644 --- a/src/modules/btrfs/btrfs.c +++ b/src/modules/btrfs/btrfs.c @@ -203,6 +203,8 @@ void ffGenerateBtrfsJsonResult(FF_MAYBE_UNUSED FFBtrfsOptions* options, yyjson_m static FFModuleBaseInfo ffModuleInfo = { .name = FF_BTRFS_MODULE_NAME, .description = "Print Linux BTRFS volumes", + .initOptions = (void*) ffInitBtrfsOptions, + .destroyOptions = (void*) ffDestroyBtrfsOptions, .parseJsonObject = (void*) ffParseBtrfsJsonObject, .printModule = (void*) ffPrintBtrfs, .generateJsonResult = (void*) ffGenerateBtrfsJsonResult, diff --git a/src/modules/camera/camera.c b/src/modules/camera/camera.c index 78215dd5c..34155d207 100644 --- a/src/modules/camera/camera.c +++ b/src/modules/camera/camera.c @@ -123,6 +123,8 @@ void ffGenerateCameraJsonResult(FF_MAYBE_UNUSED FFCameraOptions* options, yyjson static FFModuleBaseInfo ffModuleInfo = { .name = FF_CAMERA_MODULE_NAME, .description = "Print available cameras", + .initOptions = (void*) ffInitCameraOptions, + .destroyOptions = (void*) ffDestroyCameraOptions, .parseJsonObject = (void*) ffParseCameraJsonObject, .printModule = (void*) ffPrintCamera, .generateJsonResult = (void*) ffGenerateCameraJsonResult, diff --git a/src/modules/chassis/chassis.c b/src/modules/chassis/chassis.c index 867c0201b..827f9c507 100644 --- a/src/modules/chassis/chassis.c +++ b/src/modules/chassis/chassis.c @@ -110,6 +110,8 @@ exit: static FFModuleBaseInfo ffModuleInfo = { .name = FF_CHASSIS_MODULE_NAME, .description = "Print chassis type (desktop, laptop, etc)", + .initOptions = (void*) ffInitChassisOptions, + .destroyOptions = (void*) ffDestroyChassisOptions, .parseJsonObject = (void*) ffParseChassisJsonObject, .printModule = (void*) ffPrintChassis, .generateJsonResult = (void*) ffGenerateChassisJsonResult, diff --git a/src/modules/colors/colors.c b/src/modules/colors/colors.c index 59946166d..2eb180cae 100644 --- a/src/modules/colors/colors.c +++ b/src/modules/colors/colors.c @@ -242,6 +242,8 @@ void ffGenerateColorsJsonConfig(FFColorsOptions* options, yyjson_mut_doc* doc, y static FFModuleBaseInfo ffModuleInfo = { .name = FF_COLORS_MODULE_NAME, .description = "Print some colored blocks", + .initOptions = (void*) ffInitColorsOptions, + .destroyOptions = (void*) ffDestroyColorsOptions, .parseJsonObject = (void*) ffParseColorsJsonObject, .printModule = (void*) ffPrintColors, .generateJsonConfig = (void*) ffGenerateColorsJsonConfig, diff --git a/src/modules/command/command.c b/src/modules/command/command.c index 0e05d6f77..22f5fd17c 100644 --- a/src/modules/command/command.c +++ b/src/modules/command/command.c @@ -123,6 +123,8 @@ void ffGenerateCommandJsonResult(FF_MAYBE_UNUSED FFCommandOptions* options, yyjs static FFModuleBaseInfo ffModuleInfo = { .name = FF_COMMAND_MODULE_NAME, .description = "Run custom shell scripts", + .initOptions = (void*) ffInitCommandOptions, + .destroyOptions = (void*) ffDestroyCommandOptions, .parseJsonObject = (void*) ffParseCommandJsonObject, .printModule = (void*) ffPrintCommand, .generateJsonResult = (void*) ffGenerateCommandJsonResult, diff --git a/src/modules/cpu/cpu.c b/src/modules/cpu/cpu.c index 49c5a59a8..5af82f82c 100644 --- a/src/modules/cpu/cpu.c +++ b/src/modules/cpu/cpu.c @@ -215,6 +215,8 @@ void ffGenerateCPUJsonResult(FFCPUOptions* options, yyjson_mut_doc* doc, yyjson_ static FFModuleBaseInfo ffModuleInfo = { .name = FF_CPU_MODULE_NAME, .description = "Print CPU name, frequency, etc", + .initOptions = (void*) ffInitCPUOptions, + .destroyOptions = (void*) ffDestroyCPUOptions, .parseJsonObject = (void*) ffParseCPUJsonObject, .printModule = (void*) ffPrintCPU, .generateJsonResult = (void*) ffGenerateCPUJsonResult, diff --git a/src/modules/cpucache/cpucache.c b/src/modules/cpucache/cpucache.c index 7a509fda6..29a574afa 100644 --- a/src/modules/cpucache/cpucache.c +++ b/src/modules/cpucache/cpucache.c @@ -211,6 +211,8 @@ exit: static FFModuleBaseInfo ffModuleInfo = { .name = FF_CPUCACHE_MODULE_NAME, .description = "Print CPU cache sizes", + .initOptions = (void*) ffInitCPUCacheOptions, + .destroyOptions = (void*) ffDestroyCPUCacheOptions, .parseJsonObject = (void*) ffParseCPUCacheJsonObject, .printModule = (void*) ffPrintCPUCache, .generateJsonResult = (void*) ffGenerateCPUCacheJsonResult, diff --git a/src/modules/cpuusage/cpuusage.c b/src/modules/cpuusage/cpuusage.c index 4f3b244d5..c5a6f595d 100644 --- a/src/modules/cpuusage/cpuusage.c +++ b/src/modules/cpuusage/cpuusage.c @@ -177,6 +177,8 @@ void ffGenerateCPUUsageJsonResult(FFCPUUsageOptions* options, yyjson_mut_doc* do static FFModuleBaseInfo ffModuleInfo = { .name = FF_CPUUSAGE_MODULE_NAME, .description = "Print CPU usage. Costs some time to collect data", + .initOptions = (void*) ffInitCPUUsageOptions, + .destroyOptions = (void*) ffDestroyCPUUsageOptions, .parseJsonObject = (void*) ffParseCPUUsageJsonObject, .printModule = (void*) ffPrintCPUUsage, .generateJsonResult = (void*) ffGenerateCPUUsageJsonResult, diff --git a/src/modules/cursor/cursor.c b/src/modules/cursor/cursor.c index 573eca95f..edec4b5c9 100644 --- a/src/modules/cursor/cursor.c +++ b/src/modules/cursor/cursor.c @@ -97,6 +97,8 @@ void ffGenerateCursorJsonResult(FF_MAYBE_UNUSED FFCursorOptions* options, yyjson static FFModuleBaseInfo ffModuleInfo = { .name = FF_CURSOR_MODULE_NAME, .description = "Print cursor style name", + .initOptions = (void*) ffInitCursorOptions, + .destroyOptions = (void*) ffDestroyCursorOptions, .parseJsonObject = (void*) ffParseCursorJsonObject, .printModule = (void*) ffPrintCursor, .generateJsonResult = (void*) ffGenerateCursorJsonResult, diff --git a/src/modules/custom/custom.c b/src/modules/custom/custom.c index 5831430c5..4f3e706fa 100644 --- a/src/modules/custom/custom.c +++ b/src/modules/custom/custom.c @@ -33,6 +33,8 @@ void ffParseCustomJsonObject(FFCustomOptions* options, yyjson_val* module) static FFModuleBaseInfo ffModuleInfo = { .name = FF_CUSTOM_MODULE_NAME, .description = "Print a custom string, with or without key", + .initOptions = (void*) ffInitCustomOptions, + .destroyOptions = (void*) ffDestroyCustomOptions, .parseJsonObject = (void*) ffParseCustomJsonObject, .printModule = (void*) ffPrintCustom, .generateJsonConfig = (void*) ffGenerateCustomJsonConfig, diff --git a/src/modules/datetime/datetime.c b/src/modules/datetime/datetime.c index dd82937f0..f90780a88 100644 --- a/src/modules/datetime/datetime.c +++ b/src/modules/datetime/datetime.c @@ -146,6 +146,8 @@ void ffGenerateDateTimeJsonResult(FF_MAYBE_UNUSED FFDateTimeOptions* options, yy static FFModuleBaseInfo ffModuleInfo = { .name = FF_DATETIME_MODULE_NAME, .description = "Print current date and time", + .initOptions = (void*) ffInitDateTimeOptions, + .destroyOptions = (void*) ffDestroyDateTimeOptions, .parseJsonObject = (void*) ffParseDateTimeJsonObject, .printModule = (void*) ffPrintDateTime, .generateJsonResult = (void*) ffGenerateDateTimeJsonResult, diff --git a/src/modules/de/de.c b/src/modules/de/de.c index 7f0020b11..4ec94aa77 100644 --- a/src/modules/de/de.c +++ b/src/modules/de/de.c @@ -94,6 +94,8 @@ void ffGenerateDEJsonResult(FF_MAYBE_UNUSED FFDEOptions* options, yyjson_mut_doc static FFModuleBaseInfo ffModuleInfo = { .name = FF_DE_MODULE_NAME, .description = "Print desktop environment name", + .initOptions = (void*) ffInitDEOptions, + .destroyOptions = (void*) ffDestroyDEOptions, .parseJsonObject = (void*) ffParseDEJsonObject, .printModule = (void*) ffPrintDE, .generateJsonResult = (void*) ffGenerateDEJsonResult, diff --git a/src/modules/disk/disk.c b/src/modules/disk/disk.c index a6ac53a72..a8b646ff0 100644 --- a/src/modules/disk/disk.c +++ b/src/modules/disk/disk.c @@ -415,6 +415,8 @@ void ffGenerateDiskJsonResult(FFDiskOptions* options, yyjson_mut_doc* doc, yyjso static FFModuleBaseInfo ffModuleInfo = { .name = FF_DISK_MODULE_NAME, .description = "Print partitions, space usage, file system, etc", + .initOptions = (void*) ffInitDiskOptions, + .destroyOptions = (void*) ffDestroyDiskOptions, .parseJsonObject = (void*) ffParseDiskJsonObject, .printModule = (void*) ffPrintDisk, .generateJsonResult = (void*) ffGenerateDiskJsonResult, diff --git a/src/modules/diskio/diskio.c b/src/modules/diskio/diskio.c index 6c73f3e21..6bc13524e 100644 --- a/src/modules/diskio/diskio.c +++ b/src/modules/diskio/diskio.c @@ -173,6 +173,8 @@ void ffGenerateDiskIOJsonResult(FFDiskIOOptions* options, yyjson_mut_doc* doc, y static FFModuleBaseInfo ffModuleInfo = { .name = FF_DISKIO_MODULE_NAME, .description = "Print physical disk I/O throughput", + .initOptions = (void*) ffInitDiskIOOptions, + .destroyOptions = (void*) ffDestroyDiskIOOptions, .parseJsonObject = (void*) ffParseDiskIOJsonObject, .printModule = (void*) ffPrintDiskIO, .generateJsonResult = (void*) ffGenerateDiskIOJsonResult, diff --git a/src/modules/display/display.c b/src/modules/display/display.c index 71cb4adad..ecefdbe91 100644 --- a/src/modules/display/display.c +++ b/src/modules/display/display.c @@ -405,6 +405,8 @@ void ffGenerateDisplayJsonResult(FF_MAYBE_UNUSED FFDisplayOptions* options, yyjs static FFModuleBaseInfo ffModuleInfo = { .name = FF_DISPLAY_MODULE_NAME, .description = "Print resolutions, refresh rates, etc", + .initOptions = (void*) ffInitDisplayOptions, + .destroyOptions = (void*) ffDestroyDisplayOptions, .parseJsonObject = (void*) ffParseDisplayJsonObject, .printModule = (void*) ffPrintDisplay, .generateJsonResult = (void*) ffGenerateDisplayJsonResult, diff --git a/src/modules/dns/dns.c b/src/modules/dns/dns.c index 815865ff6..749aa8d90 100644 --- a/src/modules/dns/dns.c +++ b/src/modules/dns/dns.c @@ -142,6 +142,8 @@ exit: static FFModuleBaseInfo ffModuleInfo = { .name = FF_DNS_MODULE_NAME, .description = "Print configured DNS servers", + .initOptions = (void*) ffInitDNSOptions, + .destroyOptions = (void*) ffDestroyDNSOptions, .parseJsonObject = (void*) ffParseDNSJsonObject, .printModule = (void*) ffPrintDNS, .generateJsonResult = (void*) ffGenerateDNSJsonResult, diff --git a/src/modules/editor/editor.c b/src/modules/editor/editor.c index 67223bb50..d6e08fda0 100644 --- a/src/modules/editor/editor.c +++ b/src/modules/editor/editor.c @@ -107,6 +107,8 @@ void ffGenerateEditorJsonResult(FF_MAYBE_UNUSED FFEditorOptions* options, yyjson static FFModuleBaseInfo ffModuleInfo = { .name = FF_EDITOR_MODULE_NAME, .description = "Print information of the default editor ($VISUAL or $EDITOR)", + .initOptions = (void*) ffInitEditorOptions, + .destroyOptions = (void*) ffDestroyEditorOptions, .parseJsonObject = (void*) ffParseEditorJsonObject, .printModule = (void*) ffPrintEditor, .generateJsonResult = (void*) ffGenerateEditorJsonResult, diff --git a/src/modules/font/font.c b/src/modules/font/font.c index bf0fc2459..f7d272615 100644 --- a/src/modules/font/font.c +++ b/src/modules/font/font.c @@ -91,6 +91,8 @@ void ffGenerateFontJsonResult(FF_MAYBE_UNUSED FFFontOptions* options, yyjson_mut static FFModuleBaseInfo ffModuleInfo = { .name = FF_FONT_MODULE_NAME, .description = "Print system font names", + .initOptions = (void*) ffInitFontOptions, + .destroyOptions = (void*) ffDestroyFontOptions, .parseJsonObject = (void*) ffParseFontJsonObject, .printModule = (void*) ffPrintFont, .generateJsonResult = (void*) ffGenerateFontJsonResult, diff --git a/src/modules/gamepad/gamepad.c b/src/modules/gamepad/gamepad.c index 5e6e394d3..1558d5873 100644 --- a/src/modules/gamepad/gamepad.c +++ b/src/modules/gamepad/gamepad.c @@ -133,6 +133,8 @@ void ffGenerateGamepadJsonResult(FF_MAYBE_UNUSED FFGamepadOptions* options, yyjs static FFModuleBaseInfo ffModuleInfo = { .name = FF_GAMEPAD_MODULE_NAME, .description = "List (connected) gamepads", + .initOptions = (void*) ffInitGamepadOptions, + .destroyOptions = (void*) ffDestroyGamepadOptions, .parseJsonObject = (void*) ffParseGamepadJsonObject, .printModule = (void*) ffPrintGamepad, .generateJsonResult = (void*) ffGenerateGamepadJsonResult, diff --git a/src/modules/gpu/gpu.c b/src/modules/gpu/gpu.c index 58392af1e..e74eb3ccf 100644 --- a/src/modules/gpu/gpu.c +++ b/src/modules/gpu/gpu.c @@ -417,6 +417,8 @@ void ffGenerateGPUJsonResult(FFGPUOptions* options, yyjson_mut_doc* doc, yyjson_ static FFModuleBaseInfo ffModuleInfo = { .name = FF_GPU_MODULE_NAME, .description = "Print GPU names, graphic memory size, type, etc", + .initOptions = (void*) ffInitGPUOptions, + .destroyOptions = (void*) ffDestroyGPUOptions, .parseJsonObject = (void*) ffParseGPUJsonObject, .printModule = (void*) ffPrintGPU, .generateJsonResult = (void*) ffGenerateGPUJsonResult, diff --git a/src/modules/host/host.c b/src/modules/host/host.c index 3d4fd3942..9d1c7e74b 100644 --- a/src/modules/host/host.c +++ b/src/modules/host/host.c @@ -134,6 +134,8 @@ exit: static FFModuleBaseInfo ffModuleInfo = { .name = FF_HOST_MODULE_NAME, .description = "Print product name of your computer", + .initOptions = (void*) ffInitHostOptions, + .destroyOptions = (void*) ffDestroyHostOptions, .parseJsonObject = (void*) ffParseHostJsonObject, .printModule = (void*) ffPrintHost, .generateJsonResult = (void*) ffGenerateHostJsonResult, diff --git a/src/modules/icons/icons.c b/src/modules/icons/icons.c index ae2ad783b..d8ebf7574 100644 --- a/src/modules/icons/icons.c +++ b/src/modules/icons/icons.c @@ -89,6 +89,8 @@ void ffGenerateIconsJsonResult(FF_MAYBE_UNUSED FFIconsOptions* options, yyjson_m static FFModuleBaseInfo ffModuleInfo = { .name = FF_ICONS_MODULE_NAME, .description = "Print icon style name", + .initOptions = (void*) ffInitIconsOptions, + .destroyOptions = (void*) ffDestroyIconsOptions, .parseJsonObject = (void*) ffParseIconsJsonObject, .printModule = (void*) ffPrintIcons, .generateJsonResult = (void*) ffGenerateIconsJsonResult, diff --git a/src/modules/initsystem/initsystem.c b/src/modules/initsystem/initsystem.c index 591a78e0a..1652838a1 100644 --- a/src/modules/initsystem/initsystem.c +++ b/src/modules/initsystem/initsystem.c @@ -101,6 +101,8 @@ exit: static FFModuleBaseInfo ffModuleInfo = { .name = FF_INITSYSTEM_MODULE_NAME, .description = "Print init system (pid 1) name and version", + .initOptions = (void*) ffInitInitSystemOptions, + .destroyOptions = (void*) ffDestroyInitSystemOptions, .parseJsonObject = (void*) ffParseInitSystemJsonObject, .printModule = (void*) ffPrintInitSystem, .generateJsonResult = (void*) ffGenerateInitSystemJsonResult, diff --git a/src/modules/kernel/kernel.c b/src/modules/kernel/kernel.c index fd21f67ed..23b544d9c 100644 --- a/src/modules/kernel/kernel.c +++ b/src/modules/kernel/kernel.c @@ -69,6 +69,8 @@ void ffGenerateKernelJsonResult(FF_MAYBE_UNUSED FFKernelOptions* options, yyjson static FFModuleBaseInfo ffModuleInfo = { .name = FF_KERNEL_MODULE_NAME, .description = "Print system kernel version", + .initOptions = (void*) ffInitKernelOptions, + .destroyOptions = (void*) ffDestroyKernelOptions, .parseJsonObject = (void*) ffParseKernelJsonObject, .printModule = (void*) ffPrintKernel, .generateJsonResult = (void*) ffGenerateKernelJsonResult, diff --git a/src/modules/keyboard/keyboard.c b/src/modules/keyboard/keyboard.c index 4b2a34329..d024444ec 100644 --- a/src/modules/keyboard/keyboard.c +++ b/src/modules/keyboard/keyboard.c @@ -99,6 +99,8 @@ void ffGenerateKeyboardJsonResult(FF_MAYBE_UNUSED FFKeyboardOptions* options, yy static FFModuleBaseInfo ffModuleInfo = { .name = FF_KEYBOARD_MODULE_NAME, .description = "List (connected) keyboards", + .initOptions = (void*) ffInitKeyboardOptions, + .destroyOptions = (void*) ffDestroyKeyboardOptions, .parseJsonObject = (void*) ffParseKeyboardJsonObject, .printModule = (void*) ffPrintKeyboard, .generateJsonResult = (void*) ffGenerateKeyboardJsonResult, diff --git a/src/modules/lm/lm.c b/src/modules/lm/lm.c index 9afcdefc4..cba026452 100644 --- a/src/modules/lm/lm.c +++ b/src/modules/lm/lm.c @@ -102,6 +102,8 @@ exit: static FFModuleBaseInfo ffModuleInfo = { .name = FF_LM_MODULE_NAME, .description = "Print login manager (desktop manager) name and version", + .initOptions = (void*) ffInitLMOptions, + .destroyOptions = (void*) ffDestroyLMOptions, .parseJsonObject = (void*) ffParseLMJsonObject, .printModule = (void*) ffPrintLM, .generateJsonResult = (void*) ffGenerateLMJsonResult, diff --git a/src/modules/loadavg/loadavg.c b/src/modules/loadavg/loadavg.c index 1fb7655e8..b7aeb71a0 100644 --- a/src/modules/loadavg/loadavg.c +++ b/src/modules/loadavg/loadavg.c @@ -153,6 +153,8 @@ void ffGenerateLoadavgJsonResult(FF_MAYBE_UNUSED FFLoadavgOptions* options, yyjs static FFModuleBaseInfo ffModuleInfo = { .name = FF_LOADAVG_MODULE_NAME, .description = "Print system load averages", + .initOptions = (void*) ffInitLoadavgOptions, + .destroyOptions = (void*) ffDestroyLoadavgOptions, .parseJsonObject = (void*) ffParseLoadavgJsonObject, .printModule = (void*) ffPrintLoadavg, .generateJsonResult = (void*) ffGenerateLoadavgJsonResult, diff --git a/src/modules/locale/locale.c b/src/modules/locale/locale.c index 290f9196e..fdcd045f1 100644 --- a/src/modules/locale/locale.c +++ b/src/modules/locale/locale.c @@ -66,6 +66,8 @@ void ffGenerateLocaleJsonResult(FF_MAYBE_UNUSED FFLocaleOptions* options, yyjson static FFModuleBaseInfo ffModuleInfo = { .name = FF_LOCALE_MODULE_NAME, .description = "Print system locale name", + .initOptions = (void*) ffInitLocaleOptions, + .destroyOptions = (void*) ffDestroyLocaleOptions, .parseJsonObject = (void*) ffParseLocaleJsonObject, .printModule = (void*) ffPrintLocale, .generateJsonResult = (void*) ffGenerateLocaleJsonResult, diff --git a/src/modules/localip/localip.c b/src/modules/localip/localip.c index cfc936fdf..72bab65a5 100644 --- a/src/modules/localip/localip.c +++ b/src/modules/localip/localip.c @@ -388,6 +388,8 @@ void ffGenerateLocalIpJsonResult(FF_MAYBE_UNUSED FFLocalIpOptions* options, yyjs static FFModuleBaseInfo ffModuleInfo = { .name = FF_LOCALIP_MODULE_NAME, .description = "List local IP addresses (v4 or v6), MAC addresses, etc", + .initOptions = (void*) ffInitLocalIpOptions, + .destroyOptions = (void*) ffDestroyLocalIpOptions, .parseJsonObject = (void*) ffParseLocalIpJsonObject, .printModule = (void*) ffPrintLocalIp, .generateJsonResult = (void*) ffGenerateLocalIpJsonResult, diff --git a/src/modules/media/media.c b/src/modules/media/media.c index 71dfb96ea..8fb1555d4 100644 --- a/src/modules/media/media.c +++ b/src/modules/media/media.c @@ -154,6 +154,8 @@ void ffGenerateMediaJsonResult(FF_MAYBE_UNUSED FFMediaOptions* options, yyjson_m static FFModuleBaseInfo ffModuleInfo = { .name = FF_MEDIA_MODULE_NAME, .description = "Print playing song name", + .initOptions = (void*) ffInitMediaOptions, + .destroyOptions = (void*) ffDestroyMediaOptions, .parseJsonObject = (void*) ffParseMediaJsonObject, .printModule = (void*) ffPrintMedia, .generateJsonResult = (void*) ffGenerateMediaJsonResult, diff --git a/src/modules/memory/memory.c b/src/modules/memory/memory.c index 1948a162e..7388c44cc 100644 --- a/src/modules/memory/memory.c +++ b/src/modules/memory/memory.c @@ -116,6 +116,8 @@ void ffGenerateMemoryJsonResult(FF_MAYBE_UNUSED FFMemoryOptions* options, yyjson static FFModuleBaseInfo ffModuleInfo = { .name = FF_MEMORY_MODULE_NAME, .description = "Print system memory usage info", + .initOptions = (void*) ffInitMemoryOptions, + .destroyOptions = (void*) ffDestroyMemoryOptions, .parseJsonObject = (void*) ffParseMemoryJsonObject, .printModule = (void*) ffPrintMemory, .generateJsonResult = (void*) ffGenerateMemoryJsonResult, diff --git a/src/modules/monitor/monitor.c b/src/modules/monitor/monitor.c index fd0efac20..557db306b 100644 --- a/src/modules/monitor/monitor.c +++ b/src/modules/monitor/monitor.c @@ -115,6 +115,8 @@ void ffGenerateMonitorJsonResult(FF_MAYBE_UNUSED FFMonitorOptions* options, yyjs static FFModuleBaseInfo ffModuleInfo = { .name = FF_MONITOR_MODULE_NAME, .description = "Alias of Display module", + .initOptions = (void*) ffInitMonitorOptions, + .destroyOptions = (void*) ffDestroyMonitorOptions, .parseJsonObject = (void*) ffParseMonitorJsonObject, .printModule = (void*) ffPrintMonitor, .generateJsonResult = (void*) ffGenerateMonitorJsonResult, diff --git a/src/modules/mouse/mouse.c b/src/modules/mouse/mouse.c index 1d5eeea88..298bc02a3 100644 --- a/src/modules/mouse/mouse.c +++ b/src/modules/mouse/mouse.c @@ -99,6 +99,8 @@ void ffGenerateMouseJsonResult(FF_MAYBE_UNUSED FFMouseOptions* options, yyjson_m static FFModuleBaseInfo ffModuleInfo = { .name = FF_MOUSE_MODULE_NAME, .description = "List connected mouses", + .initOptions = (void*) ffInitMouseOptions, + .destroyOptions = (void*) ffDestroyMouseOptions, .parseJsonObject = (void*) ffParseMouseJsonObject, .printModule = (void*) ffPrintMouse, .generateJsonResult = (void*) ffGenerateMouseJsonResult, diff --git a/src/modules/netio/netio.c b/src/modules/netio/netio.c index 9733ee99b..30e643a6a 100644 --- a/src/modules/netio/netio.c +++ b/src/modules/netio/netio.c @@ -193,6 +193,8 @@ void ffGenerateNetIOJsonResult(FFNetIOOptions* options, yyjson_mut_doc* doc, yyj static FFModuleBaseInfo ffModuleInfo = { .name = FF_NETIO_MODULE_NAME, .description = "Print network I/O throughput", + .initOptions = (void*) ffInitNetIOOptions, + .destroyOptions = (void*) ffDestroyNetIOOptions, .parseJsonObject = (void*) ffParseNetIOJsonObject, .printModule = (void*) ffPrintNetIO, .generateJsonResult = (void*) ffGenerateNetIOJsonResult, diff --git a/src/modules/opencl/opencl.c b/src/modules/opencl/opencl.c index ad93db8a0..d0a72ea80 100644 --- a/src/modules/opencl/opencl.c +++ b/src/modules/opencl/opencl.c @@ -117,6 +117,8 @@ void ffGenerateOpenCLJsonResult(FF_MAYBE_UNUSED FFOpenCLOptions* options, yyjson static FFModuleBaseInfo ffModuleInfo = { .name = FF_OPENCL_MODULE_NAME, .description = "Print highest OpenCL version supported by the GPU", + .initOptions = (void*) ffInitOpenCLOptions, + .destroyOptions = (void*) ffDestroyOpenCLOptions, .parseJsonObject = (void*) ffParseOpenCLJsonObject, .printModule = (void*) ffPrintOpenCL, .generateJsonResult = (void*) ffGenerateOpenCLJsonResult, diff --git a/src/modules/opengl/opengl.c b/src/modules/opengl/opengl.c index 43ef88d44..1ee320fd9 100644 --- a/src/modules/opengl/opengl.c +++ b/src/modules/opengl/opengl.c @@ -130,6 +130,8 @@ void ffGenerateOpenGLJsonResult(FF_MAYBE_UNUSED FFOpenGLOptions* options, yyjson static FFModuleBaseInfo ffModuleInfo = { .name = FF_OPENGL_MODULE_NAME, .description = "Print highest OpenGL version supported by the GPU", + .initOptions = (void*) ffInitOpenGLOptions, + .destroyOptions = (void*) ffDestroyOpenGLOptions, .parseJsonObject = (void*) ffParseOpenGLJsonObject, .printModule = (void*) ffPrintOpenGL, .generateJsonResult = (void*) ffGenerateOpenGLJsonResult, diff --git a/src/modules/os/os.c b/src/modules/os/os.c index 9bcb13387..6056de9b1 100644 --- a/src/modules/os/os.c +++ b/src/modules/os/os.c @@ -162,6 +162,8 @@ void ffGenerateOSJsonResult(FF_MAYBE_UNUSED FFOSOptions* options, yyjson_mut_doc static FFModuleBaseInfo ffModuleInfo = { .name = FF_OS_MODULE_NAME, .description = "Print operating system name and version", + .initOptions = (void*) ffInitOSOptions, + .destroyOptions = (void*) ffDestroyOSOptions, .parseJsonObject = (void*) ffParseOSJsonObject, .printModule = (void*) ffPrintOS, .generateJsonResult = (void*) ffGenerateOSJsonResult, diff --git a/src/modules/packages/packages.c b/src/modules/packages/packages.c index a5d61ee72..23025404d 100644 --- a/src/modules/packages/packages.c +++ b/src/modules/packages/packages.c @@ -434,6 +434,8 @@ void ffGeneratePackagesJsonResult(FF_MAYBE_UNUSED FFPackagesOptions* options, yy static FFModuleBaseInfo ffModuleInfo = { .name = FF_PACKAGES_MODULE_NAME, .description = "List installed package managers and count of installed packages", + .initOptions = (void*) ffInitPackagesOptions, + .destroyOptions = (void*) ffDestroyPackagesOptions, .parseJsonObject = (void*) ffParsePackagesJsonObject, .printModule = (void*) ffPrintPackages, .generateJsonResult = (void*) ffGeneratePackagesJsonResult, diff --git a/src/modules/physicaldisk/physicaldisk.c b/src/modules/physicaldisk/physicaldisk.c index 79be411cb..b93bfe6ce 100644 --- a/src/modules/physicaldisk/physicaldisk.c +++ b/src/modules/physicaldisk/physicaldisk.c @@ -229,6 +229,8 @@ void ffGeneratePhysicalDiskJsonResult(FFPhysicalDiskOptions* options, yyjson_mut static FFModuleBaseInfo ffModuleInfo = { .name = FF_PHYSICALDISK_MODULE_NAME, .description = "Print physical disk information", + .initOptions = (void*) ffInitPhysicalDiskOptions, + .destroyOptions = (void*) ffDestroyPhysicalDiskOptions, .parseJsonObject = (void*) ffParsePhysicalDiskJsonObject, .printModule = (void*) ffPrintPhysicalDisk, .generateJsonResult = (void*) ffGeneratePhysicalDiskJsonResult, diff --git a/src/modules/physicalmemory/physicalmemory.c b/src/modules/physicalmemory/physicalmemory.c index e36ceaa64..cb6bcb918 100644 --- a/src/modules/physicalmemory/physicalmemory.c +++ b/src/modules/physicalmemory/physicalmemory.c @@ -142,6 +142,8 @@ void ffGeneratePhysicalMemoryJsonResult(FF_MAYBE_UNUSED FFPhysicalMemoryOptions* static FFModuleBaseInfo ffModuleInfo = { .name = FF_PHYSICALMEMORY_MODULE_NAME, .description = "Print system physical memory devices", + .initOptions = (void*) ffInitPhysicalMemoryOptions, + .destroyOptions = (void*) ffDestroyPhysicalMemoryOptions, .parseJsonObject = (void*) ffParsePhysicalMemoryJsonObject, .printModule = (void*) ffPrintPhysicalMemory, .generateJsonConfig = (void*) ffGeneratePhysicalMemoryJsonConfig, diff --git a/src/modules/player/player.c b/src/modules/player/player.c index 2c7aaac97..555746a90 100644 --- a/src/modules/player/player.c +++ b/src/modules/player/player.c @@ -110,6 +110,8 @@ void ffGeneratePlayerJsonResult(FF_MAYBE_UNUSED FFMediaOptions* options, yyjson_ static FFModuleBaseInfo ffModuleInfo = { .name = FF_PLAYER_MODULE_NAME, .description = "Print music player name", + .initOptions = (void*) ffInitPlayerOptions, + .destroyOptions = (void*) ffDestroyPlayerOptions, .parseJsonObject = (void*) ffParsePlayerJsonObject, .printModule = (void*) ffPrintPlayer, .generateJsonResult = (void*) ffGeneratePlayerJsonResult, diff --git a/src/modules/poweradapter/poweradapter.c b/src/modules/poweradapter/poweradapter.c index 8f33d6ae8..abd3b4f85 100644 --- a/src/modules/poweradapter/poweradapter.c +++ b/src/modules/poweradapter/poweradapter.c @@ -114,6 +114,8 @@ void ffGeneratePowerAdapterJsonResult(FF_MAYBE_UNUSED FFPowerAdapterOptions* opt static FFModuleBaseInfo ffModuleInfo = { .name = FF_POWERADAPTER_MODULE_NAME, .description = "Print power adapter name and charging watts", + .initOptions = (void*) ffInitPowerAdapterOptions, + .destroyOptions = (void*) ffDestroyPowerAdapterOptions, .parseJsonObject = (void*) ffParsePowerAdapterJsonObject, .printModule = (void*) ffPrintPowerAdapter, .generateJsonResult = (void*) ffGeneratePowerAdapterJsonResult, diff --git a/src/modules/processes/processes.c b/src/modules/processes/processes.c index 0c79b4d27..5d8ab9d76 100644 --- a/src/modules/processes/processes.c +++ b/src/modules/processes/processes.c @@ -67,6 +67,8 @@ void ffGenerateProcessesJsonResult(FF_MAYBE_UNUSED FFProcessesOptions* options, static FFModuleBaseInfo ffModuleInfo = { .name = FF_PROCESSES_MODULE_NAME, .description = "Print number of running processes", + .initOptions = (void*) ffInitProcessesOptions, + .destroyOptions = (void*) ffDestroyProcessesOptions, .parseJsonObject = (void*) ffParseProcessesJsonObject, .printModule = (void*) ffPrintProcesses, .generateJsonResult = (void*) ffGenerateProcessesJsonResult, diff --git a/src/modules/publicip/publicip.c b/src/modules/publicip/publicip.c index 2dbee34ba..fce7ca18e 100644 --- a/src/modules/publicip/publicip.c +++ b/src/modules/publicip/publicip.c @@ -111,6 +111,8 @@ void ffGeneratePublicIpJsonResult(FFPublicIpOptions* options, yyjson_mut_doc* do static FFModuleBaseInfo ffModuleInfo = { .name = FF_PUBLICIP_MODULE_NAME, .description = "Print your public IP address, etc", + .initOptions = (void*) ffInitPublicIpOptions, + .destroyOptions = (void*) ffDestroyPublicIpOptions, .parseJsonObject = (void*) ffParsePublicIpJsonObject, .printModule = (void*) ffPrintPublicIp, .generateJsonResult = (void*) ffGeneratePublicIpJsonResult, diff --git a/src/modules/separator/separator.c b/src/modules/separator/separator.c index e6bd66aa7..a8b9a86be 100644 --- a/src/modules/separator/separator.c +++ b/src/modules/separator/separator.c @@ -157,6 +157,8 @@ void ffGenerateSeparatorJsonConfig(FFSeparatorOptions* options, yyjson_mut_doc* static FFModuleBaseInfo ffModuleInfo = { .name = FF_SEPARATOR_MODULE_NAME, .description = "Print a separator line", + .initOptions = (void*) ffInitSeparatorOptions, + .destroyOptions = (void*) ffDestroySeparatorOptions, .parseJsonObject = (void*) ffParseSeparatorJsonObject, .printModule = (void*) ffPrintSeparator, .generateJsonConfig = (void*) ffGenerateSeparatorJsonConfig, diff --git a/src/modules/shell/shell.c b/src/modules/shell/shell.c index 0c9d15274..df433ded9 100644 --- a/src/modules/shell/shell.c +++ b/src/modules/shell/shell.c @@ -91,6 +91,8 @@ void ffGenerateShellJsonResult(FF_MAYBE_UNUSED FFShellOptions* options, yyjson_m static FFModuleBaseInfo ffModuleInfo = { .name = FF_SHELL_MODULE_NAME, .description = "Print current shell name and version", + .initOptions = (void*) ffInitShellOptions, + .destroyOptions = (void*) ffDestroyShellOptions, .parseJsonObject = (void*) ffParseShellJsonObject, .printModule = (void*) ffPrintShell, .generateJsonResult = (void*) ffGenerateShellJsonResult, diff --git a/src/modules/sound/sound.c b/src/modules/sound/sound.c index 1f948ac95..759f8fdf4 100644 --- a/src/modules/sound/sound.c +++ b/src/modules/sound/sound.c @@ -209,6 +209,8 @@ void ffGenerateSoundJsonResult(FF_MAYBE_UNUSED FFSoundOptions* options, yyjson_m static FFModuleBaseInfo ffModuleInfo = { .name = FF_SOUND_MODULE_NAME, .description = "Print sound devices, volume, etc", + .initOptions = (void*) ffInitSoundOptions, + .destroyOptions = (void*) ffDestroySoundOptions, .parseJsonObject = (void*) ffParseSoundJsonObject, .printModule = (void*) ffPrintSound, .generateJsonResult = (void*) ffGenerateSoundJsonResult, diff --git a/src/modules/swap/swap.c b/src/modules/swap/swap.c index ede68f3f7..54265d90a 100644 --- a/src/modules/swap/swap.c +++ b/src/modules/swap/swap.c @@ -192,6 +192,8 @@ void ffGenerateSwapJsonResult(FF_MAYBE_UNUSED FFSwapOptions* options, yyjson_mut static FFModuleBaseInfo ffModuleInfo = { .name = FF_SWAP_MODULE_NAME, .description = "Print swap (paging file) space usage", + .initOptions = (void*) ffInitSwapOptions, + .destroyOptions = (void*) ffDestroySwapOptions, .parseJsonObject = (void*) ffParseSwapJsonObject, .printModule = (void*) ffPrintSwap, .generateJsonResult = (void*) ffGenerateSwapJsonResult, diff --git a/src/modules/terminal/terminal.c b/src/modules/terminal/terminal.c index febbfba3e..9ddb3ae7f 100644 --- a/src/modules/terminal/terminal.c +++ b/src/modules/terminal/terminal.c @@ -84,6 +84,8 @@ void ffGenerateTerminalJsonResult(FF_MAYBE_UNUSED FFTerminalOptions* options, yy static FFModuleBaseInfo ffModuleInfo = { .name = FF_TERMINAL_MODULE_NAME, .description = "Print current terminal name and version", + .initOptions = (void*) ffInitTerminalOptions, + .destroyOptions = (void*) ffDestroyTerminalOptions, .parseJsonObject = (void*) ffParseTerminalJsonObject, .printModule = (void*) ffPrintTerminal, .generateJsonResult = (void*) ffGenerateTerminalJsonResult, diff --git a/src/modules/terminalfont/terminalfont.c b/src/modules/terminalfont/terminalfont.c index 837e5ac3b..43cab5610 100644 --- a/src/modules/terminalfont/terminalfont.c +++ b/src/modules/terminalfont/terminalfont.c @@ -109,6 +109,8 @@ void ffGenerateTerminalFontJsonResult(FF_MAYBE_UNUSED FFTerminalOptions* options static FFModuleBaseInfo ffModuleInfo = { .name = FF_TERMINALFONT_MODULE_NAME, .description = "Print font name and size used by current terminal", + .initOptions = (void*) ffInitTerminalFontOptions, + .destroyOptions = (void*) ffDestroyTerminalFontOptions, .parseJsonObject = (void*) ffParseTerminalFontJsonObject, .printModule = (void*) ffPrintTerminalFont, .generateJsonResult = (void*) ffGenerateTerminalFontJsonResult, diff --git a/src/modules/terminalsize/terminalsize.c b/src/modules/terminalsize/terminalsize.c index f36ec7d5b..9b5a6f56b 100644 --- a/src/modules/terminalsize/terminalsize.c +++ b/src/modules/terminalsize/terminalsize.c @@ -79,6 +79,8 @@ void ffGenerateTerminalSizeJsonResult(FF_MAYBE_UNUSED FFTerminalOptions* options static FFModuleBaseInfo ffModuleInfo = { .name = FF_TERMINALSIZE_MODULE_NAME, .description = "Print current terminal size", + .initOptions = (void*) ffInitTerminalSizeOptions, + .destroyOptions = (void*) ffDestroyTerminalSizeOptions, .parseJsonObject = (void*) ffParseTerminalSizeJsonObject, .printModule = (void*) ffPrintTerminalSize, .generateJsonResult = (void*) ffGenerateTerminalSizeJsonResult, diff --git a/src/modules/terminaltheme/terminaltheme.c b/src/modules/terminaltheme/terminaltheme.c index cc4e901e5..dd7a256b4 100644 --- a/src/modules/terminaltheme/terminaltheme.c +++ b/src/modules/terminaltheme/terminaltheme.c @@ -92,6 +92,8 @@ void ffGenerateTerminalThemeJsonResult(FF_MAYBE_UNUSED FFTerminalOptions* option static FFModuleBaseInfo ffModuleInfo = { .name = FF_TERMINALTHEME_MODULE_NAME, .description = "Print current terminal theme (foreground and background colors)", + .initOptions = (void*) ffInitTerminalThemeOptions, + .destroyOptions = (void*) ffDestroyTerminalThemeOptions, .parseJsonObject = (void*) ffParseTerminalThemeJsonObject, .printModule = (void*) ffPrintTerminalTheme, .generateJsonResult = (void*) ffGenerateTerminalThemeJsonResult, diff --git a/src/modules/theme/theme.c b/src/modules/theme/theme.c index ca78bc7c1..daa93d9eb 100644 --- a/src/modules/theme/theme.c +++ b/src/modules/theme/theme.c @@ -89,6 +89,8 @@ void ffGenerateThemeJsonResult(FF_MAYBE_UNUSED FFThemeOptions* options, yyjson_m static FFModuleBaseInfo ffModuleInfo = { .name = FF_THEME_MODULE_NAME, .description = "Print current theme of desktop environment", + .initOptions = (void*) ffInitThemeOptions, + .destroyOptions = (void*) ffDestroyThemeOptions, .parseJsonObject = (void*) ffParseThemeJsonObject, .printModule = (void*) ffPrintTheme, .generateJsonResult = (void*) ffGenerateThemeJsonResult, diff --git a/src/modules/title/title.c b/src/modules/title/title.c index dc5ad2920..293e1f9dd 100644 --- a/src/modules/title/title.c +++ b/src/modules/title/title.c @@ -143,6 +143,8 @@ void ffGenerateTitleJsonResult(FF_MAYBE_UNUSED FFTitleOptions* options, yyjson_m static FFModuleBaseInfo ffModuleInfo = { .name = FF_TITLE_MODULE_NAME, .description = "Print title, which contains your user name, hostname", + .initOptions = (void*) ffInitTitleOptions, + .destroyOptions = (void*) ffDestroyTitleOptions, .parseJsonObject = (void*) ffParseTitleJsonObject, .printModule = (void*) ffPrintTitle, .generateJsonResult = (void*) ffGenerateTitleJsonResult, diff --git a/src/modules/tpm/tpm.c b/src/modules/tpm/tpm.c index b29a240aa..bd0c05f08 100644 --- a/src/modules/tpm/tpm.c +++ b/src/modules/tpm/tpm.c @@ -84,6 +84,8 @@ void ffGenerateTPMJsonResult(FF_MAYBE_UNUSED FFTerminalOptions* options, yyjson_ static FFModuleBaseInfo ffModuleInfo = { .name = FF_TPM_MODULE_NAME, .description = "Print info of Trusted Platform Module (TPM) Security Device", + .initOptions = (void*) ffInitTPMOptions, + .destroyOptions = (void*) ffDestroyTPMOptions, .parseJsonObject = (void*) ffParseTPMJsonObject, .printModule = (void*) ffPrintTPM, .generateJsonResult = (void*) ffGenerateTPMJsonResult, diff --git a/src/modules/uptime/uptime.c b/src/modules/uptime/uptime.c index fa2b11d8a..771e4b6da 100644 --- a/src/modules/uptime/uptime.c +++ b/src/modules/uptime/uptime.c @@ -96,6 +96,8 @@ void ffGenerateUptimeJsonResult(FF_MAYBE_UNUSED FFUptimeOptions* options, yyjson static FFModuleBaseInfo ffModuleInfo = { .name = FF_UPTIME_MODULE_NAME, .description = "Print how long system has been running", + .initOptions = (void*) ffInitUptimeOptions, + .destroyOptions = (void*) ffDestroyUptimeOptions, .parseJsonObject = (void*) ffParseUptimeJsonObject, .printModule = (void*) ffPrintUptime, .generateJsonResult = (void*) ffGenerateUptimeJsonResult, diff --git a/src/modules/users/users.c b/src/modules/users/users.c index f1137b1c1..71d2150a3 100644 --- a/src/modules/users/users.c +++ b/src/modules/users/users.c @@ -188,6 +188,8 @@ void ffGenerateUsersJsonResult(FFUsersOptions* options, yyjson_mut_doc* doc, yyj static FFModuleBaseInfo ffModuleInfo = { .name = FF_USERS_MODULE_NAME, .description = "Print users currently logged in", + .initOptions = (void*) ffInitUsersOptions, + .destroyOptions = (void*) ffDestroyUsersOptions, .parseJsonObject = (void*) ffParseUsersJsonObject, .printModule = (void*) ffPrintUsers, .generateJsonResult = (void*) ffGenerateUsersJsonResult, diff --git a/src/modules/version/version.c b/src/modules/version/version.c index 6b86e0dbd..e39036eeb 100644 --- a/src/modules/version/version.c +++ b/src/modules/version/version.c @@ -100,6 +100,8 @@ void ffGenerateVersionJsonResult(FF_MAYBE_UNUSED FFVersionOptions* options, yyjs static FFModuleBaseInfo ffModuleInfo = { .name = FF_VERSION_MODULE_NAME, .description = "Print Fastfetch version", + .initOptions = (void*) ffInitVersionOptions, + .destroyOptions = (void*) ffDestroyVersionOptions, .parseJsonObject = (void*) ffParseVersionJsonObject, .printModule = (void*) ffPrintVersion, .generateJsonResult = (void*) ffGenerateVersionJsonResult, diff --git a/src/modules/vulkan/vulkan.c b/src/modules/vulkan/vulkan.c index f67f549a9..3cd6e5fb9 100644 --- a/src/modules/vulkan/vulkan.c +++ b/src/modules/vulkan/vulkan.c @@ -131,6 +131,8 @@ void ffGenerateVulkanJsonResult(FF_MAYBE_UNUSED FFVulkanOptions* options, yyjson static FFModuleBaseInfo ffModuleInfo = { .name = FF_VULKAN_MODULE_NAME, .description = "Print highest Vulkan version supported by the GPU", + .initOptions = (void*) ffInitVulkanOptions, + .destroyOptions = (void*) ffDestroyVulkanOptions, .parseJsonObject = (void*) ffParseVulkanJsonObject, .printModule = (void*) ffPrintVulkan, .generateJsonResult = (void*) ffGenerateVulkanJsonResult, diff --git a/src/modules/wallpaper/wallpaper.c b/src/modules/wallpaper/wallpaper.c index 8635bf325..445cadb33 100644 --- a/src/modules/wallpaper/wallpaper.c +++ b/src/modules/wallpaper/wallpaper.c @@ -76,6 +76,8 @@ void ffGenerateWallpaperJsonResult(FF_MAYBE_UNUSED FFWallpaperOptions* options, static FFModuleBaseInfo ffModuleInfo = { .name = FF_WALLPAPER_MODULE_NAME, .description = "Print image file path of current wallpaper", + .initOptions = (void*) ffInitWallpaperOptions, + .destroyOptions = (void*) ffDestroyWallpaperOptions, .parseJsonObject = (void*) ffParseWallpaperJsonObject, .printModule = (void*) ffPrintWallpaper, .generateJsonResult = (void*) ffGenerateWallpaperJsonResult, diff --git a/src/modules/weather/weather.c b/src/modules/weather/weather.c index aef1e26e9..3fad7d116 100644 --- a/src/modules/weather/weather.c +++ b/src/modules/weather/weather.c @@ -94,6 +94,8 @@ void ffGenerateWeatherJsonResult(FFWeatherOptions* options, yyjson_mut_doc* doc, static FFModuleBaseInfo ffModuleInfo = { .name = FF_WEATHER_MODULE_NAME, .description = "Print weather information", + .initOptions = (void*) ffInitWeatherOptions, + .destroyOptions = (void*) ffDestroyWeatherOptions, .parseJsonObject = (void*) ffParseWeatherJsonObject, .printModule = (void*) ffPrintWeather, .generateJsonResult = (void*) ffGenerateWeatherJsonResult, diff --git a/src/modules/wifi/wifi.c b/src/modules/wifi/wifi.c index ec5aaf18f..799c9e547 100644 --- a/src/modules/wifi/wifi.c +++ b/src/modules/wifi/wifi.c @@ -209,6 +209,8 @@ void ffGenerateWifiJsonResult(FF_MAYBE_UNUSED FFWifiOptions* options, yyjson_mut static FFModuleBaseInfo ffModuleInfo = { .name = FF_WIFI_MODULE_NAME, .description = "Print connected Wi-Fi info (SSID, connection and security protocol)", + .initOptions = (void*) ffInitWifiOptions, + .destroyOptions = (void*) ffDestroyWifiOptions, .parseJsonObject = (void*) ffParseWifiJsonObject, .printModule = (void*) ffPrintWifi, .generateJsonResult = (void*) ffGenerateWifiJsonResult, diff --git a/src/modules/wm/wm.c b/src/modules/wm/wm.c index 46a73e4a4..075176f0c 100644 --- a/src/modules/wm/wm.c +++ b/src/modules/wm/wm.c @@ -122,6 +122,8 @@ void ffGenerateWMJsonResult(FF_MAYBE_UNUSED FFWMOptions* options, yyjson_mut_doc static FFModuleBaseInfo ffModuleInfo = { .name = FF_WM_MODULE_NAME, .description = "Print window manager name and version", + .initOptions = (void*) ffInitWMOptions, + .destroyOptions = (void*) ffDestroyWMOptions, .parseJsonObject = (void*) ffParseWMJsonObject, .printModule = (void*) ffPrintWM, .generateJsonResult = (void*) ffGenerateWMJsonResult, diff --git a/src/modules/wmtheme/wmtheme.c b/src/modules/wmtheme/wmtheme.c index f5d425f51..302e73322 100644 --- a/src/modules/wmtheme/wmtheme.c +++ b/src/modules/wmtheme/wmtheme.c @@ -65,6 +65,8 @@ void ffGenerateWMThemeJsonResult(FF_MAYBE_UNUSED FFWMThemeOptions* options, yyjs static FFModuleBaseInfo ffModuleInfo = { .name = FF_WMTHEME_MODULE_NAME, .description = "Print current theme of window manager", + .initOptions = (void*) ffInitWMThemeOptions, + .destroyOptions = (void*) ffDestroyWMThemeOptions, .parseJsonObject = (void*) ffParseWMThemeJsonObject, .printModule = (void*) ffPrintWMTheme, .generateJsonResult = (void*) ffGenerateWMThemeJsonResult, diff --git a/src/modules/zpool/zpool.c b/src/modules/zpool/zpool.c index b88b6c7a0..68eebda09 100644 --- a/src/modules/zpool/zpool.c +++ b/src/modules/zpool/zpool.c @@ -167,6 +167,8 @@ void ffGenerateZpoolJsonResult(FF_MAYBE_UNUSED FFZpoolOptions* options, yyjson_m static FFModuleBaseInfo ffModuleInfo = { .name = FF_ZPOOL_MODULE_NAME, .description = "Print ZFS storage pools", + .initOptions = (void*) ffInitZpoolOptions, + .destroyOptions = (void*) ffDestroyZpoolOptions, .parseJsonObject = (void*) ffParseZpoolJsonObject, .printModule = (void*) ffPrintZpool, .generateJsonResult = (void*) ffGenerateZpoolJsonResult,