ntcph.inc 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. const
  2. TCP_NODELAY = 1;
  3. TCP_MAXSEG = 2;
  4. TCP_CORK = 3;
  5. TCP_KEEPIDLE = 4;
  6. TCP_KEEPINTVL = 5;
  7. TCP_KEEPCNT = 6;
  8. TCP_SYNCNT = 7;
  9. TCP_LINGER2 = 8;
  10. TCP_DEFER_ACCEPT = 9;
  11. TCP_WINDOW_CLAMP = 10;
  12. TCP_INFO = 11;
  13. TCP_QUICKACK = 12;
  14. const
  15. TH_FIN = $01;
  16. TH_SYN = $02;
  17. TH_RST = $04;
  18. TH_PUSH = $08;
  19. TH_ACK = $10;
  20. TH_URG = $20;
  21. type
  22. Ptcphdr = ^tcphdr;
  23. tcphdr = record
  24. source : u_int16_t;
  25. dest : u_int16_t;
  26. seq : u_int32_t;
  27. ack_seq : u_int32_t;
  28. flag0 : u_int16_t;
  29. window : u_int16_t;
  30. check : u_int16_t;
  31. urg_ptr : u_int16_t;
  32. end;
  33. Const
  34. TCP_ESTABLISHED = 1;
  35. TCP_SYN_SENT = 2;
  36. TCP_SYN_RECV = 3;
  37. TCP_FIN_WAIT1 = 4;
  38. TCP_FIN_WAIT2 = 5;
  39. TCP_TIME_WAIT = 6;
  40. TCP_CLOSE = 7;
  41. TCP_CLOSE_WAIT = 8;
  42. TCP_LAST_ACK = 9;
  43. TCP_LISTEN = 10;
  44. TCP_CLOSING = 11;
  45. TCPOPT_EOL = 0;
  46. TCPOPT_NOP = 1;
  47. TCPOPT_MAXSEG = 2;
  48. TCPOLEN_MAXSEG = 4;
  49. TCPOPT_WINDOW = 3;
  50. TCPOLEN_WINDOW = 3;
  51. TCPOPT_SACK_PERMITTED = 4;
  52. TCPOLEN_SACK_PERMITTED = 2;
  53. TCPOPT_SACK = 5;
  54. TCPOPT_TIMESTAMP = 8;
  55. TCPOLEN_TIMESTAMP = 10;
  56. TCPOLEN_TSTAMP_APPA = TCPOLEN_TIMESTAMP + 2;
  57. TCPOPT_TSTAMP_HDR = (((TCPOPT_NOP shl 24) or (TCPOPT_NOP shl 16)) or (TCPOPT_TIMESTAMP shl 8)) or TCPOLEN_TIMESTAMP;
  58. TCP_MSS = 512;
  59. TCP_MAXWIN = 65535;
  60. TCP_MAX_WINSHIFT = 14;
  61. SOL_TCP = 6;
  62. TCPI_OPT_TIMESTAMPS = 1;
  63. TCPI_OPT_SACK = 2;
  64. TCPI_OPT_WSCALE = 4;
  65. TCPI_OPT_ECN = 8;
  66. type
  67. tcp_ca_state = (
  68. TCP_CA_Open := 0,
  69. TCP_CA_Disorder := 1,
  70. TCP_CA_CWR := 2,
  71. TCP_CA_Recovery := 3,
  72. TCP_CA_Loss := 4);
  73. type
  74. Ptcp_info = ^_tcp_info;
  75. _tcp_info = record // Renamed, conflicts with TCP_INFO
  76. tcpi_state : u_int8_t;
  77. tcpi_ca_state : u_int8_t;
  78. tcpi_retransmits : u_int8_t;
  79. tcpi_probes : u_int8_t;
  80. tcpi_backoff : u_int8_t;
  81. tcpi_options : u_int8_t;
  82. flag0 : u_int8_t;
  83. tcpi_rto : u_int32_t;
  84. tcpi_ato : u_int32_t;
  85. tcpi_snd_mss : u_int32_t;
  86. tcpi_rcv_mss : u_int32_t;
  87. tcpi_unacked : u_int32_t;
  88. tcpi_sacked : u_int32_t;
  89. tcpi_lost : u_int32_t;
  90. tcpi_retrans : u_int32_t;
  91. tcpi_fackets : u_int32_t;
  92. tcpi_last_data_sent : u_int32_t;
  93. tcpi_last_ack_sent : u_int32_t;
  94. tcpi_last_data_recv : u_int32_t;
  95. tcpi_last_ack_recv : u_int32_t;
  96. tcpi_pmtu : u_int32_t;
  97. tcpi_rcv_ssthresh : u_int32_t;
  98. tcpi_rtt : u_int32_t;
  99. tcpi_rttvar : u_int32_t;
  100. tcpi_snd_ssthresh : u_int32_t;
  101. tcpi_snd_cwnd : u_int32_t;
  102. tcpi_advmss : u_int32_t;
  103. tcpi_reordering : u_int32_t;
  104. end;
  105. { ---------------------------------------------------------------------
  106. Borland compatibility types
  107. ---------------------------------------------------------------------}
  108. // Type