home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 024 / psi110g.zip / SOCKET.H < prev    next >
C/C++ Source or Header  |  1994-10-09  |  6KB  |  198 lines

  1. /* Mods by PA0GRI */
  2. #ifndef _SOCKET_H
  3. #define _SOCKET_H
  4.   
  5. #ifndef _GLOBAL_H
  6. #include "global.h"
  7. #endif
  8.   
  9. #ifdef  ANSIPROTO
  10. #include <stdarg.h>
  11. #endif
  12.   
  13. #ifndef _MBUF_H
  14. #include "mbuf.h"
  15. #endif
  16.   
  17. #ifndef _PROC_H
  18. #include "proc.h"
  19. #endif
  20.   
  21. #ifndef _SOCKADDR_H
  22. #include "sockaddr.h"
  23. #endif
  24.   
  25. /* Local IP wildcard address */
  26. #define INADDR_ANY  0x0L
  27.   
  28. /* IP protocol numbers */
  29. /* now in internet.h */
  30.   
  31. /* TCP port numbers */
  32. #define IPPORT_ECHO 7   /* Echo data port */
  33. #define IPPORT_DISCARD  9   /* Discard data port */
  34. #define IPPORT_FTPD 20  /* FTP Data port */
  35. #define IPPORT_FTP  21  /* FTP Control port */
  36. #define IPPORT_TELNET   23  /* Telnet port */
  37. #define IPPORT_SMTP 25  /* Mail port */
  38. #define IPPORT_TIME 37  /* Time port */
  39. #define IPPORT_MTP  57  /* Secondary telnet protocol */
  40. #define IPPORT_FINGER   79  /* Finger port */
  41. #define IPPORT_TTYLINK  87  /* Chat port */
  42. #define IPPORT_POP  109 /* Pop port */
  43. #define IPPORT_POP2 109 /* Pop port */
  44. #define IPPORT_POP3 110 /* Pop port */
  45. #define IPPORT_NNTP 119 /* Netnews port */
  46. #define IPPORT_RLOGIN 513       /* Remote login */
  47. #define IPPORT_CONVERS 3600     /* Converse */
  48. #define IPPORT_XCONVERS 3601    /* LZW Convers */
  49. #define IPPORT_CALLDB 1235      /* Pulled out of the air GRACILIS */
  50. #define IPPORT_TERM 5000        /* Serial interface server port */
  51.   
  52. /* UDP port numbers */
  53. #define IPPORT_DOMAIN   53
  54. #define IPPORT_BOOTPS   67  /* bootp server */
  55. #define IPPORT_BOOTPC   68  /* bootp client */
  56. #define IPPORT_RWHO 513
  57. #define IPPORT_RIP  520
  58. #define IPPORT_TIMED    525 /* Time daemon */
  59. #define IPPORT_REMOTE   1234    /* Pulled out of the air */
  60. #define IPPORT_BSR  5000    /* BSR X10 interface server port (UDP) */
  61.   
  62. #define AF_INET     0
  63. #define AF_AX25     1
  64. #define AF_NETROM   2
  65. #define AF_LOCAL    3
  66.   
  67. #define SOCK_STREAM 0
  68. #define SOCK_DGRAM  1
  69. #define SOCK_RAW    2
  70. #define SOCK_SEQPACKET  3
  71.   
  72. /* Socket flag values - controls newline mapping */
  73. #define SOCK_BINARY 0   /* socket in raw (binary) mode */
  74. #define SOCK_ASCII  1   /* socket in cooked (newline mapping) mode */
  75. #define SOCK_QUERY  2   /* Return setting without change */
  76.   
  77. /* Socket noblock values, set with sockblock() */
  78. #define SOCK_BLOCK      0
  79. #define SOCK_NOTXBLOCK  1
  80. #define SOCK_NORXBLOCK  2   /* currently not implemented - WG7J */
  81.   
  82. #ifdef LINUX
  83.   
  84. /*
  85.  * Avoid collisions with the C library's socket interface.  We may want to use
  86.  * that in the future, anyway.  (Something like WAMPES tcpgate, but with some
  87.  * protections.)
  88.  */
  89.   
  90. #define accept j_accept
  91. #define bind j_bind
  92. #define connect j_connect
  93. #define getpeername j_getpeername
  94. #define getsockname j_getsockname
  95. #define listen j_listen
  96. #define setflush j_setflush
  97. #define shutdown j_shutdown
  98. #define socket j_socket
  99. #define socketpair j_socketpair
  100. #define recv j_recv
  101. #define recvfrom j_recvfrom
  102. #define send j_send
  103. #define sendto j_sendto
  104.   
  105. #define EABORT ECONNRESET
  106. #define EALARM ETIME
  107.   
  108. #else /* LINUX */
  109.   
  110. #define EMFILE  1
  111. #define EBADF   2
  112. #define EINVAL  3
  113. #define ESOCKTNOSUPPORT 4
  114. #define EAFNOSUPPORT    5
  115. #define EOPNOTSUPP  6
  116. #define EFAULT      7
  117. #define ENOTCONN    8
  118. #define ECONNREFUSED    9
  119. #define EAFNOSUPP   10
  120. #define EISCONN     11
  121. #define EWOULDBLOCK 12
  122. #define EINTR       13
  123. #define EADDRINUSE  14
  124. #define ENOMEM      15
  125. #define EMSGSIZE    16
  126. #define EALARM      17
  127. #define EABORT      18
  128. #define ECONNNOROUTE 19
  129.   
  130. #endif /* LINUX */
  131.   
  132. /* In socket.c: */
  133. extern int Axi_sock;    /* Socket listening to AX25 (there can be only one) */
  134.   
  135. int accept __ARGS((int s,char *peername,int *peernamelen));
  136. int bind __ARGS((int s,char *name,int namelen));
  137. int close_s __ARGS((int s));
  138. int connect __ARGS((int s,char *peername,int peernamelen));
  139. void freesock __ARGS((struct proc *pp));
  140. int getpeername __ARGS((int s,char *peername,int *peernamelen));
  141. int getsockname __ARGS((int s,char *name,int *namelen));
  142. int listen __ARGS((int s,int backlog));
  143. int recv_mbuf __ARGS((int s,struct mbuf **bpp,int flags,char *from,int *fromlen));
  144. int send_mbuf __ARGS((int s,struct mbuf *bp,int flags,char *to,int tolen));
  145. int setflush __ARGS((int s,int c));
  146. int shutdown __ARGS((int s,int how));
  147. int socket __ARGS((int af,int type,int protocol));
  148. int sockkick __ARGS((int s));
  149. int socklen __ARGS((int s,int rtx));
  150. struct proc *sockowner __ARGS((int s,struct proc *newowner));
  151. int usesock __ARGS((int s));
  152. int socketpair __ARGS((int af,int type,int protocol,int sv[]));
  153. int getnextsocket __ARGS((int s));
  154.   
  155. /* In sockuser.c: */
  156. void flushsocks __ARGS((void));
  157. int keywait __ARGS((char *prompt,int flush));
  158. int recv __ARGS((int s,char *buf,int len,int flags));
  159. int recvchar __ARGS((int s));
  160. int recvfrom __ARGS((int s,char *buf,int len,int flags,char *from,int *fromlen));
  161. int recvline __ARGS((int s,char *buf,unsigned len));
  162. int rrecvchar __ARGS((int s));
  163. int send __ARGS((int s,char *buf,int len,int flags));
  164. int sendto __ARGS((int s,char *buf,int len,int flags,char *to,int tolen));
  165. int seteol __ARGS((int s,char *seq));
  166. int sockmode __ARGS((int s,int mode));
  167. int sockblock __ARGS((int s,int value));
  168. void tflush __ARGS((void));
  169. int tprintf __ARGS((char *fmt,...));
  170. int tputc __ARGS((char c));
  171. #ifdef LINUX
  172. #define tputs j_tputs
  173. #endif
  174. int tputs __ARGS((char *s));
  175. #ifdef LINUX
  176. int tcmdprintf __ARGS((FILE *fp, char *fmt, ...));
  177. int tfprintf __ARGS((FILE *fp, char *fmt, ...));
  178. #endif
  179. int usflush __ARGS((int s));
  180. int usprintf __ARGS((int s,char *fmt,...));
  181. int usputc __ARGS((int s,char c));
  182. int usputs __ARGS((int s,char *x));
  183. int usvprintf __ARGS((int s,char *fmt, va_list args));
  184.   
  185. /* In file sockutil.c: */
  186. char *psocket __ARGS((void *p));
  187. char *sockerr __ARGS((int s));
  188. char *sockstate __ARGS((int s));
  189.   
  190. /* In tcpuser.c */
  191. int start_tcp __ARGS((int16 port,char *name,void (*task)(),int stack));
  192. int stop_tcp __ARGS((int16 port));
  193.   
  194. /* In mailbox.c: */
  195. extern char Nosock[];
  196.   
  197. #endif  /* _SOCKET_H */
  198.