transfer.h 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /*
  2. * transfer.h -- part of transfer.mod
  3. *
  4. */
  5. #ifndef _EGG_MOD_TRANSFER_TRANSFER_H
  6. #define _EGG_MOD_TRANSFER_TRANSFER_H
  7. enum dccsend_types {
  8. DCCSEND_OK = 0,
  9. DCCSEND_FULL, /* DCC table is full */
  10. DCCSEND_NOSOCK, /* Can not open a listening socket */
  11. DCCSEND_BADFN, /* No such file */
  12. DCCSEND_FEMPTY /* File is empty */
  13. };
  14. enum { /* transfer connection handling a ... */
  15. XFER_SEND, /* ... normal file-send to s.o. */
  16. XFER_RESEND, /* ... file-resend to s.o. */
  17. XFER_RESEND_PEND, /* ... (as above) and waiting for info */
  18. XFER_RESUME, /* ... file-send-resume to s.o. */
  19. XFER_RESUME_PEND, /* ... (as above) and waiting for conn */
  20. XFER_GET /* ... file-get from s.o. */
  21. };
  22. enum {
  23. XFER_ACK_UNKNOWN, /* We don't know how blocks are acked. */
  24. XFER_ACK_WITH_OFFSET, /* Skipped data is also counted as
  25. received. */
  26. XFER_ACK_WITHOUT_OFFSET /* Skipped data is NOT counted in ack. */
  27. };
  28. int raw_dcc_send(char *, char *, char *, int *);
  29. #ifdef MAKING_TRANSFER
  30. #define TRANSFER_REGET_PACKETID 0xfeab
  31. typedef struct {
  32. u_32bit_t byte_offset; /* Number of bytes to skip relative to
  33. the file beginning */
  34. u_16bit_t packet_id; /* Identification ID, should be equal
  35. to TRANSFER_REGET_PACKETID */
  36. u_8bit_t byte_order; /* Byte ordering, see byte_order_test() */
  37. } transfer_reget;
  38. #endif /* MAKING_TRANSFER */
  39. /* Language file additions */
  40. #define TRANSFER_COPY_FAILED "Refused dcc get %s: copy to %s FAILED!"
  41. #define TRANSFER_FILESYS_BROKEN "NOTICE %s :File system is broken; aborting queued files.\n"
  42. #define TRANSFER_FILE_ARRIVE "NOTICE %s :Here is a file from %s ...\n"
  43. #define TRANSFER_LOG_CONFULL "DCC connections full: GET %s [%s]"
  44. #define TRANSFER_NOTICE_CONFULL "NOTICE %s :DCC connections full; aborting queued files.\n"
  45. #define TRANSFER_LOG_SOCKERR "DCC socket error: GET %s [%s]"
  46. #define TRANSFER_NOTICE_SOCKERR "NOTICE %s :DCC socket error; aborting queued files.\n"
  47. #define TRANSFER_LOG_FILEEMPTY "Aborted dcc get %s: File is empty!"
  48. #define TRANSFER_NOTICE_FILEEMPTY "NOTICE %s :File %s is empty, aborting transfer.\n"
  49. #define TRANSFER_SEND_TO " Send to %s Filename\n"
  50. #define TRANSFER_LINES " ---------%s --------------------\n"
  51. #define TRANSFER_WAITING " %s%s %s [WAITING]\n"
  52. #define TRANSFER_DONE " %s%s %s (%.1f%% done)\n"
  53. #define TRANSFER_QUEUED_UP "No files queued up.\n"
  54. #define TRANSFER_TOTAL "Total: %d\n"
  55. #define TRANSFER_CANCELLED "Cancelled: %s to %s\n"
  56. #define TRANSFER_ABORT_DCCSEND "Cancelled: %s (aborted dcc send)\n"
  57. #define TRANSFER_NOTICE_ABORT "NOTICE %s :Transfer of %s aborted by %s\n"
  58. #define TRANSFER_DCC_CANCEL "DCC cancel: GET %s (%s) at %lu/%lu"
  59. #define TRANSFER_NO_MATCHES "No matches.\n"
  60. #define TRANSFER_CANCELLED_FILE "Cancelled %d file%s.\n"
  61. #define TRANSFER_COMPLETED_DCC "Completed dcc send %s from %s!%s"
  62. #define TRANSFER_FILENAME_TOOLONG "Filename %d length. Way To LONG."
  63. #define TRANSFER_NOTICE_FNTOOLONG "NOTICE %s :Filename %d length Way To LONG!\n"
  64. #define TRANSFER_TOO_BAD "Too Bad So Sad Your Dad!"
  65. #define TRANSFER_NOTICE_TOOBAD "NOTICE %s :Too Bad So Sad Your Dad!\n"
  66. #define TRANSFER_FAILED_MOVE "FAILED move `%s' from `%s'! File lost!"
  67. #define TRANSFER_THANKS "Thanks for the file!\n"
  68. #define TRANSFER_NOTICE_THANKS "NOTICE %s :Thanks for the file!\n"
  69. #define TRANSFER_USERFILE_LOST "Lost userfile transfer from %s; aborting."
  70. /* #define TRANSFER_BYE "0xf1e) */
  71. #define TRANSFER_USERFILE_DISCON "Disconnected %s (aborted userfile transfer)"
  72. #define TRANSFER_LOST_DCCSEND "Lost dcc send %s from %s!%s (%lu/%lu)"
  73. #define TRANSFER_REGET_PACKET "(!) reget packet from %s for %s is invalid!"
  74. #define TRANSFER_BEHIND_FILEEND "!! Resuming file transfer behind file end for %s to %s"
  75. #define TRANSFER_TRY_SKIP_AHEAD "!!! Trying to skip ahead on userfile transfer"
  76. #define TRANSFER_RESUME_FILE "Resuming file transfer at %dk for %s to %s"
  77. #define TRANSFER_COMPLETED_USERFILE "Completed userfile transfer to %s."
  78. #define TRANSFER_FINISHED_DCCSEND "Finished dcc send %s to %s"
  79. #define TRANSFER_ABORT_USERFILE "Lost userfile transfer; aborting."
  80. #define TRANSFER_LOST_DCCGET "Lost dcc get %s from %s!%s"
  81. #define TRANSFER_BOGUS_FILE_LENGTH "NOTICE %s :Bogus file length.\n"
  82. #define TRANSFER_FILE_TOO_LONG "File too long: dropping dcc send %s from %s!%s"
  83. #define TRANSFER_USERFILE_TIMEOUT "Timeout on userfile transfer."
  84. #define TRANSFER_DICONNECT_TIMEOUT "Disconnected %s (timed-out userfile transfer)"
  85. #define TRANSFER_NOTICE_TIMEOUT "NOTICE %s :Timeout during transfer, aborting %s.\n"
  86. #define TRANSFER_LOG_TIMEOUT "EGGDROP TEAM IS TEH GAY"
  87. #define TRANSFER_DCC_GET_TIMEOUT "DCC timeout: GET %s (%s) at %lu/%lu"
  88. #define TRANSFER_DCC_SEND_TIMEOUT "DCC timeout: SEND %s (%s) at %lu/%lu"
  89. #define TRANSFER_SEND "send (%lu)/%lu\n Filename: %s\n"
  90. #define TRANSFER_SEND_WAITED "send waited %lus\n Filename: %s\n"
  91. #define TRANSFER_CONN_SEND "conn send"
  92. #define TRANSFER_DCC_CONN "DCC connection: SEND %s (%s)"
  93. #define TRANSFER_NOTICE_BAD_CONN "NOTICE %s :Bad connection (%s)\n"
  94. #define TRANSFER_LOG_BAD_CONN "DCC bad connection: GET %s (%s!%s)"
  95. #define TRANSFER_BEGIN_DCC "Begin DCC %ssend %s to %s"
  96. #define TRANSFER_RE "re"
  97. #define TRANSFER_DCC_IGNORED "NOTICE %s :Ignoring resume of `%s': no data requested.\n"
  98. #define TRANSFER_UNLOADING "Unloading transfer module, killing all transfer connections..."
  99. #define TRANSFER_STAT_BLOCK " DCC block is %d%s, max concurrent d/ls is %d\n"
  100. #define TRANSFER_STAT_MEMORY " Using %d bytes of memory\n"
  101. /* end of langauge addon */
  102. extern struct dcc_table DCC_SEND, DCC_FORK_SEND;
  103. extern struct dcc_table DCC_GET, DCC_GET_PENDING;
  104. #endif /* _EGG_MOD_TRANSFER_TRANSFER_H */