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 *) |
| PurpleStunNatDiscovery * | purple_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:
-
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

