Loading...
Searching...
No Matches
stun.h File Reference
libpurple

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 *)
PurpleStunNatDiscovery * | purple_stun_discover (StunCallback cb)
| Starts a NAT discovery.
void | purple_stun_init (void)

## Detailed Description

STUN API.

Definition in file stun.h.

## Typedef Documentation

## PurpleStunNatDiscovery

typedef struct _PurpleStunNatDiscovery 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

  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