Subversion Repositories Kolibri OS

Rev

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

Rev 5596 Rev 5984
Line 14... Line 14...
14
;;                                                                 ;;
14
;;                                                                 ;;
15
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 16... Line 16...
16
 
16
 
Line 17... Line 17...
17
$Revision: 5584 $
17
$Revision: 5584 $
18
 
-
 
-
 
18
 
19
;-----------------------------------------------------------------
19
;-----------------------------------------------------------------;
20
;
-
 
-
 
20
;                                                                 ;
21
; TCP_output
21
; TCP_output                                                      ;
-
 
22
;                                                                 ;
22
;
23
;  IN:  eax = socket pointer                                      ;
23
; IN:  eax = socket pointer
-
 
-
 
24
;                                                                 ;
24
; OUT: eax = 0 on success/errorcode
25
; OUT:  eax = 0 on success/errorcode                              ;
25
;
26
;                                                                 ;
26
;-----------------------------------------------------------------
27
;-----------------------------------------------------------------;
Line 27... Line 28...
27
align 4
28
align 4
28
proc TCP_output
29
proc TCP_output
Line 501... Line 502...
501
 
502
 
502
;---------------------
503
;---------------------
Line 503... Line 504...
503
; Create the IP packet
504
; Create the IP packet
504
 
-
 
505
        mov     ecx, esi
505
 
-
 
506
        mov     ecx, esi
506
        mov     edx, [eax + IP_SOCKET.LocalIP]  ; source ip
507
        mov     ebx, [eax + IP_SOCKET.device]
-
 
508
        mov     edx, [eax + IP_SOCKET.LocalIP]  ; source ip
507
        mov     ebx, [eax + IP_SOCKET.device]
509
        mov     edi, [eax + IP_SOCKET.RemoteIP] ; dest ip
508
        mov     eax, [eax + IP_SOCKET.RemoteIP] ; dest ip
510
        mov     al, [eax + IP_SOCKET.ttl]
509
        mov     di, IP_PROTO_TCP shl 8 + 128
511
        mov     ah, IP_PROTO_TCP
Line 510... Line 512...
510
        call    IPv4_output
512
        call    IPv4_output
511
        jz      .ip_error
513
        jz      .ip_error