1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
|
/* nice.vapi generated by vapigen, do not modify. */
[CCode (cprefix = "Nice", gir_namespace = "Nice", gir_version = "0.1", lower_case_cprefix = "nice_")]
namespace Nice {
[CCode (cheader_filename = "nice.h", type_id = "nice_agent_get_type ()")]
public class Agent : GLib.Object {
[CCode (has_construct_function = false)]
public Agent (GLib.MainContext ctx, Nice.Compatibility compat);
public bool add_local_address (Nice.Address addr);
public uint add_stream (uint n_components);
public bool attach_recv (uint stream_id, uint component_id, GLib.MainContext ctx, Nice.AgentRecvFunc func);
[Version (since = "0.1.16")]
public async void close_async ();
[CCode (cname = "nice_agent_new_reliable", has_construct_function = false)]
[Version (since = "0.0.11")]
public Agent.create_reliable (GLib.MainContext ctx, Nice.Compatibility compat);
[Version (since = "0.1.6")]
public bool forget_relays (uint stream_id, uint component_id);
[CCode (has_construct_function = false)]
[Version (since = "0.1.15")]
public Agent.full (GLib.MainContext ctx, Nice.Compatibility compat, Nice.AgentOption flags);
public bool gather_candidates (uint stream_id);
[Version (since = "0.1.4")]
public string generate_local_candidate_sdp (Nice.Candidate candidate);
[Version (since = "0.1.4")]
public string generate_local_sdp ();
[Version (since = "0.1.4")]
public string generate_local_stream_sdp (uint stream_id, bool include_non_ice);
[Version (since = "0.1.8")]
public Nice.ComponentState get_component_state (uint stream_id, uint component_id);
public Nice.Candidate get_default_local_candidate (uint stream_id, uint component_id);
[Version (since = "0.1.5")]
public GLib.IOStream get_io_stream (uint stream_id, uint component_id);
public GLib.SList<Nice.Candidate> get_local_candidates (uint stream_id, uint component_id);
public bool get_local_credentials (uint stream_id, out string ufrag, out string pwd);
public GLib.SList<Nice.Candidate> get_remote_candidates (uint stream_id, uint component_id);
public bool get_selected_pair (uint stream_id, uint component_id, Nice.Candidate local, Nice.Candidate remote);
[Version (since = "0.1.5")]
public GLib.Socket? get_selected_socket (uint stream_id, uint component_id);
[Version (since = "0.1.4")]
public unowned string get_stream_name (uint stream_id);
[Version (since = "0.1.4")]
public Nice.Candidate parse_remote_candidate_sdp (uint stream_id, string sdp);
[Version (since = "0.1.4")]
public int parse_remote_sdp (string sdp);
[Version (since = "0.1.4")]
public GLib.SList<Nice.Candidate> parse_remote_stream_sdp (uint stream_id, string sdp, string ufrag, string pwd);
[Version (since = "0.1.16")]
public bool peer_candidate_gathering_done (uint stream_id);
[Version (since = "0.1.5")]
public ssize_t recv (uint stream_id, uint component_id, [CCode (array_length_cname = "buf_len", array_length_pos = 3.5, array_length_type = "gsize")] out unowned uint8[] buf, GLib.Cancellable? cancellable = null) throws GLib.Error;
[Version (since = "0.1.5")]
public int recv_messages (uint stream_id, uint component_id, [CCode (array_length_cname = "n_messages", array_length_pos = 3.5, array_length_type = "guint")] out unowned Nice.InputMessage[] messages, GLib.Cancellable? cancellable = null) throws GLib.Error;
[Version (since = "0.1.5")]
public int recv_messages_nonblocking (uint stream_id, uint component_id, [CCode (array_length_cname = "n_messages", array_length_pos = 3.5, array_length_type = "guint")] out unowned Nice.InputMessage[] messages, GLib.Cancellable? cancellable = null) throws GLib.Error;
[Version (since = "0.1.5")]
public ssize_t recv_nonblocking (uint stream_id, uint component_id, [CCode (array_length_cname = "buf_len", array_length_pos = 3.5, array_length_type = "gsize")] out unowned uint8[] buf, GLib.Cancellable? cancellable = null) throws GLib.Error;
public void remove_stream (uint stream_id);
public bool restart ();
[Version (since = "0.1.6")]
public bool restart_stream (uint stream_id);
public int send (uint stream_id, uint component_id, [CCode (array_length_cname = "len", array_length_pos = 2.5, array_length_type = "guint", type = "const gchar*")] uint8[] buf);
[Version (since = "0.1.5")]
public int send_messages_nonblocking (uint stream_id, uint component_id, [CCode (array_length_cname = "n_messages", array_length_pos = 3.5, array_length_type = "guint")] Nice.OutputMessage[] messages, GLib.Cancellable? cancellable = null) throws GLib.Error;
public bool set_local_credentials (uint stream_id, string ufrag, string pwd);
public void set_port_range (uint stream_id, uint component_id, uint min_port, uint max_port);
public bool set_relay_info (uint stream_id, uint component_id, string server_ip, uint server_port, string username, string password, Nice.RelayType type);
public int set_remote_candidates (uint stream_id, uint component_id, GLib.SList<Nice.Candidate> candidates);
public bool set_remote_credentials (uint stream_id, string ufrag, string pwd);
public bool set_selected_pair (uint stream_id, uint component_id, string lfoundation, string rfoundation);
public bool set_selected_remote_candidate (uint stream_id, uint component_id, Nice.Candidate candidate);
[Version (since = "0.0.10")]
public void set_software (string software);
[Version (since = "0.1.4")]
public bool set_stream_name (uint stream_id, string name);
[Version (since = "0.0.9")]
public void set_stream_tos (uint stream_id, int tos);
[NoAccessorMethod]
[Version (since = "0.1.8")]
public bool bytestream_tcp { get; }
[NoAccessorMethod]
public uint compatibility { get; construct; }
[NoAccessorMethod]
public bool controlling_mode { get; set; }
[NoAccessorMethod]
[Version (since = "0.1.14")]
public bool force_relay { get; set; }
[NoAccessorMethod]
public bool full_mode { get; construct; }
[NoAccessorMethod]
[Version (since = "0.1.8")]
public bool ice_tcp { get; set; }
[NoAccessorMethod]
[Version (since = "0.1.16")]
public bool ice_trickle { get; set; }
[NoAccessorMethod]
[Version (since = "0.1.8")]
public bool ice_udp { get; set; }
[NoAccessorMethod]
[Version (since = "0.1.8")]
public bool keepalive_conncheck { get; set; }
[NoAccessorMethod]
public void* main_context { get; construct; }
[NoAccessorMethod]
public uint max_connectivity_checks { get; set; }
[NoAccessorMethod]
[Version (since = "0.0.4")]
public string proxy_ip { owned get; set; }
[NoAccessorMethod]
[Version (since = "0.0.4")]
public string proxy_password { owned get; set; }
[NoAccessorMethod]
[Version (since = "0.0.4")]
public uint proxy_port { get; set; }
[NoAccessorMethod]
[Version (since = "0.0.4")]
public uint proxy_type { get; set; }
[NoAccessorMethod]
[Version (since = "0.0.4")]
public string proxy_username { owned get; set; }
[NoAccessorMethod]
[Version (since = "0.0.11")]
public bool reliable { get; construct; }
[NoAccessorMethod]
[Version (since = "0.1.15")]
public uint stun_initial_timeout { get; set construct; }
[NoAccessorMethod]
[Version (since = "0.1.15")]
public uint stun_max_retransmissions { get; set construct; }
[NoAccessorMethod]
public uint stun_pacing_timer { get; set construct; }
[NoAccessorMethod]
[Version (since = "0.1.15")]
public uint stun_reliable_timeout { get; set construct; }
[NoAccessorMethod]
public string stun_server { owned get; set; }
[NoAccessorMethod]
public uint stun_server_port { get; set; }
[NoAccessorMethod]
public bool support_renomination { get; set; }
[NoAccessorMethod]
[Version (since = "0.0.7")]
public bool upnp { get; set construct; }
[NoAccessorMethod]
[Version (since = "0.0.7")]
public uint upnp_timeout { get; set construct; }
public signal void candidate_gathering_done (uint stream_id);
public signal void component_state_changed (uint stream_id, uint component_id, uint state);
public signal void initial_binding_request_received (uint stream_id);
[Version (deprecated = true, deprecated_since = "0.1.8")]
public signal void new_candidate (uint stream_id, uint component_id, string foundation);
[Version (since = "0.1.8")]
public signal void new_candidate_full (Nice.Candidate candidate);
[Version (deprecated = true, deprecated_since = "0.1.8")]
public signal void new_remote_candidate (uint stream_id, uint component_id, string foundation);
[Version (since = "0.1.8")]
public signal void new_remote_candidate_full (Nice.Candidate candidate);
[Version (deprecated = true, deprecated_since = "0.1.8")]
public signal void new_selected_pair (uint stream_id, uint component_id, string lfoundation, string rfoundation);
[Version (since = "0.1.8")]
public signal void new_selected_pair_full (uint stream_id, uint component_id, Nice.Candidate lcandidate, Nice.Candidate rcandidate);
[Version (since = "0.0.11")]
public signal void reliable_transport_writable (uint stream_id, uint component_id);
[Version (since = "0.1.5")]
public signal void streams_removed ([CCode (array_length = false, array_null_terminated = true)] uint[] stream_ids);
}
[CCode (cheader_filename = "nice.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "nice_candidate_get_type ()")]
[Compact]
public class Candidate {
public Nice.Address addr;
public Nice.Address base_addr;
public uint component_id;
[CCode (array_length = false)]
public weak char foundation[33];
public weak string password;
public uint32 priority;
public void* sockptr;
public uint stream_id;
public Nice.CandidateTransport transport;
public Nice.TurnServer turn;
public Nice.CandidateType type;
public weak string username;
[CCode (has_construct_function = false)]
public Candidate (Nice.CandidateType type);
public Nice.Candidate copy ();
[Version (since = "0.1.15")]
public bool equal_target (Nice.Candidate candidate2);
public void free ();
}
[CCode (cheader_filename = "nice.h", has_type_id = false)]
public struct Address {
[CCode (cname = "s.addr")]
public void* s_addr;
[CCode (cname = "s.ip4")]
public void* s_ip4;
[CCode (cname = "s.ip6")]
public void* s_ip6;
public void copy_to_sockaddr (void* sin);
public bool equal (Nice.Address b);
[Version (since = "0.1.8")]
public bool equal_no_port (Nice.Address b);
public void free ();
public uint get_port ();
public void init ();
public int ip_version ();
public bool is_private ();
public bool is_valid ();
public void set_from_sockaddr (void* sin);
public bool set_from_string (string str);
public void set_ipv4 (uint32 addr_ipv4);
public void set_ipv6 (uint8 addr_ipv6);
public void set_port (uint port);
public void to_string ([CCode (array_length = false, type = "gchar*")] char[] dst);
}
[CCode (cheader_filename = "nice.h", has_type_id = false)]
[Version (since = "0.1.5")]
public struct InputMessage {
[CCode (array_length_cname = "n_buffers")]
public weak GLib.InputVector[] buffers;
public int n_buffers;
public Nice.Address from;
public size_t length;
}
[CCode (cheader_filename = "nice.h", has_type_id = false)]
[Version (since = "0.1.5")]
public struct OutputMessage {
[CCode (array_length_cname = "n_buffers")]
public weak GLib.OutputVector[] buffers;
public int n_buffers;
}
[CCode (cheader_filename = "nice.h", cname = "TurnServer", has_type_id = false)]
public struct TurnServer {
public int ref_count;
public Nice.Address server;
public weak string username;
public weak string password;
public Nice.RelayType type;
}
[CCode (cheader_filename = "nice.h", cprefix = "NICE_AGENT_OPTION_", has_type_id = false)]
[Flags]
[Version (since = "0.1.15")]
public enum AgentOption {
REGULAR_NOMINATION,
RELIABLE,
LITE_MODE,
ICE_TRICKLE,
SUPPORT_RENOMINATION
}
[CCode (cheader_filename = "nice.h", cprefix = "NICE_CANDIDATE_TRANSPORT_", has_type_id = false)]
public enum CandidateTransport {
UDP,
TCP_ACTIVE,
TCP_PASSIVE,
TCP_SO
}
[CCode (cheader_filename = "nice.h", cprefix = "NICE_CANDIDATE_TYPE_", has_type_id = false)]
public enum CandidateType {
HOST,
SERVER_REFLEXIVE,
PEER_REFLEXIVE,
RELAYED
}
[CCode (cheader_filename = "nice.h", cprefix = "NICE_COMPATIBILITY_", has_type_id = false)]
public enum Compatibility {
RFC5245,
DRAFT19,
GOOGLE,
MSN,
WLM2009,
OC2007,
OC2007R2,
LAST
}
[CCode (cheader_filename = "nice.h", cprefix = "NICE_COMPONENT_STATE_", has_type_id = false)]
public enum ComponentState {
DISCONNECTED,
GATHERING,
CONNECTING,
CONNECTED,
READY,
FAILED,
LAST;
[Version (since = "0.1.6")]
public unowned string to_string ();
}
[CCode (cheader_filename = "nice.h", cprefix = "NICE_COMPONENT_TYPE_", has_type_id = false)]
public enum ComponentType {
RTP,
RTCP
}
[CCode (cheader_filename = "nice.h", cprefix = "NICE_NOMINATION_MODE_", has_type_id = false)]
[Version (since = "0.1.15")]
public enum NominationMode {
REGULAR,
AGGRESSIVE
}
[CCode (cheader_filename = "nice.h", cprefix = "NICE_PROXY_TYPE_", has_type_id = false)]
[Version (since = "0.0.4")]
public enum ProxyType {
NONE,
SOCKS5,
HTTP,
LAST
}
[CCode (cheader_filename = "nice.h", cname = "PseudoTcpDebugLevel", cprefix = "PSEUDO_TCP_DEBUG_", has_type_id = false)]
[Version (since = "0.0.11")]
public enum PseudoTcpDebugLevel {
NONE,
NORMAL,
VERBOSE
}
[CCode (cheader_filename = "nice.h", cname = "PseudoTcpShutdown", cprefix = "PSEUDO_TCP_SHUTDOWN_", has_type_id = false)]
[Version (since = "0.1.8")]
public enum PseudoTcpShutdown {
RD,
WR,
RDWR
}
[CCode (cheader_filename = "nice.h", cname = "PseudoTcpState", cprefix = "PSEUDO_TCP_", has_type_id = false)]
[Version (since = "0.0.11")]
public enum PseudoTcpState {
LISTEN,
SYN_SENT,
SYN_RECEIVED,
ESTABLISHED,
CLOSED,
FIN_WAIT_1,
FIN_WAIT_2,
CLOSING,
TIME_WAIT,
CLOSE_WAIT,
LAST_ACK
}
[CCode (cheader_filename = "nice.h", cname = "PseudoTcpWriteResult", cprefix = "WR_", has_type_id = false)]
[Version (since = "0.0.11")]
public enum PseudoTcpWriteResult {
SUCCESS,
TOO_LARGE,
FAIL
}
[CCode (cheader_filename = "nice.h", cprefix = "NICE_RELAY_TYPE_TURN_", has_type_id = false)]
public enum RelayType {
UDP,
TCP,
TLS
}
[CCode (cheader_filename = "nice.h", instance_pos = 4.9)]
public delegate void AgentRecvFunc (Nice.Agent agent, uint stream_id, uint component_id, [CCode (array_length_cname = "len", array_length_pos = 3.5, array_length_type = "guint", type = "gchar*")] uint8[] buf);
[CCode (cheader_filename = "nice.h", cname = "NICE_AGENT_MAX_REMOTE_CANDIDATES")]
public const int AGENT_MAX_REMOTE_CANDIDATES;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_DIRECTION_MS_PREF_ACTIVE")]
public const int CANDIDATE_DIRECTION_MS_PREF_ACTIVE;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_DIRECTION_MS_PREF_PASSIVE")]
public const int CANDIDATE_DIRECTION_MS_PREF_PASSIVE;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_MAX_FOUNDATION")]
public const int CANDIDATE_MAX_FOUNDATION;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_TRANSPORT_MS_PREF_TCP")]
public const int CANDIDATE_TRANSPORT_MS_PREF_TCP;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_TRANSPORT_MS_PREF_UDP")]
public const int CANDIDATE_TRANSPORT_MS_PREF_UDP;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_TYPE_PREF_HOST")]
public const int CANDIDATE_TYPE_PREF_HOST;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_TYPE_PREF_NAT_ASSISTED")]
public const int CANDIDATE_TYPE_PREF_NAT_ASSISTED;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_TYPE_PREF_PEER_REFLEXIVE")]
public const int CANDIDATE_TYPE_PREF_PEER_REFLEXIVE;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_TYPE_PREF_RELAYED")]
public const int CANDIDATE_TYPE_PREF_RELAYED;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_TYPE_PREF_RELAYED_UDP")]
public const int CANDIDATE_TYPE_PREF_RELAYED_UDP;
[CCode (cheader_filename = "nice.h", cname = "NICE_CANDIDATE_TYPE_PREF_SERVER_REFLEXIVE")]
public const int CANDIDATE_TYPE_PREF_SERVER_REFLEXIVE;
[CCode (cheader_filename = "nice.h")]
public static void debug_disable (bool with_stun);
[CCode (cheader_filename = "nice.h")]
public static void debug_enable (bool with_stun);
[CCode (cheader_filename = "nice.h")]
public static string? interfaces_get_ip_for_interface (string interface_name);
[CCode (cheader_filename = "nice.h")]
public static GLib.List<string> interfaces_get_local_interfaces ();
[CCode (cheader_filename = "nice.h")]
public static GLib.List<string> interfaces_get_local_ips (bool include_loopback);
[CCode (cheader_filename = "nice.h", cname = "pseudo_tcp_set_debug_level")]
[Version (since = "0.0.11")]
public static void pseudo_tcp_set_debug_level (Nice.PseudoTcpDebugLevel level);
}
|