Difference between revisions of "Services API"

From Nintendo Switch Brew
Jump to navigation Jump to search
(Created page with "Just like the 3DS/N3DS, the Switch exposes an API which communicates with certain services. Services are system processes running in the background which wait for incoming req...")
 
Line 9: Line 9:
 
! scope="col" width="200" | Description
 
! scope="col" width="200" | Description
 
! scope="col" width="200" | Notes
 
! scope="col" width="200" | Notes
|-
 
| nvmemp
 
| NVIDIA Memory Profiling service
 
|
 
|-
 
| nvdrv:a
 
| NVIDIA Graphics Driver service
 
|
 
 
|-
 
|-
 
| acc:u1
 
| acc:u1
| Account System service
+
| Account System services
 
| u1: for user 1?
 
| u1: for user 1?
 
|-
 
|-
 
| appletAE
 
| appletAE
| Applet Accessor service
+
| Applet Accessor services
 +
|
 +
|-
 +
| aoc:u
 +
| AddOn Content services
 
|
 
|
 
|-
 
|-
 
| audren:u
 
| audren:u
| Audio Renderer service
+
| Audio Renderer services
 
|
 
|
 
|-
 
|-
 
| audout:u
 
| audout:u
| Audio Out service
+
| Audio Out services
 +
|
 +
|-
 +
| bsd:u, bsd:s
 +
| Sockets services
 
|
 
|
 
|-
 
|-
| caps:a, caps:ss
+
| caps:a, caps:c, caps:ss
| Capture service
+
| Capture services
 
| a: Album, ss: Screenshot
 
| a: Album, ss: Screenshot
|-
 
| nim:shp
 
| NIM service
 
| shp: eShop
 
 
|-
 
|-
 
| fatal:u
 
| fatal:u
| Fatal service
+
| Fatal Error services
 
|
 
|
 
|-
 
|-
 
| fsp-srv
 
| fsp-srv
| File System Proxy service
+
| File System Proxy services
 
|
 
|
 
|-
 
|-
 
| hid, hid:dbg, hid:sys
 
| hid, hid:dbg, hid:sys
| HID service
+
| HID services
 
|
 
|
 
|-
 
|-
 
| ldn:m
 
| ldn:m
| Local Network Monitor service
+
| Local Network Monitor services
 +
|
 +
|-
 +
| ldr:ro
 +
| RO services
 +
|
 +
|-
 +
| ldr:shel
 +
| Loader services
 
|
 
|
 
|-
 
|-
 
| lm
 
| lm
| Log service
+
| Log services
 +
|
 +
|-
 +
| lr
 +
| ?
 +
|
 +
|-
 +
| erpt:c
 +
| ERPT(?) services
 +
|
 +
|-
 +
| mii:u, mii:e
 +
| Mii services
 +
|
 +
|-
 +
| mm:u
 +
| NvMM services
 
|
 
|
 
|-
 
|-
 
| nifm:u, nifm:a, nifm:s
 
| nifm:u, nifm:a, nifm:s
| Network Interface service
+
| Network Interface services
| u: User?, a: Application?, s: Static?
+
| u: User, a: Applet, s: System
 +
|-
 +
| nim:shp
 +
| NIM services
 +
| shp: eShop
 
|-
 
|-
| ns:am
+
| ns:am, ns:su, ns:dev
 
| NS service
 
| NS service
| am: Application Manager
+
| am: Applet Manager?
 
|-
 
|-
 
| nsd:u, nsd:a
 
| nsd:u, nsd:a
| NSD service
+
| NSD services
 +
|
 +
|-
 +
| nvmemp
 +
| NVIDIA Memory Profiling services
 +
|
 +
|-
 +
| nvdrv:a
 +
| NVIDIA Graphics Driver services
 +
|
 +
|-
 +
| ovln:rcv, ovln:snd
 +
| Overlay Notification services
 +
|
 +
|-
 +
| pdm:ntfy, pdm:qry
 +
| Play Log services
 
|
 
|
 
|-
 
|-
 
| pl:u
 
| pl:u
| Shared Font Manager service
+
| Shared Font services
 +
|
 +
|-
 +
| pm:bm, pm:shell
 +
| Process Manager services
 
|
 
|
 
|-
 
|-
 
| prepo:u, prepo:s, prepo:m, prepo:a
 
| prepo:u, prepo:s, prepo:m, prepo:a
| Prepo(?) service
+
| Prepo(?) services
 
|
 
|
 
|-
 
|-
 
| set, set:sys
 
| set, set:sys
| Settings service
+
| Settings services
 
| sys: System settings
 
| sys: System settings
|-
 
| bsd:u, bsd:s
 
| Sockets service
 
|
 
 
|-
 
|-
 
| sfdnsres
 
| sfdnsres
| DNS resolver service
+
| DNS resolver services
 
|
 
|
 
|-
 
|-
 
| ssl
 
| ssl
| SSL service
+
| SSL services
 
|
 
|
 
|-
 
|-
 
| time:u, time:a, time:s
 
| time:u, time:a, time:s
| Time service
+
| Time services
 
|
 
|
 
|-
 
|-
 
| vi:m, vi:s, vi:u
 
| vi:m, vi:s, vi:u
| VI (Camera?) service
+
| VI (Camera?) services
|
 
|-
 
| erpt:c
 
| ERPT(?) service
 
|
 
|-
 
| ldr:ro
 
| RO service
 
|
 
|-
 
| mm:u
 
| NvMM service
 
 
|
 
|
 
|}
 
|}

Revision as of 16:30, 7 April 2017

Just like the 3DS/N3DS, the Switch exposes an API which communicates with certain services. 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:". Services are an abstraction of ports, they operate the same way except regular ports can have their handles retrieved directly from a SVC.

List of services (non-exhaustive):

Service names Description Notes
acc:u1 Account System services u1: for user 1?
appletAE Applet Accessor services
aoc:u AddOn Content services
audren:u Audio Renderer services
audout:u Audio Out services
bsd:u, bsd:s Sockets services
caps:a, caps:c, caps:ss Capture services a: Album, ss: Screenshot
fatal:u Fatal Error services
fsp-srv File System Proxy services
hid, hid:dbg, hid:sys HID services
ldn:m Local Network Monitor services
ldr:ro RO services
ldr:shel Loader services
lm Log services
lr ?
erpt:c ERPT(?) services
mii:u, mii:e Mii services
mm:u NvMM services
nifm:u, nifm:a, nifm:s Network Interface services u: User, a: Applet, s: System
nim:shp NIM services shp: eShop
ns:am, ns:su, ns:dev NS service am: Applet Manager?
nsd:u, nsd:a NSD services
nvmemp NVIDIA Memory Profiling services
nvdrv:a NVIDIA Graphics Driver services
ovln:rcv, ovln:snd Overlay Notification services
pdm:ntfy, pdm:qry Play Log services
pl:u Shared Font services
pm:bm, pm:shell Process Manager services
prepo:u, prepo:s, prepo:m, prepo:a Prepo(?) services
set, set:sys Settings services sys: System settings
sfdnsres DNS resolver services
ssl SSL services
time:u, time:a, time:s Time services
vi:m, vi:s, vi:u VI (Camera?) services