@ -65,7 +65,7 @@ private:
LOG_WARNING ( Service_NIFM , " (STUBBED) called " ) ;
LOG_WARNING ( Service_NIFM , " (STUBBED) called " ) ;
IPC : : ResponseBuilder rb { ctx , 3 } ;
IPC : : ResponseBuilder rb { ctx , 3 } ;
rb . Push ( RESULT_SUCCESS ) ;
rb . Push ( RESULT_SUCCESS ) ;
rb . Push < u32 > ( 0 ) ;
rb . Push < u32 > ( 3 ) ;
}
}
void GetResult ( Kernel : : HLERequestContext & ctx ) {
void GetResult ( Kernel : : HLERequestContext & ctx ) {
@ -114,10 +114,11 @@ public:
private :
private :
void GetClientId ( Kernel : : HLERequestContext & ctx ) {
void GetClientId ( Kernel : : HLERequestContext & ctx ) {
static constexpr u32 client_id = 1 ;
LOG_WARNING ( Service_NIFM , " (STUBBED) called " ) ;
LOG_WARNING ( Service_NIFM , " (STUBBED) called " ) ;
IPC : : ResponseBuilder rb { ctx , 4 } ;
IPC : : ResponseBuilder rb { ctx , 4 } ;
rb . Push ( RESULT_SUCCESS ) ;
rb . Push ( RESULT_SUCCESS ) ;
rb . Push < u64 > ( 0 ) ;
rb . Push < u64 > ( client_id ) ; // Client ID needs to be non zero otherwise it's considered invalid
}
}
void CreateScanRequest ( Kernel : : HLERequestContext & ctx ) {
void CreateScanRequest ( Kernel : : HLERequestContext & ctx ) {
IPC : : ResponseBuilder rb { ctx , 2 , 0 , 1 } ;
IPC : : ResponseBuilder rb { ctx , 2 , 0 , 1 } ;
@ -141,10 +142,16 @@ private:
rb . Push ( RESULT_SUCCESS ) ;
rb . Push ( RESULT_SUCCESS ) ;
}
}
void CreateTemporaryNetworkProfile ( Kernel : : HLERequestContext & ctx ) {
void CreateTemporaryNetworkProfile ( Kernel : : HLERequestContext & ctx ) {
IPC : : ResponseBuilder rb { ctx , 2 , 0 , 1 } ;
ASSERT_MSG ( ctx . GetReadBufferSize ( ) = = 0x17c , " NetworkProfileData is not the correct size " ) ;
u128 uuid { } ;
auto buffer = ctx . ReadBuffer ( ) ;
std : : memcpy ( & uuid , buffer . data ( ) + 8 , sizeof ( u128 ) ) ;
IPC : : ResponseBuilder rb { ctx , 6 , 0 , 1 } ;
rb . Push ( RESULT_SUCCESS ) ;
rb . Push ( RESULT_SUCCESS ) ;
rb . PushIpcInterface < INetworkProfile > ( ) ;
rb . PushIpcInterface < INetworkProfile > ( ) ;
rb . PushRaw < u128 > ( uuid ) ;
LOG_DEBUG ( Service_NIFM , " called " ) ;
LOG_DEBUG ( Service_NIFM , " called " ) ;
}
}