164 lines
4.7 KiB
PHP
164 lines
4.7 KiB
PHP
|
struct LHEAD
|
||
|
next dd ? ;next object in list
|
||
|
prev dd ? ;prev object in list
|
||
|
ends
|
||
|
|
||
|
struct MUTEX
|
||
|
lhead LHEAD
|
||
|
count dd ?
|
||
|
ends
|
||
|
|
||
|
|
||
|
struct SOCKET
|
||
|
|
||
|
NextPtr dd ? ; pointer to next socket in list
|
||
|
PrevPtr dd ? ; pointer to previous socket in list
|
||
|
Number dd ? ; socket number
|
||
|
|
||
|
mutex MUTEX
|
||
|
|
||
|
PID dd ? ; application process id
|
||
|
Domain dd ? ; INET/UNIX/..
|
||
|
Type dd ? ; RAW/STREAM/DGRAP
|
||
|
Protocol dd ? ; ICMP/IPv4/ARP/TCP/UDP
|
||
|
errorcode dd ?
|
||
|
device dd ?
|
||
|
|
||
|
options dd ?
|
||
|
state dd ?
|
||
|
backlog dw ? ; how many incomming connections that can be queued
|
||
|
|
||
|
snd_proc dd ?
|
||
|
rcv_proc dd ?
|
||
|
|
||
|
ends
|
||
|
|
||
|
struct IP_SOCKET SOCKET
|
||
|
|
||
|
LocalIP rd 4 ; network byte order
|
||
|
RemoteIP rd 4 ; network byte order
|
||
|
|
||
|
ends
|
||
|
|
||
|
struct TCP_SOCKET IP_SOCKET
|
||
|
|
||
|
LocalPort dw ? ; network byte order
|
||
|
RemotePort dw ? ; network byte order
|
||
|
|
||
|
t_state dd ? ; TCB state
|
||
|
t_rxtshift db ?
|
||
|
rb 3 ; align
|
||
|
t_rxtcur dd ?
|
||
|
t_dupacks dd ?
|
||
|
t_maxseg dd ?
|
||
|
t_force dd ?
|
||
|
t_flags dd ?
|
||
|
|
||
|
;---------------
|
||
|
; RFC783 page 21
|
||
|
|
||
|
; send sequence
|
||
|
SND_UNA dd ? ; sequence number of unack'ed sent Packets
|
||
|
SND_NXT dd ? ; next send sequence number to use
|
||
|
SND_UP dd ? ; urgent pointer
|
||
|
SND_WL1 dd ? ; window minus one
|
||
|
SND_WL2 dd ? ;
|
||
|
ISS dd ? ; initial send sequence number
|
||
|
SND_WND dd ? ; send window
|
||
|
|
||
|
; receive sequence
|
||
|
RCV_WND dd ? ; receive window
|
||
|
RCV_NXT dd ? ; next receive sequence number to use
|
||
|
RCV_UP dd ? ; urgent pointer
|
||
|
IRS dd ? ; initial receive sequence number
|
||
|
|
||
|
;---------------------
|
||
|
; Additional variables
|
||
|
|
||
|
; receive variables
|
||
|
RCV_ADV dd ?
|
||
|
|
||
|
; retransmit variables
|
||
|
SND_MAX dd ?
|
||
|
|
||
|
; congestion control
|
||
|
SND_CWND dd ?
|
||
|
SND_SSTHRESH dd ?
|
||
|
|
||
|
;----------------------
|
||
|
; Transmit timing stuff
|
||
|
t_idle dd ?
|
||
|
t_rtt dd ?
|
||
|
t_rtseq dd ?
|
||
|
t_srtt dd ?
|
||
|
t_rttvar dd ?
|
||
|
t_rttmin dd ?
|
||
|
max_sndwnd dd ?
|
||
|
|
||
|
;-----------------
|
||
|
; Out-of-band data
|
||
|
t_oobflags dd ?
|
||
|
t_iobc dd ?
|
||
|
t_softerror dd ?
|
||
|
|
||
|
|
||
|
;---------
|
||
|
; RFC 1323 ; the order of next 4 elements may not change
|
||
|
|
||
|
SND_SCALE db ?
|
||
|
RCV_SCALE db ?
|
||
|
requested_s_scale db ?
|
||
|
request_r_scale db ?
|
||
|
|
||
|
ts_recent dd ? ; a copy of the most-recent valid timestamp from the other end
|
||
|
ts_recent_age dd ?
|
||
|
last_ack_sent dd ?
|
||
|
|
||
|
|
||
|
;-------
|
||
|
; Timers
|
||
|
timer_retransmission dd ? ; rexmt
|
||
|
timer_persist dd ?
|
||
|
timer_keepalive dd ? ; keepalive/syn timeout
|
||
|
timer_timed_wait dd ? ; also used as 2msl timer
|
||
|
|
||
|
; extra
|
||
|
|
||
|
ts_ecr dd ? ; timestamp echo reply
|
||
|
ts_val dd ?
|
||
|
temp_bits db ?
|
||
|
|
||
|
ends
|
||
|
|
||
|
struct UDP_SOCKET IP_SOCKET
|
||
|
|
||
|
LocalPort dw ? ; network byte order
|
||
|
RemotePort dw ? ; network byte order
|
||
|
firstpacket db ?
|
||
|
|
||
|
ends
|
||
|
|
||
|
|
||
|
struct ICMP_SOCKET IP_SOCKET
|
||
|
|
||
|
Identifier dw ?
|
||
|
|
||
|
ends
|
||
|
|
||
|
|
||
|
struct RING_BUFFER
|
||
|
|
||
|
start_ptr dd ? ; Pointer to start of buffer
|
||
|
end_ptr dd ? ; pointer to end of buffer
|
||
|
read_ptr dd ? ; Read pointer
|
||
|
write_ptr dd ? ; Write pointer
|
||
|
size dd ? ; Number of bytes buffered
|
||
|
|
||
|
ends
|
||
|
|
||
|
struct STREAM_SOCKET TCP_SOCKET
|
||
|
|
||
|
rcv RING_BUFFER
|
||
|
snd RING_BUFFER
|
||
|
|
||
|
ends
|