Mercurial > pidgin.yaz
annotate src/sslconn.h @ 6721:acc4376ce062
[gaim-migrate @ 7248]
Added some debug wrapper functions, like gaim_debug_info and such.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Wed, 03 Sep 2003 06:06:54 +0000 |
parents | 41120df7ed94 |
children | 6c95f01aaf49 |
rev | line source |
---|---|
6703 | 1 /** |
2 * @file sslconn.h SSL API | |
3 * @ingroup core | |
4 * | |
5 * gaim | |
6 * | |
7 * Copyright (C) 2003 Christian Hammond <chipx86@gnupdate.org> | |
8 * | |
9 * This program is free software; you can redistribute it and/or modify | |
10 * it under the terms of the GNU General Public License as published by | |
11 * the Free Software Foundation; either version 2 of the License, or | |
12 * (at your option) any later version. | |
13 * | |
14 * This program is distributed in the hope that it will be useful, | |
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 * GNU General Public License for more details. | |
18 * | |
19 * You should have received a copy of the GNU General Public License | |
20 * along with this program; if not, write to the Free Software | |
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
22 */ | |
23 #ifndef _GAIM_SSL_H_ | |
24 #define _GAIM_SSL_H_ | |
25 | |
26 #include "proxy.h" | |
27 | |
28 #ifdef __cplusplus | |
29 extern "C" { | |
30 #endif | |
31 | |
32 #define GAIM_SSL_DEFAULT_PORT 443 | |
33 | |
34 typedef void *GaimSslConnection; | |
35 typedef void (*GaimSslInputFunction)(gpointer, GaimSslConnection *, | |
36 GaimInputCondition); | |
37 | |
38 /**************************************************************************/ | |
39 /** @name SSL API */ | |
40 /**************************************************************************/ | |
41 /*@{*/ | |
42 | |
43 /** | |
44 * Returns whether or not SSL is currently supported. | |
45 * | |
46 * @return TRUE if SSL is supported, or FALSE otherwise. | |
47 */ | |
48 gboolean gaim_ssl_is_supported(void); | |
49 | |
50 /** | |
51 * Makes a SSL connection to the specified host and port. | |
52 * | |
53 * @param account The account making the connection. | |
54 * @param host The destination host. | |
55 * @param port The destination port. | |
56 * @param func The SSL input handler function. | |
57 * @param data User-defined data. | |
58 * | |
59 * @return The SSL connection handle. | |
60 */ | |
61 GaimSslConnection *gaim_ssl_connect(GaimAccount *account, const char *host, | |
62 int port, GaimSslInputFunction func, | |
63 void *data); | |
64 | |
65 /** | |
66 * Closes a SSL connection. | |
67 * | |
68 * @param gsc The SSL connection to close. | |
69 */ | |
70 void gaim_ssl_close(GaimSslConnection *gsc); | |
71 | |
72 /** | |
73 * Reads data from an SSL connection. | |
74 * | |
75 * @param gsc The SSL connection handle. | |
76 * @param buffer The destination buffer. | |
77 * @param len The maximum number of bytes to read. | |
78 * | |
79 * @return The number of bytes read. | |
80 */ | |
6720
41120df7ed94
[gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents:
6703
diff
changeset
|
81 size_t gaim_ssl_read(GaimSslConnection *gsc, void *buffer, size_t len); |
6703 | 82 |
83 /** | |
84 * Writes data to an SSL connection. | |
85 * | |
6720
41120df7ed94
[gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents:
6703
diff
changeset
|
86 * @param gsc The SSL connection handle. |
41120df7ed94
[gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents:
6703
diff
changeset
|
87 * @param buffer The buffer to write. |
41120df7ed94
[gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents:
6703
diff
changeset
|
88 * @param len The length of the data to write. |
6703 | 89 * |
90 * @return The number of bytes written. | |
91 */ | |
6720
41120df7ed94
[gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents:
6703
diff
changeset
|
92 size_t gaim_ssl_write(GaimSslConnection *gsc, const void *buffer, size_t len); |
6703 | 93 |
94 /*@}*/ | |
95 | |
96 /**************************************************************************/ | |
97 /** @name Subsystem API */ | |
98 /**************************************************************************/ | |
99 /*@{*/ | |
100 | |
101 /** | |
102 * Initializes the SSL subsystem. | |
103 */ | |
104 void gaim_ssl_init(void); | |
105 | |
106 /** | |
107 * Uninitializes the SSL subsystem. | |
108 */ | |
109 void gaim_ssl_uninit(void); | |
110 | |
111 /*@}*/ | |
112 | |
113 #ifdef __cplusplus | |
114 } | |
115 #endif | |
116 | |
117 #endif /* _GAIM_SSL_H_ */ |