mirror of https://github.com/PCSX2/pcsx2.git
DEV9: Add MAC_Address struct
This commit is contained in:
parent
b386f78d68
commit
8fbecbcdd7
|
@ -380,6 +380,7 @@ set(pcsx2DEV9Headers
|
|||
DEV9/PacketReader/IP/IP_Packet.h
|
||||
DEV9/PacketReader/IP/IP_Payload.h
|
||||
DEV9/PacketReader/EthernetFrame.h
|
||||
DEV9/PacketReader/MAC_Address.h
|
||||
DEV9/PacketReader/NetLib.h
|
||||
DEV9/PacketReader/Payload.h
|
||||
DEV9/pcap_io.h
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
/* PCSX2 - PS2 Emulator for PCs
|
||||
* Copyright (C) 2002-2023 PCSX2 Dev Team
|
||||
*
|
||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||
* ation, either version 3 of the License, or (at your option) any later version.
|
||||
*
|
||||
* PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
* PURPOSE. See the GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with PCSX2.
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace PacketReader
|
||||
{
|
||||
#pragma pack(push, 1)
|
||||
struct MAC_Address
|
||||
{
|
||||
union
|
||||
{
|
||||
u8 bytes[6];
|
||||
struct
|
||||
{
|
||||
u32 integer03;
|
||||
u16 short45;
|
||||
} u;
|
||||
};
|
||||
|
||||
bool operator==(const MAC_Address& other) const { return (this->u.integer03 == other.u.integer03) && (this->u.short45 == other.u.short45); }
|
||||
bool operator!=(const MAC_Address& other) const { return (this->u.integer03 != other.u.integer03) || (this->u.short45 != other.u.short45); }
|
||||
};
|
||||
#pragma pack(pop)
|
||||
} // namespace PacketReader
|
|
@ -23,6 +23,7 @@
|
|||
#include <arpa/inet.h>
|
||||
#endif
|
||||
|
||||
using namespace PacketReader;
|
||||
using namespace PacketReader::IP;
|
||||
|
||||
namespace PacketReader::NetLib
|
||||
|
@ -44,6 +45,11 @@ namespace PacketReader::NetLib
|
|||
}
|
||||
|
||||
//Special
|
||||
void WriteMACAddress(u8* data, int* index, MAC_Address value)
|
||||
{
|
||||
*(MAC_Address*)&data[*index] = value;
|
||||
*index += sizeof(MAC_Address);
|
||||
}
|
||||
void WriteIPAddress(u8* data, int* index, IP_Address value)
|
||||
{
|
||||
*(IP_Address*)&data[*index] = value;
|
||||
|
@ -74,6 +80,11 @@ namespace PacketReader::NetLib
|
|||
}
|
||||
|
||||
//Special
|
||||
void ReadMACAddress(u8* data, int* index, MAC_Address* value)
|
||||
{
|
||||
*value = *(MAC_Address*)&data[*index];
|
||||
*index += sizeof(MAC_Address);
|
||||
}
|
||||
void ReadIPAddress(u8* data, int* index, IP_Address* value)
|
||||
{
|
||||
*value = *(IP_Address*)&data[*index];
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include "DEV9/PacketReader/MAC_Address.h"
|
||||
#include "DEV9/PacketReader/IP/IP_Address.h"
|
||||
|
||||
namespace PacketReader::NetLib
|
||||
|
@ -23,6 +24,7 @@ namespace PacketReader::NetLib
|
|||
void WriteUInt16(u8* data, int* index, u16 value);
|
||||
void WriteUInt32(u8* data, int* index, u32 value);
|
||||
|
||||
void WriteMACAddress(u8* data, int* index, PacketReader::MAC_Address value);
|
||||
void WriteIPAddress(u8* data, int* index, PacketReader::IP::IP_Address value);
|
||||
void WriteByteArray(u8* data, int* index, int length, u8* value);
|
||||
|
||||
|
@ -30,6 +32,7 @@ namespace PacketReader::NetLib
|
|||
void ReadUInt16(u8* data, int* index, u16* value);
|
||||
void ReadUInt32(u8* data, int* index, u32* value);
|
||||
|
||||
void ReadMACAddress(u8* data, int* index, PacketReader::MAC_Address* value);
|
||||
void ReadIPAddress(u8* data, int* index, PacketReader::IP::IP_Address* value);
|
||||
void ReadByteArray(u8* data, int* index, int length, u8* value);
|
||||
} // namespace PacketReader::NetLib
|
||||
|
|
|
@ -512,6 +512,7 @@
|
|||
<ClInclude Include="DEV9\net.h" />
|
||||
<ClInclude Include="DEV9\PacketReader\ARP\ARP_Packet.h" />
|
||||
<ClInclude Include="DEV9\PacketReader\EthernetFrame.h" />
|
||||
<ClInclude Include="DEV9\PacketReader\MAC_Address.h" />
|
||||
<ClInclude Include="DEV9\PacketReader\IP\ICMP\ICMP_Packet.h" />
|
||||
<ClInclude Include="DEV9\PacketReader\IP\TCP\TCP_Options.h" />
|
||||
<ClInclude Include="DEV9\PacketReader\IP\TCP\TCP_Packet.h" />
|
||||
|
|
|
@ -1834,6 +1834,9 @@
|
|||
<ClInclude Include="DEV9\PacketReader\EthernetFrame.h">
|
||||
<Filter>System\Ps2\DEV9\PacketReader</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DEV9\PacketReader\MAC_Address.h">
|
||||
<Filter>System\Ps2\DEV9\PacketReader</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DEV9\PacketReader\NetLib.h">
|
||||
<Filter>System\Ps2\DEV9\PacketReader</Filter>
|
||||
</ClInclude>
|
||||
|
|
Loading…
Reference in New Issue