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 |