74,7 → 74,6 |
.OrigRemotePort dw ? ; original remote port (used to reset to LISTEN state) |
|
.t_state dd ? ; TCB state |
.t_timer dd ? ; TCB timer (seconds) |
.t_rxtshift dd ? |
.t_rxtcur dd ? |
.t_dupacks dd ? |
144,6 → 143,16 |
.ts_recent_age dd ? |
.last_ack_sent dd ? |
|
|
;------- |
; Timers |
|
.timer_retransmission dw ? ; rexmt |
.timer_ack dw ? |
.timer_persist dw ? |
.timer_keepalive dw ? ; keepalive/syn timeout |
.timer_timed_wait dw ? ; also used as 2msl timer |
|
.end: |
end virtual |
|
335,7 → 344,7 |
jz s_error |
|
.got_port: |
DEBUGF 1,"using local port: %u", bx |
DEBUGF 1,"using local port: %u\n", bx |
mov word [eax + UDP_SOCKET.LocalPort], bx |
|
mov ebx, dword [edx + 4] |
391,7 → 400,7 |
mov bx , word [edx + 2] |
mov word [eax + UDP_SOCKET.RemotePort], bx |
mov [eax + UDP_SOCKET.firstpacket], 0 |
DEBUGF 1,"remote port: %u ",bx |
DEBUGF 1,"remote port: %u\n",bx |
|
mov ebx, dword [edx + 4] |
mov dword [eax + IP_SOCKET.RemoteIP], ebx |
408,6 → 417,8 |
add [TCP_sequence_num], 6400 |
mov [eax + TCP_SOCKET.ISS], ebx |
|
mov [eax + TCP_SOCKET.timer_keepalive], 120 ; 120*630ms => 75,6 seconds |
|
lea ebx, [eax + SOCKET.lock] |
call wait_mutex |
|
417,7 → 428,7 |
|
mov bx , word [edx + 2] |
mov [eax + TCP_SOCKET.RemotePort], bx |
DEBUGF 1,"remote port: %u ",bx |
DEBUGF 1,"remote port: %u\n", bx |
|
mov ebx, dword [edx + 4] |
mov [eax + IP_SOCKET.RemoteIP], ebx |
435,6 → 446,8 |
call SOCKET_find_port |
@@: |
|
DEBUGF 1,"remote port: %u\n", [eax + TCP_SOCKET.LocalPort]:2 |
|
; mov [eax + TCP_SOCKET.t_state], TCB_SYN_SENT |
call TCP_output |
|