Просмотр исходного кода

UDS: Clarify comment about the first 4 bytes of the SecureData header.

It is likely that these 4 bytes are actually a different header, part of some protocol that encapsulates the SecureData protocol.
Subv 9 лет назад
Родитель
Сommit
812b404492
2 измененных файлов с 5 добавлено и 1 удалено
  1. 3 1
      src/core/hle/service/nwm/uds_data.cpp
  2. 2 0
      src/core/hle/service/nwm/uds_data.h

+ 3 - 1
src/core/hle/service/nwm/uds_data.cpp

@@ -40,7 +40,9 @@ static std::vector<u8> GenerateSecureDataHeader(u16 data_size, u8 channel, u16 d
     u16 src_node_id, u16 sequence_number) {
     SecureDataHeader header{};
     header.protocol_size = data_size + sizeof(SecureDataHeader);
-    // TODO(Subv): It is likely that the first 4 bytes of this header are actually a decorator for another protocol.
+    // Note: This size includes everything except the first 4 bytes of the structure,
+    // reinforcing the hypotheses that the first 4 bytes are actually the header of
+    // another container protocol.
     header.securedata_size = data_size + sizeof(SecureDataHeader) - 4;
     header.is_management = 0; // Frames sent by the emulated application are never UDS management frames
     header.data_channel = channel;

+ 2 - 0
src/core/hle/service/nwm/uds_data.h

@@ -45,6 +45,8 @@ static_assert(sizeof(LLCHeader) == 8, "LLCHeader has the wrong size");
  * the source and destination network node ids.
  */
 struct SecureDataHeader {
+    // TODO(Subv): It is likely that the first 4 bytes of this header are
+    // actually part of another container protocol.
     u16_be protocol_size;
     INSERT_PADDING_BYTES(2);
     u16_be securedata_size;