Services API

From Nintendo Switch Brew
Revision as of 02:25, 13 July 2025 by Ootulp (talk | contribs) (Service List)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Services are system processes running in the background which wait for incoming requests. When a process wants to communicate with a service, it first needs to get a handle to the named service, and then it can communicate with the service via inter-process communication (each service has a name up to 8 characters).

Handles for services are retrieved from the service manager port, "sm:", and are released via svcCloseHandle or when a process is terminated or crashes. Manager service "sm:m" also exists. Services are an abstraction of ports, they operate the same way except regular ports can have their handles retrieved directly from a SVC. Services are also able to limit the number of handles given to other processes.

sm:

This is "nn::sm::detail::IUserInterface".

Cmd Name
0 #RegisterClient
1 #GetServiceHandle
2 #RegisterService
3 #UnregisterService
4 [11.0.0-11.0.1] #DetachClient

RegisterClient

Takes a PID-descriptor and a reserved input u64.

GetServiceHandle

Takes a zero-padded service name encoded as an u64 integer. Returns a handle.

RegisterService

Takes a zero-padded service name encoded as an u64 integer, an u8 bool IsLight, and a s32 MaxSessions at the next word. Returns a handle.

[12.0.0+] This is only available with tipc.

UnregisterService

Takes a zero-padded service name encoded as an u64 integer.

[12.0.0+] This is only available with tipc.

DetachClient

Takes a PID-descriptor and a reserved input u64.

sm:m

This is "nn::sm::detail::IManagerInterface".

Cmd Name
0 #RegisterProcess
1 #UnregisterProcess

RegisterProcess

Takes a PID and two type-0x5 input buffers with the ACID and ACI0 service lists. That data originates from NPDM.

UnregisterProcess

Takes a PID.

Service List

