]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tree-wide: convert remaining varlink string fields to enum types (#41615)
authorLennart Poettering <lennart@amutable.com>
Tue, 14 Apr 2026 12:04:13 +0000 (14:04 +0200)
committerGitHub <noreply@github.com>
Tue, 14 Apr 2026 12:04:13 +0000 (14:04 +0200)
Follow-up to #40972. Convert remaining plain string fields to proper
varlink enum types across all interfaces, per the policy that
user-controlled/API fields should be declared as proper enums in the
IDL.

Interfaces converted:
- io.systemd.Manager — LogTarget, DefaultStandardOutput/Error,
DefaultMemory/CPU/IOPressureWatch, DefaultOOMPolicy,
CtrlAltDelBurstAction (8 fields)
- io.systemd.Unit — CPUSchedulingPolicy, IOSchedulingClass, NUMAPolicy,
MountFlags (4 fields)
- io.systemd.Machine — class, whom (2 fields, input dispatch converted
to JSON_DISPATCH_ENUM_DEFINE for automatic dashify fallback)
- io.systemd.oom / io.systemd.ManagedOOM — mode in ControlGroup (1
field)

Shared types moved to varlink-idl-common: ExecOutputType,
CGroupPressureWatch, EmergencyAction, ManagedOOMMode — these are reused
across multiple interfaces.

Each interface change includes a corresponding enum sync test to catch
future drift between C string tables and varlink IDL definitions.

1  2 
src/core/varlink-execute.c
src/core/varlink-manager.c

Simple merge
Simple merge