Rev 1762 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1762 | Rev 1763 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2010. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;; SOCKET.INC ;; |
- | |
7 | ;; ;; |
- | |
8 | ;; Written by hidnplayr@kolibrios.org, ;; |
6 | ;; Written by hidnplayr@kolibrios.org, ;; |
9 | ;; and Clevermouse. ;; |
7 | ;; and Clevermouse. ;; |
10 | ;; ;; |
8 | ;; ;; |
11 | ;; Based on code by mike.dld ;; |
9 | ;; Based on code by mike.dld ;; |
12 | ;; ;; |
10 | ;; ;; |
13 | ;; GNU GENERAL PUBLIC LICENSE ;; |
11 | ;; GNU GENERAL PUBLIC LICENSE ;; |
14 | ;; Version 2, June 1991 ;; |
12 | ;; Version 2, June 1991 ;; |
15 | ;; ;; |
13 | ;; ;; |
16 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
14 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 17... | Line 15... | ||
17 | 15 | ||
Line 18... | Line 16... | ||
18 | $Revision: 1762 $ |
16 | $Revision: 1763 $ |
Line 19... | Line 17... | ||
19 | 17 | ||
20 | virtual at 0 |
18 | virtual at 0 |
Line 43... | Line 41... | ||
43 | end virtual |
41 | end virtual |
Line 44... | Line 42... | ||
44 | 42 | ||
Line 45... | Line 43... | ||
45 | virtual at SOCKET.end |
43 | virtual at SOCKET.end |
46 | - | ||
47 | IP_SOCKET: |
44 | |
48 | - | ||
49 | .LocalIP dd ? |
- | |
50 | rd 3 ; for IPv6 addresses |
45 | IP_SOCKET: |
51 | - | ||
Line 52... | Line 46... | ||
52 | .RemoteIP dd ? |
46 | .LocalIP rd 4 |
53 | rd 3 ; for IPv6 addresses |
47 | .RemoteIP rd 4 |
Line 54... | Line 48... | ||
54 | 48 | ||
Line 786... | Line 780... | ||
786 | DEBUGF 1,"SOCKET_send: socknum: %u data ptr: %x, length: %u, flags: %x, ", ecx, edx, esi, edi |
780 | DEBUGF 1,"SOCKET_send: socknum: %u data ptr: %x, length: %u, flags: %x, ", ecx, edx, esi, edi |
Line 787... | Line 781... | ||
787 | 781 | ||
788 | call SOCKET_num_to_ptr |
782 | call SOCKET_num_to_ptr |
Line -... | Line 783... | ||
- | 783 | jz s_error |
|
- | 784 | ||
- | 785 | mov ecx, esi |
|
789 | jz s_error |
786 | mov esi, edx |
Line 790... | Line 787... | ||
790 | 787 | ||
791 | jmp [eax + SOCKET.snd_proc] |
788 | jmp [eax + SOCKET.snd_proc] |
Line 792... | Line 789... | ||
792 | 789 | ||
Line 793... | Line -... | ||
793 | - | ||
794 | align 4 |
- | |
795 | SOCKET_send_udp: |
- | |
796 | 790 | ||
Line 797... | Line 791... | ||
797 | DEBUGF 1,"SOCKET_send: UDP\n" |
791 | align 4 |
798 | 792 | SOCKET_send_udp: |
|
Line 809... | Line 803... | ||
809 | SOCKET_send_tcp: |
803 | SOCKET_send_tcp: |
Line 810... | Line 804... | ||
810 | 804 | ||
Line 811... | Line 805... | ||
811 | DEBUGF 1,"SOCKET_send: TCP\n" |
805 | DEBUGF 1,"SOCKET_send: TCP\n" |
812 | - | ||
813 | push eax |
- | |
814 | mov ecx, esi |
806 | |
815 | mov esi, edx |
807 | push eax |
816 | add eax, STREAM_SOCKET.snd |
808 | add eax, STREAM_SOCKET.snd |
Line 817... | Line 809... | ||
817 | call SOCKET_ring_write |
809 | call SOCKET_ring_write |
Line 826... | Line 818... | ||
826 | align 4 |
818 | align 4 |
827 | SOCKET_send_ip: |
819 | SOCKET_send_ip: |
Line 828... | Line 820... | ||
828 | 820 | ||
Line 829... | Line -... | ||
829 | DEBUGF 1,"type: IP\n" |
- | |
830 | - | ||
831 | mov ecx, esi |
- | |
832 | mov esi, edx |
821 | DEBUGF 1,"type: IP\n" |
Line 833... | Line 822... | ||
833 | 822 | ||
834 | call IPv4_output_raw |
823 | call IPv4_output_raw |
Line 835... | Line 824... | ||
835 | 824 | ||
836 | mov dword [esp+32], eax |
825 | mov [esp+32], eax |
Line 837... | Line 826... | ||
837 | ret |
826 | ret |
Line 838... | Line -... | ||
838 | - | ||
839 | align 4 |
827 | |
Line 840... | Line 828... | ||
840 | SOCKET_send_icmp: |
828 | align 4 |
841 | 829 | SOCKET_send_icmp: |