Subversion Repositories Kolibri OS

Rev

Rev 2302 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2302 Rev 2303
Line 11... Line 11...
11
;;         GNU GENERAL PUBLIC LICENSE                              ;;
11
;;         GNU GENERAL PUBLIC LICENSE                              ;;
12
;;          Version 2, June 1991                                   ;;
12
;;          Version 2, June 1991                                   ;;
13
;;                                                                 ;;
13
;;                                                                 ;;
14
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
14
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 15... Line 15...
15
 
15
 
Line 16... Line 16...
16
$Revision: 2302 $
16
$Revision: 2303 $
Line 17... Line 17...
17
 
17
 
Line 629... Line 629...
629
	get_from_queue (eax + SOCKET_QUEUE_LOCATION), MAX_backlog, 4, s_error
629
	get_from_queue (eax + SOCKET_QUEUE_LOCATION), MAX_backlog, 4, s_error
Line 630... Line 630...
630
 
630
 
631
	mov	eax, [esi]
631
	mov	eax, [esi]
632
	call	SOCKET_ptr_to_num
632
	call	SOCKET_ptr_to_num
633
	jz	s_error
633
	jz	s_error
634
	mov	dword [esp+32], eax
634
	mov	[esp+32], eax
Line 635... Line 635...
635
	ret
635
	ret
636
 
636
 
Line 723... Line 723...
723
	ja	.too_small
723
	ja	.too_small
Line 724... Line 724...
724
 
724
 
725
	push	[esi + socket_queue_entry.buf_ptr]		; save the buffer addr so we can clear it later
725
	push	[esi + socket_queue_entry.buf_ptr]		; save the buffer addr so we can clear it later
726
	mov	esi, [esi + socket_queue_entry.data_ptr]
726
	mov	esi, [esi + socket_queue_entry.data_ptr]
727
	DEBUGF	1,"Source buffer: %x, real addr: %x\n", [esp], esi
727
	DEBUGF	1,"Source buffer: %x, real addr: %x\n", [esp], esi
Line 728... Line 728...
728
	mov	dword[esp+32+4], ecx				; return number of bytes copied
728
	mov	[esp+32+4], ecx 				; return number of bytes copied
729
 
729
 
730
; copy the data
730
; copy the data
731
	shr	ecx, 1
731
	shr	ecx, 1
Line 758... Line 758...
758
	mov	edi, edx
758
	mov	edi, edx
759
	add	eax, STREAM_SOCKET.rcv
759
	add	eax, STREAM_SOCKET.rcv
760
	call	SOCKET_ring_read
760
	call	SOCKET_ring_read
761
	call	SOCKET_ring_free
761
	call	SOCKET_ring_free
Line 762... Line 762...
762
 
762
 
Line 763... Line 763...
763
	mov	dword[esp+32], ecx				; return number of bytes copied
763
	mov	[esp+32], ecx					; return number of bytes copied
Line 764... Line 764...
764
 
764
 
Line 796... Line 796...
796
 
796
 
Line 797... Line 797...
797
	DEBUGF	1,"SOCKET_send: UDP\n"
797
	DEBUGF	1,"SOCKET_send: UDP\n"
Line 798... Line 798...
798
 
798
 
799
	call	UDP_output
799
	call	UDP_output
Line 800... Line 800...
800
 
800
 
801
	mov	dword [esp+32], 0
801
	mov	[esp+32], eax
Line 833... Line 833...
833
 
833
 
Line 834... Line 834...
834
	DEBUGF	1,"SOCKET_send: ICMP\n"
834
	DEBUGF	1,"SOCKET_send: ICMP\n"
Line 835... Line 835...
835
 
835
 
836
	call	ICMP_output_raw
836
	call	ICMP_output_raw
Line 1056... Line 1056...
1056
align 4
1056
align 4
1057
SOCKET_input:
1057
SOCKET_input:
Line 1058... Line 1058...
1058
 
1058
 
Line 1059... Line 1059...
1059
	DEBUGF	1,"SOCKET_input: socket=%x, data=%x size=%u\n", eax, esi, ecx
1059
	DEBUGF	1,"SOCKET_input: socket=%x, data=%x size=%u\n", eax, esi, ecx
1060
 
1060
 
1061
	mov	dword[esp+4], ecx
1061
	mov	[esp+4], ecx
Line 1062... Line 1062...
1062
	push	esi
1062
	push	esi