24 #include <sys/socket.h> 25 #include <sys/types.h> 26 #include <arpa/inet.h> 27 #include <netinet/in.h> 31 #include <nice/agent.h> 37 #define ICE_FAILURE -1 42 GMainContext *gcontext;
46 NiceAddress *bind_addr;
47 NiceAddress *remote_addr;
50 gboolean selected_pair_done;
52 gboolean negotiate_done;
74 #define LOCAL_DATA_SIZE (513 + 1 + 80 \ 75 + NICE_AGENT_MAX_REMOTE_CANDIDATES * ( \ 76 1 + 33 + 11 + INET6_ADDRSTRLEN + 6 + 7) \ 81 void ice_lib_shutdown();
84 int ice_init(
struct icedata *icedata,
const char *stun_host,
85 unsigned int stun_port,
int controlling);
86 int ice_get_local_data(
struct icedata *ice_data,
char *out,
size_t outsize);
89 int ice_negotiate(
struct icedata *ice_data,
int argc,
char *rdata[]);
90 int ice_get_negotiated_addrs(
struct icedata *ice_data,
91 struct sockaddr *laddr,
93 struct sockaddr *raddr,
96 int ice_get_negotiated_sock(
struct icedata *ice_data,
int *sock_dup);
99 void ice_destroy(
struct icedata *ice_data);
101 char **ice_parse_args(
char *line,
int *argc);