Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. struct  LHEAD
  2.         next            dd ?   ;next object in list
  3.         prev            dd ?   ;prev object in list
  4. ends
  5.  
  6. struct  MUTEX
  7.         lhead   LHEAD
  8.         count   dd ?
  9. ends
  10.  
  11.  
  12. struct  SOCKET
  13.  
  14.         NextPtr                 dd ? ; pointer to next socket in list
  15.         PrevPtr                 dd ? ; pointer to previous socket in list
  16.         Number                  dd ? ; socket number
  17.  
  18.         mutex                   MUTEX
  19.  
  20.         PID                     dd ? ; application process id
  21.         Domain                  dd ? ; INET/UNIX/..
  22.         Type                    dd ? ; RAW/STREAM/DGRAP
  23.         Protocol                dd ? ; ICMP/IPv4/ARP/TCP/UDP
  24.         errorcode               dd ?
  25.         device                  dd ?
  26.  
  27.         options                 dd ?
  28.         state                   dd ?
  29.         backlog                 dw ? ; how many incomming connections that can be queued
  30.  
  31.         snd_proc                dd ?
  32.         rcv_proc                dd ?
  33.  
  34. ends
  35.  
  36. struct  IP_SOCKET               SOCKET
  37.  
  38.         LocalIP                 rd 4 ; network byte order
  39.         RemoteIP                rd 4 ; network byte order
  40.  
  41. ends
  42.  
  43. struct  TCP_SOCKET              IP_SOCKET
  44.  
  45.         LocalPort               dw ? ; network byte order
  46.         RemotePort              dw ? ; network byte order
  47.  
  48.         t_state                 dd ? ; TCB state
  49.         t_rxtshift              db ?
  50.                                 rb 3 ; align
  51.         t_rxtcur                dd ?
  52.         t_dupacks               dd ?
  53.         t_maxseg                dd ?
  54.         t_force                 dd ?
  55.         t_flags                 dd ?
  56.  
  57. ;---------------
  58. ; RFC783 page 21
  59.  
  60. ; send sequence
  61.         SND_UNA                 dd ? ; sequence number of unack'ed sent Packets
  62.         SND_NXT                 dd ? ; next send sequence number to use
  63.         SND_UP                  dd ? ; urgent pointer
  64.         SND_WL1                 dd ? ; window minus one
  65.         SND_WL2                 dd ? ;
  66.         ISS                     dd ? ; initial send sequence number
  67.         SND_WND                 dd ? ; send window
  68.  
  69. ; receive sequence
  70.         RCV_WND                 dd ? ; receive window
  71.         RCV_NXT                 dd ? ; next receive sequence number to use
  72.         RCV_UP                  dd ? ; urgent pointer
  73.         IRS                     dd ? ; initial receive sequence number
  74.  
  75. ;---------------------
  76. ; Additional variables
  77.  
  78. ; receive variables
  79.         RCV_ADV                 dd ?
  80.  
  81. ; retransmit variables
  82.         SND_MAX                 dd ?
  83.  
  84. ; congestion control
  85.         SND_CWND                dd ?
  86.         SND_SSTHRESH            dd ?
  87.  
  88. ;----------------------
  89. ; Transmit timing stuff
  90.         t_idle                  dd ?
  91.         t_rtt                   dd ?
  92.         t_rtseq                 dd ?
  93.         t_srtt                  dd ?
  94.         t_rttvar                dd ?
  95.         t_rttmin                dd ?
  96.         max_sndwnd              dd ?
  97.  
  98. ;-----------------
  99. ; Out-of-band data
  100.         t_oobflags              dd ?
  101.         t_iobc                  dd ?
  102.         t_softerror             dd ?
  103.  
  104.  
  105. ;---------
  106. ; RFC 1323                              ; the order of next 4 elements may not change
  107.  
  108.         SND_SCALE               db ?
  109.         RCV_SCALE               db ?
  110.         requested_s_scale       db ?
  111.         request_r_scale         db ?
  112.  
  113.         ts_recent               dd ?    ; a copy of the most-recent valid timestamp from the other end
  114.         ts_recent_age           dd ?
  115.         last_ack_sent           dd ?
  116.  
  117.  
  118. ;-------
  119. ; Timers
  120.         timer_retransmission    dd ? ; rexmt
  121.         timer_persist           dd ?
  122.         timer_keepalive         dd ? ; keepalive/syn timeout
  123.         timer_timed_wait        dd ? ; also used as 2msl timer
  124.  
  125. ; extra
  126.  
  127.         ts_ecr                  dd ? ; timestamp echo reply
  128.         ts_val                  dd ?
  129.         temp_bits               db ?
  130.  
  131. ends
  132.  
  133. struct  UDP_SOCKET              IP_SOCKET
  134.  
  135.         LocalPort               dw ? ; network byte order
  136.         RemotePort              dw ? ; network byte order
  137.         firstpacket             db ?
  138.  
  139. ends
  140.  
  141.  
  142. struct  ICMP_SOCKET             IP_SOCKET
  143.  
  144.         Identifier              dw ?
  145.  
  146. ends
  147.  
  148.  
  149. struct  RING_BUFFER
  150.  
  151.         start_ptr               dd ? ; Pointer to start of buffer
  152.         end_ptr                 dd ? ; pointer to end of buffer
  153.         read_ptr                dd ? ; Read pointer
  154.         write_ptr               dd ? ; Write pointer
  155.         size                    dd ? ; Number of bytes buffered
  156.  
  157. ends
  158.  
  159. struct  STREAM_SOCKET           TCP_SOCKET
  160.  
  161.         rcv                     RING_BUFFER
  162.         snd                     RING_BUFFER
  163.  
  164. ends