/kernel/trunk/network/socket.inc |
---|
84,6 → 84,8 |
; so, define struct |
struc SOCKET |
{ |
.PrevPtr dd ? |
.NextPtr dd ? |
.Status dd ? ;+00 - Status ( of this buffer ) |
.PID dd ? ;+04 - Application Process ID |
.LocalIP dd ? ;+08 - Local IP Address |
105,8 → 107,6 |
.SEG_LEN dd ? ;+64 - Segment length |
.SEG_WND dd ? ;+68 - Segment window |
.wndsizeTimer dd ? ;+72 - Retransmit queue # NOW WINDOW SIZE TIMER |
.PrevPtr dd ? |
.NextPtr dd ? |
.rxData dd ? ;+76 - receive data buffer here |
} |
/kernel/trunk/network/stack.inc |
---|
134,7 → 134,6 |
uglobal |
net_sockets_mutex dd 0 |
net_sockets rd 2 |
endg |
178,6 → 177,9 |
;_memset_dw resendQ, 0xFFFFFFFF, NUMRESENDENTRIES ; XTODO: validate size |
_memset_dw resendQ, 0xFFFFFFFF, NUMRESENDENTRIES * 2 |
mov [net_sockets], 0 |
mov [net_sockets + 4], 0 |
; Queries initialization |
call queueInit |
/kernel/trunk/network/udp.inc |
---|
84,8 → 84,6 |
mov ax, [edx + 20 + UDP_PACKET.DestinationPort] ; get the local port from |
; the IP packet's UDP header |
mov ebx, net_sockets_mutex |
call wait_mutex |
mov ebx, net_sockets |
.next_socket: |