A service/port in the list is considered completed when it is fully implemented (i.e: all commands and wrapper methods are defined).
Example of how commands for a service/port are defined:
Lines 51 to 67 in ffc867d
pubconstcommand=struct{pubconstLoadProcess=ipc.Command(Id,.load_process,struct{program:Program},struct{process:horizon.Process});pubconstRegisterProgram=ipc.Command(Id,.register_program,struct{base:Filesystem.ProgramInfo,update:Filesystem.ProgramInfo},struct{program:Program});pubconstUnregisterProgram=ipc.Command(Id,.unregister_program,struct{program:Program},struct{});pubconstGetProgramInfo=ipc.Command(Id,.get_program_info,struct{pubconstStaticOutput=struct{extended_header:*horizon.fmt.ncch.ExtendedHeader};program:Program,},struct{});pubconstId=enum(u16){load_process=0x0001,register_program,unregister_program,get_program_info,};};list of all services and ports
If someone wants to work on this but doesn't know what to do or how to start don't hesitate to reach out by commenting here or communicating with me through other platforms
Ports
Services (not exhaustive)
- GspGpu 'gsp::Gpu'
- GspLcd 'gsp::Lcd'
- Applet 'APT:S/A/U'
- Hid 'hid:SPRV/USER'
- IrRst 'ir:rst'
- Config 'cfg:i/s/u'
- Filesystem user/loader 'fs:USER/LDR'
- NUserShell 'ns:s'
- NUserShellPower 'ns:p'
- NUserShellContent 'ns:c'
- ChannelSound 'csnd:SND'
- ProcessManagerApp 'pm:app'
- ProcessManagerDebug 'pm:dbg'
- SocketUser 'soc:U'
- Process 'ps:ps'
- PxiProcess9 'pxi:ps9'
- Loader 'Loader'
A service/port in the list is considered completed when it is fully implemented (i.e: all commands and wrapper methods are defined).
Example of how commands for a service/port are defined: https://codeberg.org/GasInfinity/zitrus/src/commit/ffc867de4cf02ce6f6f92c4116e85f485475dcd4/src/horizon/services/Loader.zig#L51-L67
[list of all services and ports](https://www.3dbrew.org/wiki/Services_API)
*If someone wants to work on this but doesn't know what to do or how to start don't hesitate to reach out by commenting here or communicating with me through other platforms*
## Ports
- [x] Service manager ['srv:'](https://www.3dbrew.org/wiki/Services)
- [x] Error display ['err:f'](https://www.3dbrew.org/wiki/ErrDisp)
## Services (not exhaustive)
- [x] GspGpu ['gsp::Gpu'](https://www.3dbrew.org/wiki/GSP_Services)
- [ ] GspLcd ['gsp::Lcd'](https://www.3dbrew.org/wiki/GSP_Services)
- [ ] Applet ['APT:S/A/U'](https://www.3dbrew.org/wiki/NS_and_APT_Services#APT_Services)
- [ ] Hid ['hid:SPRV/USER'](https://www.3dbrew.org/wiki/HID_Services#HID_service_%22hid:USER%22)
- [ ] IrRst ['ir:rst'](https://www.3dbrew.org/wiki/IR_Services#IR_Service_%22ir:rst%22)
- [ ] Config ['cfg:i/s/u'](https://www.3dbrew.org/wiki/Config_Services)
- [ ] Filesystem user/loader ['fs:USER/LDR'](https://www.3dbrew.org/wiki/Filesystem_services#fs:USER)
- [ ] NUserShell ['ns:s'](https://www.3dbrew.org/wiki/NS_and_APT_Services#ns:s)
- [x] NUserShellPower ['ns:p'](https://www.3dbrew.org/wiki/NS_and_APT_Services#ns:p)
- [x] NUserShellContent ['ns:c'](https://www.3dbrew.org/wiki/NS_and_APT_Services#ns:c)
- [ ] ChannelSound ['csnd:SND'](https://www.3dbrew.org/wiki/CSND_Services)
- [ ] ProcessManagerApp ['pm:app'](https://www.3dbrew.org/wiki/Process_Manager_Services#pm:app)
- [x] ProcessManagerDebug ['pm:dbg'](https://www.3dbrew.org/wiki/Process_Manager_Services#pm:dbg)
- [ ] SocketUser ['soc:U'](https://www.3dbrew.org/wiki/Socket_Services)
- [ ] Process ['ps:ps'](https://www.3dbrew.org/wiki/Process_Services)
- [ ] PxiProcess9 ['pxi:ps9'](https://www.3dbrew.org/wiki/Process_Services_PXI)
- [x] Loader ['Loader'](https://www.3dbrew.org/wiki/Loader_Services)