forked from ryujinx-mirror/ryujinx
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Horizon: Migrate wlan and stubs latest services (#5708)
* Horizon: Migrate wlan and stubs latest services This PR migrate empty wlan services, values are found by RE. Latest firmwares added some other services which are now stubbed and up-to-date. * Fix imports ordering
- Loading branch information
Showing
30 changed files
with
238 additions
and
56 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Sf; | ||
|
||
namespace Ryujinx.Horizon.Sdk.Wlan | ||
{ | ||
interface IDetectManager : IServiceObject | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Sf; | ||
|
||
namespace Ryujinx.Horizon.Sdk.Wlan | ||
{ | ||
interface IGeneralServiceCreator : IServiceObject | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Sf; | ||
|
||
namespace Ryujinx.Horizon.Sdk.Wlan | ||
{ | ||
interface IInfraManager : IServiceObject | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Sf; | ||
|
||
namespace Ryujinx.Horizon.Sdk.Wlan | ||
{ | ||
interface ILocalGetActionFrame : IServiceObject | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Sf; | ||
|
||
namespace Ryujinx.Horizon.Sdk.Wlan | ||
{ | ||
interface ILocalGetFrame : IServiceObject | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Sf; | ||
|
||
namespace Ryujinx.Horizon.Sdk.Wlan | ||
{ | ||
interface ILocalManager : IServiceObject | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Sf; | ||
|
||
namespace Ryujinx.Horizon.Sdk.Wlan | ||
{ | ||
interface IPrivateServiceCreator : IServiceObject | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Sf; | ||
|
||
namespace Ryujinx.Horizon.Sdk.Wlan | ||
{ | ||
interface ISfDriverServiceCreator : IServiceObject | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Sf; | ||
|
||
namespace Ryujinx.Horizon.Sdk.Wlan | ||
{ | ||
interface ISocketGetFrame : IServiceObject | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Sf; | ||
|
||
namespace Ryujinx.Horizon.Sdk.Wlan | ||
{ | ||
interface ISocketManager : IServiceObject | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Wlan; | ||
|
||
namespace Ryujinx.Horizon.Wlan.Ipc | ||
{ | ||
partial class DetectManager : IDetectManager | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Wlan; | ||
|
||
namespace Ryujinx.Horizon.Wlan.Ipc | ||
{ | ||
partial class GeneralServiceCreator : IGeneralServiceCreator | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Wlan; | ||
|
||
namespace Ryujinx.Horizon.Wlan.Ipc | ||
{ | ||
partial class InfraManager : IInfraManager | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Wlan; | ||
|
||
namespace Ryujinx.Horizon.Wlan.Ipc | ||
{ | ||
partial class LocalGetActionFrame : ILocalGetActionFrame | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Wlan; | ||
|
||
namespace Ryujinx.Horizon.Wlan.Ipc | ||
{ | ||
partial class LocalGetFrame : ILocalGetFrame | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Wlan; | ||
|
||
namespace Ryujinx.Horizon.Wlan.Ipc | ||
{ | ||
partial class LocalManager : ILocalManager | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Wlan; | ||
|
||
namespace Ryujinx.Horizon.Wlan.Ipc | ||
{ | ||
partial class PrivateServiceCreator : IPrivateServiceCreator | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Wlan; | ||
|
||
namespace Ryujinx.Horizon.Wlan.Ipc | ||
{ | ||
partial class SfDriverServiceCreator : ISfDriverServiceCreator | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Wlan; | ||
|
||
namespace Ryujinx.Horizon.Wlan.Ipc | ||
{ | ||
partial class SocketGetFrame : ISocketGetFrame | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
using Ryujinx.Horizon.Sdk.Wlan; | ||
|
||
namespace Ryujinx.Horizon.Wlan.Ipc | ||
{ | ||
partial class SocketManager : ISocketManager | ||
{ | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
using Ryujinx.Horizon.Sdk.Sf.Hipc; | ||
using Ryujinx.Horizon.Sdk.Sm; | ||
using Ryujinx.Horizon.Wlan.Ipc; | ||
|
||
namespace Ryujinx.Horizon.Wlan | ||
{ | ||
class WlanIpcServer | ||
{ | ||
private const int WlanOtherMaxSessionsCount = 10; | ||
private const int WlanDtcMaxSessionsCount = 4; | ||
private const int WlanMaxSessionsCount = 30; | ||
private const int WlanNdMaxSessionsCount = 5; | ||
private const int WlanPMaxSessionsCount = 30; | ||
private const int TotalMaxSessionsCount = WlanDtcMaxSessionsCount + WlanMaxSessionsCount + WlanNdMaxSessionsCount + WlanPMaxSessionsCount + WlanOtherMaxSessionsCount * 6; | ||
|
||
private const int PointerBufferSize = 0x1000; | ||
private const int MaxDomains = 16; | ||
private const int MaxDomainObjects = 10; | ||
private const int MaxPortsCount = 10; | ||
|
||
private static readonly ManagerOptions _options = new(PointerBufferSize, MaxDomains, MaxDomainObjects, false); | ||
|
||
private SmApi _sm; | ||
private ServerManager _serverManager; | ||
|
||
public void Initialize() | ||
{ | ||
HeapAllocator allocator = new(); | ||
|
||
_sm = new SmApi(); | ||
_sm.Initialize().AbortOnFailure(); | ||
|
||
_serverManager = new ServerManager(allocator, _sm, MaxPortsCount, _options, TotalMaxSessionsCount); | ||
|
||
#pragma warning disable IDE0055 // Disable formatting | ||
_serverManager.RegisterObjectForServer(new GeneralServiceCreator(), ServiceName.Encode("wlan"), WlanMaxSessionsCount); // 15.0.0+ | ||
_serverManager.RegisterObjectForServer(new DetectManager(), ServiceName.Encode("wlan:dtc"), WlanDtcMaxSessionsCount); // 6.0.0-14.1.2 | ||
_serverManager.RegisterObjectForServer(new InfraManager(), ServiceName.Encode("wlan:inf"), WlanOtherMaxSessionsCount); // 1.0.0-14.1.2 | ||
_serverManager.RegisterObjectForServer(new LocalManager(), ServiceName.Encode("wlan:lcl"), WlanOtherMaxSessionsCount); // 1.0.0-14.1.2 | ||
_serverManager.RegisterObjectForServer(new LocalGetFrame(), ServiceName.Encode("wlan:lg"), WlanOtherMaxSessionsCount); // 1.0.0-14.1.2 | ||
_serverManager.RegisterObjectForServer(new LocalGetActionFrame(), ServiceName.Encode("wlan:lga"), WlanOtherMaxSessionsCount); // 1.0.0-14.1.2 | ||
_serverManager.RegisterObjectForServer(new SfDriverServiceCreator(), ServiceName.Encode("wlan:nd"), WlanNdMaxSessionsCount); // 15.0.0+ | ||
_serverManager.RegisterObjectForServer(new PrivateServiceCreator(), ServiceName.Encode("wlan:p"), WlanPMaxSessionsCount); // 15.0.0+ | ||
_serverManager.RegisterObjectForServer(new SocketGetFrame(), ServiceName.Encode("wlan:sg"), WlanOtherMaxSessionsCount); // 1.0.0-14.1.2 | ||
_serverManager.RegisterObjectForServer(new SocketManager(), ServiceName.Encode("wlan:soc"), WlanOtherMaxSessionsCount); // 1.0.0-14.1.2 | ||
#pragma warning restore IDE0055 | ||
} | ||
|
||
public void ServiceRequests() | ||
{ | ||
_serverManager.ServiceRequests(); | ||
} | ||
|
||
public void Shutdown() | ||
{ | ||
_serverManager.Dispose(); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
namespace Ryujinx.Horizon.Wlan | ||
{ | ||
class WlanMain : IService | ||
{ | ||
public static void Main(ServiceTable serviceTable) | ||
{ | ||
WlanIpcServer ipcServer = new(); | ||
|
||
ipcServer.Initialize(); | ||
|
||
serviceTable.SignalServiceReady(); | ||
|
||
ipcServer.ServiceRequests(); | ||
ipcServer.Shutdown(); | ||
} | ||
} | ||
} |