git-svn-id: https://spexeah.com:8443/svn/Asuro@699 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -11,6 +11,8 @@ function stringToMAC(str : pchar) : puint8;
|
||||
function stringToIPv4(str : pchar) : puint8;
|
||||
procedure writeMACAddress(mac : puint8; WND : HWND);
|
||||
procedure writeIPv4Address(ip : puint8; WND : HWND);
|
||||
procedure writeMACAddressEx(mac : puint8; WND : HWND);
|
||||
procedure writeIPv4AddressEx(ip : puint8; WND : HWND);
|
||||
function MACEqual(mac1 : puint8; mac2 : puint8) : boolean;
|
||||
function IPEqual(ip1 : puint8; ip2 : puint8) : boolean;
|
||||
function newPacketContext : PPacketContext;
|
||||
@@ -80,6 +82,32 @@ begin
|
||||
pop_trace;
|
||||
end;
|
||||
|
||||
procedure writeIPv4AddressEx(ip : puint8; WND : HWND);
|
||||
var
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
push_trace('netutils.writeIPv4Address');
|
||||
console.writeintWND(ip[0], WND);
|
||||
for i:=1 to 3 do begin
|
||||
console.writestringWND('.', WND);
|
||||
console.writeintWND(ip[i], WND);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure writeMACAddressEx(mac : puint8; WND : HWND);
|
||||
var
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
push_trace('netutils.writeMACAddress');
|
||||
console.writehexpairWND(mac[0], WND);
|
||||
for i:=1 to 5 do begin
|
||||
console.writestringWND(':', WND);
|
||||
console.writehexpairWND(mac[i], WND);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure writeIPv4Address(ip : puint8; WND : HWND);
|
||||
var
|
||||
i : integer;
|
||||
|
||||
@@ -4,7 +4,7 @@ interface
|
||||
|
||||
uses
|
||||
tracer, lmemorymanager,
|
||||
util, lists, console,
|
||||
util, lists, console, terminal,
|
||||
net, nettypes, netutils,
|
||||
netlog,
|
||||
eth2, ipv4;
|
||||
@@ -189,12 +189,33 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure terminal_command_arp(Params : PParamList);
|
||||
var
|
||||
i : uint32;
|
||||
elm : PARPCacheRecord;
|
||||
|
||||
begin
|
||||
if LL_Size(Cache) > 0 then begin
|
||||
writestringlnWND('MAC IPv4', getTerminalHWND);
|
||||
For i:=0 to LL_Size(Cache)-1 do begin
|
||||
elm:= PARPCacheRecord(LL_Get(Cache, i));
|
||||
writeMACAddressEx(@elm^.MAC[0], getTerminalHWND);
|
||||
writestringWND(' ', getTerminalHWND);
|
||||
writeIPv4AddressEx(@elm^.IP[0], getTerminalHWND);
|
||||
writestringlnWND(' ', getTerminalHWND);
|
||||
end;
|
||||
end else begin
|
||||
writestringlnWND('No entries in ARP table.', getTerminalHWND);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure register;
|
||||
begin
|
||||
push_trace('arp.register');
|
||||
if not Registered then begin
|
||||
Cache:= LL_New(sizeof(TARPCacheRecord));
|
||||
eth2.registerType($0806, @recv);
|
||||
terminal.registerCommand('ARP', @terminal_command_arp, 'Get ARP Table.');
|
||||
Registered:= true;
|
||||
end;
|
||||
pop_trace;
|
||||
|
||||
@@ -9,14 +9,14 @@ const
|
||||
VERSION_SUB = '1';
|
||||
REVISION = '677';
|
||||
RELEASE = 'ia';
|
||||
LINE_COUNT = 27855;
|
||||
LINE_COUNT = 27904;
|
||||
FILE_COUNT = 89;
|
||||
DRIVER_COUNT = 32;
|
||||
FPC_VERSION = '2.6.4';
|
||||
NASM_VERSION = '2.10.09';
|
||||
MAKE_VERSION = '3.81';
|
||||
COMPILE_DATE = '10/05/18';
|
||||
COMPILE_TIME = '14:03:49';
|
||||
COMPILE_TIME = '14:21:06';
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
Reference in New Issue
Block a user