Expand description
OS services used to handle system-specific functionality.
Most of the 3DS console’s functionalities (when writing user-land homebrew) are accessible via services, which need to be initialized before accessing any particular feature.
To ensure safety while using the underlying services, ctru-rs
leverages Rust’s lifetime model.
After initializing the handle for a specific service (e.g. Apt
) the service will be accessible as long as there is at least one handle “alive”.
As such, handles should be dropped after the use of a specific service. This is particularly important for services which are necessary for functionality
“outside” their associated methods, such as RomFS
, which creates an accessible virtual filesystem, or Soc
,
which enables all network communications via sockets.
In ctru-rs
some services only allow a single handle to be created at a time, to ensure a safe and controlled environment.
Modules§
- Application Manager service.
- Applet service.
- Camera service.
- System Configuration service.
- FileSystem service.
- Graphics service.
- GSPGPU service
- Human Interface Device service.
- IR (Infrared) User Service.
- NDSP (Audio) service.
- Process Services.
- Read-Only Memory FileSystem service.
- Network Socket service.
- SSLC (TLS) service.
- Syscall APIs
- UDS (local networking) service.