Services API: Difference between revisions
No edit summary |
mNo edit summary |
||
(62 intermediate revisions by 14 users not shown) | |||
Line 1: | Line 1: | ||
Nintendo provides application developers with an API, which | Nintendo provides application developers with an API, which communicate with certain services. Services, in this sense, are [[Title_list#00040130_-_System_Modules|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. | Handles for services are retrieved from the [[Services|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. | ||
List of services: | For a description of how commands and arguments are passed to services, see [[IPC Command Structure]]. | ||
List of services (grouped by the process which provides them): | |||
{| class="wikitable" border="1" | |||
|- | |||
! Old3ds | |||
! Services | |||
! Service names | |||
! scope="col" width="200" | Notes | |||
|- | |||
| style="background: green" | Yes | |||
| [[Filesystem services]] | |||
| fs:USER, fs:LDR, fs:REG | |||
| USER: normal applications and system modules, LDR: loader, REG: register | |||
|- | |||
| style="background: green" | Yes | |||
| [[Process Services]] | |||
| ps:ps | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[PXI Services]] | |||
| PxiFS0, PxiFS1, PxiFSB, PxiFSR, PxiPM, pxi:am9, pxi:dev, pxi:mc, pxi:ps9 | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[Application Manager Services]] | |||
| am:app, am:net, am:u, am:sys, am:pipe | |||
| app: am for applications, net: network installation ([[NIM_Services|nim]]), u: local installation, sys: am for system titles, pipe: not an actual port (internally used to represent the [[Application_Manager_Services#File_service|FSFile-like interface]]) | |||
|- | |||
| style="background: green" | Yes | |||
| [[Process Manager Services]] | |||
| pm:app, pm:dbg | |||
| app: launching titles, dbg: launching titles with debugging enabled | |||
|- | |||
| style="background: green" | Yes | |||
| [[NIM Services]] | |||
| nim:aoc, nim:ndm, nim:s, nim:u | |||
| aoc: DLC, ndm: for [[NDM Services|ndm]], s: for eShop, u: for updater | |||
|- | |||
| style="background: green" | Yes | |||
| [[Config Services]] | |||
| cfg:u, cfg:s, cfg:i, cfg:nor | |||
| u: for user, s: for system, i: for initialization/formatting, nor: accesses wifi SPI flash | |||
|- | |||
| style="background: green" | Yes | |||
| [[NS|NS and APT Services]] | |||
| ns:s, ns:p, ns:c, APT:A, APT:S, APT:U | |||
| ns:s: for system, ns:p: power (shutdown/reboot), ns:c: ?, APT:A: application, APT:S: system, APT:U: user | |||
|- | |||
| style="background: green" | Yes | |||
| [[RO Services]] | |||
| ldr:ro | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[NDM Services]] | |||
| ndm:u | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[CSND Services]] | |||
| csnd:SND | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[Camera Services]] | |||
| cam:u, y2r:u, cam:s, cam:c, cam:q (New3DS only) | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[Codec Services]] | |||
| cdc:HID, cdc:MIC, cdc:CSN, cdc:DSP, cdc:LGY, cdc:CHK | |||
| HID: human interface device, MIC: microphone, CSN: for [[CSND_Services|csnd]]?, DSP: for [[DSP_Services|dsp]]?, LGY: legacy (some kind of backwards compat?), CHK: ? | |||
|- | |||
| style="background: green" | Yes | |||
| [[DLP Services]] | |||
| dlp:CLNT, dlp:FKCL, dlp:SRVR | |||
| CLNT: client, FKCL: fake client, SRVR: server | |||
|- | |||
| style="background: green" | Yes | |||
| [[DSP Services]] | |||
| dsp::DSP | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[GSP Services]] | |||
| gsp::Lcd, gsp::Gpu | |||
| Lcd: LCD control, Gpu: GPU control | |||
|- | |||
| style="background: green" | Yes | |||
| [[BOSS Services]] | |||
| boss:U, boss:P, boss:M | |||
| U: user, P: privileged, M: for [[NDM Services|ndm]] | |||
|- | |||
| style="background: green" | Yes | |||
| [[CECD Services]] | |||
| cecd:u, cecd:s, cecd:ndm | |||
| u: user, s: system, ndm: for [[NDM Services|ndm]] | |||
|- | |||
| style="background: green" | Yes | |||
| [[IR Services]] | |||
| ir:u, ir:USER, ir:rst | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[I2C Services]] | |||
| i2c::MCU, i2c::CAM, i2c::LCD, i2c::DEB, i2c::HID, i2c::IR, i2c::EEP, i2c::NFC, i2c::QTM | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[GPIO Services]] | |||
| gpio:CDC, gpio:MCU, gpio:HID, gpio:NWM, gpio:IR, gpio:NFC, gpio:QTM | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[HID Services]] | |||
| hid:NFC, hid:QTM, hid:SPVR, hid:USER | |||
| NFC: near-field communication (amiibo), QTM: head tracking device (related to [[QTM_Services|QTM Services]])?, SPVR: system privileged? | |||
|- | |||
| style="background: green" | Yes | |||
| [[PTM Services]] | |||
| ptm:gets, ptm:play, ptm:s, ptm:sets, ptm:sysm, ptm:u | |||
| gets: get system time, play: play history, s: system, sets: set system time, sysm: system menu (homemenu/testmenu), u: user | |||
|- | |||
| style="background: green" | Yes | |||
| [[NWM Services]] | |||
| nwm::CEC, nwm::EXT, nwm::INF, nwm::SAP, nwm::SOC, nwm::TST, nwm::UDS | |||
| CEC: streetpass, EXT: ?, INF: infrastructure, SAP: ?, SOC: socket, UDS: local WLAN, TST: ? | |||
|- | |||
| style="background: green" | Yes | |||
| [[HTTP Services]] | |||
| http:C | |||
| C: connection | |||
|- | |||
| style="background: green" | Yes | |||
| [[SSL Services]] | |||
| ssl:C | |||
| C: connection | |||
|- | |||
| style="background: green" | Yes | |||
| [[Socket Services]] | |||
| soc:P, soc:U | |||
| P: privileged, U: user | |||
|- | |||
| style="background: green" | Yes | |||
| [[AC Services]] | |||
| ac:i, ac:u | |||
| i: internal, u: user | |||
|- | |||
| style="background: green" | Yes | |||
| [[Friend Services]] | |||
| frd:a, frd:n, frd:u | |||
| a: admin, n: for [[NDM Services|ndm]], u: user | |||
|- | |||
| style="background: green" | Yes | |||
| [[News Services]] | |||
| <nowiki>news:s, news:u</nowiki> | |||
| s: system, u:user | |||
|- | |||
| style="background: green" | Yes | |||
| [[PDN Services]] | |||
| pdn:s, pdn:d, pdn:i, pdn:g, pdn:c | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[SPI Services]] | |||
| SPI::NOR, SPI::CD2, SPI::CS2, SPI::CS3, SPI::DEF | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[Loader Services]] | |||
| Loader | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[MCU Services]] | |||
| mcu::CAM, mcu::GPU, mcu::HID, mcu::RTC, mcu::SND, mcu::NWM, mcu::HWC, mcu::PLS, mcu::CDC | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[MIC Services]] | |||
| mic:u | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[ACT Services]] | |||
| act:a, act:u | |||
| a: admin, u: user | |||
|- | |||
| style="background: green" | Yes | |||
| [[MP Services]] | |||
| mp:u | |||
| | |||
|- | |||
| style="background: green" | Yes | |||
| [[NFC Services]] | |||
| nfc:dev, nfc:m, nfc:p, nfc:r, nfc:s, nfc:u | |||
| dev: developer, m: ? p: passthrough?, r: raw?, s: system, u: user | |||
|- | |||
| style="background: red" | No | |||
| [[MVD Services]] | |||
| | |||
| | |||
|- | |||
| style="background: red" | No | |||
| [[QTM Services]] | |||
| | |||
| | |||
|} | |||
List of PXI services: | List of PXI services: | ||
Line 21: | Line 221: | ||
* [[Development Services PXI]] | * [[Development Services PXI]] | ||
* [[Gamecard Services PXI]] | * [[Gamecard Services PXI]] | ||
* [[Legacy FIRM PXI]] (TWL_FIRM/AGB_FIRM) | |||
List of ports: | List of ports: | ||
* [[ErrDisp]] | * [[ErrDisp]] | ||
* [[Services]] | |||
See [[Error codes]]. |