CamSlotInterface
A DVB-CI (CAM) slot. Unlike SDI/ASI/RF-demod, CP has no chassis-slot + port addressing for CAM — its wire-format camSlot is a single flat, 1-indexed integer (confirmed against content-processing's own CiDescrambler/hardware-scan code), so this does not reuse SlotPortInterface's two-number slot_X_port_Y convention.
name/url/type/displayName all lean into "cam" rather than CP's own
"slot" wire vocabulary — the wizard team's preference. url is opaque
from the API user's perspective, same as SDI/ASI/RF-demod: enumerate this
list, pick one, send its url back verbatim as DecryptConfig.camUrl —
no parsing/interpretation by the caller. channels-api parses the trailing
number back out server-side (services/blocks/cp.py) to build CP's own
"slotN" wire value — cam2 here always means CP's internal slot2 (CP
calls it that in its own config, daemon logs, and Advanced UI), same
number, different word. Worth knowing when cross-referencing a raw CP
config/log against this API's output.