niph.inc 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. Type
  2. Ptimestamp = ^timestamp;
  3. timestamp = record
  4. len : u_int8_t;
  5. ptr : u_int8_t;
  6. flag0 : dword;
  7. data : array[0..8] of u_int32_t;
  8. end;
  9. Piphdr = ^iphdr;
  10. iphdr = record
  11. flag0 : byte;
  12. tos : u_int8_t;
  13. tot_len : u_int16_t;
  14. id : u_int16_t;
  15. frag_off : u_int16_t;
  16. ttl : u_int8_t;
  17. protocol : u_int8_t;
  18. check : u_int16_t;
  19. saddr : u_int32_t;
  20. daddr : u_int32_t;
  21. end;
  22. Pip = ^ip;
  23. ip = record
  24. flag0 : byte;
  25. ip_tos : u_int8_t;
  26. ip_len : u_short;
  27. ip_id : u_short;
  28. ip_off : u_short;
  29. ip_ttl : u_int8_t;
  30. ip_p : u_int8_t;
  31. ip_sum : u_short;
  32. ip_src : in_addr;
  33. ip_dst : in_addr;
  34. end;
  35. const
  36. IP_RF = $8000;
  37. IP_DF = $4000;
  38. IP_MF = $2000;
  39. IP_OFFMASK = $1fff;
  40. type
  41. Pip_timestamp = ^ip_timestamp;
  42. ip_timestamp = record
  43. ipt_code : u_int8_t;
  44. ipt_len : u_int8_t;
  45. ipt_ptr : u_int8_t;
  46. flag0 : dword;
  47. data : array[0..8] of u_int32_t;
  48. end;
  49. const
  50. IPVERSION = 4;
  51. IP_MAXPACKET = 65535;
  52. IPTOS_TOS_MASK = $1E;
  53. function IPTOS_TOS(tos : longint) : longint;
  54. const
  55. IPTOS_LOWDELAY = $10;
  56. IPTOS_THROUGHPUT = $08;
  57. IPTOS_RELIABILITY = $04;
  58. IPTOS_LOWCOST = $02;
  59. IPTOS_MINCOST = IPTOS_LOWCOST;
  60. IPTOS_PREC_MASK = $e0;
  61. function IPTOS_PREC(tos : longint) : longint;
  62. const
  63. IPTOS_PREC_NETCONTROL = $e0;
  64. IPTOS_PREC_INTERNETCONTROL = $c0;
  65. IPTOS_PREC_CRITIC_ECP = $a0;
  66. IPTOS_PREC_FLASHOVERRIDE = $80;
  67. IPTOS_PREC_FLASH = $60;
  68. IPTOS_PREC_IMMEDIATE = $40;
  69. IPTOS_PREC_PRIORITY = $20;
  70. IPTOS_PREC_ROUTINE = $00;
  71. IPOPT_COPY = $80;
  72. IPOPT_CLASS_MASK = $60;
  73. IPOPT_NUMBER_MASK = $1f;
  74. function IPOPT_COPIED(o : longint) : longint;
  75. function IPOPT_CLASS(o : longint) : longint;
  76. function IPOPT_NUMBER(o : longint) : longint;
  77. const
  78. IPOPT_CONTROL = $00;
  79. IPOPT_RESERVED1 = $20;
  80. IPOPT_DEBMEAS = $40;
  81. IPOPT_MEASUREMENT = IPOPT_DEBMEAS;
  82. IPOPT_RESERVED2 = $60;
  83. IPOPT_EOL = 0;
  84. IPOPT_END = IPOPT_EOL;
  85. IPOPT_NOP = 1;
  86. IPOPT_NOOP = IPOPT_NOP;
  87. IPOPT_RR = 7;
  88. IPOPT_TS = 68;
  89. IPOPT_TIMESTAMP = IPOPT_TS;
  90. IPOPT_SECURITY = 130;
  91. IPOPT_SEC = IPOPT_SECURITY;
  92. IPOPT_LSRR = 131;
  93. IPOPT_SATID = 136;
  94. IPOPT_SID = IPOPT_SATID;
  95. IPOPT_SSRR = 137;
  96. IPOPT_RA = 148;
  97. IPOPT_OPTVAL = 0;
  98. IPOPT_OLEN = 1;
  99. IPOPT_OFFSET = 2;
  100. IPOPT_MINOFF = 4;
  101. MAX_IPOPTLEN = 40;
  102. IPOPT_TS_TSONLY = 0;
  103. IPOPT_TS_TSANDADDR = 1;
  104. IPOPT_TS_PRESPEC = 3;
  105. IPOPT_SECUR_UNCLASS = $0000;
  106. IPOPT_SECUR_CONFID = $f135;
  107. IPOPT_SECUR_EFTO = $789a;
  108. IPOPT_SECUR_MMMM = $bc4d;
  109. IPOPT_SECUR_RESTR = $af13;
  110. IPOPT_SECUR_SECRET = $d788;
  111. IPOPT_SECUR_TOPSECRET = $6bc5;
  112. MAXTTL = 255;
  113. IPDEFTTL = 64;
  114. IPFRAGTTL = 60;
  115. IPTTLDEC = 1;
  116. IP_MSS = 576;
  117. { ---------------------------------------------------------------------
  118. Borland compatibility types
  119. ---------------------------------------------------------------------}
  120. // Type