/kernel/branches/net/network/ARP.inc |
601,16 → 601,30 |
ret |
|
.read: |
; TODO: write code |
cmp ecx, [NumARP] |
jge .error |
; edi = pointer to buffer |
; ecx = # entry |
imul ecx, ARP_ENTRY.size |
add ecx, ARPTable |
mov esi, ecx |
mov ecx, ARP_ENTRY.size/2 |
rep movsw |
|
xor eax, eax |
ret |
|
.write: |
; TODO: write code |
; call ARP_write_entry |
ret |
; esi = pointer to buffer |
sub esp, ARP_ENTRY.size |
mov edi, esp |
mov ecx, ARP_ENTRY.size/2 |
rep movsw |
jmp ARP_add_entry ;out: eax = entry number, -1 on error |
|
.remove: |
mov esi, eax |
; ecx = # entry |
mov esi, ecx |
call ARP_del_entry |
ret |
|
/kernel/branches/net/network/stack.inc |
50,6 → 50,11 |
IP_PROTO_TCP equ 6 |
IP_PROTO_UDP equ 17 |
|
; Socket types |
SOCK_STREAM = 1 |
SOCK_DGRAM = 2 |
SOCK_RAW = 3 |
|
; TCP opening modes |
SOCKET_PASSIVE equ 0 |
SOCKET_ACTIVE equ 1 |