stun.h File Reference

STUN API. More...

Go to the source code of this file.

Data Structures

struct  _PurpleStunNatDiscovery

STUN API

enum  PurpleStunStatus { PURPLE_STUN_STATUS_UNDISCOVERED = -1, PURPLE_STUN_STATUS_UNKNOWN, PURPLE_STUN_STATUS_DISCOVERING, PURPLE_STUN_STATUS_DISCOVERED }
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
}
typedef struct
_PurpleStunNatDiscovery 
PurpleStunNatDiscovery
typedef void(* StunCallback )(PurpleStunNatDiscovery *)
PurpleStunNatDiscoverypurple_stun_discover (StunCallback cb)
 Starts a NAT discovery.
void purple_stun_init (void)

Detailed Description

STUN API.

Definition in 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
cbThe 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
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!