S1 S2 Service Name Hosted by Notes
Yes Yes [1.0.0-12.1.0] acc:u0 Account services
Yes [1.0.0-12.1.0] acc:u1 Account services
Yes acc:aa Account services
Yes acc:su Account services
Yes [5.0.0+] dauth:0 Account services
Yes [13.0.0+] acc:e Account services
Yes [13.0.0+] acc:e:u1 Account services
Yes [13.0.0+] acc:e:u2 Account services
Yes [1.0.0-8.1.0] ahid:cd HID services
Yes [1.0.0-8.1.0] ahid:hdr HID services
Yes Yes hid HID services
Yes hid:dbg HID services
Yes hid:sys HID services
Yes Yes irs HID services
Yes irs:sys HID services
Yes xcd:sys HID services
Yes [3.0.0-7.0.1] hid:tmp HID services
Yes [5.0.0+] hidbus HID services
Yes appletAE Applet Manager services
Yes Yes appletOE Applet Manager services
Yes [1.0.0-13.2.1] idle:sys Applet Manager services
Yes [1.0.0-13.2.1] omm Applet Manager services
Yes [1.0.0-13.2.1] spsm Applet Manager services
Yes [5.0.0-10.2.0] tcap Applet Manager services
Yes Yes [6.0.0+] caps:su Applet Manager services
Yes Yes [8.0.0+] apm Applet Manager services
Yes Yes [1.0.0-2.3.0] aoc:u NS Services
Yes Yes mii:u NS Services
Yes mii:e NS Services
Yes ns:am NS Services
Yes ns:su NS Services
Yes ns:dev NS Services
Yes Yes pl:u NS Services
Yes ovln:rcv NS Services
Yes ovln:snd NS Services
Yes pdm:ntfy NS Services
Yes pdm:qry NS Services
Yes Yes [3.0.0+] aoc:u NS Services
Yes ns:am2 NS Services
Yes ns:dev NS Services
Yes ns:ec NS Services
Yes ns:rid NS Services
Yes ns:rt NS Services
Yes ns:su NS Services
Yes ns:vm NS Services
Yes ns:web NS Services
Yes [1.0.0-7.0.1] ovln:rcv NS Services
Yes [1.0.0-7.0.1] ovln:snd NS Services
Yes [11.0.0+] ns:ro NS Services
Yes [13.0.0+] acc:su NS Services
Yes Yes [13.0.0+] acc:u0 NS Services
Yes [13.0.0+] acc:u1 NS Services
Yes [15.0.0+] ns:sweb NS Services
Yes [1.0.0-8.1.0] apm:dbg PPC services
Yes [1.0.0-8.1.0] apm:sys PPC services
Yes [1.0.0] fgm:1 PPC services
Yes fgm:2 PPC services
Yes fgm:3 PPC services
Yes fgm:4 PPC services
Yes fgm:5 PPC services
Yes fgm:6 PPC services
Yes fgm:7 PPC services
Yes [1.0.0-8.1.0] fgm PPC services
Yes [1.0.0-8.1.0] fgm:0 PPC services
Yes [1.0.0-8.1.0] fgm:9 PPC services
Yes [1.0.0-8.1.0] fgm:dbg PPC services
Yes Yes [1.0.0-7.0.1] apm PPC services
Yes [1.0.0-7.0.1] apm:p PPC services
Yes [8.0.0-8.1.0] apm:am PPC services
Yes arp:r Glue services
Yes arp:w Glue services
Yes [2.0.0+] bgtc:t Glue services
Yes [2.0.0+] bgtc:sc Glue services
Yes [9.0.0+] time:a Glue services
Yes [9.0.0+] time:r Glue services
Yes Yes [9.0.0+] time:u Glue services
Yes Yes [9.0.0+] notif:a Glue services
Yes [9.0.0+] notif:s Glue services
Yes [11.0.0+] ectx:aw Glue services
Yes [11.0.0+] ectx:r Glue services
Yes [11.0.0+] ectx:w Glue services
Yes Yes [16.0.0+] pl:u Glue services
Yes [1.0.0-10.2.0] audin:a Audio services
Yes [1.0.0-10.2.0] audin:d Audio services
Yes Yes audin:u Audio services
Yes [1.0.0-10.2.0] audout:a Audio services
Yes [1.0.0-10.2.0] audout:d Audio services
Yes Yes audout:u Audio services
Yes [1.0.0-10.2.0] audren:a Audio services
Yes [1.0.0-10.2.0] audren:d Audio services
Yes Yes audren:u Audio services
Yes audrec:a Audio services
Yes audrec:d Audio services
Yes audrec:u Audio services
Yes audctl Audio services
Yes [1.0.0-2.3.0] codecctl Audio services
Yes No hwopus Audio services Removed on Switch 2.
Yes auddebug Audio services
Yes [6.0.0+] auddev Audio services
Yes [11.0.0+] aud:a Audio services
Yes [11.0.0+] aud:d Audio services
Yes banana Profiler services Not currently available on retail units.
Yes [2.0.0+] bcat:a BCAT services
Yes Yes [2.0.0+] bcat:u BCAT services
Yes [2.0.0+] bcat:m BCAT services
Yes [2.0.0+] bcat:s BCAT services
Yes news:a BCAT services
Yes news:c BCAT services
Yes news:m BCAT services
Yes news:p BCAT services
Yes news:v BCAT services
Yes Yes prepo:u BCAT services
Yes prepo:s BCAT services
Yes prepo:m BCAT services
Yes [1.0.0-5.1.0] prepo:a BCAT services
Yes [1.0.0] prepo:d BCAT services
Yes [6.0.0+] prepo:a2 BCAT services
Yes Yes [13.0.0+] mnpp:app BCAT services
Yes [13.0.0+] mnpp:sys BCAT services
Yes [13.0.0+] mnpp:web BCAT services
Yes [1.0.0] bpc:c PCV services
Yes bpc:b PCV services
Yes bpc:r PCV services
Yes bpc:w PCV services
Yes pcv PCV services
Yes pcv:arb PCV services
Yes pcv:imm PCV services
Yes Yes time:u PCV services
Yes time:a PCV services
Yes time:s PCV services
Yes [2.0.0+] bpc PCV services
Yes bpc:r PCV services
Yes pcv PCV services
Yes [2.0.0-8.1.0] time:u PCV services
Yes [2.0.0-8.1.0] time:a PCV services
Yes [2.0.0-8.1.0] time:s PCV services
Yes [1.0.0-7.0.1] pcv:arb PCV services
Yes [1.0.0-7.0.1] pcv:imm PCV services
Yes [8.0.0+] clkrst PCV services
Yes [8.0.0+] clkrst:a PCV services
Yes [8.0.0+] clkrst:i PCV services
Yes [8.0.0+] rgltr PCV services
Yes [8.0.0+] rtc PCV services
Yes Yes bsd:u Sockets services
Yes bsd:s Sockets services
Yes [15.0.0+] bsd:nu Sockets services
Yes No bsdcfg Sockets services Removed on Switch 2.
Yes [17.0.0+] ifcfg Sockets services
Yes [18.0.0+] bsd:a Sockets services
Yes [1.0.0-14.1.2] ethc:c Sockets services
Yes [1.0.0-14.1.2] ethc:i Sockets services
Yes Yes nsd:u Sockets services
Yes nsd:a Sockets services
Yes Yes sfdnsres Sockets services
Yes [18.0.0+] dns:priv Sockets services
Yes btdrv Bluetooth Driver services
Yes [5.0.0+] bt Bluetooth Driver services
Yes btm BTM services
Yes btm:dbg BTM services
Yes btm:sys BTM services
Yes [5.0.0+] btm:u BTM services
Yes caps:a Capture services
Yes caps:c Capture services
Yes No [1.0.0] mm:u Capture services Removed on Switch 2.
Yes Yes [5.0.0+] caps:u Capture services
Yes [2.0.0+] caps:sc Display services
Yes [2.0.0+] caps:ss Display services
Yes vi:m Display services
Yes vi:s Display services
Yes No vi:u Display services Removed on Switch 2.
Yes cec-mgr Display services
Yes No [2.0.0+] mm:u Display services Removed on Switch 2.
Yes [3.0.0-5.1.0] caps:su Display services
Yes [11.0.0+] lbl Display services
Yes dispdrv Nvnflinger services
Yes dmnt:- Debug Monitor services Not currently available on retail units.
Yes erpt:c Error Report services
Yes erpt:r Error Report services
Yes [13.0.0+] sprof:bg Error Report services
Yes [13.0.0+] sprof:sp Error Report services
Yes eupld:c Error Upload services
Yes eupld:r Error Upload services
Yes es ETicket services
Yes [13.0.0+] ndrm:la ETicket services
Yes [13.0.0+] ndrm:lu ETicket services
Yes fan PTM services
Yes psm PTM services
Yes tc PTM services
Yes ts PTM services
Yes pcm PTM services pcm is not available on retail units.
Yes [9.0.0+] apm:sys PTM services
Yes [9.0.0+] fgm PTM services
Yes [9.0.0+] fgm:0 PTM services
Yes [9.0.0+] fgm:9 PTM services
Yes [9.0.0+] fgm:dbg PTM services
Yes [9.0.0+] apm:am PTM services
Yes [10.0.0-10.2.0] lbl PTM services
Yes fatal:u Fatal services
Yes fatal:p Fatal services
Yes Yes friend:u Friend services
Yes friend:v Friend services
Yes friend:m Friend services
Yes friend:s Friend services
Yes friend:a Friend services
Yes [5.0.0-6.0.0] nd:app Friend services
Yes [5.0.0-6.0.0] nd:sys Friend services
Yes Yes fsp-srv Filesystem services
Yes fsp-ldr Filesystem services
Yes fsp-pr Filesystem services
Yes gpio Bus services
Yes i2c Bus services
Yes i2c:pcv Bus services
Yes pinmux Bus services
Yes pwm Bus services
Yes uart Bus services
Yes [3.0.0+] sasbus Bus services
Yes [8.1.1+] led Bus services
Yes htc TMA services
Yes htcs TMA services
Yes htc:tenv TMA services
Yes file_io TMA services
Yes gds TMA services
Yes tma_log TMA services
Yes tmagent TMA services
Yes jit:u JIT services
Yes [1.0.0-9.2.0] lbl Backlight services
Yes ldn:m LDN services
Yes ldn:s LDN services
Yes Yes ldn:u LDN services
Yes [5.0.0-6.0.0] ndd LDN services
Yes [9.0.0+] lp2p:app LDN services
Yes [9.0.0+] lp2p:sys LDN services
Yes [9.1.0+] lp2p:m LDN services
Yes [1.0.0+] ldr:pm Loader services
Yes Yes ldr:ro Loader services
Yes ldr:shel Loader services
Yes ldr:dmnt Loader services
Yes [3.0.0+] ldr:pm Loader services
Yes ldr:shel Loader services
Yes ldr:dmnt Loader services
Yes Yes lm Log services
Yes lm:get Log services
Yes manu Manu Services "Manufacturing". Present in factory firmware but not installed on retail systems.
Yes lr NCM services
Yes ncm NCM services
Yes ncm:v NCM services
Yes nfc:am NFC services
Yes Yes nfc:mf:u NFC services
Yes Yes nfc:user NFC services
Yes nfc:sys NFC services
Yes Yes nfp:user NFC services
Yes nfp:dbg NFC services
Yes nfp:sys NFC services
Yes Yes nifm:u Network Interface services
Yes nifm:a Network Interface services
Yes nifm:s Network Interface services
Yes nim NIM services
Yes nim:shp NIM services
Yes Yes ntc NIM services
Yes [5.0.0+] nim:eca NIM services
Yes [7.0.0+] nim:ecas NIM services
Yes npns:u NPNS services
Yes npns:s NPNS services
Yes nvdrv:a NV services
Yes nvdrv:s NV services
Yes nvdrv:t NV services
Yes No nvdrv NV services
Yes nvdrvdbg NV services
Yes nvgem:c NV services
Yes nvgem:cd NV services
Yes nvmemp NV services
Yes [10.0.0+] nvdbg:d NV services
Yes pcie PCIe services
Yes [6.0.0+] pcie:log PCIe services
Yes Yes pctl Parental Control services
Yes pctl:a Parental Control services
Yes pctl:s Parental Control services
Yes pctl:r Parental Control services
Yes pm:bm Process Manager services
Yes pm:info Process Manager services
Yes pm:shell Process Manager services
Yes psc:c PSC services
Yes psc:m PSC services
Yes [5.0.0+] srepo:u PSC services
Yes [5.0.0+] srepo:a PSC services
Yes [8.0.0+] ovln:rcv PSC services
Yes [8.0.0+] ovln:snd PSC services
Yes [9.0.0+] psc:l PSC services
Yes [9.0.0+] time:su PSC services
Yes [9.0.0+] time:s PSC services
Yes [9.0.0+] time:al PSC services
Yes [9.0.0+] time:m PSC services
Yes [9.0.0+] time:p PSC services
Yes [9.0.0+] ins:r PSC services
Yes [9.0.0+] ins:s PSC services
Yes [11.0.0+] hshl:set PSC services
Yes [11.0.0+] hshl:sys PSC services
Yes Yes [3.0.0+] ldr:ro RO services
Yes ro:dmnt RO services
Yes [7.0.0+] ro:1 RO services
Yes Yes set Settings services
Yes set:fd Settings services
Yes set:cal Settings services
Yes set:sys Settings services
Yes Yes [3.0.0+] mii:u Shared Database services
Yes [3.0.0+] mii:e Shared Database services
Yes [3.0.0+] pdm:ntfy Shared Database services
Yes [3.0.0+] pdm:qry Shared Database services
Yes Yes [3.0.0-15.0.1] pl:u Shared Database services
Yes [5.0.0+] miiimg Shared Database services
Yes [6.0.0+] avm Shared Database services
Yes [9.0.0+] pl:s Shared Database services
Yes Yes ssl SSL services
Yes [15.0.0+] ssl:s SSL services
Yes Yes csrng SPL services
Yes spl: SPL services
Yes [4.0.0+] spl:mig SPL services
Yes [4.0.0+] spl:fs SPL services
Yes [4.0.0+] spl:ssl SPL services
Yes [4.0.0+] spl:es SPL services
Yes [5.0.0+] spl:manu SPL services
Yes sf-uds System debug applet "recovery" has access to this service but it doesn't appear to exist.
Yes tspm Applications on [1.0.0] used to have access to this service but it doesn't appear to be present on retail devices.
Yes usb:ds USB services
Yes usb:hs USB services
Yes usb:pd USB services
Yes usb:pd:c USB services
Yes [1.0.0] usb:pd:m USB services
Yes usb:pm USB services
Yes [7.0.0+] usb:hs:a USB services
Yes [7.0.0+] usb:qdb USB services
Yes [8.0.0+] usb:obsv USB services
Yes [1.0.0-14.1.2] wlan:inf WLAN services
Yes [1.0.0-14.1.2] wlan:lcl WLAN services
Yes [1.0.0-14.1.2] wlan:lg WLAN services
Yes [1.0.0-14.1.2] wlan:lga WLAN services
Yes [1.0.0-14.1.2] wlan:sg WLAN services
Yes [1.0.0-14.1.2] wlan:soc WLAN services
Yes [6.0.0-14.1.2] wlan:dtc WLAN services
Yes [15.0.0+] wlan WLAN services
Yes [15.0.0+] wlan:nd WLAN services
Yes [15.0.0+] wlan:p WLAN services
Yes [4.0.0+] grc:c GRC services
Yes [6.0.0+] grc:d GRC services
Yes [4.0.0+] mig:usr Migration services
Yes [4.0.0+] caps:dc Jpegdec services
Yes [6.0.0+] olsc:s OLSC services
Yes [10.0.0+] olsc:u OLSC services
Yes [13.1.0+] spbg:sp OLSC services
Yes [9.0.0+] ngct:s NGCT services
Yes Yes [9.0.0+] ngct:u NGCT services
Yes [10.0.0+] pgl PGL services
Yes [11.0.0+] capmtp Capmtp services
Yes [14.0.0+] omm OMM services
Yes [14.0.0+] ommdisp OMM services
Yes [14.0.0+] idle:sys OMM services
Yes [14.0.0+] spsm OMM services
Yes [15.0.0+] eth:nd Ethernet services
Yes Yes [16.0.0+] ngc:u NGC services