Services API

From 3dbrew
Revision as of 00:04, 13 October 2014 by Yellows8 (talk | contribs)
Jump to navigation Jump to search

Nintendo provides application developers with an API, which behind the scenes communicate with certain services. Services in this sense 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 interprocess communication. Each service has a name up to 8 characters, for example "nim:u".

Handles for services are retrieved from the service manager port, "srv:". Services are an abstraction of ports, they operate the same way except regular ports can have their handles retrieved directly from a SVC.

For a description of how commands and arguments are passed to services, see IPC Command Structure.

List of services:

Old3ds Services Service names Notes
Yes Filesystem services‎ fs:USER, fs:LDR, fs:REG
Yes Process Services‎
Yes PXI Services‎ PxiFS0, PxiFS1, PxiFSB, PxiFSR, PxiPM, pxi:am9, pxi:dev, pxi:mc, pxi:ps9
Yes Application Manager Services am:net, am:u, am:sys, am:pipe
Yes Process Manager Services pm:app, pm:dbg
Yes NIM Services
Yes Config Services
Yes NS and APT Services
Yes RO Services
Yes NDM Services
Yes CSND Services
Yes DSP Services
Yes GSP Services
Yes IR Services
Yes I2C Services
Yes GPIO Services
Yes HID Services
Yes PTM Services
Yes NWM Services
Yes HTTP Services
Yes SSL Services
Yes Socket Services
Yes AC Services
Yes Friend Services
Yes PDN Services
Yes SPI Services
Yes Loader Services
Yes MCU Services
Yes MIC Services
No NFC Services
No MVD Services
No QTM Services

List of PXI services:

List of ports:


See Error codes.