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

VxWorks

开发平台:

C/C++

  1. /* sockFunc.h - socket function table header */
  2. /* Copyright 1984 - 2001 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01f,12oct01,rae  merge from truestack (add sockLibMap)
  7. 01e,29apr99,pul  Upgraded NPT phase3 code to tor2.0.0
  8. 01d,02feb99,sgv  added zbufRtn to sockFunc structure.
  9. 01c,02aug95,dzb  removed inclusion of iosLib.h, added sys/socket.h.
  10. 01b,25jul95,dzb  removed SOCKET_DEV structure.
  11. 01a,21jul95,dzb  created.
  12. */
  13. #ifndef __INCsockFunch
  14. #define __INCsockFunch
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. /* includes */
  19. #include "sys/times.h"
  20. #include "sys/socket.h"
  21. /* HIDDEN */
  22. /* typedefs */
  23. #if ((CPU_FAMILY==I960) && (defined __GNUC__))
  24. #pragma align 1                 /* tell gcc960 not to optimize alignments */
  25. #endif  /* CPU_FAMILY==I960 */
  26. typedef struct sockFunc /* SOCK_FUNC */
  27.     {
  28.     FUNCPTR libInitRtn; /* sockLibInit() */
  29.     FUNCPTR acceptRtn; /* accept() */
  30.     FUNCPTR bindRtn; /* bind() */
  31.     FUNCPTR connectRtn; /* connect() */
  32.     FUNCPTR connectWithTimeoutRtn; /* connectWithTimeout() */
  33.     FUNCPTR getpeernameRtn; /* getpeername() */
  34.     FUNCPTR getsocknameRtn; /* getsockname() */
  35.     FUNCPTR listenRtn; /* listen() */
  36.     FUNCPTR recvRtn; /* recv() */
  37.     FUNCPTR recvfromRtn; /* recvfrom() */
  38.     FUNCPTR recvmsgRtn; /* recvmsg() */
  39.     FUNCPTR sendRtn; /* send() */
  40.     FUNCPTR sendtoRtn; /* sendto() */
  41.     FUNCPTR sendmsgRtn; /* sendmsg() */
  42.     FUNCPTR shutdownRtn; /* shutdown() */
  43.     FUNCPTR socketRtn; /* socket() */
  44.     FUNCPTR getsockoptRtn; /* getsockopt() */
  45.     FUNCPTR setsockoptRtn; /* setsockopt() */
  46.     FUNCPTR     zbufRtn; /* ZBUF support  */
  47.     } SOCK_FUNC;
  48. /* typedefs */
  49. typedef struct sockLibMap
  50.     {
  51.     int domainMap; /* mapping address family  */
  52.     int domainReal; /* real address family     */
  53.     SOCK_FUNC * pSockFunc; /* socket function table   */
  54.     struct sockLibMap * pNext; /* next socket lib mapping */
  55.     } SOCK_LIB_MAP;
  56.     
  57. #if ((CPU_FAMILY==I960) && (defined __GNUC__))
  58. #pragma align 0                 /* turn off alignment requirement */
  59. #endif  /* CPU_FAMILY==I960 */
  60. /* END_HIDDEN */
  61. #ifdef __cplusplus
  62. }
  63. #endif
  64. #endif /* __INCsockFunch */