Subversion Repositories Kolibri OS

Rev

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

Rev 1838 Rev 1885
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: 1838 $
16
$Revision: 1885 $
Line 17... Line 17...
17
 
17
 
Line 55... Line 55...
55
	TCP_SOCKET:
55
	TCP_SOCKET:
Line 56... Line 56...
56
 
56
 
57
	.LocalPort		dw ?
57
	.LocalPort		dw ?
Line 58... Line -...
58
	.RemotePort		dw ?
-
 
59
 
-
 
60
	.OrigRemoteIP		dd ? ; original remote IP address (used to reset to LISTEN state)
-
 
61
	.OrigRemotePort 	dw ? ; original remote port (used to reset to LISTEN state)
58
	.RemotePort		dw ?
62
 
59
 
63
	.t_state		dd ? ; TCB state
60
	.t_state		dd ? ; TCB state
64
	.t_rxtshift		dd ?
61
	.t_rxtshift		dd ?
65
	.t_rxtcur		dd ?
62
	.t_rxtcur		dd ?
Line 1489... Line 1486...
1489
	lea	edi, [eax + SOCKET.PID]
1486
	lea	edi, [eax + SOCKET.PID]
1490
	mov	ecx, (SOCKET_QUEUE_LOCATION - SOCKET.PID + 3)/4
1487
	mov	ecx, (SOCKET_QUEUE_LOCATION - SOCKET.PID + 3)/4
1491
	rep	movsd
1488
	rep	movsd
Line 1492... Line 1489...
1492
 
1489
 
1493
	and	[eax + SOCKET.options], not SO_ACCEPTCON
-
 
1494
 
-
 
1495
  ;;;;;      call    SOCKET_notify_owner
1490
	and	[eax + SOCKET.options], not SO_ACCEPTCON
Line 1496... Line 1491...
1496
	pop	edi ecx esi
1491
	pop	edi ecx esi
Line 1497... Line 1492...
1497
 
1492
 
Line 1623... Line 1618...
1623
	ret
1618
	ret
Line 1624... Line 1619...
1624
 
1619
 
1625
 
1620
 
1626
 
1621
 
1627
 
1622
 
1628
;---------------------------------------------------
1623
;------------------------------------------------------
1629
;
1624
;
Line 1673... Line 1668...
1673
	call	SOCKET_free
1668
	call	SOCKET_free
1674
	jmp	.test_socket
1669
	jmp	.test_socket
Line 1675... Line 1670...
1675
 
1670
 
Line -... Line 1671...
-
 
1671
  .tcp:
-
 
1672
 
1676
  .tcp:
1673
	;;; TODO
Line 1677... Line 1674...
1677
 
1674
 
1678
	jmp	.next_socket
1675
	jmp	.next_socket
Line 1679... Line 1676...
1679
 
1676
 
Line -... Line 1677...
-
 
1677
  .done:
-
 
1678
	pop	ebx
-
 
1679
 
-
 
1680
	ret
-
 
1681
 
-
 
1682
 
-
 
1683
 
-
 
1684
 
-
 
1685
;-----------------------------------------------------------------
-
 
1686
;
-
 
1687
; SOCKET_is_connecting
-
 
1688
;
-
 
1689
;  IN:  eax = socket ptr
-
 
1690
;  OUT: /
-
 
1691
;
-
 
1692
;-----------------------------------------------------------------
-
 
1693
 
-
 
1694
align 4
-
 
1695
SOCKET_is_connecting:
-
 
1696
 
-
 
1697
 
-
 
1698
	and	[eax + SOCKET.options], not (SS_ISCONNECTED + SS_ISDISCONNECTING + SS_ISCONFIRMING)
-
 
1699
	or	[eax + SOCKET.options], SS_ISCONNECTING
-
 
1700
 
-
 
1701
	jmp	SOCKET_notify_owner
-
 
1702
 
-
 
1703
 
-
 
1704
 
-
 
1705
;-----------------------------------------------------------------
-
 
1706
;
-
 
1707
; SOCKET_is_connected
-
 
1708
;
-
 
1709
;  IN:  eax = socket ptr
-
 
1710
;  OUT: /
-
 
1711
;
-
 
1712
;-----------------------------------------------------------------
-
 
1713
 
Line 1680... Line 1714...
1680
  .done:
1714
align 4
Line 1736... Line 1770...
1736
;-----------------------------------------------------------------
1770
;-----------------------------------------------------------------
Line 1737... Line 1771...
1737
 
1771
 
1738
align 4
1772
align 4
Line -... Line 1773...
-
 
1773
SOCKET_cant_recv_more:
-
 
1774
 
1739
SOCKET_cant_recv_more:
1775
	or	[eax + SOCKET.options], SS_CANTRCVMORE
Line 1740... Line 1776...
1740
 
1776
 
1741
	ret
1777
	ret
1742
 
1778
 
1743
 
1779
 
1744
 
1780
 
1745
;-----------------------------------------------------------------
1781
;-----------------------------------------------------------------
1746
;
1782
;
1747
; SOCKET_is_connected
1783
; SOCKET_cant_send_more
Line 1748... Line 1784...
1748
;
1784
;
1749
;  IN:  eax = socket ptr
1785
;  IN:  eax = socket ptr
Line -... Line 1786...
-
 
1786
;  OUT: /
Line 1750... Line -...
1750
;  OUT: /
-
 
1751
;
-
 
1752
;-----------------------------------------------------------------
-
 
1753
 
-
 
1754
align 4
1787
;
-
 
1788
;-----------------------------------------------------------------
1755
SOCKET_is_connected:
1789