Services API: Difference between revisions

From Nintendo Switch Brew
Jump to navigation Jump to search
Ootulp (talk | contribs)
Ootulp (talk | contribs)
No edit summary
Line 489: Line 489:
|
|
|-
|-
| news:a
| <nowiki>news:a</nowiki>
| [[BCAT services]]
| [[BCAT services]]
|
|
|-
|-
| news:c
| <nowiki>news:c</nowiki>
| [[BCAT services]]
| [[BCAT services]]
|
|
|-
|-
| news:m
| <nowiki>news:m</nowiki>
| [[BCAT services]]
| [[BCAT services]]
|
|
|-
|-
| news:p
| <nowiki>news:p</nowiki>
| [[BCAT services]]
| [[BCAT services]]
|
|

Revision as of 06:55, 15 June 2025

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