Services API

From Nintendo Switch Brew
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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