Difference between revisions of "Services API"
Line 55: | Line 55: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [[RO Services]] | | [[RO Services]] | ||
− | | | + | | ldr:ro |
| | | | ||
|- | |- | ||
Line 65: | Line 65: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [[CSND Services]] | | [[CSND Services]] | ||
− | | | + | | csnd:SND |
| | | | ||
|- | |- | ||
Line 75: | Line 75: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [[DSP Services]] | | [[DSP Services]] | ||
− | | | + | | dsp:DSP |
| | | | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [[GSP Services]] | | [[GSP Services]] | ||
− | | | + | | gsp::Lcd, gsp::Gpu |
| | | | ||
|- | |- | ||
Line 90: | Line 90: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [[I2C Services]] | | [[I2C Services]] | ||
− | | | + | | i2c::MCU, i2c::CAM, i2c::LCD, i2c::DEB, i2c::HID, i2c::IR, i2c::EEP |
| | | | ||
|- | |- | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [[GPIO Services]] | | [[GPIO Services]] | ||
− | | | + | | gpio:CDC, gpio:MCU, gpio:HID, gpio:NWM, gpio:IR |
| | | | ||
|- | |- | ||
Line 155: | Line 155: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| [[MCU Services]] | | [[MCU Services]] | ||
− | | | + | | mcu::CAM, mcu::GPU, mcu::HID, mcu::RTC, mcu::SND, mcu::NWM, mcu::HWC, mcu::PLS, mcu::CDC |
| | | | ||
|- | |- |
Revision as of 22:27, 27 November 2014
Nintendo provides application developers with an API, which 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 | ldr:ro | |
Yes | NDM Services | ||
Yes | CSND Services | csnd:SND | |
Yes | Codec Services | cdc:HID, cdc:MIC, cdc:CSN, cdc:DSP, cdc:LGY, cdc:CHK | |
Yes | DSP Services | dsp:DSP | |
Yes | GSP Services | gsp::Lcd, gsp::Gpu | |
Yes | IR Services | ||
Yes | I2C Services | i2c::MCU, i2c::CAM, i2c::LCD, i2c::DEB, i2c::HID, i2c::IR, i2c::EEP | |
Yes | GPIO Services | gpio:CDC, gpio:MCU, gpio:HID, gpio:NWM, gpio:IR | |
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 | mcu::CAM, mcu::GPU, mcu::HID, mcu::RTC, mcu::SND, mcu::NWM, mcu::HWC, mcu::PLS, mcu::CDC | |
Yes | MIC Services | ||
No | NFC Services | ||
No | MVD Services | ||
No | QTM Services |
List of PXI services:
- Filesystem services PXI
- Process Services PXI
- Application Manager Services PXI
- Process Manager Services PXI
- Development Services PXI
- Gamecard Services PXI
- Legacy FIRM PXI (TWL_FIRM/AGB_FIRM)
List of ports:
See Error codes.