home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / k95source / ckonet.h < prev    next >
C/C++ Source or Header  |  2020-01-01  |  4KB  |  141 lines

  1. /*
  2.   Author:  Jeffrey E Altman (jaltman@secure-endpoints.com),
  3.            Secure Endpoints Inc., New York City
  4.  
  5.   Copyright (C) 1985, 2004, Trustees of Columbia University in the City of New
  6.   York.
  7. */
  8.  
  9. /* assumes IBM TCP/IP 1.2.1 (or possibly higher) for OS/2 1.x and 2.x */
  10.  
  11. /* to avoid warnings/errors, you will have to fix the TCP/IP headers :
  12.  *
  13.  * in case of TCP/IP 1.2.1:
  14.  * - in netlib.h, remove the useless SIGALRM definition
  15.  * - in utils.h, replace // comments by regular ones
  16.  * (both headers are not included directly but via types.h) *
  17.  *
  18.  * in case of TCP/IP 2.0:
  19.  * - in types.h, remove the useless SIGALRM definition
  20.  */
  21.  
  22. #ifdef NT
  23. #include <winsock.h>
  24. #else /* NT */
  25. #include "ckotcp.h"
  26. #endif /* NT */
  27.  
  28. #define PIPENAML  _MAX_PATH   /* Max length for named pipe name */
  29.  
  30. #ifdef COMMENT
  31. /* Telnet constants */
  32. #define IAC  255
  33. #define AYT  246
  34. #define IP   244
  35. #define EC   247
  36. #define EL   248
  37. #define AO   245
  38. #define GA   249
  39. #endif /* COMMENT */
  40.  
  41. #define TCPIPLIB
  42. #define CK_LINGER
  43. #define CK_SOCKBUF
  44. #define CK_NODELAY
  45. #define CK_KEEPALIVE
  46.  
  47. #ifdef NT
  48. #ifdef COMMENT
  49. #define NT_TCP_OVERLAPPED
  50. #endif /* COMMENT */
  51. #ifndef caddr_t
  52. #define caddr_t char *
  53. #endif /* caddr_t */
  54. #ifndef bzero
  55. #define bzero(s,n) memset(s,0,n)
  56. #endif /* bzero */
  57. #ifndef bcopy
  58. #define bcopy(h,a,l) memcpy(a,h,l)
  59. #endif /* bcopy */
  60. #define socket_errno           WSAGetLastError()
  61. #ifndef NT_TCP_OVERLAPPED
  62. #define socket_read(f,s,n)     recv(f,s,n,0)
  63. #define socket_write(f,s,n)    send(f,s,n,0)
  64. #define socket_recv(f,s,n,o)   recv(f,s,n,o)
  65. #define socket_send(f,s,n,o)   send(f,s,n,o)
  66. #else /* NT_TCP_OVERLAPPED */
  67. _PROTOTYP(int socket_read, (int,char *,int));
  68. _PROTOTYP(int socket_write, (int,char *,int));
  69. _PROTOTYP(int socket_recv, (int,char *,int,int));
  70. _PROTOTYP(int socket_send, (int,char *,int,int));
  71. #endif /* NT_TCP_OVERLAPPED */
  72. #define socket_close closesocket
  73. #define socket_ioctl ioctlsocket
  74. #define strupr _strupr
  75. #else /* NT */
  76. #define socket_errno           errno
  77. #define socket_read(f,s,n)     recv(f,s,n,0)
  78. #define socket_write(f,s,n)    send(f,s,n,0)
  79. #define socket_recv(f,s,n,o)   recv(f,s,n,o)
  80. #define socket_send(f,s,n,o)   send(f,s,n,o)
  81. #define socket_close           soclose
  82. #define socket_ioctl           ioctl
  83. /* this is a bit dangerous, but we always read a long with sioctl */
  84. #endif /* NT */
  85.  
  86. #ifdef CK_SOCKS
  87. #ifdef CK_SOCKS5
  88. _PROTOTYP(int SOCKSaccept, (int, struct sockaddr *, int *));
  89. _PROTOTYP(int SOCKSbind, (int, struct sockaddr *, int));
  90. _PROTOTYP(int SOCKSconnect, (int, struct sockaddr *, int));
  91. _PROTOTYP(int SOCKSgetsockname, (int, struct sockaddr *, int *));
  92. _PROTOTYP(int SOCKSlisten, (int, int));
  93. #else /* CK_SOCKS5 */
  94. _PROTOTYP(int Raccept, (int, struct sockaddr *, int *));
  95. _PROTOTYP(int Rbind, (int, struct sockaddr *, int));
  96. _PROTOTYP(int Rconnect, (int, struct sockaddr *, int));
  97. _PROTOTYP(int Rgetsockname, (int, struct sockaddr *, int *));
  98. _PROTOTYP(int Rlisten, (int, int));
  99. #endif /* CK_SOCKS5 */
  100. _PROTOTYP(int SOCKS_init, (VOID));
  101. #endif /* CK_SOCKS */
  102.  
  103. _PROTOTYP( void netinit, (void) );
  104. _PROTOTYP( int netcleanup, (void) );
  105.  
  106. _PROTOTYP( int os2_netopen, (char *, int *, int) );
  107. _PROTOTYP( int os2_netclos, (void) );
  108. _PROTOTYP( int os2_netflui, (void) );
  109. _PROTOTYP( int os2_nettchk, (void) );
  110. _PROTOTYP( int os2_netbreak, (void) );
  111. _PROTOTYP( int os2_netinc, (int) );
  112. _PROTOTYP( int os2_netxin, (int, char *) ) ;
  113. _PROTOTYP( int os2_nettol, (char *, int) );
  114. _PROTOTYP( int os2_nettoc, (int) );
  115. _PROTOTYP( int os2_netxout, (char *, int) );
  116.  
  117. /* Can't place pragmas in ck[cu].[chw] modules */
  118. extern CHAR ttibuf[];
  119. #ifndef NT
  120. #pragma seg16(ttibuf)
  121. #endif /* NT */
  122.  
  123. #ifdef NETCMD
  124. _PROTOTYP( void NetCmdInit, (void) );
  125. _PROTOTYP( void NetCmdCleanup, (void) );
  126. _PROTOTYP( int  NetCmdInBuf, (void) );
  127. _PROTOTYP( int  NetCmdPutStr, (char *) );
  128. _PROTOTYP( int  NetCmdPutChars, (char *, int) );
  129. _PROTOTYP( int  NetCmdPutChar, (char) );
  130. _PROTOTYP( int  NetCmdGetChar, (char *) );
  131. #endif
  132.  
  133. #ifdef TCPSOCKET
  134. _PROTOTYP(int tcpsrv_open,( char * name, int * lcl, int nett, int timo ));
  135. _PROTOTYP(void tcpsrv_close,(void));
  136. _PROTOTYP(int tcpsocket_open,( char * name, int * lcl, int nett, int timo));
  137. #endif
  138.  
  139.  
  140.  
  141.