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