Meta: Add files to repository
This commit is contained in:
parent
6d27d43268
commit
52cb92f587
120 changed files with 71820 additions and 0 deletions
32
System/Api/Icmp.HC
Normal file
32
System/Api/Icmp.HC
Normal file
|
@ -0,0 +1,32 @@
|
|||
#define ICMP_REQUEST_PTR 0x300020
|
||||
|
||||
MemSet(ICMP_REQUEST_PTR, NULL, sizeof(U64));
|
||||
|
||||
class IcmpRequest {
|
||||
U64 addr;
|
||||
U64 iden;
|
||||
U64 seq;
|
||||
U64 pointer_to_u32;
|
||||
};
|
||||
|
||||
U32 @icmp_echo_request(U32 addr, U16 iden, U16 seq, IcmpRequest* request, I64 count)
|
||||
{
|
||||
U32 res = 0; // low 16 = ttl, hi 16 = payload size
|
||||
request->addr = addr;
|
||||
request->iden = iden;
|
||||
request->seq = seq;
|
||||
request->pointer_to_u32 = &res;
|
||||
I64 start_jiffies = cnts.jiffies;
|
||||
U64* request_ptr = ICMP_REQUEST_PTR;
|
||||
if (!count)
|
||||
*request_ptr = NULL;
|
||||
while (*request_ptr) {
|
||||
if (!(cnts.jiffies < start_jiffies + 1000))
|
||||
return res;
|
||||
Sleep(1);
|
||||
}
|
||||
LXchgU32(request_ptr, request);
|
||||
while (!res && cnts.jiffies < start_jiffies + 1000)
|
||||
Sleep(1);
|
||||
return res;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue