Files
citron/src/core/hle/service
Zephyron 07139a2c0d feat(HLE): Implement missing BSD socket service functions
Adds implementations for several previously unimplemented BSD socket service functions, as documented in Switchbrew. REF: https://switchbrew.org/wiki/Sockets_services#bsd:u.2C_bsd:s.2C_bsd:a

The following functions have been added to the `bsd:u`, `bsd:s`, and `bsd:a` services:

* `SocketExempt` (Cmd 3)
* `Open` (Cmd 4)
* `Sysctl` (Cmd 7)
* `Ioctl` (Cmd 19)
* `ShutdownAllSockets` (Cmd 23)
* `GetResourceStatistics` (Cmd 28)
* `RecvMMsg` (Cmd 29)
* `SendMMsg` (Cmd 30)
* `RegisterResourceStatisticsName` (Cmd 32)
* `RegisterClientShared` (Cmd 33) (replaces the placeholder `Initialize2`)
* `GetSocketStatistics` (Cmd 34)
* `NifIoctl` (Cmd 35)
* `SetThreadCoreMask` (Cmd 200)
* `GetThreadCoreMask` (Cmd 201)

These functions are initially set to log a warning and return an appropriate error code (typically `EOPNOTSUPP` or `ENOTTY`), or success in the case of registration-type functions.

The command handlers have been registered in the BSD service constructor.

This resolves various compilation errors encountered during the implementation process related to IPC response generation and enum usage.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-16 16:54:39 +10:00
..
2023-02-21 12:19:25 -05:00
2024-02-24 22:25:34 -05:00
2023-03-01 10:39:49 -05:00
2023-02-21 12:19:25 -05:00
2023-12-09 15:50:34 -05:00
2023-03-01 10:39:49 -05:00
2023-02-21 12:19:25 -05:00
2023-03-01 10:39:49 -05:00
2023-03-01 10:39:49 -05:00
2023-03-01 10:39:49 -05:00
2024-01-08 13:31:48 -06:00
2023-09-14 09:14:08 -04:00
2024-02-20 18:43:44 -05:00
2024-03-04 13:02:54 +00:00
2024-01-08 13:31:48 -06:00
2023-10-20 13:29:32 -04:00
2023-08-08 11:09:37 -04:00
2023-03-05 10:45:24 -06:00
2024-02-07 15:06:15 -05:00
2024-02-26 19:28:49 -05:00