LibIRCClient 1.10 Used by Probotic
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

10 månader sedan
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /*
  2. * Copyright (C) 2004-2012 George Yunaev gyunaev@ulduzsoft.com
  3. *
  4. * This library is free software; you can redistribute it and/or modify it
  5. * under the terms of the GNU Lesser General Public License as published by
  6. * the Free Software Foundation; either version 3 of the License, or (at your
  7. * option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
  12. * License for more details.
  13. */
  14. #ifndef INCLUDE_IRC_DCC_H
  15. #define INCLUDE_IRC_DCC_H
  16. /*
  17. * This structure keeps the state of a single DCC connection.
  18. */
  19. struct irc_dcc_session_s
  20. {
  21. irc_dcc_session_t * next;
  22. irc_dcc_t id;
  23. void * ctx;
  24. socket_t sock; /*!< DCC socket */
  25. int dccmode; /*!< Boolean value to differ chat vs send
  26. requests. Changes the cb behavior - when
  27. it is chat, data is sent by lines with
  28. stripped CRLFs. In file mode, the data
  29. is sent as-is */
  30. int state;
  31. time_t timeout;
  32. FILE * dccsend_file_fp;
  33. unsigned int received_file_size;
  34. unsigned int file_confirm_offset;
  35. struct sockaddr_in remote_addr;
  36. char incoming_buf[LIBIRC_DCC_BUFFER_SIZE];
  37. unsigned int incoming_offset;
  38. char outgoing_buf[LIBIRC_DCC_BUFFER_SIZE];
  39. unsigned int outgoing_offset;
  40. port_mutex_t mutex_outbuf;
  41. irc_dcc_callback_t cb;
  42. };
  43. #endif /* INCLUDE_IRC_DCC_H */