icmpLib.h
上传用户:luoyougen
上传日期:2008-05-12
资源大小:23136k
文件大小:2k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* icmpLib.h -- VxWorks ICMP Library header file */
  2. /* Copyright 1990-2001 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01h,10oct01,rae  merge from truestack (ip.h, S_icmpLib_INVALID_ARGUMENT)
  7. 01g,22sep92,rrr  added support for c++
  8. 01f,04jul92,jcf  cleaned up.
  9. 01e,30jun92,jmm  moved checksum() declarations to vxLib.h
  10. 01d,11jun92,elh  changed parameters to ipHeaderCreate.
  11. 01c,26may92,rrr  the tree shuffle
  12. 01b,17apr92,elh  moved shared routine prototypes here (from bootpLib).
  13. 01a,11jun91,elh  created.
  14. */
  15. #ifndef __INCicmpLibh
  16. #define __INCicmpLibh
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. /* includes */
  21. #include "vwModNum.h"
  22. #include "net/if.h"
  23. #include "netinet/ip.h"
  24. /* errors */
  25. #define S_icmpLib_TIMEOUT (M_icmpLib | 1)
  26. #define S_icmpLib_NO_BROADCAST (M_icmpLib | 2)
  27. #define S_icmpLib_INVALID_INTERFACE (M_icmpLib | 3)
  28. #define S_icmpLib_INVALID_ARGUMENT (M_icmpLib | 4)
  29. /* function prototypes */
  30. #if defined(__STDC__) || defined(__cplusplus)
  31. STATUS    icmpMaskGet  (char *ifName, char *src, char *dst, int *pSubnet);
  32. void    ipHeaderCreate (int proto, struct in_addr *pSrcAddr,
  33.           struct in_addr *pDstAddr, struct ip *pih,
  34.   int length);
  35. u_char * ipHeaderVerify (struct ip *pih, int length, int proto);
  36. STATUS   etherSend (struct ifnet *pIf, struct ip *pDatagram, int length);
  37. #else /* __STDC__ */
  38. STATUS  icmpMaskGet  ();
  39. void  ipHeaderCreate ();
  40. u_char * ipHeaderVerify ();
  41. STATUS etherSend ();
  42. #endif /* __STDC__ */
  43. #ifdef __cplusplus
  44. }
  45. #endif
  46. #endif /* __INCicmpLibh */