mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-08 16:57:16 +01:00
55 lines
1.5 KiB
C
55 lines
1.5 KiB
C
|
/*
|
||
|
* Copyright (C) 2004-2012 George Yunaev gyunaev@ulduzsoft.com
|
||
|
*
|
||
|
* This library is free software; you can redistribute it and/or modify it
|
||
|
* under the terms of the GNU Lesser General Public License as published by
|
||
|
* the Free Software Foundation; either version 3 of the License, or (at your
|
||
|
* option) any later version.
|
||
|
*
|
||
|
* This library is distributed in the hope that it will be useful, but WITHOUT
|
||
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||
|
* License for more details.
|
||
|
*/
|
||
|
|
||
|
#ifndef INCLUDE_IRC_DCC_H
|
||
|
#define INCLUDE_IRC_DCC_H
|
||
|
|
||
|
|
||
|
/*
|
||
|
* This structure keeps the state of a single DCC connection.
|
||
|
*/
|
||
|
struct irc_dcc_session_s
|
||
|
{
|
||
|
irc_dcc_session_t * next;
|
||
|
|
||
|
irc_dcc_t id;
|
||
|
void * ctx;
|
||
|
socket_t sock; /*!< DCC socket */
|
||
|
int dccmode; /*!< Boolean value to differ chat vs send
|
||
|
requests. Changes the cb behavior - when
|
||
|
it is chat, data is sent by lines with
|
||
|
stripped CRLFs. In file mode, the data
|
||
|
is sent as-is */
|
||
|
int state;
|
||
|
time_t timeout;
|
||
|
|
||
|
FILE * dccsend_file_fp;
|
||
|
unsigned int received_file_size;
|
||
|
unsigned int file_confirm_offset;
|
||
|
|
||
|
struct sockaddr_in remote_addr;
|
||
|
|
||
|
char incoming_buf[LIBIRC_DCC_BUFFER_SIZE];
|
||
|
unsigned int incoming_offset;
|
||
|
|
||
|
char outgoing_buf[LIBIRC_DCC_BUFFER_SIZE];
|
||
|
unsigned int outgoing_offset;
|
||
|
port_mutex_t mutex_outbuf;
|
||
|
|
||
|
irc_dcc_callback_t cb;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif /* INCLUDE_IRC_DCC_H */
|