stun.h File Reference

STUN API. More...

Go to the source code of this file.

Data Structures

struct  _PurpleStunNatDiscovery

STUN API

enum  PurpleStunNatType {
  PURPLE_STUN_NAT_TYPE_PUBLIC_IP, PURPLE_STUN_NAT_TYPE_UNKNOWN_NAT, PURPLE_STUN_NAT_TYPE_FULL_CONE, PURPLE_STUN_NAT_TYPE_RESTRICTED_CONE,
  PURPLE_STUN_NAT_TYPE_PORT_RESTRICTED_CONE, PURPLE_STUN_NAT_TYPE_SYMMETRIC
}
enum  PurpleStunStatus { PURPLE_STUN_STATUS_UNDISCOVERED = -1, PURPLE_STUN_STATUS_UNKNOWN, PURPLE_STUN_STATUS_DISCOVERING, PURPLE_STUN_STATUS_DISCOVERED }
typedef _PurpleStunNatDiscovery PurpleStunNatDiscovery
typedef void(*) StunCallback (PurpleStunNatDiscovery *)
PurpleStunNatDiscoverypurple_stun_discover (StunCallback cb)
 Starts a NAT discovery.
void purple_stun_init (void)


Detailed Description

STUN API.

purple

Purple is the legal property of its developers, whose names are too numerous to list here. Please refer to the COPYRIGHT file distributed with this source distribution.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Definition in file stun.h.


Enumeration Type Documentation

enum PurpleStunNatType

Enumerator:
PURPLE_STUN_NAT_TYPE_PUBLIC_IP 
PURPLE_STUN_NAT_TYPE_UNKNOWN_NAT 
PURPLE_STUN_NAT_TYPE_FULL_CONE 
PURPLE_STUN_NAT_TYPE_RESTRICTED_CONE 
PURPLE_STUN_NAT_TYPE_PORT_RESTRICTED_CONE 
PURPLE_STUN_NAT_TYPE_SYMMETRIC 

Definition at line 46 of file stun.h.

enum PurpleStunStatus

Enumerator:
PURPLE_STUN_STATUS_UNDISCOVERED 
PURPLE_STUN_STATUS_UNKNOWN 
PURPLE_STUN_STATUS_DISCOVERING 
PURPLE_STUN_STATUS_DISCOVERED 

Definition at line 39 of file stun.h.


Function Documentation

PurpleStunNatDiscovery* purple_stun_discover ( StunCallback  cb  ) 

Starts a NAT discovery.

It returns a PurpleStunNatDiscovery if the discovery is already done. Otherwise the callback is called when the discovery is over and NULL is returned.

Parameters:
cb The callback to call when the STUN discovery is finished if the discovery would block. If the discovery is done, this is NOT called.
Returns:
a PurpleStunNatDiscovery which includes the public IP and the type of NAT or NULL is discovery would block