summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/service/nwm/nwm_uds.cpp31
1 files changed, 10 insertions, 21 deletions
diff --git a/src/core/hle/service/nwm/nwm_uds.cpp b/src/core/hle/service/nwm/nwm_uds.cpp
index e5ffefa65..581816e81 100644
--- a/src/core/hle/service/nwm/nwm_uds.cpp
+++ b/src/core/hle/service/nwm/nwm_uds.cpp
@@ -89,22 +89,13 @@ static void RecvBeaconBroadcastData(Interface* self) {
89 IPC::RequestParser rp(Kernel::GetCommandBuffer(), 0x0F, 16, 4); 89 IPC::RequestParser rp(Kernel::GetCommandBuffer(), 0x0F, 16, 4);
90 90
91 u32 out_buffer_size = rp.Pop<u32>(); 91 u32 out_buffer_size = rp.Pop<u32>();
92 rp.Pop<u32>(); 92 u32 unk1 = rp.Pop<u32>();
93 rp.Pop<u32>(); 93 u32 unk2 = rp.Pop<u32>();
94 94
95 MacAddress mac_address; 95 MacAddress mac_address;
96 rp.PopRaw(mac_address); 96 rp.PopRaw(mac_address);
97 97
98 // TODO(Subv): Use IPC::RequestParser::Skip when possible. 98 rp.Skip(9, false);
99 rp.Pop<u32>();
100 rp.Pop<u32>();
101 rp.Pop<u32>();
102 rp.Pop<u32>();
103 rp.Pop<u32>();
104 rp.Pop<u32>();
105 rp.Pop<u32>();
106 rp.Pop<u32>();
107 rp.Pop<u32>();
108 99
109 u32 wlan_comm_id = rp.Pop<u32>(); 100 u32 wlan_comm_id = rp.Pop<u32>();
110 u32 id = rp.Pop<u32>(); 101 u32 id = rp.Pop<u32>();
@@ -157,8 +148,8 @@ static void RecvBeaconBroadcastData(Interface* self) {
157 rb.Push(RESULT_SUCCESS); 148 rb.Push(RESULT_SUCCESS);
158 149
159 LOG_DEBUG(Service_NWM, "called out_buffer_size=0x%08X, wlan_comm_id=0x%08X, id=0x%08X," 150 LOG_DEBUG(Service_NWM, "called out_buffer_size=0x%08X, wlan_comm_id=0x%08X, id=0x%08X,"
160 "input_handle=0x%08X, out_buffer_ptr=0x%08X", 151 "input_handle=0x%08X, out_buffer_ptr=0x%08X, unk1=0x%08X, unk2=0x%08X",
161 out_buffer_size, wlan_comm_id, id, input_handle, out_buffer_ptr); 152 out_buffer_size, wlan_comm_id, id, input_handle, out_buffer_ptr, unk1, unk2);
162} 153}
163 154
164/** 155/**
@@ -183,8 +174,8 @@ static void InitializeWithVersion(Interface* self) {
183 // Update the node information with the data the game gave us. 174 // Update the node information with the data the game gave us.
184 rp.PopRaw(node_info[0]); 175 rp.PopRaw(node_info[0]);
185 176
186 u16 version; 177 u16 version = rp.Pop<u16>();
187 rp.PopRaw(version); 178
188 Kernel::Handle sharedmem_handle = rp.PopHandle(); 179 Kernel::Handle sharedmem_handle = rp.PopHandle();
189 180
190 recv_buffer_memory = Kernel::g_handle_table.Get<Kernel::SharedMemory>(sharedmem_handle); 181 recv_buffer_memory = Kernel::g_handle_table.Get<Kernel::SharedMemory>(sharedmem_handle);
@@ -245,10 +236,8 @@ static void Bind(Interface* self) {
245 236
246 u32 bind_node_id = rp.Pop<u32>(); 237 u32 bind_node_id = rp.Pop<u32>();
247 u32 recv_buffer_size = rp.Pop<u32>(); 238 u32 recv_buffer_size = rp.Pop<u32>();
248 u8 data_channel; 239 u8 data_channel = rp.Pop<u8>();
249 rp.PopRaw(data_channel); 240 u16 network_node_id = rp.Pop<u16>();
250 u16 network_node_id;
251 rp.PopRaw(network_node_id);
252 241
253 // TODO(Subv): Store the data channel and verify it when receiving data frames. 242 // TODO(Subv): Store the data channel and verify it when receiving data frames.
254 243
@@ -391,7 +380,7 @@ static void GetChannel(Interface* self) {
391 u8 channel = is_connected ? network_channel : 0; 380 u8 channel = is_connected ? network_channel : 0;
392 381
393 rb.Push(RESULT_SUCCESS); 382 rb.Push(RESULT_SUCCESS);
394 rb.PushRaw(channel); 383 rb.Push(channel);
395 384
396 LOG_DEBUG(Service_NWM, "called"); 385 LOG_DEBUG(Service_NWM, "called");
397} 386}