pmain.c
上传用户:minyiyu
上传日期:2018-12-24
资源大小:864k
文件大小:1k
源码类别:

Telnet服务器

开发平台:

Unix_Linux

  1. #include "innbbsconf.h"
  2. #include "daemon.h"
  3. /*char *AccessFile=ACCESSFILE;*/
  4. #define INNBBSDPORT1 "1904"
  5. #define INNBBSDPORT2 "1234"
  6. #define INNBBSDPATH1  ".innbbsd1"
  7. #define INNBBSDPATH2  ".innbbsd2"
  8. pmain(port)
  9. char   *port;
  10. {
  11. if (port == NULL) {
  12. int     rel;
  13. /* installbbstalkd(); */
  14. fprintf(stderr, "Trying to listen in port %sn", INNBBSDPORT1);
  15. rel = open_listen(INNBBSDPORT1, "tcp", NULL);
  16. #ifdef DEBUG
  17. printf("port fd %d allocatedn", rel);
  18. #endif
  19. if (rel < 0) {
  20. fprintf(stderr, "Trying to listen in port %sn", INNBBSDPORT2);
  21. return open_listen(INNBBSDPORT2, "tcp", NULL);
  22. }
  23. return rel;
  24. } else {
  25. #ifdef DEBUG
  26. printf("start to allocate portn");
  27. #endif
  28. return open_listen(port, "tcp", NULL);
  29. }
  30. }
  31. p_unix_main(path)
  32. char   *path;
  33. {
  34. if (path == NULL) {
  35. int     rel;
  36. /* installbbstalkd(); */
  37. fprintf(stderr, "Trying to listen in port %sn", INNBBSDPATH1);
  38. rel = open_unix_listen(INNBBSDPATH1, "tcp", NULL);
  39. #ifdef DEBUG
  40. printf("port fd %d allocatedn", rel);
  41. #endif
  42. if (rel < 0) {
  43. fprintf(stderr, "Trying to listen in port %sn", INNBBSDPATH2);
  44. return open_listen(INNBBSDPATH2, "tcp", NULL);
  45. }
  46. return rel;
  47. } else {
  48. #ifdef DEBUG
  49. printf("start to allocate path %sn", path);
  50. #endif
  51. int     fd = unixclient(path, "tcp");
  52. if (fd < 0)
  53. unlink(path);
  54. else
  55. close(fd);
  56. return open_unix_listen(path, "tcp", NULL);
  57. }
  58. }