libpurple/stun.h

changeset 40584
6f198a69ac48
parent 40474
1341be8e3402
child 40642
18050336a45f
equal deleted inserted replaced
40583:28964322556c 40584:6f198a69ac48
1 /* purple 1 /*
2 * Purple - Internet Messaging Library
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
2 * 4 *
3 * Purple is the legal property of its developers, whose names are too numerous 5 * Purple is the legal property of its developers, whose names are too numerous
4 * to list here. Please refer to the COPYRIGHT file distributed with this 6 * to list here. Please refer to the COPYRIGHT file distributed with this
5 * source distribution. 7 * source distribution.
6 * 8 *
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details. 17 * GNU General Public License for more details.
16 * 18 *
17 * You should have received a copy of the GNU General Public License 19 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software 20 * along with this program; if not, see <https://www.gnu.org/licenses/>.
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
20 */ 21 */
21 22
22 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION) 23 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
23 # error "only <purple.h> may be included directly" 24 # error "only <purple.h> may be included directly"
24 #endif 25 #endif
25 26
26 #ifndef PURPLE_STUN_H 27 #ifndef PURPLE_STUN_H
27 #define PURPLE_STUN_H 28 #define PURPLE_STUN_H
29
28 /** 30 /**
29 * SECTION:stun 31 * SECTION:stun
30 * @section_id: libpurple-stun 32 * @section_id: libpurple-stun
31 * @short_description: <filename>stun.h</filename> 33 * @short_description: <filename>stun.h</filename>
32 * @title: STUN API 34 * @title: STUN API
35 *
36 * The STUN API is an implementation of Session Traversal Utilities for NAT,
37 * that is used to help us determine our public IP address.
33 */ 38 */
34
35 /******************************************************************************
36 * STUN API
37 *****************************************************************************/
38 39
39 typedef struct _PurpleStunNatDiscovery PurpleStunNatDiscovery; 40 typedef struct _PurpleStunNatDiscovery PurpleStunNatDiscovery;
40 41
41 /** 42 /**
42 * PurpleStunStatus: 43 * PurpleStunStatus:
109 * Returns: (transfer none): a #PurpleStunNatDiscovery which includes the public IP and the type 110 * Returns: (transfer none): a #PurpleStunNatDiscovery which includes the public IP and the type
110 * of NAT or NULL if discovery would block 111 * of NAT or NULL if discovery would block
111 */ 112 */
112 PurpleStunNatDiscovery *purple_stun_discover(PurpleStunCallback cb); 113 PurpleStunNatDiscovery *purple_stun_discover(PurpleStunCallback cb);
113 114
115 /**
116 * purple_stun_init:
117 *
118 * Initializes the STUN API. This is called by libpurple and you should not be
119 * calling it yourself.
120 */
114 void purple_stun_init(void); 121 void purple_stun_init(void);
115 122
116 G_END_DECLS 123 G_END_DECLS
117 124
118 #endif /* PURPLE_STUN_H */ 125 #endif /* PURPLE_STUN_H */

mercurial