Services API
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 |