52 typedef struct stun_handle_s stun_handle_t;
53 typedef struct stun_request_s stun_request_t;
54 typedef struct stun_discovery_s stun_discovery_t;
55 typedef struct stun_dns_lookup_s stun_dns_lookup_t;
57 typedef struct stun_mini_s stun_mini_t;
60 #define STUN_MAGIC_T struct stun_magic_t
65 #ifndef STUN_DISCOVERY_MAGIC_T
66 #define STUN_DISCOVERY_MAGIC_T struct stun_discovery_magic_t
79 stun_action_no_action = 1,
80 stun_action_tls_query = 2,
81 stun_action_binding_request = 4,
82 stun_action_keepalive = 8,
83 stun_action_test_nattype = 16,
84 stun_action_test_lifetime = 32,
120 stun_nat_port_res_cone,
123 stun_nat_ei_filt_ad_map,
126 stun_nat_ad_filt_ad_map,
130 stun_nat_adp_filt_ad_map,
144 stun_no_assigned_event,
176 stun_discovery_t *sd,
186 int only_a_keepalive);
207 su_sockaddr_t *sa, socklen_t salen,
208 void *data, isize_t len);
210 int stun_process_request(
su_socket_t s, stun_msg_t *req,
211 int sid, su_sockaddr_t *from_addr,
230 socklen_t *return_addrlen);
232 SOFIAPUBFUN int stun_discovery_release_socket(stun_discovery_t *sd);
245 SOFIAPUBFUN int stun_lifetime(stun_discovery_t *sd);
285 const char **target,
uint16_t *port);
287 const char **target,
uint16_t *port);
289 const char **target,
uint16_t *port);
303 void *msg, ssize_t msglen,
304 void *addr, socklen_t addrlen);