ekg2
GIT master
Strona główna
Dodatkowe strony
Moduły
Struktury Danych
Pliki
Lista plików
Globalne
All
Struktury Danych
Pliki
Funkcje
Zmienne
Definicje typów
Wyliczenia
Wartości wyliczeń
Definicje
Grupay
Strony
plugins
jabber
jabber_dcc.h
Idź do dokumentacji tego pliku.
1
#ifndef __JABBER_DCC_H
2
#define __JABBER_DCC_H
3
4
#define JABBER_DEFAULT_DCC_PORT 6000
/* XXX */
5
6
#include <stdio.h>
7
8
9
enum
jabber_dcc_protocol_type_t
{
10
JABBER_DCC_PROTOCOL_UNKNOWN
= 0,
11
JABBER_DCC_PROTOCOL_BYTESTREAMS
,
/* http://www.jabber.org/jeps/jep-0065.html */
12
JABBER_DCC_PROTOCOL_IBB
,
/* http://www.jabber.org/jeps/jep-0047.html */
13
JABBER_DCC_PROTOCOL_WEBDAV
,
/* http://www.jabber.org/jeps/jep-0129.html */
/* DON'T IMPLEMENT IT UNTILL IT WILL BE STARNDARD DRAFT */
14
};
15
16
enum
jabber_socks5_step_t
{
17
SOCKS5_UNKNOWN
= 0,
18
SOCKS5_CONNECT
,
19
SOCKS5_AUTH
,
20
SOCKS5_DATA
,
21
};
22
23
/* <JABBER_DCC_PROTOCOL_BYTESTREAMS> */
24
struct
jabber_streamhost_item
{
25
char
*
jid
;
26
char
*
ip
;
27
int
port
;
28
};
29
30
typedef
struct
{
31
int
validate
;
/* should be: JABBER_DCC_PROTOCOL_BYTESTREAMS */
32
enum
jabber_socks5_step_t
step;
33
34
struct
jabber_streamhost_item
*
streamhost
;
35
list_t
streamlist
;
36
}
jabber_dcc_bytestream_t
;
37
38
/* </JABBER_DCC_PROTOCOL_BYTESTREAMS> */
39
40
41
typedef
struct
{
42
FILE *
fd
;
43
int
sfd
;
44
session_t
*
session
;
45
46
char
*
req
;
47
char
*
sid
;
48
enum
jabber_dcc_protocol_type_t
protocol;
49
union
{
/* priv_data data based on protocol */
50
jabber_dcc_bytestream_t
*
bytestream
;
/* for JABBER_DCC_PROTOCOL_BYTESTREAMS */
51
void
*
other
;
/* XXX */
52
} priv_data;
53
}
jabber_dcc_t
;
54
55
56
dcc_t
*
jabber_dcc_find
(
const
char
*uin,
const
char
*
id
,
const
char
*sid);
57
void
jabber_dcc_close_handler
(
struct
dcc_s
*d);
58
59
WATCHER
(
jabber_dcc_handle_recv
);
60
61
QUERY
(
jabber_dcc_postinit
);
62
extern
int
jabber_dcc
;
63
extern
int
jabber_dcc_port
;
64
extern
char
*
jabber_dcc_ip
;
65
extern
int
jabber_dcc
;
66
67
#endif
Wygenerowano Wt, 29 paź 2013 20:17:04 dla ekg2 programem
1.8.4