Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2572 → Rev 2573

/kernel/branches/net/network/socket.inc
799,9 → 799,10
 
DEBUGF 1,"SOCKET_send: UDP\n"
 
mov [esp+32], ecx
call UDP_output
 
mov [esp+32], eax
cmp eax, -1
je s_error
ret
 
 
813,11 → 814,13
push eax
add eax, STREAM_SOCKET.snd
call SOCKET_ring_write
mov [esp+32], ecx
pop eax
 
test ecx, ecx
jz s_error
 
call TCP_output
 
mov [esp+32], eax
ret
 
 
826,19 → 829,22
 
DEBUGF 1,"type: IP\n"
 
mov [esp+32], ecx
call IPv4_output_raw
 
mov [esp+32], eax
cmp eax, -1
je s_error
ret
 
 
align 4
SOCKET_send_icmp:
 
DEBUGF 1,"SOCKET_send: ICMP\n"
 
mov [esp+32], ecx
call ICMP_output_raw
 
mov [esp+32], eax
cmp eax, -1
je s_error
ret
 
 
1136,6 → 1142,7
DEBUGF 1,"SOCKET_ring_write: ringbuff=%x ptr=%x size=%u\n", eax, esi, ecx
 
add [eax + RING_BUFFER.size], ecx
jc .way_too_large
cmp [eax + RING_BUFFER.size], SOCKET_MAXDATA
ja .too_large
 
1174,15 → 1181,22
sub [eax + RING_BUFFER.size], SOCKET_MAXDATA
sub ecx, [eax + RING_BUFFER.size]
mov [eax + RING_BUFFER.size], SOCKET_MAXDATA
ja .copy
 
test ecx, ecx
jnz .copy
 
.full:
DEBUGF 2,"SOCKET_ring_write: ring buffer is full!\n"
xor ecx, ecx
ret
 
.way_too_large:
sub [eax + RING_BUFFER.size], ecx
mov ecx, SOCKET_MAXDATA
sub ecx, [eax + RING_BUFFER.size]
ja .copy
jmp .full
 
 
 
;-----------------------------------------------------------------
;
; SOCKET_ring_read