pidgin 2.14.14dev
stun.h File Reference

STUN API. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  _PurpleStunNatDiscovery
 

STUN API <br>

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. More...
 
void purple_stun_init (void)
 

Detailed Description

STUN API.

Definition in file stun.h.

Typedef Documentation

◆ PurpleStunNatDiscovery

Definition at line 38 of file stun.h.

◆ StunCallback

typedef void(* StunCallback) (PurpleStunNatDiscovery *)

Definition at line 64 of file stun.h.

Enumeration Type Documentation

◆ PurpleStunNatType

enum PurpleStunNatType

Definition at line 47 of file stun.h.

◆ PurpleStunStatus

enum PurpleStunStatus

Definition at line 40 of file stun.h.

Function Documentation

◆ purple_stun_discover()

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