| 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 */ |