WINSK.H
上传用户:qiye66666
上传日期:2007-01-03
资源大小:202k
文件大小:2k
源码类别:

TCP/IP协议栈

开发平台:

Visual C++

  1. #include "winsock.h"  /* Must be included before TCPSTREAM definition */
  2. /* TCP input buffer -- must be large enough to prevent overflow */
  3. #define BUFLEN 8192
  4. /* TCP I/O stream (must be before osdep.h is included) */
  5. #define TCPSTREAM struct tcp_stream
  6. TCPSTREAM {
  7.   char *host;                   /* host name */
  8.   char *localhost;              /* local host name */
  9.   SOCKET tcps;                   /* tcp socket */
  10.   long ictr;                    /* input counter */
  11.   char *iptr;                   /* input pointer */
  12.   char ibuf[BUFLEN];            /* input buffer */
  13. };
  14. /* Holds  the addresses of the socket routines in the socket dll */
  15. #define SOCKDLL struct SockDll
  16. SOCKDLL  {
  17.   SOCKET (PASCAL FAR * socket)(int af, int type, int protocol);
  18.   int (PASCAL FAR * connect)(SOCKET s, struct sockaddr FAR *name, int namelen);
  19.   int (PASCAL FAR *closesocket)(SOCKET s);
  20.   int (PASCAL FAR *select)(int nfds, fd_set FAR *readfds, fd_set FAR *writefds, fd_set FAR *exceptfds, struct timeval FAR *timeout);
  21.   int (PASCAL FAR *recv)(SOCKET s, char FAR *buf, int len, int flags);
  22.   int (PASCAL FAR *send)(SOCKET s, char FAR *buf, int len, int flags);
  23.   struct hostent * (PASCAL FAR *gethostbyname)(char FAR *name);
  24.   int (PASCAL FAR *gethostname)(char FAR *name, int namelen);
  25.   unsigned long (PASCAL FAR *inet_addr)(char FAR *cp);
  26.   unsigned long (PASCAL FAR *so_rhost)(char  **cp);
  27.   u_long (PASCAL FAR *htonl)(u_long hostlong);
  28.   u_short (PASCAL FAR *htons)(u_short hostshort);
  29.   u_long (PASCAL FAR *ntohl)(u_long netlong);
  30.   u_short (PASCAL FAR *ntohs)(u_short hostshort);
  31. };
  32. void wat_init_libs(void) ;           /* for testing only */
  33. int TCP_init_libs(char *global_dir);
  34. void TCP_free_libs(void);