Difference between revisions of "Services API"

From 3dbrew
Jump to navigation Jump to search
m
Line 1: Line 1:
 
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".
 
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.
+
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.
  
 
For a description of how commands and arguments are passed to services, see [[IPC Command Structure]].
 
For a description of how commands and arguments are passed to services, see [[IPC Command Structure]].

Revision as of 02:07, 6 February 2016

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 (grouped by the process which provides them):

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:app, am:net, am:u, am:sys, am:pipe
Yes Process Manager Services pm:app, pm:dbg
Yes NIM Services nim:aoc, nim:ndm, nim:s, nim:u
Yes Config Services
Yes NS and APT Services ns:s, ns:p, ns:c, APT:A, APT:S, APT:U
Yes RO Services ldr:ro
Yes NDM Services
Yes CSND Services csnd:SND
Yes Camera Services cam:u, y2r:u, cam:s, cam:c, cam:q (New3DS only)
Yes Codec Services cdc:HID, cdc:MIC, cdc:CSN, cdc:DSP, cdc:LGY, cdc:CHK
Yes DLP Services dlp:CLNT, dlp:FKCL, dlp:SRVR
Yes DSP Services dsp::DSP
Yes GSP Services gsp::Lcd, gsp::Gpu
Yes BOSS Services boss:U
Yes CECD Services cecd:u, cecd:s
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 hid:NFC, hid:QTM, hid:SPVR, hid:USER
Yes PTM Services ptm:gets, ptm:play, ptm:s, ptm:sets, ptm:sysm, ptm:u
Yes NWM Services nwm::UDS
Yes HTTP Services http:C
Yes SSL Services ssl:C
Yes Socket Services soc:P, soc:U
Yes AC Services ac:i, ac:u
Yes Friend Services frd:a, frd:u
Yes News 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 mic:u
Yes ACT Services act:a, act:u
No NFC Services
No MVD Services
No QTM Services

List of PXI services:

List of ports:


See Error codes.