pidgin  2.14.10
stun.h File Reference

STUN API. More...

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.

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