Subversion Repositories Kolibri OS

Compare Revisions

Ignore whitespace Rev 6473 → Rev 6474

/kernel/trunk/network/tcp_output.inc
1,6 → 1,6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; Part of the TCP/IP network stack for KolibriOS ;;
30,6 → 30,7
 
locals
temp_bits db ?
window dd ?
endl
 
DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_output: socket=%x state=%u\n", eax, [eax + TCP_SOCKET.t_state]
470,7 → 471,8
mov ebx, ecx
@@:
 
DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_send: window = %u\n", ebx
DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_send: window=%u\n", ebx
mov [window], ebx
 
mov cl, [eax + TCP_SOCKET.RCV_SCALE]
shr ebx, cl
518,19 → 520,19
push ecx
mov ecx, [esp + 4]
lea esi, [esp + 8]
shr ecx, 2 ; count is in bytes, we will work with dwords
shr ecx, 2 ; count is in bytes, we will work with dwords
rep movsd
pop ecx ; full TCP packet size
pop ecx ; full TCP packet size
 
pop esi ; headersize
add esp, esi ; remove it from stack
pop esi ; headersize
add esp, esi ; remove it from stack
 
push eax ; packet ptr for send proc
push eax ; packet ptr for send proc
 
mov edx, edi ; begin of data
sub edx, esi ; begin of packet (edi = begin of data)
mov edx, edi ; begin of data
sub edx, esi ; begin of packet (edi = begin of data)
push ecx
sub ecx, esi ; data size
sub ecx, esi ; data size
 
;--------------
; Copy the data
629,6 → 631,8
inc [TCPS_sndtotal]
 
; update advertised receive window
 
mov ecx, [window]
test ecx, ecx
jz @f
add ecx, [eax + TCP_SOCKET.RCV_NXT]