WINICMP.H
上传用户:dansui
上传日期:2007-01-04
资源大小:71k
文件大小:4k
源码类别:

Ftp客户端

开发平台:

WINDOWS

  1. #ifndef IP_ICMPHEADER
  2. #define IP_ICMPHEADER
  3. typedef struct icmp {
  4.        BYTE icmp_type;
  5.        BYTE icmp_code;
  6.        WORD icmp_cksum;
  7.        WORD icmp_id;
  8.        WORD icmp_seq;
  9.        char icmp_data[1];
  10. } ICMP, *LPICMP;
  11. typedef struct ip {
  12.        BYTE    ip_hl:4,                /* header length */
  13.                ip_v:4;                 /* version */
  14.        BYTE    ip_tos;                 /* type of service */
  15.        short   ip_len;                 /* total length */
  16.        u_short ip_id;                  /* identification */
  17.        short   ip_off;                 /* fragment offset field */
  18.        BYTE    ip_ttl;                 /* time to live */
  19.        BYTE    ip_p;                   /* protocol */
  20.        u_short ip_sum;                 /* checksum */
  21.        struct  in_addr ip_src, ip_dst; /* source and dest address */
  22. } IPSTRUCT, *LPIPSTRUCT;
  23. #define   SIZE_ICMP_HDR              8
  24. #define   SIZE_TIME_DATA             8
  25. #define   WM_PING_HOST           WM_USER+1
  26. #define   WM_PING_PROTO          WM_USER+2
  27. #define   WM_PING_CAS            WM_USER+3
  28. #define   WM_PING_RECEIVE        WM_USER+4
  29. #define   WM_PING_FINISH         WM_USER+5
  30. #define   WM_RESETCURSOR         WM_USER+10
  31. #define   ICMP_ECHOREPLY             0   /* echo reply */
  32. #define   ICMP_UNREACH               3   /* dest unreachable, codes: */
  33. #define   ICMP_UNREACH_NET           0   /* bad net */
  34. #define   ICMP_UNREACH_HOST          1   /* bad host */
  35. #define   ICMP_UNREACH_PROTOCOL      2   /* bad protocol */
  36. #define   ICMP_UNREACH_PORT          3   /* bad port */
  37. #define   ICMP_UNREACH_NEEDFRAG      4   /* IP_DF caused drop */
  38. #define   ICMP_UNREACH_SRCFAIL       5   /* src route failed */
  39. #define   ICMP_SOURCEQUENCH          4   /* packet lost, slow down */
  40. #define   ICMP_REDIRECT              5   /* shorter route, codes: */
  41. #define   ICMP_REDIRECT_NET          0   /* for network */
  42. #define   ICMP_REDIRECT_HOST         1   /* for host */
  43. #define   ICMP_REDIRECT_TOSNET       2   /* for tos and net */
  44. #define   ICMP_REDIRECT_TOSHOST      3   /* for tos and host */
  45. #define   ICMP_ECHO                  8   /* echo service */
  46. #define   ICMP_TIMXCEED             11   /* time exceeded, code: */
  47. #define   ICMP_PARAMPROB            12   /* ip header bad */
  48. #define   ICMP_TSTAMP               13   /* timestamp request */
  49. #define   ICMP_TSTAMPREPLY          14   /* timestamp reply */
  50. #define   ICMP_IREQ                 15   /* information request */
  51. #define   ICMP_IREQREPLY            16   /* information reply */
  52. #define   ICMP_MASKREQ              17   /* address mask request */
  53. #define   ICMP_MASKREPLY            18   /* address mask reply */
  54. #define   ICMP_TIMXCEED_INTRANS      0   /* ttl==0 in transit */
  55. #define   ICMP_TIMXCEED_REASS        1   /* ttl==0 in reass */
  56. #define ICMP_MAXTYPE                18
  57. #define ICMP_MINLEN     8                               /* abs minimum */
  58. #define ICMP_TSLEN      (8 + 3 * sizeof (n_time))       /* timestamp */
  59. #define ICMP_MASKLEN    12                              /* address mask */
  60. #define ICMP_ADVLENMIN  (8 + sizeof (struct ip) + 8)    /* min */
  61. #define ICMP_ADVLEN(p)  (8 + ((p)->icmp_ip.ip_hl << 2) + 8)
  62. #define STNORM          0
  63. /* Definition of the lowest telnet byte following an IAC byte */
  64. #define LOW_TEL_OPT 236
  65. #define TEL_EOF     236
  66. #define SUSP        237
  67. #define ABORT       238
  68. #define SE          240
  69. #define NOP         241
  70. #define DM          242
  71. #define BREAK       243
  72. #define IP          244
  73. #define AO          245
  74. #define AYT         246
  75. #define EC          247
  76. #define EL          248
  77. #define GOAHEAD     249
  78. #define SB          250
  79. #define WILL        251
  80. #define WONT        252
  81. #define DO          253
  82. #define DONT        254
  83. #define IAC         255
  84. #endif