1/* purple.vapi generated by vapigen, do not modify. */
2
3namespace Purple {
4	[CCode (cheader_filename = "purple.h", free_function = "purple_account_destroy")]
5	[Compact]
6	public class Account {
7		public weak string alias;
8		public weak string buddy_icon_path;
9		public weak GLib.SList deny;
10		public bool disconnecting;
11		public weak Purple.Connection gc;
12		public weak string password;
13		public Purple.PrivacyType perm_deny;
14		public weak GLib.SList permit;
15		public weak Purple.Presence presence;
16		public void* priv;
17		public weak string protocol_id;
18		public weak Purple.ProxyInfo proxy_info;
19		public weak Purple.AccountRegistrationCb registration_cb;
20		public void* registration_cb_user_data;
21		public bool remember_pass;
22		public weak GLib.HashTable settings;
23		public weak GLib.List status_types;
24		public weak Purple.Log system_log;
25		public void* ui_data;
26		public weak GLib.HashTable ui_settings;
27		public weak string user_info;
28		public weak string username;
29		[CCode (has_construct_function = false)]
30		public Account (string username, string protocol_id);
31		public void add_buddies (GLib.List buddies);
32		public void add_buddies_with_invite (GLib.List buddies, string message);
33		public void add_buddy (Purple.Buddy buddy);
34		public void add_buddy_with_invite (Purple.Buddy buddy, string message);
35		public void change_password (string orig_pw, string new_pw);
36		public void clear_current_error ();
37		public void clear_settings ();
38		public void connect ();
39		public void destroy_log ();
40		public void disconnect ();
41		public unowned Purple.Status get_active_status ();
42		public unowned string get_alias ();
43		public bool get_bool (string name, bool default_value);
44		public unowned string get_buddy_icon_path ();
45		public bool get_check_mail ();
46		public unowned Purple.Connection get_connection ();
47		public unowned Purple.ConnectionErrorInfo get_current_error ();
48		public bool get_enabled (string ui);
49		public int get_int (string name, int default_value);
50		public unowned Purple.Log get_log (bool create);
51		public unowned string get_name_for_display ();
52		public unowned string get_password ();
53		public unowned Purple.Presence get_presence ();
54		public Purple.PrivacyType get_privacy_type ();
55		public unowned string get_protocol_id ();
56		public unowned string get_protocol_name ();
57		public unowned Purple.ProxyInfo get_proxy_info ();
58		public void get_public_alias (Purple.GetPublicAliasSuccessCallback success_cb, Purple.GetPublicAliasFailureCallback failure_cb);
59		public bool get_remember_password ();
60		public bool get_silence_suppression ();
61		public unowned Purple.Status get_status (string status_id);
62		public unowned Purple.StatusType get_status_type (string id);
63		public unowned Purple.StatusType get_status_type_with_primitive (Purple.StatusPrimitive primitive);
64		public unowned GLib.List get_status_types ();
65		public unowned string get_string (string name, string default_value);
66		public bool get_ui_bool (string ui, string name, bool default_value);
67		public int get_ui_int (string ui, string name, int default_value);
68		public unowned string get_ui_string (string ui, string name, string default_value);
69		public unowned string get_user_info ();
70		public unowned string get_username ();
71		public bool is_connected ();
72		public bool is_connecting ();
73		public bool is_disconnected ();
74		public bool is_status_active (string status_id);
75		public void notify_added (string remote_user, string id, string alias, string message);
76		public static unowned Purple.AccountPrefsUiOps prefs_get_ui_ops ();
77		public static void prefs_set_ui_ops (Purple.AccountPrefsUiOps ops);
78		public void register ();
79		public void remove_buddies (GLib.List buddies, GLib.List groups);
80		public void remove_buddy (Purple.Buddy buddy, Purple.Group group);
81		public void remove_group (Purple.Group group);
82		public void remove_setting (string setting);
83		public void request_add (string remote_user, string id, string alias, string message);
84		public void* request_authorization (string remote_user, string id, string alias, string message, bool on_list, Purple.AccountRequestAuthorizationCb auth_cb, Purple.AccountRequestAuthorizationCb deny_cb);
85		public void request_change_password ();
86		public void request_change_user_info ();
87		public static void request_close (void* ui_handle);
88		public void request_close_with_account ();
89		public void request_password (GLib.Callback ok_cb, GLib.Callback cancel_cb);
90		public void set_alias (string alias);
91		public void set_bool (string name, bool value);
92		public void set_buddy_icon_path (string path);
93		public void set_check_mail (bool value);
94		public void set_connection (Purple.Connection gc);
95		public void set_enabled (string ui, bool value);
96		public void set_int (string name, int value);
97		public void set_password (string password);
98		public void set_privacy_type (Purple.PrivacyType privacy_type);
99		public void set_protocol_id (string protocol_id);
100		public void set_proxy_info (Purple.ProxyInfo info);
101		public void set_public_alias (string alias, Purple.SetPublicAliasSuccessCallback success_cb, Purple.SetPublicAliasFailureCallback failure_cb);
102		public void set_register_callback (Purple.AccountRegistrationCb cb);
103		public void set_remember_password (bool value);
104		public void set_silence_suppression (bool value);
105		public void set_status (string status_id, bool active);
106		public void set_status_list (string status_id, bool active, GLib.List attrs);
107		public void set_status_types (GLib.List status_types);
108		public void set_string (string name, string value);
109		public void set_ui_bool (string ui, string name, bool value);
110		public void set_ui_int (string ui, string name, int value);
111		public void set_ui_string (string ui, string name, string value);
112		public void set_user_info (string user_info);
113		public void set_username (string username);
114		public bool supports_offline_message (Purple.Buddy buddy);
115		public void unregister (Purple.AccountUnregistrationCb cb);
116	}
117	[CCode (cheader_filename = "purple.h", free_function = "purple_account_option_destroy")]
118	[Compact]
119	public class AccountOption {
120		public void* default_value;
121		public bool masked;
122		public weak string pref_name;
123		public weak string text;
124		public Purple.PrefType type;
125		[CCode (has_construct_function = false)]
126		public AccountOption (Purple.PrefType type, string text, string pref_name);
127		public void add_list_item (string key, string value);
128		public static unowned Purple.AccountOption bool_new (string text, string pref_name, bool default_value);
129		public bool get_default_bool ();
130		public int get_default_int ();
131		public unowned string get_default_list_value ();
132		public unowned string get_default_string ();
133		public unowned GLib.List get_list ();
134		public bool get_masked ();
135		public unowned string get_setting ();
136		public unowned string get_text ();
137		public static unowned Purple.AccountOption int_new (string text, string pref_name, int default_value);
138		public static unowned Purple.AccountOption list_new (string text, string pref_name, GLib.List list);
139		public void set_default_bool (bool value);
140		public void set_default_int (int value);
141		public void set_default_string (string value);
142		public void set_list (GLib.List values);
143		public void set_masked (bool masked);
144		public static unowned Purple.AccountOption string_new (string text, string pref_name, string default_value);
145	}
146	[CCode (cheader_filename = "purple.h")]
147	[Compact]
148	public class AccountPrefsUiOps {
149		public weak GLib.Callback load;
150		public weak GLib.Callback save;
151		public weak GLib.Callback schedule_save;
152		public weak GLib.Callback set_bool;
153		public weak GLib.Callback set_int;
154		public weak GLib.Callback set_string;
155	}
156	[CCode (cheader_filename = "purple.h")]
157	[Compact]
158	public class AccountUiOps {
159		public weak GLib.Callback close_account_request;
160		public weak GLib.Callback notify_added;
161		public weak GLib.Callback request_add;
162		public weak GLib.Callback request_authorize;
163		public weak GLib.Callback status_changed;
164	}
165	[CCode (cheader_filename = "purple.h", free_function = "purple_account_user_split_destroy")]
166	[Compact]
167	public class AccountUserSplit {
168		public weak string default_value;
169		public weak GLib.ObjectPath field_sep;
170		public bool reverse;
171		public weak string text;
172		[CCode (has_construct_function = false)]
173		public AccountUserSplit (string text, string default_value, GLib.ObjectPath sep);
174		public unowned string get_default_value ();
175		public bool get_reverse ();
176		public unowned GLib.ObjectPath get_separator ();
177		public unowned string get_text ();
178		public void set_reverse (bool reverse);
179	}
180	[CCode (cheader_filename = "purple.h")]
181	[Compact]
182	public class AttentionType {
183		public weak string icon_name;
184		public weak string incoming_description;
185		public weak string name;
186		public weak string outgoing_description;
187		public weak string unlocalized_name;
188		[CCode (has_construct_function = false)]
189		public AttentionType (string ulname, string name, string inc_desc, string out_desc);
190		public unowned string get_icon_name ();
191		public unowned string get_incoming_desc ();
192		public unowned string get_name ();
193		public unowned string get_outgoing_desc ();
194		public unowned string get_unlocalized_name ();
195		public void set_icon_name (string name);
196		public void set_incoming_desc (string desc);
197		public void set_name (string name);
198		public void set_outgoing_desc (string desc);
199		public void set_unlocalized_name (string ulname);
200	}
201	[CCode (cheader_filename = "purple.h")]
202	[Compact]
203	public class BlistNode {
204		public weak Purple.BlistNode child;
205		public Purple.BlistNodeFlags flags;
206		public weak Purple.BlistNode parent;
207		public weak Purple.BlistNode prev;
208		public weak GLib.HashTable settings;
209		public Purple.BlistNodeType type;
210		public void* ui_data;
211		public bool get_bool (string key);
212		public unowned GLib.List get_extended_menu ();
213		public unowned Purple.BlistNode get_first_child ();
214		public Purple.BlistNodeFlags get_flags ();
215		public int get_int (string key);
216		public unowned Purple.BlistNode get_parent ();
217		public unowned Purple.BlistNode get_sibling_next ();
218		public unowned Purple.BlistNode get_sibling_prev ();
219		public unowned string get_string (string key);
220		public void* get_ui_data ();
221		public unowned Purple.BlistNode next (bool offline);
222		public void remove_setting (string key);
223		public void set_bool (string key, bool value);
224		public void set_flags (Purple.BlistNodeFlags flags);
225		public void set_int (string key, int value);
226		public void set_string (string key, string value);
227		public void set_ui_data (void* ui_data);
228	}
229	[CCode (cheader_filename = "purple.h")]
230	[Compact]
231	public class BlistUiOps {
232		public weak GLib.Callback destroy;
233		public weak GLib.Callback new_list;
234		public weak GLib.Callback new_node;
235		public weak GLib.Callback remove;
236		public weak GLib.Callback remove_node;
237		public weak GLib.Callback request_add_buddy;
238		public weak GLib.Callback request_add_chat;
239		public weak GLib.Callback request_add_group;
240		public weak GLib.Callback save_account;
241		public weak GLib.Callback save_node;
242		public weak GLib.Callback set_visible;
243		public weak GLib.Callback show;
244		public weak GLib.Callback update;
245	}
246	[CCode (cheader_filename = "purple.h", free_function = "purple_buddy_destroy")]
247	[Compact]
248	public class Buddy {
249		public weak Purple.Account account;
250		public weak string alias;
251		public weak Purple.BuddyIcon icon;
252		public Purple.MediaCaps media_caps;
253		public weak string name;
254		public weak Purple.BlistNode node;
255		public weak Purple.Presence presence;
256		public void* proto_data;
257		public weak string server_alias;
258		[CCode (has_construct_function = false)]
259		public Buddy (Purple.Account account, string name, string alias);
260		public unowned Purple.Account get_account ();
261		public unowned string get_alias ();
262		public unowned string get_alias_only ();
263		public unowned Purple.Contact get_contact ();
264		public unowned string get_contact_alias ();
265		public unowned Purple.Group get_group ();
266		public unowned Purple.BuddyIcon get_icon ();
267		public unowned string get_local_alias ();
268		public unowned string get_local_buddy_alias ();
269		public Purple.MediaCaps get_media_caps ();
270		public unowned string get_name ();
271		public unowned Purple.Presence get_presence ();
272		public void* get_protocol_data ();
273		public unowned string get_server_alias ();
274		public static unowned Purple.BuddyIcon icons_find (Purple.Account account, string username);
275		public static unowned Purple.StoredImage icons_find_account_icon (Purple.Account account);
276		public static unowned Purple.StoredImage icons_find_custom_icon (Purple.Contact contact);
277		public static time_t icons_get_account_icon_timestamp (Purple.Account account);
278		public static unowned string icons_get_cache_dir ();
279		public unowned string icons_get_checksum_for_user ();
280		public static void* icons_get_handle ();
281		public static bool icons_has_custom_icon (Purple.Contact contact);
282		public static void icons_init ();
283		public static bool icons_is_caching ();
284		public static unowned Purple.StoredImage icons_node_find_custom_icon (Purple.BlistNode node);
285		public static bool icons_node_has_custom_icon (Purple.BlistNode node);
286		public static unowned Purple.StoredImage icons_node_set_custom_icon (Purple.BlistNode node, uchar[] icon_data, size_t icon_len);
287		public static unowned Purple.StoredImage icons_node_set_custom_icon_from_file (Purple.BlistNode node, string filename);
288		public static unowned Purple.StoredImage icons_set_account_icon (Purple.Account account, uchar[] icon_data, size_t icon_len);
289		public static void icons_set_cache_dir (string cache_dir);
290		public static void icons_set_caching (bool caching);
291		public static unowned Purple.StoredImage icons_set_custom_icon (Purple.Contact contact, uchar[] icon_data, size_t icon_len);
292		public static void icons_set_for_user (Purple.Account account, string username, void* icon_data, size_t icon_len, string checksum);
293		public static void icons_uninit ();
294		public void set_icon (Purple.BuddyIcon icon);
295		public void set_media_caps (Purple.MediaCaps media_caps);
296		public void set_protocol_data (void* data);
297	}
298	[CCode (cheader_filename = "purple.h", ref_function = "purple_buddy_icon_ref", unref_function = "purple_buddy_icon_unref")]
299	[Compact]
300	public class BuddyIcon {
301		[CCode (has_construct_function = false)]
302		public BuddyIcon (Purple.Account account, string username, void* icon_data, size_t icon_len, string checksum);
303		public unowned Purple.Account get_account ();
304		public unowned string get_checksum ();
305		public void* get_data (size_t len);
306		public unowned string get_extension ();
307		public unowned string get_full_path ();
308		public static void get_scale_size (Purple.BuddyIconSpec spec, int width, int height);
309		public unowned string get_username ();
310		public void set_data (uchar[] data, size_t len, string checksum);
311		public void update ();
312	}
313	[CCode (cheader_filename = "purple.h")]
314	[Compact]
315	public class BuddyIconSpec {
316		public weak string format;
317		public size_t max_filesize;
318		public int max_height;
319		public int max_width;
320		public int min_height;
321		public int min_width;
322		public Purple.IconScaleRules scale_rules;
323	}
324	[CCode (cheader_filename = "purple.h")]
325	[Compact]
326	public class BuddyList {
327		public weak GLib.HashTable buddies;
328		public weak Purple.BlistNode root;
329		public void* ui_data;
330	}
331	[CCode (cheader_filename = "purple.h", copy_function = "purple_certificate_copy", free_function = "purple_certificate_destroy")]
332	[Compact]
333	public class Certificate {
334		public void* data;
335		public weak Purple.CertificateScheme scheme;
336		public static void add_ca_search_path (string path);
337		public static bool check_signature_chain (GLib.List chain);
338		public static bool check_signature_chain_with_failing (GLib.List chain, out unowned Purple.Certificate failing);
339		public bool check_subject_name (string name);
340		public bool compare_pubkeys (Purple.Certificate crt2);
341		public unowned Purple.Certificate copy ();
342		public static unowned GLib.List copy_list (GLib.List crt_list);
343		public static void destroy_list (GLib.List crt_list);
344		public void display_x509 ();
345		public static bool export (string filename, Purple.Certificate crt);
346		public static unowned Purple.CertificatePool find_pool (string scheme_name, string pool_name);
347		public static unowned Purple.CertificateScheme find_scheme (string name);
348		public static unowned Purple.CertificateVerifier find_verifier (string scheme_name, string ver_name);
349		public unowned GLib.ByteArray get_fingerprint_sha1 ();
350		public unowned GLib.ByteArray get_fingerprint_sha256 (bool sha1_fallback);
351		public static void* get_handle ();
352		public unowned string get_issuer_unique_id ();
353		public static unowned GLib.List get_pools ();
354		public static unowned GLib.List get_schemes ();
355		public unowned string get_subject_name ();
356		public bool get_times (time_t activation, time_t expiration);
357		public unowned string get_unique_id ();
358		public static unowned GLib.List get_verifiers ();
359		public static unowned Purple.Certificate import (Purple.CertificateScheme scheme, string filename);
360		public static void init ();
361		public static bool register_pool (Purple.CertificatePool pool);
362		public static bool register_scheme (Purple.CertificateScheme scheme);
363		public static bool register_verifier (Purple.CertificateVerifier vr);
364		public bool signed_by (Purple.Certificate issuer);
365		public static void uninit ();
366		public static bool unregister_pool (Purple.CertificatePool pool);
367		public static bool unregister_scheme (Purple.CertificateScheme scheme);
368		public static bool unregister_verifier (Purple.CertificateVerifier vr);
369		public static void verify (Purple.CertificateVerifier verifier, string subject_name, GLib.List cert_chain, Purple.CertificateVerifiedCallback cb, void* cb_data);
370		public static void verify_complete (Purple.CertificateVerificationRequest vrq, Purple.CertificateVerificationStatus st);
371	}
372	[CCode (cheader_filename = "purple.h")]
373	[Compact]
374	public class CertificatePool {
375		public weak GLib.Callback cert_in_pool;
376		public void* data;
377		public weak GLib.Callback delete_cert;
378		public weak string fullname;
379		public weak GLib.Callback get_cert;
380		public weak GLib.Callback init;
381		public weak string name;
382		public weak GLib.Callback put_cert;
383		public weak string scheme_name;
384		public weak GLib.Callback uninit;
385		public bool contains (string id);
386		public bool @delete (string id);
387		public static void destroy_idlist (GLib.List idlist);
388		public unowned GLib.List get_idlist ();
389		public unowned Purple.CertificateScheme get_scheme ();
390		public unowned string mkpath (string id);
391		public unowned Purple.Certificate retrieve (string id);
392		public bool store (string id, Purple.Certificate crt);
393		public bool usable ();
394	}
395	[CCode (cheader_filename = "purple.h")]
396	[Compact]
397	public class CertificateScheme {
398		public weak GLib.Callback check_subject_name;
399		public weak GLib.Callback compare_pubkeys;
400		public weak GLib.Callback copy_certificate;
401		public weak GLib.Callback destroy_certificate;
402		public weak GLib.Callback export_certificate;
403		public weak string fullname;
404		public weak GLib.Callback get_fingerprint_sha1;
405		public weak GLib.Callback get_fingerprint_sha256;
406		public weak GLib.Callback get_issuer_unique_id;
407		public weak GLib.Callback get_subject_name;
408		public weak GLib.Callback get_times;
409		public weak GLib.Callback get_unique_id;
410		public weak GLib.Callback import_certificate;
411		public weak GLib.Callback import_certificates;
412		public weak string name;
413		public weak GLib.Callback register_trusted_tls_cert;
414		public weak GLib.Callback signed_by;
415		public uint struct_size;
416		public weak GLib.Callback verify_cert;
417	}
418	[CCode (cheader_filename = "purple.h")]
419	[Compact]
420	public class CertificateVerificationRequest {
421		public weak Purple.CertificateVerifiedCallback cb;
422		public void* cb_data;
423		public weak GLib.List cert_chain;
424		public void* data;
425		public weak Purple.CertificateScheme scheme;
426		public weak string subject_name;
427		public weak Purple.CertificateVerifier verifier;
428	}
429	[CCode (cheader_filename = "purple.h")]
430	[Compact]
431	public class CertificateVerifier {
432		public weak GLib.Callback destroy_request;
433		public weak string name;
434		public weak string scheme_name;
435		public weak GLib.Callback start_verification;
436	}
437	[CCode (cheader_filename = "purple.h", free_function = "purple_chat_destroy")]
438	[Compact]
439	public class Chat {
440		public weak Purple.Account account;
441		public weak string alias;
442		public weak GLib.HashTable components;
443		public weak Purple.BlistNode node;
444		[CCode (has_construct_function = false)]
445		public Chat (Purple.Account account, string alias, GLib.HashTable components);
446		public unowned Purple.Account get_account ();
447		public unowned GLib.HashTable get_components ();
448		public unowned Purple.Group get_group ();
449		public unowned string get_name ();
450	}
451	[CCode (cheader_filename = "purple.h")]
452	[Compact]
453	public class Cipher {
454		public static bool digest_region (string name, uchar[] data, size_t data_len, size_t in_len, uchar[] digest, size_t out_len);
455		public uint get_capabilities ();
456		public unowned string get_name ();
457		public static unowned string http_digest_calculate_response (string algorithm, string method, string digest_uri, string qop, string entity, string nonce, string nonce_count, string client_nonce, string session_key);
458		public static unowned string http_digest_calculate_session_key (string algorithm, string username, string realm, string password, string nonce, string client_nonce);
459	}
460	[CCode (cheader_filename = "purple.h", free_function = "purple_cipher_context_destroy")]
461	[Compact]
462	public class CipherContext {
463		[CCode (has_construct_function = false)]
464		public CipherContext (Purple.Cipher cipher, void* extra);
465		public void append (uchar[] data, size_t len);
466		[CCode (has_construct_function = false)]
467		public CipherContext.by_name (string name, void* extra);
468		public int decrypt (uchar[] data, size_t len, uchar[] output, size_t outlen);
469		public bool digest (size_t in_len, uchar[] digest, size_t out_len);
470		public bool digest_to_str (size_t in_len, char[] digest_s, size_t out_len);
471		public int encrypt (uchar[] data, size_t len, uchar[] output, size_t outlen);
472		public Purple.CipherBatchMode get_batch_mode ();
473		public size_t get_block_size ();
474		public void* get_data ();
475		public size_t get_key_size ();
476		public void* get_option (string name);
477		public size_t get_salt_size ();
478		public void reset (void* extra);
479		public void set_batch_mode (Purple.CipherBatchMode mode);
480		public void set_data (void* data);
481		public void set_iv (uchar[] iv, size_t len);
482		public void set_key (uchar[] key);
483		public void set_key_with_len (uchar[] key, size_t len);
484		public void set_option (string name, void* value);
485		public void set_salt (uchar[] salt);
486	}
487	[CCode (cheader_filename = "purple.h")]
488	[Compact]
489	public class CipherOps {
490		public weak GLib.Callback append;
491		public weak GLib.Callback decrypt;
492		public weak GLib.Callback digest;
493		public weak GLib.Callback encrypt;
494		public weak GLib.Callback get_batch_mode;
495		public weak GLib.Callback get_block_size;
496		public weak GLib.Callback get_key_size;
497		public weak GLib.Callback get_option;
498		public weak GLib.Callback get_salt_size;
499		public weak GLib.Callback init;
500		public weak GLib.Callback reset;
501		public weak GLib.Callback set_batch_mode;
502		public weak GLib.Callback set_iv;
503		public weak GLib.Callback set_key;
504		public weak GLib.Callback set_key_with_len;
505		public weak GLib.Callback set_option;
506		public weak GLib.Callback set_salt;
507		public weak GLib.Callback uninit;
508	}
509	[CCode (cheader_filename = "purple.h", free_function = "purple_circ_buffer_destroy")]
510	[Compact]
511	public class CircBuffer {
512		public weak string buffer;
513		public size_t buflen;
514		public size_t bufused;
515		public size_t growsize;
516		public weak string inptr;
517		public weak string outptr;
518		[CCode (has_construct_function = false)]
519		public CircBuffer (size_t growsize);
520		public void append (void* src, size_t len);
521		public size_t get_max_read ();
522		public bool mark_read (size_t len);
523	}
524	[CCode (cheader_filename = "purple.h")]
525	[Compact]
526	public class Cmd {
527		public static Purple.CmdStatus do_command (Purple.Conversation conv, string cmdline, string markup, string errormsg);
528		public bool execute (Purple.Conversation conv, string cmdline);
529		public static unowned GLib.List help (Purple.Conversation conv, string cmd);
530		public static unowned GLib.List list (Purple.Conversation conv);
531		public static unowned Purple.CmdId register (string cmd, string args, Purple.CmdPriority p, Purple.CmdFlag f, string prpl_id, Purple.CmdFunc func, string helpstr, void* data);
532		public static void unregister (Purple.CmdId id);
533	}
534	[CCode (cheader_filename = "purple.h")]
535	[Compact]
536	public class CmdId {
537	}
538	[CCode (cheader_filename = "purple.h")]
539	[Compact]
540	public class CommandsUiOps {
541		public weak GLib.Callback register_command;
542		public weak GLib.Callback unregister_command;
543	}
544	[CCode (cheader_filename = "purple.h", free_function = "purple_connection_destroy")]
545	[Compact]
546	public class Connection {
547		public weak Purple.Account account;
548		public weak GLib.SList buddy_chats;
549		public uint disconnect_timeout;
550		public weak string display_name;
551		public Purple.ConnectionFlags flags;
552		public int inpa;
553		public uint keepalive;
554		public time_t last_received;
555		public weak string password;
556		public void* proto_data;
557		public weak Purple.Plugin prpl;
558		public Purple.ConnectionState state;
559		public bool wants_to_die;
560		[CCode (has_construct_function = false, type = "void")]
561		public Connection (Purple.Account account, bool regist, string password);
562		public void error (string reason);
563		public static bool error_is_fatal (Purple.ConnectionError reason);
564		public void error_reason (Purple.ConnectionError reason, string description);
565		public unowned Purple.Account get_account ();
566		public unowned string get_display_name ();
567		public unowned string get_password ();
568		public void* get_protocol_data ();
569		public unowned Purple.Plugin get_prpl ();
570		public Purple.ConnectionState get_state ();
571		public void notice (string text);
572		public void set_account (Purple.Account account);
573		public void set_display_name (string name);
574		public void set_protocol_data (void* proto_data);
575		public void set_state (Purple.ConnectionState state);
576		public void ssl_error (Purple.SslErrorType ssl_error);
577		[CCode (has_construct_function = false, type = "void")]
578		public Connection.unregister (Purple.Account account, string password, Purple.AccountUnregistrationCb cb);
579		public void update_progress (string text, size_t step, size_t count);
580	}
581	[CCode (cheader_filename = "purple.h")]
582	[Compact]
583	public class ConnectionErrorInfo {
584		public weak string description;
585		public Purple.ConnectionError type;
586	}
587	[CCode (cheader_filename = "purple.h")]
588	[Compact]
589	public class ConnectionUiOps {
590		public weak GLib.Callback connect_progress;
591		public weak GLib.Callback connected;
592		public weak GLib.Callback disconnected;
593		public weak GLib.Callback network_connected;
594		public weak GLib.Callback network_disconnected;
595		public weak GLib.Callback notice;
596		public weak GLib.Callback report_disconnect;
597		public weak GLib.Callback report_disconnect_reason;
598	}
599	[CCode (cheader_filename = "purple.h", free_function = "purple_contact_destroy")]
600	[Compact]
601	public class Contact {
602		public weak string alias;
603		public int currentsize;
604		public weak Purple.BlistNode node;
605		public int online;
606		public weak Purple.Buddy priority;
607		public bool priority_valid;
608		public int totalsize;
609		[CCode (has_construct_function = false)]
610		public Contact ();
611		public unowned string get_alias ();
612		public unowned Purple.Group get_group ();
613		public unowned Purple.Buddy get_priority_buddy ();
614		public void invalidate_priority_buddy ();
615		public bool on_account (Purple.Account account);
616		public void set_alias (string alias);
617	}
618	[CCode (cheader_filename = "purple.h")]
619	[Compact]
620	public class ConvChat {
621		public weak Purple.Conversation conv;
622		public int id;
623		public weak GLib.List ignored;
624		public weak GLib.List in_room;
625		public weak string nick;
626		public weak string topic;
627		public weak GLib.HashTable users;
628		public weak string who;
629		public void add_user (string user, string extra_msg, Purple.ConvChatBuddyFlags flags, bool new_arrival);
630		public void add_users (GLib.List users, GLib.List extra_msgs, GLib.List flags, bool new_arrivals);
631		public static void cb_destroy (Purple.ConvChatBuddy cb);
632		public unowned Purple.ConvChatBuddy cb_find (string name);
633		public static unowned string cb_get_attribute (Purple.ConvChatBuddy cb, string key);
634		public static unowned GLib.List cb_get_attribute_keys (Purple.ConvChatBuddy cb);
635		public static unowned string cb_get_name (Purple.ConvChatBuddy cb);
636		public static unowned Purple.ConvChatBuddy cb_new (string name, string alias, Purple.ConvChatBuddyFlags flags);
637		public void cb_set_attribute (Purple.ConvChatBuddy cb, string key, string value);
638		public void cb_set_attributes (Purple.ConvChatBuddy cb, GLib.List keys, GLib.List values);
639		public void clear_users ();
640		public bool find_user (string user);
641		public unowned Purple.Conversation get_conversation ();
642		public int get_id ();
643		public unowned GLib.List get_ignored ();
644		public unowned string get_ignored_user (string user);
645		public unowned string get_nick ();
646		public unowned string get_topic ();
647		public unowned GLib.List get_users ();
648		public bool has_left ();
649		public void ignore (string name);
650		public void invite_user (string user, string message, bool confirm);
651		public bool is_user_ignored (string user);
652		public void left ();
653		public void remove_user (string user, string reason);
654		public void remove_users (GLib.List users, string reason);
655		public void rename_user (string old_user, string new_user);
656		public void send (string message);
657		public void send_with_flags (string message, Purple.MessageFlags flags);
658		public void set_id (int id);
659		public unowned GLib.List set_ignored (GLib.List ignored);
660		public void set_nick (string nick);
661		public void set_topic (string who, string topic);
662		public unowned GLib.List set_users (GLib.List users);
663		public void unignore (string name);
664		public Purple.ConvChatBuddyFlags user_get_flags (string user);
665		public void user_set_flags (string user, Purple.ConvChatBuddyFlags flags);
666		public void write (string who, string message, Purple.MessageFlags flags, time_t mtime);
667	}
668	[CCode (cheader_filename = "purple.h")]
669	[Compact]
670	public class ConvChatBuddy {
671		public weak string alias;
672		public weak string alias_key;
673		public weak GLib.HashTable attributes;
674		public bool buddy;
675		public Purple.ConvChatBuddyFlags flags;
676		public weak string name;
677		public void* ui_data;
678	}
679	[CCode (cheader_filename = "purple.h")]
680	[Compact]
681	public class ConvIm {
682		public weak Purple.Conversation conv;
683		public weak Purple.BuddyIcon icon;
684		public uint send_typed_timeout;
685		public time_t type_again;
686		public Purple.TypingState typing_state;
687		public uint typing_timeout;
688		public unowned Purple.Conversation get_conversation ();
689		public unowned Purple.BuddyIcon get_icon ();
690		public uint get_send_typed_timeout ();
691		public time_t get_type_again ();
692		public Purple.TypingState get_typing_state ();
693		public uint get_typing_timeout ();
694		public void send (string message);
695		public void send_with_flags (string message, Purple.MessageFlags flags);
696		public void set_icon (Purple.BuddyIcon icon);
697		public void set_type_again (uint val);
698		public void set_typing_state (Purple.TypingState state);
699		public void start_send_typed_timeout ();
700		public void start_typing_timeout (int timeout);
701		public void stop_send_typed_timeout ();
702		public void stop_typing_timeout ();
703		public void update_typing ();
704		public void write (string who, string message, Purple.MessageFlags flags, time_t mtime);
705	}
706	[CCode (cheader_filename = "purple.h")]
707	[Compact]
708	public class ConvMessage {
709		public weak string alias;
710		public weak Purple.Conversation conv;
711		public Purple.MessageFlags flags;
712		public weak string what;
713		public time_t when;
714		public weak string who;
715	}
716	[CCode (cheader_filename = "purple.h", free_function = "purple_conversation_destroy")]
717	[Compact]
718	public class Conversation {
719		public weak Purple.Account account;
720		public weak GLib.HashTable data;
721		public Purple.ConnectionFlags features;
722		public bool logging;
723		public weak GLib.List logs;
724		public weak GLib.List message_history;
725		public weak string name;
726		public weak string title;
727		public Purple.ConversationType type;
728		public void* u;
729		public void* ui_data;
730		public weak Purple.ConversationUiOps ui_ops;
731		[CCode (has_construct_function = false)]
732		public Conversation (Purple.ConversationType type, Purple.Account account, string name);
733		public void autoset_title ();
734		public void clear_message_history ();
735		public void close_logs ();
736		public bool do_command (string cmdline, string markup, string error);
737		public static void @foreach (GLib.Callback func);
738		public unowned Purple.Account get_account ();
739		public unowned Purple.ConvChat get_chat_data ();
740		public void* get_data (string key);
741		public unowned GLib.List get_extended_menu ();
742		public Purple.ConnectionFlags get_features ();
743		public unowned Purple.Connection get_gc ();
744		public unowned Purple.ConvIm get_im_data ();
745		public unowned GLib.List get_message_history ();
746		public unowned string get_name ();
747		public unowned string get_title ();
748		public unowned Purple.ConversationUiOps get_ui_ops ();
749		public bool has_focus ();
750		public bool is_logging ();
751		public static Purple.MessageFlags message_get_flags (Purple.ConvMessage msg);
752		public static unowned string message_get_message (Purple.ConvMessage msg);
753		public static unowned string message_get_sender (Purple.ConvMessage msg);
754		public static time_t message_get_timestamp (Purple.ConvMessage msg);
755		public void present ();
756		public void set_account (Purple.Account account);
757		public void set_data (string key, void* data);
758		public void set_features (Purple.ConnectionFlags features);
759		public void set_logging (bool log);
760		public void set_name (string name);
761		public void set_title (string title);
762		public void set_ui_ops (Purple.ConversationUiOps ops);
763		public void update (Purple.ConvUpdateType type);
764		public void write (string who, string message, Purple.MessageFlags flags, time_t mtime);
765	}
766	[CCode (cheader_filename = "purple.h")]
767	[Compact]
768	public class ConversationUiOps {
769		public weak GLib.Callback chat_add_users;
770		public weak GLib.Callback chat_remove_users;
771		public weak GLib.Callback chat_rename_user;
772		public weak GLib.Callback chat_update_user;
773		public weak GLib.Callback create_conversation;
774		public weak GLib.Callback custom_smiley_add;
775		public weak GLib.Callback custom_smiley_close;
776		public weak GLib.Callback custom_smiley_write;
777		public weak GLib.Callback destroy_conversation;
778		public weak GLib.Callback has_focus;
779		public weak GLib.Callback present;
780		public weak GLib.Callback send_confirm;
781		public weak GLib.Callback write_chat;
782		public weak GLib.Callback write_conv;
783		public weak GLib.Callback write_im;
784	}
785	[CCode (cheader_filename = "purple.h")]
786	[Compact]
787	public class Core {
788		public static bool ensure_single_instance ();
789		public static unowned string get_ui ();
790		public static unowned GLib.HashTable get_ui_info ();
791		public static unowned Purple.CoreUiOps get_ui_ops ();
792		public static unowned string get_version ();
793		public static bool init (string ui);
794		public static bool migrate ();
795		public static void quit ();
796		public static bool quit_cb (void* unused);
797		public static void set_ui_ops (Purple.CoreUiOps ops);
798	}
799	[CCode (cheader_filename = "purple.h")]
800	[Compact]
801	public class CoreUiOps {
802		public weak GLib.Callback debug_ui_init;
803		public weak GLib.Callback get_ui_info;
804		public weak GLib.Callback quit;
805		public weak GLib.Callback ui_init;
806		public weak GLib.Callback ui_prefs_init;
807	}
808	[CCode (cheader_filename = "purple.h")]
809	[Compact]
810	public class DBusType {
811		public weak Purple.DBusType parent;
812	}
813	[CCode (cheader_filename = "purple.h")]
814	[Compact]
815	public class DebugUiOps {
816		public weak GLib.Callback is_enabled;
817		public weak GLib.Callback print;
818	}
819	[CCode (cheader_filename = "purple.h", copy_function = "purple_desktop_item_copy", unref_function = "purple_desktop_item_unref")]
820	[Compact]
821	public class DesktopItem {
822		public unowned Purple.DesktopItem copy ();
823		[CCode (has_construct_function = false)]
824		public DesktopItem.from_file (string filename);
825		public Purple.DesktopItemType get_entry_type ();
826		public unowned string get_string (string attr);
827	}
828	[CCode (cheader_filename = "purple.h")]
829	[Compact]
830	public class DnsQueryData {
831	}
832	[CCode (cheader_filename = "purple.h")]
833	[Compact]
834	public class DnsQueryUiOps {
835		public weak GLib.Callback destroy;
836		public weak GLib.Callback resolve_host;
837	}
838	[CCode (cheader_filename = "purple.h")]
839	[Compact]
840	public class EventLoopUiOps {
841		public weak GLib.Callback input_add;
842		public weak GLib.Callback input_get_error;
843		public weak GLib.Callback input_remove;
844		public weak GLib.Callback timeout_add;
845		public weak GLib.Callback timeout_add_seconds;
846		public weak GLib.Callback timeout_remove;
847	}
848	[CCode (cheader_filename = "purple.h", free_function = "purple_group_destroy")]
849	[Compact]
850	public class Group {
851		public int currentsize;
852		public weak string name;
853		public weak Purple.BlistNode node;
854		public int online;
855		public int totalsize;
856		[CCode (has_construct_function = false)]
857		public Group (string name);
858		public unowned GLib.SList get_accounts ();
859		public unowned string get_name ();
860		public bool on_account (Purple.Account account);
861	}
862	[CCode (cheader_filename = "purple.h")]
863	[Compact]
864	public class IdleUiOps {
865		public weak GLib.Callback get_time_idle;
866	}
867	[CCode (cheader_filename = "purple.h")]
868	[Compact]
869	public class KeyValuePair {
870		public weak string key;
871		public void* value;
872	}
873	[CCode (cheader_filename = "purple.h")]
874	[Compact]
875	public class Log {
876		public weak Purple.Account account;
877		public weak Purple.Conversation conv;
878		public weak Purple.LogLogger logger;
879		public void* logger_data;
880		public weak string name;
881		public time_t time;
882		public void* tm;
883		public Purple.LogType type;
884		[CCode (has_construct_function = false)]
885		public Log (Purple.LogType type, string name, Purple.Account account, Purple.Conversation conv, time_t time, void* tm);
886		public bool common_deleter ();
887		public bool common_is_deletable ();
888		public static unowned GLib.List common_lister (Purple.LogType type, string name, Purple.Account account, string ext, Purple.LogLogger logger);
889		public int common_sizer ();
890		public static int common_total_sizer (Purple.LogType type, string name, Purple.Account account, string ext);
891		public void common_writer (string ext);
892		public static int compare (void* y, void* z);
893		public bool @delete ();
894		public static int get_activity_score (Purple.LogType type, string name, Purple.Account account);
895		public static void* get_handle ();
896		public static unowned string get_log_dir (Purple.LogType type, string name, Purple.Account account);
897		public static unowned GLib.HashTable get_log_sets ();
898		public static unowned GLib.List get_logs (Purple.LogType type, string name, Purple.Account account);
899		public int get_size ();
900		public static unowned GLib.List get_system_logs (Purple.Account account);
901		public static int get_total_size (Purple.LogType type, string name, Purple.Account account);
902		public static void init ();
903		public bool is_deletable ();
904		public unowned string read (Purple.LogReadFlags flags);
905		public static void uninit ();
906		public void write (Purple.MessageFlags type, string from, time_t time, string message);
907	}
908	[CCode (cheader_filename = "purple.h")]
909	[Compact]
910	public class LogCommonLoggerData {
911		public void* extra_data;
912		public weak GLib.FileStream file;
913		public weak string path;
914	}
915	[CCode (cheader_filename = "purple.h")]
916	[Compact]
917	public class LogLogger {
918		public weak GLib.Callback create;
919		public weak GLib.Callback finalize;
920		public weak GLib.Callback get_log_sets;
921		public weak string id;
922		public weak GLib.Callback is_deletable;
923		public weak GLib.Callback list;
924		public weak GLib.Callback list_syslog;
925		public weak string name;
926		public weak GLib.Callback read;
927		public weak GLib.Callback size;
928		public weak GLib.Callback total_size;
929		public weak GLib.Callback write;
930		[CCode (has_construct_function = false)]
931		public LogLogger (string id, string name, int functions);
932		public void add ();
933		public static unowned Purple.LogLogger @get ();
934		public static unowned GLib.List get_options ();
935		public void remove ();
936		public void @set ();
937	}
938	[CCode (cheader_filename = "purple.h")]
939	[Compact]
940	public class LogSet {
941		public weak Purple.Account account;
942		public bool buddy;
943		public weak string name;
944		public weak string normalized_name;
945		public Purple.LogType type;
946		public static int compare (void* y, void* z);
947	}
948	[CCode (cheader_filename = "purple.h")]
949	[Compact]
950	public class Media {
951		public bool accepted (string sess_id, string participant);
952		public void add_remote_candidates (string sess_id, string participant, GLib.List remote_candidates);
953		public bool add_stream (string sess_id, string who, Purple.MediaSessionType type, bool initiator, string transmitter, uint num_params, GLib.Parameter @params);
954		public bool candidates_prepared (string session_id, string participant);
955		public static GLib.Type caps_get_type ();
956		public bool codecs_ready (string sess_id);
957		public static GLib.Type element_type_get_type ();
958		public void end (string session_id, string participant);
959		public void error (string error);
960		public unowned Purple.Account get_account ();
961		public unowned GLib.List get_active_local_candidates (string sess_id, string participant);
962		public unowned GLib.List get_active_remote_candidates (string sess_id, string participant);
963		public unowned string get_available_params ();
964		public unowned GLib.List get_codecs (string sess_id);
965		public unowned GLib.List get_local_candidates (string sess_id, string participant);
966		public void* get_manager ();
967		public void* get_prpl_data ();
968		public unowned GLib.List get_session_ids ();
969		public Purple.MediaSessionType get_session_type (string sess_id);
970		public unowned Gst.Element get_src (string sess_id);
971		public unowned Gst.Element get_tee (string session_id, string participant);
972		public static GLib.Type info_type_get_type ();
973		public bool is_initiator (string sess_id, string participant);
974		public static GLib.Type network_protocol_get_type ();
975		public bool param_is_supported (string param);
976		public void remove_output_windows ();
977		public bool send_dtmf (string session_id, char dtmf, uchar volume, uint16 duration);
978		public static GLib.Type session_type_get_type ();
979		public bool set_decryption_parameters (string sess_id, string participant, string cipher, string auth, string key, size_t key_len);
980		public bool set_encryption_parameters (string sess_id, string cipher, string auth, string key, size_t key_len);
981		public void set_input_volume (string session_id, double level);
982		public void set_output_volume (string session_id, string participant, double level);
983		public ulong set_output_window (string session_id, string participant, ulong window_id);
984		public void set_params (uint num_params, GLib.Parameter @params);
985		public void set_prpl_data (void* prpl_data);
986		public bool set_remote_codecs (string sess_id, string participant, GLib.List codecs);
987		public bool set_send_codec (string sess_id, Purple.MediaCodec codec);
988		public bool set_send_rtcp_mux (string sess_id, string participant, bool send_rtcp_mux);
989		public static GLib.Type state_changed_get_type ();
990		public void stream_info (Purple.MediaInfoType type, string session_id, string participant, bool local);
991	}
992	[CCode (cheader_filename = "purple.h")]
993	[Compact]
994	public class MediaAppDataCallbacks {
995		public weak GLib.Callback readable;
996		public weak GLib.Callback writable;
997	}
998	[CCode (cheader_filename = "purple.h")]
999	[Compact]
1000	public class MediaBackend {
1001		public void add_remote_candidates (string sess_id, string participant, GLib.List remote_candidates);
1002		public bool add_stream (string sess_id, string who, Purple.MediaSessionType type, bool initiator, string transmitter, uint num_params, GLib.Parameter @params);
1003		public bool codecs_ready (string sess_id);
1004		public unowned string get_available_params ();
1005		public unowned GLib.List get_codecs (string sess_id);
1006		public unowned GLib.List get_local_candidates (string sess_id, string participant);
1007		public bool set_decryption_parameters (string sess_id, string participant, string cipher, string auth, string key, size_t key_len);
1008		public bool set_encryption_parameters (string sess_id, string cipher, string auth, string key, size_t key_len);
1009		public void set_params (uint num_params, GLib.Parameter @params);
1010		public bool set_remote_codecs (string sess_id, string participant, GLib.List codecs);
1011		public bool set_send_codec (string sess_id, Purple.MediaCodec codec);
1012		public bool set_send_rtcp_mux (string sess_id, string participant, bool send_rtcp_mux);
1013	}
1014	[CCode (cheader_filename = "purple.h")]
1015	[Compact]
1016	public class MediaBackendIface {
1017		public weak GLib.Callback add_remote_candidates;
1018		public weak GLib.Callback add_stream;
1019		public weak GLib.Callback codecs_ready;
1020		public weak GLib.Callback get_available_params;
1021		public weak GLib.Callback get_codecs;
1022		public weak GLib.Callback get_local_candidates;
1023		public weak GLib.TypeInterface parent_iface;
1024		public weak GLib.Callback send_dtmf;
1025		public weak GLib.Callback set_decryption_parameters;
1026		public weak GLib.Callback set_encryption_parameters;
1027		public weak GLib.Callback set_params;
1028		public weak GLib.Callback set_remote_codecs;
1029		public weak GLib.Callback set_send_codec;
1030		public weak GLib.Callback set_send_rtcp_mux;
1031	}
1032	[CCode (cheader_filename = "purple.h", copy_function = "purple_media_candidate_copy")]
1033	[Compact]
1034	public class MediaCandidate {
1035		[CCode (has_construct_function = false)]
1036		public MediaCandidate (string foundation, uint component_id, Purple.MediaCandidateType type, Purple.MediaNetworkProtocol proto, string ip, uint port);
1037		public unowned Purple.MediaCandidate copy ();
1038		public unowned string get_base_ip ();
1039		public uint16 get_base_port ();
1040		public Purple.MediaCandidateType get_candidate_type ();
1041		public uint get_component_id ();
1042		public unowned string get_foundation ();
1043		public unowned string get_ip ();
1044		public unowned string get_password ();
1045		public uint16 get_port ();
1046		public uint32 get_priority ();
1047		public Purple.MediaNetworkProtocol get_protocol ();
1048		public uint get_ttl ();
1049		public unowned string get_username ();
1050		public static unowned GLib.List list_copy (GLib.List candidates);
1051		public static void list_free (GLib.List candidates);
1052		public static GLib.Type type_get_type ();
1053	}
1054	[CCode (cheader_filename = "purple.h", copy_function = "purple_media_codec_copy")]
1055	[Compact]
1056	public class MediaCodec {
1057		[CCode (has_construct_function = false)]
1058		public MediaCodec (int id, string encoding_name, Purple.MediaSessionType media_type, uint clock_rate);
1059		public void add_optional_parameter (string name, string value);
1060		public unowned Purple.MediaCodec copy ();
1061		public uint get_channels ();
1062		public uint get_clock_rate ();
1063		public unowned string get_encoding_name ();
1064		public uint get_id ();
1065		public unowned Purple.KeyValuePair get_optional_parameter (string name, string value);
1066		public unowned GLib.List get_optional_parameters ();
1067		public static unowned GLib.List list_copy (GLib.List codecs);
1068		public static void list_free (GLib.List codecs);
1069		public void remove_optional_parameter (Purple.KeyValuePair param);
1070		public unowned string to_string ();
1071	}
1072	[CCode (cheader_filename = "purple.h")]
1073	[Compact]
1074	public class MediaElementInfo {
1075		public unowned Gst.Element call_create (Purple.Media media, string session_id, string participant);
1076		public Purple.MediaElementType get_element_type ();
1077		public unowned string get_id ();
1078		public unowned string get_name ();
1079	}
1080	[CCode (cheader_filename = "purple.h")]
1081	[Compact]
1082	public class MediaElementInfoClass {
1083	}
1084	[CCode (cheader_filename = "purple.h")]
1085	[Compact]
1086	public class MediaManager {
1087		public unowned Purple.Media create_media (Purple.Account account, string conference_type, string remote_user, bool initiator);
1088		public bool create_output_window (Purple.Media media, string session_id, string participant);
1089		public unowned Purple.Media create_private_media (Purple.Account account, string conference_type, string remote_user, bool initiator);
1090		public static unowned Purple.MediaManager @get ();
1091		public unowned Purple.MediaElementInfo get_active_element (Purple.MediaElementType type);
1092		public GLib.Type get_backend_type ();
1093		public unowned Gst.Element get_element (Purple.MediaSessionType type, Purple.Media media, string session_id, string participant);
1094		public unowned Purple.MediaElementInfo get_element_info (string name);
1095		public unowned GLib.List get_media ();
1096		public unowned GLib.List get_media_by_account (Purple.Account account);
1097		public unowned Gst.Element get_pipeline ();
1098		public unowned GLib.List get_private_media ();
1099		public unowned GLib.List get_private_media_by_account (Purple.Account account);
1100		public Purple.MediaCaps get_ui_caps ();
1101		public unowned Gst.Caps get_video_caps ();
1102		public int receive_application_data (Purple.Media media, string session_id, string participant, void* buffer, uint max_size, bool blocking);
1103		public bool register_element (Purple.MediaElementInfo info);
1104		public void remove_media (Purple.Media media);
1105		public bool remove_output_window (ulong output_window_id);
1106		public void remove_output_windows (Purple.Media media, string session_id, string participant);
1107		public int send_application_data (Purple.Media media, string session_id, string participant, void* buffer, uint size, bool blocking);
1108		public bool set_active_element (Purple.MediaElementInfo info);
1109		public void set_application_data_callbacks (Purple.Media media, string session_id, string participant, Purple.MediaAppDataCallbacks callbacks, GLib.DestroyNotify notify);
1110		public void set_backend_type (GLib.Type backend_type);
1111		public ulong set_output_window (Purple.Media media, string session_id, string participant, ulong window_id);
1112		public void set_ui_caps (Purple.MediaCaps caps);
1113		public void set_video_caps (Gst.Caps caps);
1114		public bool unregister_element (string name);
1115	}
1116	[CCode (cheader_filename = "purple.h")]
1117	[Compact]
1118	public class MediaManagerClass {
1119	}
1120	[CCode (cheader_filename = "purple.h")]
1121	[Compact]
1122	public class MenuAction {
1123		public weak Purple.Callback callback;
1124		public weak GLib.List children;
1125		public void* data;
1126		public weak string label;
1127		[CCode (has_construct_function = false)]
1128		public MenuAction (string label, Purple.Callback callback, void* data, GLib.List children);
1129	}
1130	[CCode (cheader_filename = "purple.h")]
1131	[Compact]
1132	public class MimeDocument {
1133		[CCode (has_construct_function = false)]
1134		public MimeDocument ();
1135		public unowned string get_field (string field);
1136		public unowned GLib.List get_fields ();
1137		public unowned GLib.List get_parts ();
1138		public static unowned Purple.MimeDocument parse (string buf);
1139		public static unowned Purple.MimeDocument parsen (string buf, size_t len);
1140		public void set_field (string field, string value);
1141		public void write (GLib.StringBuilder str);
1142	}
1143	[CCode (cheader_filename = "purple.h")]
1144	[Compact]
1145	public class MimePart {
1146		[CCode (has_construct_function = false)]
1147		public MimePart (Purple.MimeDocument doc);
1148		public unowned string get_data ();
1149		public void get_data_decoded (uchar[] data, size_t len);
1150		public unowned string get_field (string field);
1151		public unowned string get_field_decoded (string field);
1152		public unowned GLib.List get_fields ();
1153		public size_t get_length ();
1154		public void set_data (string data);
1155		public void set_field (string field, string value);
1156	}
1157	[CCode (cheader_filename = "purple.h")]
1158	[Compact]
1159	public class Mood {
1160		public weak string description;
1161		public weak string mood;
1162		public void* padding;
1163	}
1164	[CCode (cheader_filename = "purple.h")]
1165	[Compact]
1166	public class NetworkListenData {
1167	}
1168	[CCode (cheader_filename = "purple.h")]
1169	[Compact]
1170	public class NotifySearchButton {
1171		public weak Purple.NotifySearchResultsCallback callback;
1172		public weak string label;
1173		public Purple.NotifySearchButtonType type;
1174	}
1175	[CCode (cheader_filename = "purple.h")]
1176	[Compact]
1177	public class NotifySearchColumn {
1178		public weak string title;
1179	}
1180	[CCode (cheader_filename = "purple.h", free_function = "purple_notify_searchresults_free")]
1181	[Compact]
1182	public class NotifySearchResults {
1183		public weak GLib.List buttons;
1184		public weak GLib.List columns;
1185		[CCode (cname = "purple_notify_searchresults_new", has_construct_function = false)]
1186		public NotifySearchResults ();
1187		[CCode (cname = "purple_notify_searchresults_button_add")]
1188		public void button_add (Purple.NotifySearchButtonType type, Purple.NotifySearchResultsCallback cb);
1189		[CCode (cname = "purple_notify_searchresults_button_add_labeled")]
1190		public void button_add_labeled (string label, Purple.NotifySearchResultsCallback cb);
1191		[CCode (cname = "purple_notify_searchresults_column_add")]
1192		public void column_add (Purple.NotifySearchColumn column);
1193		[CCode (cname = "purple_notify_searchresults_column_get_title")]
1194		public unowned string column_get_title (uint column_id);
1195		[CCode (cname = "purple_notify_searchresults_column_new")]
1196		public static unowned Purple.NotifySearchColumn column_new (string title);
1197		[CCode (cname = "purple_notify_searchresults_get_columns_count")]
1198		public uint get_columns_count ();
1199		[CCode (cname = "purple_notify_searchresults_get_rows_count")]
1200		public uint get_rows_count ();
1201		[CCode (cname = "purple_notify_searchresults_row_add")]
1202		public void row_add (GLib.List row);
1203		[CCode (cname = "purple_notify_searchresults_row_get")]
1204		public unowned GLib.List row_get (uint row_id);
1205		[CCode (cname = "purple_notify_searchresults_new_rows", has_construct_function = false, type = "void")]
1206		public NotifySearchResults.rows (Purple.Connection gc, Purple.NotifySearchResults results, void* data);
1207	}
1208	[CCode (cheader_filename = "purple.h")]
1209	[Compact]
1210	public class NotifyUiOps {
1211		public weak GLib.Callback close_notify;
1212		public weak GLib.Callback notify_email;
1213		public weak GLib.Callback notify_emails;
1214		public weak GLib.Callback notify_formatted;
1215		public weak GLib.Callback notify_message;
1216		public weak GLib.Callback notify_searchresults;
1217		public weak GLib.Callback notify_searchresults_new_rows;
1218		public weak GLib.Callback notify_uri;
1219		public weak GLib.Callback notify_userinfo;
1220	}
1221	[CCode (cheader_filename = "purple.h", free_function = "purple_notify_user_info_destroy")]
1222	[Compact]
1223	public class NotifyUserInfo {
1224		[CCode (has_construct_function = false)]
1225		public NotifyUserInfo ();
1226		public void add_pair (string label, string value);
1227		public void add_pair_plaintext (string label, string value);
1228		public void add_section_break ();
1229		public void add_section_header (string label);
1230		public unowned GLib.List get_entries ();
1231		public unowned string get_text_with_newline (string newline);
1232		public void prepend_pair (string label, string value);
1233		public void prepend_section_break ();
1234		public void prepend_section_header (string label);
1235		public void remove_entry (Purple.NotifyUserInfoEntry user_info_entry);
1236		public void remove_last_item ();
1237	}
1238	[CCode (cheader_filename = "purple.h")]
1239	[Compact]
1240	public class NotifyUserInfoEntry {
1241		[CCode (has_construct_function = false)]
1242		public NotifyUserInfoEntry (string label, string value);
1243		public unowned string get_label ();
1244		public unowned string get_value ();
1245		public void set_label (string label);
1246		public void set_type (Purple.NotifyUserInfoEntryType type);
1247		public void set_value (string value);
1248	}
1249	[CCode (cheader_filename = "purple.h", free_function = "purple_plugin_destroy")]
1250	[Compact]
1251	public class Plugin {
1252		public weak GLib.List dependent_plugins;
1253		public weak string error;
1254		public void* extra;
1255		public void* handle;
1256		public weak Purple.PluginInfo info;
1257		public void* ipc_data;
1258		public bool loaded;
1259		public bool native_plugin;
1260		public weak string path;
1261		public bool unloadable;
1262		[CCode (has_construct_function = false)]
1263		public Plugin (bool native, string path);
1264		public void disable ();
1265		public unowned string get_author ();
1266		public unowned string get_description ();
1267		public unowned string get_homepage ();
1268		public unowned string get_id ();
1269		public unowned string get_name ();
1270		public unowned string get_summary ();
1271		public unowned string get_version ();
1272		public void* ipc_call (string command, bool ok);
1273		public bool ipc_get_params (string command, out unowned Purple.Value ret_value, int num_params, out unowned Purple.Value @params);
1274		public bool ipc_register (string command, Purple.Callback func, Purple.SignalMarshalFunc marshal, Purple.Value ret_value, int num_params);
1275		public void ipc_unregister (string command);
1276		public void ipc_unregister_all ();
1277		public bool is_loaded ();
1278		public bool is_unloadable ();
1279		public bool load ();
1280		public static unowned Purple.Plugin probe (string filename);
1281		public bool register ();
1282		public bool reload ();
1283		public bool unload ();
1284	}
1285	[CCode (cheader_filename = "purple.h")]
1286	[Compact]
1287	public class PluginAction {
1288		public weak GLib.Callback callback;
1289		public void* context;
1290		public weak string label;
1291		public weak Purple.Plugin plugin;
1292		public void* user_data;
1293		[CCode (has_construct_function = false)]
1294		public PluginAction (string label, GLib.Callback callback);
1295	}
1296	[CCode (cheader_filename = "purple.h")]
1297	[Compact]
1298	public class PluginInfo {
1299		public weak GLib.Callback actions;
1300		public weak string author;
1301		public weak GLib.List dependencies;
1302		public weak string description;
1303		public weak GLib.Callback destroy;
1304		public void* extra_info;
1305		public uint flags;
1306		public weak string homepage;
1307		public weak string id;
1308		public weak GLib.Callback load;
1309		public uint magic;
1310		public uint major_version;
1311		public uint minor_version;
1312		public weak string name;
1313		public weak Purple.PluginUiInfo prefs_info;
1314		public weak Purple.PluginPriority priority;
1315		public weak string summary;
1316		public Purple.PluginType type;
1317		public void* ui_info;
1318		public weak string ui_requirement;
1319		public weak GLib.Callback unload;
1320		public weak string version;
1321	}
1322	[CCode (cheader_filename = "purple.h")]
1323	[Compact]
1324	public class PluginLoaderInfo {
1325		public weak GLib.Callback destroy;
1326		public weak GLib.List exts;
1327		public weak GLib.Callback load;
1328		public weak GLib.Callback probe;
1329		public weak GLib.Callback unload;
1330	}
1331	[CCode (cheader_filename = "purple.h", free_function = "purple_plugin_pref_destroy")]
1332	[Compact]
1333	public class PluginPref {
1334		[CCode (has_construct_function = false)]
1335		public PluginPref ();
1336		public void add_choice (string label, void* choice);
1337		public void get_bounds (int min, int max);
1338		public unowned GLib.List get_choices ();
1339		public Purple.StringFormatType get_format_type ();
1340		public unowned string get_label ();
1341		public bool get_masked ();
1342		public uint get_max_length ();
1343		public unowned string get_name ();
1344		public void set_bounds (int min, int max);
1345		public void set_format_type (Purple.StringFormatType format);
1346		public void set_label (string label);
1347		public void set_masked (bool mask);
1348		public void set_max_length (uint max_length);
1349		public void set_name (string name);
1350		public void set_type (Purple.PluginPrefType type);
1351		[CCode (has_construct_function = false)]
1352		public PluginPref.with_label (string label);
1353		[CCode (has_construct_function = false)]
1354		public PluginPref.with_name (string name);
1355		[CCode (has_construct_function = false)]
1356		public PluginPref.with_name_and_label (string name, string label);
1357	}
1358	[CCode (cheader_filename = "purple.h", free_function = "purple_plugin_pref_frame_destroy")]
1359	[Compact]
1360	public class PluginPrefFrame {
1361		[CCode (has_construct_function = false)]
1362		public PluginPrefFrame ();
1363		public void add (Purple.PluginPref pref);
1364		public unowned GLib.List get_prefs ();
1365	}
1366	[CCode (cheader_filename = "purple.h")]
1367	[Compact]
1368	public class PluginPriority {
1369	}
1370	[CCode (cheader_filename = "purple.h")]
1371	[Compact]
1372	public class PluginProtocolInfo {
1373		public weak GLib.Callback add_buddies;
1374		public weak GLib.Callback add_buddies_with_invite;
1375		public weak GLib.Callback add_buddy;
1376		public weak GLib.Callback add_buddy_with_invite;
1377		public weak GLib.Callback add_deny;
1378		public weak GLib.Callback add_permit;
1379		public weak GLib.Callback alias_buddy;
1380		public weak GLib.Callback blist_node_menu;
1381		public weak GLib.Callback buddy_free;
1382		public weak GLib.Callback can_receive_file;
1383		public weak GLib.Callback change_passwd;
1384		public weak GLib.Callback chat_info;
1385		public weak GLib.Callback chat_info_defaults;
1386		public weak GLib.Callback chat_invite;
1387		public weak GLib.Callback chat_leave;
1388		public weak GLib.Callback chat_send;
1389		public weak GLib.Callback chat_whisper;
1390		public weak GLib.Callback close;
1391		public weak GLib.Callback convo_closed;
1392		public weak GLib.Callback find_blist_chat;
1393		public weak GLib.Callback get_account_text_table;
1394		public weak GLib.Callback get_attention_types;
1395		public weak GLib.Callback get_cb_away;
1396		public weak GLib.Callback get_cb_info;
1397		public weak GLib.Callback get_cb_real_name;
1398		public weak GLib.Callback get_chat_name;
1399		public weak GLib.Callback get_info;
1400		public weak GLib.Callback get_media_caps;
1401		public weak GLib.Callback get_moods;
1402		public weak GLib.Callback get_public_alias;
1403		public weak GLib.Callback group_buddy;
1404		public weak Purple.BuddyIconSpec icon_spec;
1405		public weak GLib.Callback initiate_media;
1406		public weak GLib.Callback join_chat;
1407		public weak GLib.Callback keepalive;
1408		public weak GLib.Callback list_emblem;
1409		public weak GLib.Callback list_icon;
1410		public weak GLib.Callback login;
1411		public weak GLib.Callback new_xfer;
1412		public weak GLib.Callback normalize;
1413		public weak GLib.Callback offline_message;
1414		public Purple.ProtocolOptions options;
1415		public weak GLib.List protocol_options;
1416		public weak GLib.Callback register_user;
1417		public weak GLib.Callback reject_chat;
1418		public weak GLib.Callback rem_deny;
1419		public weak GLib.Callback rem_permit;
1420		public weak GLib.Callback remove_buddies;
1421		public weak GLib.Callback remove_buddy;
1422		public weak GLib.Callback remove_group;
1423		public weak GLib.Callback rename_group;
1424		public weak GLib.Callback roomlist_cancel;
1425		public weak GLib.Callback roomlist_expand_category;
1426		public weak GLib.Callback roomlist_get_list;
1427		public weak GLib.Callback roomlist_room_serialize;
1428		public weak GLib.Callback send_attention;
1429		public weak GLib.Callback send_file;
1430		public weak GLib.Callback send_im;
1431		public weak GLib.Callback send_raw;
1432		public weak GLib.Callback send_typing;
1433		public weak GLib.Callback set_buddy_icon;
1434		public weak GLib.Callback set_chat_topic;
1435		public weak GLib.Callback set_idle;
1436		public weak GLib.Callback set_info;
1437		public weak GLib.Callback set_permit_deny;
1438		public weak GLib.Callback set_public_alias;
1439		public weak GLib.Callback set_status;
1440		public weak GLib.Callback status_text;
1441		public weak GLib.Callback status_types;
1442		public uint struct_size;
1443		public weak GLib.Callback tooltip_text;
1444		public weak GLib.Callback unregister_user;
1445		public weak GLib.List user_splits;
1446		public weak Purple.WhiteboardPrplOps whiteboard_prpl_ops;
1447	}
1448	[CCode (cheader_filename = "purple.h")]
1449	[Compact]
1450	public class PluginUiInfo {
1451		public weak Purple.PluginPrefFrame frame;
1452		public weak GLib.Callback get_plugin_pref_frame;
1453		public int page_num;
1454	}
1455	[CCode (cheader_filename = "purple.h", free_function = "purple_pounce_destroy")]
1456	[Compact]
1457	public class Pounce {
1458		public weak GLib.HashTable actions;
1459		public void* data;
1460		public Purple.PounceEvent events;
1461		public Purple.PounceOption options;
1462		public weak string pouncee;
1463		public weak Purple.Account pouncer;
1464		public bool save;
1465		public weak string ui_type;
1466		[CCode (has_construct_function = false)]
1467		public Pounce (string ui_type, Purple.Account pouncer, string pouncee, Purple.PounceEvent event, Purple.PounceOption option);
1468		public unowned string action_get_attribute (string action, string attr);
1469		public bool action_is_enabled (string action);
1470		public void action_register (string name);
1471		public void action_set_attribute (string action, string attr, string value);
1472		public void action_set_enabled (string action, bool enabled);
1473		public static void destroy_all_by_account (Purple.Account account);
1474		public static void destroy_all_by_buddy (Purple.Buddy buddy);
1475		public static void execute (Purple.Account pouncer, string pouncee, Purple.PounceEvent events);
1476		public void* get_data ();
1477		public Purple.PounceEvent get_events ();
1478		public Purple.PounceOption get_options ();
1479		public unowned string get_pouncee ();
1480		public unowned Purple.Account get_pouncer ();
1481		public bool get_save ();
1482		public void set_data (void* data);
1483		public void set_events (Purple.PounceEvent events);
1484		public void set_options (Purple.PounceOption options);
1485		public void set_pouncee (string pouncee);
1486		public void set_pouncer (Purple.Account pouncer);
1487		public void set_save (bool save);
1488	}
1489	[CCode (cheader_filename = "purple.h")]
1490	[Compact]
1491	public class PrefCallbackData {
1492	}
1493	[CCode (cheader_filename = "purple.h")]
1494	[Compact]
1495	public class PrefsUiOps {
1496		public weak GLib.Callback add_bool;
1497		public weak GLib.Callback add_int;
1498		public weak GLib.Callback add_none;
1499		public weak GLib.Callback add_string;
1500		public weak GLib.Callback add_string_list;
1501		public weak GLib.Callback connect_callback;
1502		public weak GLib.Callback disconnect_callback;
1503		public weak GLib.Callback exists;
1504		public weak GLib.Callback get_bool;
1505		public weak GLib.Callback get_children_names;
1506		public weak GLib.Callback get_int;
1507		public weak GLib.Callback get_string;
1508		public weak GLib.Callback get_string_list;
1509		public weak GLib.Callback get_type;
1510		public weak GLib.Callback load;
1511		public weak GLib.Callback remove;
1512		public weak GLib.Callback rename;
1513		public weak GLib.Callback rename_boolean_toggle;
1514		public weak GLib.Callback save;
1515		public weak GLib.Callback schedule_save;
1516		public weak GLib.Callback set_bool;
1517		public weak GLib.Callback set_int;
1518		public weak GLib.Callback set_string;
1519		public weak GLib.Callback set_string_list;
1520	}
1521	[CCode (cheader_filename = "purple.h", free_function = "purple_presence_destroy")]
1522	[Compact]
1523	public class Presence {
1524		[CCode (has_construct_function = false)]
1525		public Presence (Purple.PresenceContext context);
1526		public void add_list (GLib.List source_list);
1527		public void add_status (Purple.Status status);
1528		public int compare (Purple.Presence presence2);
1529		[CCode (has_construct_function = false)]
1530		public Presence.for_account (Purple.Account account);
1531		[CCode (has_construct_function = false)]
1532		public Presence.for_buddy (Purple.Buddy buddy);
1533		[CCode (has_construct_function = false)]
1534		public Presence.for_conv (Purple.Conversation conv);
1535		public unowned Purple.Account get_account ();
1536		public unowned Purple.Status get_active_status ();
1537		public unowned Purple.Buddy get_buddy ();
1538		public unowned string get_chat_user ();
1539		public Purple.PresenceContext get_context ();
1540		public unowned Purple.Conversation get_conversation ();
1541		public time_t get_idle_time ();
1542		public time_t get_login_time ();
1543		public unowned Purple.Status get_status (string status_id);
1544		public unowned GLib.List get_statuses ();
1545		public bool is_available ();
1546		public bool is_idle ();
1547		public bool is_online ();
1548		public bool is_status_active (string status_id);
1549		public bool is_status_primitive_active (Purple.StatusPrimitive primitive);
1550		public void set_idle (bool idle, time_t idle_time);
1551		public void set_login_time (time_t login_time);
1552		public void set_status_active (string status_id, bool active);
1553		public void switch_status (string status_id);
1554	}
1555	[CCode (cheader_filename = "purple.h")]
1556	[Compact]
1557	public class PrivacyUiOps {
1558		public weak GLib.Callback deny_added;
1559		public weak GLib.Callback deny_removed;
1560		public weak GLib.Callback permit_added;
1561		public weak GLib.Callback permit_removed;
1562	}
1563	[CCode (cheader_filename = "purple.h")]
1564	[Compact]
1565	public class ProxyConnectData {
1566	}
1567	[CCode (cheader_filename = "purple.h", free_function = "purple_proxy_info_destroy")]
1568	[Compact]
1569	public class ProxyInfo {
1570		public weak string host;
1571		public weak string password;
1572		public int port;
1573		public Purple.ProxyType type;
1574		public weak string username;
1575		[CCode (has_construct_function = false)]
1576		public ProxyInfo ();
1577		public unowned string get_host ();
1578		public unowned string get_password ();
1579		public int get_port ();
1580		public unowned string get_username ();
1581		public void set_host (string host);
1582		public void set_password (string password);
1583		public void set_port (int port);
1584		public void set_type (Purple.ProxyType type);
1585		public void set_username (string username);
1586	}
1587	[CCode (cheader_filename = "purple.h", free_function = "purple_request_field_destroy")]
1588	[Compact]
1589	public class RequestField {
1590		public weak Purple.RequestFieldGroup group;
1591		public weak string id;
1592		public weak string label;
1593		public bool required;
1594		public Purple.RequestFieldType type;
1595		public weak string type_hint;
1596		public void* u;
1597		public void* ui_data;
1598		public bool visible;
1599		[CCode (has_construct_function = false)]
1600		public RequestField (string id, string text, Purple.RequestFieldType type);
1601		public unowned Purple.Account account_get_default_value ();
1602		public unowned Purple.FilterAccountFunc account_get_filter ();
1603		public bool account_get_show_all ();
1604		public unowned Purple.Account account_get_value ();
1605		public static unowned Purple.RequestField account_new (string id, string text, Purple.Account account);
1606		public void account_set_default_value (Purple.Account default_value);
1607		public void account_set_filter (Purple.FilterAccountFunc filter_func);
1608		public void account_set_show_all (bool show_all);
1609		public void account_set_value (Purple.Account value);
1610		public bool bool_get_default_value ();
1611		public bool bool_get_value ();
1612		public static unowned Purple.RequestField bool_new (string id, string text, bool default_value);
1613		public void bool_set_default_value (bool default_value);
1614		public void bool_set_value (bool value);
1615		public void choice_add (string label);
1616		public int choice_get_default_value ();
1617		public unowned GLib.List choice_get_labels ();
1618		public int choice_get_value ();
1619		public static unowned Purple.RequestField choice_new (string id, string text, int default_value);
1620		public void choice_set_default_value (int default_value);
1621		public void choice_set_value (int value);
1622		public unowned Purple.RequestFieldGroup get_group ();
1623		public unowned string get_id ();
1624		public unowned string get_label ();
1625		public unowned string get_type_hint ();
1626		public void* get_ui_data ();
1627		public unowned string image_get_buffer ();
1628		public uint image_get_scale_x ();
1629		public uint image_get_scale_y ();
1630		public size_t image_get_size ();
1631		public static unowned Purple.RequestField image_new (string id, string text, string buf, size_t size);
1632		public void image_set_scale (uint x, uint y);
1633		public int int_get_default_value ();
1634		public int int_get_value ();
1635		public static unowned Purple.RequestField int_new (string id, string text, int default_value);
1636		public void int_set_default_value (int default_value);
1637		public void int_set_value (int value);
1638		public bool is_required ();
1639		public bool is_visible ();
1640		public static unowned Purple.RequestField label_new (string id, string text);
1641		public void list_add (string item, void* data);
1642		public void list_add_icon (string item, string icon_path, void* data);
1643		public void list_add_selected (string item);
1644		public void list_clear_selected ();
1645		public void* list_get_data (string text);
1646		public unowned GLib.List list_get_icons ();
1647		public unowned GLib.List list_get_items ();
1648		public bool list_get_multi_select ();
1649		public unowned GLib.List list_get_selected ();
1650		public bool list_is_selected (string item);
1651		public static unowned Purple.RequestField list_new (string id, string text);
1652		public void list_set_multi_select (bool multi_select);
1653		public void list_set_selected (GLib.List items);
1654		public void set_label (string label);
1655		public void set_required (bool required);
1656		public void set_type_hint (string type_hint);
1657		public void set_ui_data (void* ui_data);
1658		public void set_visible (bool visible);
1659		public unowned string string_get_default_value ();
1660		public unowned string string_get_value ();
1661		public bool string_is_editable ();
1662		public bool string_is_masked ();
1663		public bool string_is_multiline ();
1664		public static unowned Purple.RequestField string_new (string id, string text, string default_value, bool multiline);
1665		public void string_set_default_value (string default_value);
1666		public void string_set_editable (bool editable);
1667		public void string_set_masked (bool masked);
1668		public void string_set_value (string value);
1669	}
1670	[CCode (cheader_filename = "purple.h", free_function = "purple_request_field_group_destroy")]
1671	[Compact]
1672	public class RequestFieldGroup {
1673		public weak GLib.List fields;
1674		public weak Purple.RequestFields fields_list;
1675		public weak string title;
1676		[CCode (has_construct_function = false)]
1677		public RequestFieldGroup (string title);
1678		public void add_field (Purple.RequestField field);
1679		public unowned GLib.List get_fields ();
1680		public unowned string get_title ();
1681	}
1682	[CCode (cheader_filename = "purple.h", free_function = "purple_request_fields_destroy")]
1683	[Compact]
1684	public class RequestFields {
1685		public weak GLib.HashTable fields;
1686		public weak GLib.List groups;
1687		public weak GLib.List required_fields;
1688		public void* ui_data;
1689		[CCode (has_construct_function = false)]
1690		public RequestFields ();
1691		public void add_group (Purple.RequestFieldGroup group);
1692		public bool all_required_filled ();
1693		public bool exists (string id);
1694		public unowned Purple.Account get_account (string id);
1695		public bool get_bool (string id);
1696		public int get_choice (string id);
1697		public unowned Purple.RequestField get_field (string id);
1698		public unowned GLib.List get_groups ();
1699		public int get_integer (string id);
1700		public unowned GLib.List get_required ();
1701		public unowned string get_string (string id);
1702		public bool is_field_required (string id);
1703	}
1704	[CCode (cheader_filename = "purple.h")]
1705	[Compact]
1706	public class RequestUiOps {
1707		public weak GLib.Callback close_request;
1708		public weak GLib.Callback request_action;
1709		public weak GLib.Callback request_action_with_icon;
1710		public weak GLib.Callback request_choice;
1711		public weak GLib.Callback request_fields;
1712		public weak GLib.Callback request_file;
1713		public weak GLib.Callback request_folder;
1714		public weak GLib.Callback request_input;
1715	}
1716	[CCode (cheader_filename = "purple.h", ref_function = "purple_roomlist_ref", ref_function_void = true, unref_function = "purple_roomlist_unref")]
1717	[Compact]
1718	public class Roomlist {
1719		public weak Purple.Account account;
1720		public weak GLib.List fields;
1721		public bool in_progress;
1722		public void* proto_data;
1723		public uint @ref;
1724		public weak GLib.List rooms;
1725		public void* ui_data;
1726		[CCode (has_construct_function = false)]
1727		public Roomlist (Purple.Account account);
1728		public void cancel_get_list ();
1729		public void expand_category (Purple.RoomlistRoom category);
1730		public unowned GLib.List get_fields ();
1731		public bool get_in_progress ();
1732		public static unowned Purple.Roomlist get_list (Purple.Connection gc);
1733		public static unowned Purple.RoomlistUiOps get_ui_ops ();
1734		public void set_fields (GLib.List fields);
1735		public void set_in_progress (bool in_progress);
1736		public static void set_ui_ops (Purple.RoomlistUiOps ops);
1737		public static void show_with_account (Purple.Account account);
1738	}
1739	[CCode (cheader_filename = "purple.h")]
1740	[Compact]
1741	public class RoomlistField {
1742		public bool hidden;
1743		public weak string label;
1744		public weak string name;
1745		public Purple.RoomlistFieldType type;
1746		[CCode (has_construct_function = false)]
1747		public RoomlistField (Purple.RoomlistFieldType type, string label, string name, bool hidden);
1748		public bool get_hidden ();
1749		public unowned string get_label ();
1750	}
1751	[CCode (cheader_filename = "purple.h")]
1752	[Compact]
1753	public class RoomlistRoom {
1754		public bool expanded_once;
1755		public weak GLib.List fields;
1756		public weak string name;
1757		public weak Purple.RoomlistRoom parent;
1758		public Purple.RoomlistRoomType type;
1759		[CCode (has_construct_function = false)]
1760		public RoomlistRoom (Purple.RoomlistRoomType type, string name, Purple.RoomlistRoom parent);
1761		public static void add (Purple.Roomlist list, Purple.RoomlistRoom room);
1762		public static void add_field (Purple.Roomlist list, Purple.RoomlistRoom room, void* field);
1763		public unowned GLib.List get_fields ();
1764		public unowned string get_name ();
1765		public unowned Purple.RoomlistRoom get_parent ();
1766		public static void join (Purple.Roomlist list, Purple.RoomlistRoom room);
1767	}
1768	[CCode (cheader_filename = "purple.h")]
1769	[Compact]
1770	public class RoomlistUiOps {
1771		public weak GLib.Callback add_room;
1772		public weak GLib.Callback create;
1773		public weak GLib.Callback destroy;
1774		public weak GLib.Callback in_progress;
1775		public weak GLib.Callback set_fields;
1776		public weak GLib.Callback show_with_account;
1777	}
1778	[CCode (cheader_filename = "purple.h")]
1779	[Compact]
1780	public class SavedStatus {
1781		[CCode (cname = "purple_savedstatus_new", has_construct_function = false)]
1782		public SavedStatus (string title, Purple.StatusPrimitive type);
1783		[CCode (cname = "purple_savedstatus_activate")]
1784		public void activate ();
1785		[CCode (cname = "purple_savedstatus_activate_for_account")]
1786		public void activate_for_account (Purple.Account account);
1787		[CCode (cname = "purple_savedstatus_delete")]
1788		public static bool @delete (string title);
1789		[CCode (cname = "purple_savedstatus_delete_by_status")]
1790		public void delete_by_status ();
1791		[CCode (cname = "purple_savedstatus_find")]
1792		public static unowned Purple.SavedStatus find (string title);
1793		[CCode (cname = "purple_savedstatus_find_by_creation_time")]
1794		public static unowned Purple.SavedStatus find_by_creation_time (time_t creation_time);
1795		[CCode (cname = "purple_savedstatus_find_transient_by_type_and_message")]
1796		public static unowned Purple.SavedStatus find_transient_by_type_and_message (Purple.StatusPrimitive type, string message);
1797		[CCode (cname = "purple_savedstatus_get_creation_time")]
1798		public time_t get_creation_time ();
1799		[CCode (cname = "purple_savedstatus_get_current")]
1800		public static unowned Purple.SavedStatus get_current ();
1801		[CCode (cname = "purple_savedstatus_get_default")]
1802		public static unowned Purple.SavedStatus get_default ();
1803		[CCode (cname = "purple_savedstatus_get_idleaway")]
1804		public static unowned Purple.SavedStatus get_idleaway ();
1805		[CCode (cname = "purple_savedstatus_get_message")]
1806		public unowned string get_message ();
1807		[CCode (cname = "purple_savedstatus_get_startup")]
1808		public static unowned Purple.SavedStatus get_startup ();
1809		[CCode (cname = "purple_savedstatus_get_substatus")]
1810		public unowned Purple.SavedStatusSub get_substatus (Purple.Account account);
1811		[CCode (cname = "purple_savedstatus_get_title")]
1812		public unowned string get_title ();
1813		[CCode (cname = "purple_savedstatus_has_substatuses")]
1814		public bool has_substatuses ();
1815		[CCode (cname = "purple_savedstatus_is_idleaway")]
1816		public static bool is_idleaway ();
1817		[CCode (cname = "purple_savedstatus_is_transient")]
1818		public bool is_transient ();
1819		[CCode (cname = "purple_savedstatus_set_idleaway")]
1820		public static void set_idleaway (bool idleaway);
1821		[CCode (cname = "purple_savedstatus_set_message")]
1822		public void set_message (string message);
1823		[CCode (cname = "purple_savedstatus_set_substatus")]
1824		public void set_substatus (Purple.Account account, Purple.StatusType type, string message);
1825		[CCode (cname = "purple_savedstatus_set_title")]
1826		public void set_title (string title);
1827		[CCode (cname = "purple_savedstatus_set_type")]
1828		public void set_type (Purple.StatusPrimitive type);
1829		[CCode (cname = "purple_savedstatus_substatus_get_message")]
1830		public static unowned string substatus_get_message (Purple.SavedStatusSub substatus);
1831		[CCode (cname = "purple_savedstatus_substatus_get_type")]
1832		public static unowned Purple.StatusType substatus_get_type (Purple.SavedStatusSub substatus);
1833		[CCode (cname = "purple_savedstatus_unset_substatus")]
1834		public void unset_substatus (Purple.Account account);
1835	}
1836	[CCode (cheader_filename = "purple.h")]
1837	[Compact]
1838	public class SavedStatusSub {
1839	}
1840	[CCode (cheader_filename = "purple.h")]
1841	[Compact]
1842	public class Smiley {
1843		[CCode (has_construct_function = false)]
1844		public Smiley (Purple.StoredImage img, string shortcut);
1845		public void @delete ();
1846		[CCode (has_construct_function = false)]
1847		public Smiley.from_file (string shortcut, string filepath);
1848		public unowned string get_checksum ();
1849		public void* get_data (size_t len);
1850		public unowned string get_extension ();
1851		public unowned string get_full_path ();
1852		public unowned string get_shortcut ();
1853		public unowned Purple.StoredImage get_stored_image ();
1854		public void set_data (uchar[] smiley_data, size_t smiley_data_len);
1855		public bool set_shortcut (string shortcut);
1856	}
1857	[CCode (cheader_filename = "purple.h")]
1858	[Compact]
1859	public class SmileyClass {
1860	}
1861	[CCode (cheader_filename = "purple.h")]
1862	[Compact]
1863	public class SoundTheme {
1864		public weak Purple.Theme parent;
1865		public void* priv;
1866		public unowned string get_file (string event);
1867		public unowned string get_file_full (string event);
1868		public void set_file (string event, string filename);
1869	}
1870	[CCode (cheader_filename = "purple.h")]
1871	[Compact]
1872	public class SoundThemeClass {
1873		public weak Purple.ThemeClass parent_class;
1874	}
1875	[CCode (cheader_filename = "purple.h")]
1876	[Compact]
1877	public class SoundThemeLoader {
1878		public weak Purple.ThemeLoader parent;
1879	}
1880	[CCode (cheader_filename = "purple.h")]
1881	[Compact]
1882	public class SoundThemeLoaderClass {
1883		public weak Purple.ThemeLoaderClass parent_class;
1884	}
1885	[CCode (cheader_filename = "purple.h")]
1886	[Compact]
1887	public class SoundUiOps {
1888		public weak GLib.Callback init;
1889		public weak GLib.Callback play_event;
1890		public weak GLib.Callback play_file;
1891		public weak GLib.Callback uninit;
1892	}
1893	[CCode (cheader_filename = "purple.h")]
1894	[Compact]
1895	public class SrvQueryData {
1896	}
1897	[CCode (cheader_filename = "purple.h")]
1898	[Compact]
1899	public class SrvResponse {
1900		[CCode (array_length = false)]
1901		public weak GLib.ObjectPath[] hostname;
1902		public int port;
1903		public int pref;
1904		public int weight;
1905	}
1906	[CCode (cheader_filename = "purple.h")]
1907	[Compact]
1908	public class SrvTxtQueryData {
1909	}
1910	[CCode (cheader_filename = "purple.h")]
1911	[Compact]
1912	public class SrvTxtQueryUiOps {
1913		public weak GLib.Callback destroy;
1914		public weak GLib.Callback resolve;
1915	}
1916	[CCode (cheader_filename = "purple.h")]
1917	[Compact]
1918	public class SslConnection {
1919		public weak Purple.SslInputFunction connect_cb;
1920		public void* connect_cb_data;
1921		public weak Purple.ProxyConnectData connect_data;
1922		public weak Purple.SslErrorFunction error_cb;
1923		public int fd;
1924		public weak string host;
1925		public uint inpa;
1926		public int port;
1927		public void* private_data;
1928		public weak Purple.SslInputFunction recv_cb;
1929		public void* recv_cb_data;
1930		public weak Purple.CertificateVerifier verifier;
1931	}
1932	[CCode (cheader_filename = "purple.h")]
1933	[Compact]
1934	public class SslOps {
1935		public weak GLib.Callback close;
1936		public weak GLib.Callback connectfunc;
1937		public weak GLib.Callback get_peer_certificates;
1938		public weak GLib.Callback init;
1939		public weak GLib.Callback read;
1940		public weak GLib.Callback uninit;
1941		public weak GLib.Callback write;
1942	}
1943	[CCode (cheader_filename = "purple.h", free_function = "purple_status_destroy")]
1944	[Compact]
1945	public class Status {
1946		[CCode (has_construct_function = false)]
1947		public Status (Purple.StatusType status_type, Purple.Presence presence);
1948		public int compare (Purple.Status status2);
1949		public bool get_attr_boolean (string id);
1950		public int get_attr_int (string id);
1951		public unowned string get_attr_string (string id);
1952		public unowned Purple.Value get_attr_value (string id);
1953		public static void* get_handle ();
1954		public unowned string get_id ();
1955		public unowned string get_name ();
1956		public unowned Purple.Presence get_presence ();
1957		public static void init ();
1958		public bool is_active ();
1959		public bool is_available ();
1960		public bool is_exclusive ();
1961		public bool is_independent ();
1962		public bool is_online ();
1963		public void set_active (bool active);
1964		public void set_active_with_attrs (bool active, void* args);
1965		public void set_active_with_attrs_list (bool active, GLib.List attrs);
1966		public void set_attr_boolean (string id, bool value);
1967		public void set_attr_int (string id, int value);
1968		public void set_attr_string (string id, string value);
1969		public static void uninit ();
1970	}
1971	[CCode (cheader_filename = "purple.h", free_function = "purple_status_attr_destroy")]
1972	[Compact]
1973	public class StatusAttr {
1974		[CCode (has_construct_function = false)]
1975		public StatusAttr (string id, string name, Purple.Value value_type);
1976		public unowned string get_id ();
1977		public unowned string get_name ();
1978		public unowned Purple.Value get_value ();
1979	}
1980	[CCode (cheader_filename = "purple.h", free_function = "purple_status_type_destroy")]
1981	[Compact]
1982	public class StatusType {
1983		[CCode (has_construct_function = false)]
1984		public StatusType (Purple.StatusPrimitive primitive, string id, string name, bool user_settable);
1985		public void add_attr (string id, string name, Purple.Value value);
1986		public void add_attrs (string id, string name, Purple.Value value);
1987		public void add_attrs_vargs (void* args);
1988		public static unowned Purple.StatusType find_with_id (GLib.List status_types, string id);
1989		[CCode (has_construct_function = false)]
1990		public StatusType.full (Purple.StatusPrimitive primitive, string id, string name, bool saveable, bool user_settable, bool independent);
1991		public unowned Purple.StatusAttr get_attr (string id);
1992		public unowned GLib.List get_attrs ();
1993		public unowned string get_id ();
1994		public unowned string get_name ();
1995		public unowned string get_primary_attr ();
1996		public Purple.StatusPrimitive get_primitive ();
1997		public bool is_available ();
1998		public bool is_exclusive ();
1999		public bool is_independent ();
2000		public bool is_saveable ();
2001		public bool is_user_settable ();
2002		public void set_primary_attr (string attr_id);
2003		[CCode (has_construct_function = false)]
2004		public StatusType.with_attrs (Purple.StatusPrimitive primitive, string id, string name, bool saveable, bool user_settable, bool independent, string attr_id, string attr_name, Purple.Value attr_value);
2005	}
2006	[CCode (cheader_filename = "purple.h")]
2007	[Compact]
2008	public class StoredImage {
2009	}
2010	[CCode (cheader_filename = "purple.h", ref_function = "purple_stringref_ref", unref_function = "purple_stringref_unref")]
2011	[Compact]
2012	public class Stringref {
2013		[CCode (has_construct_function = false)]
2014		public Stringref (string value);
2015		public int cmp (Purple.Stringref s2);
2016		public size_t len ();
2017		[CCode (has_construct_function = false)]
2018		public Stringref.noref (string value);
2019		public static unowned Purple.Stringref printf (string format);
2020		public unowned string value ();
2021	}
2022	[CCode (cheader_filename = "purple.h")]
2023	[Compact]
2024	public class StunNatDiscovery {
2025		public time_t lookup_time;
2026		[CCode (array_length = false)]
2027		public weak GLib.ObjectPath[] publicip;
2028		public weak string servername;
2029		public Purple.StunStatus status;
2030		public Purple.StunNatType type;
2031	}
2032	[CCode (cheader_filename = "purple.h")]
2033	[Compact]
2034	public class Theme {
2035		public weak GLib.Object parent;
2036		public void* priv;
2037		public unowned string get_author ();
2038		public unowned string get_description ();
2039		public unowned string get_dir ();
2040		public unowned string get_image ();
2041		public unowned string get_image_full ();
2042		public unowned string get_name ();
2043		public unowned string get_type_string ();
2044		public void set_author (string author);
2045		public void set_description (string description);
2046		public void set_dir (string dir);
2047		public void set_image (string img);
2048		public void set_name (string name);
2049	}
2050	[CCode (cheader_filename = "purple.h")]
2051	[Compact]
2052	public class ThemeClass {
2053		public weak GLib.ObjectClass parent_class;
2054	}
2055	[CCode (cheader_filename = "purple.h")]
2056	[Compact]
2057	public class ThemeLoader {
2058		public weak GLib.Object parent;
2059		public void* priv;
2060		public unowned Purple.Theme build (string dir);
2061		public unowned string get_type_string ();
2062	}
2063	[CCode (cheader_filename = "purple.h")]
2064	[Compact]
2065	public class ThemeLoaderClass {
2066		public weak GLib.ObjectClass parent_class;
2067		public weak GLib.Callback purple_theme_loader_build;
2068	}
2069	[CCode (cheader_filename = "purple.h")]
2070	[Compact]
2071	public class ThemeManager {
2072		public weak GLib.Object parent;
2073		public static void add_theme (Purple.Theme theme);
2074		public static unowned Purple.Theme find_theme (string name, string type);
2075		public static void for_each_theme (Purple.PTFunc func);
2076		public static void init ();
2077		public static unowned Purple.Theme load_theme (string theme_dir, string type);
2078		public static void refresh ();
2079		public static void register_type (Purple.ThemeLoader loader);
2080		public static void remove_theme (Purple.Theme theme);
2081		public static void uninit ();
2082		public static void unregister_type (Purple.ThemeLoader loader);
2083	}
2084	[CCode (cheader_filename = "purple.h")]
2085	[Compact]
2086	public class ThemeManagerClass {
2087		public weak GLib.ObjectClass parent_class;
2088	}
2089	[CCode (cheader_filename = "purple.h")]
2090	[Compact]
2091	public class ThumbnailSpec {
2092	}
2093	[CCode (cheader_filename = "purple.h", free_function = "purple_txt_response_destroy")]
2094	[Compact]
2095	public class TxtResponse {
2096		public weak string content;
2097		public unowned string get_content ();
2098	}
2099	[CCode (cheader_filename = "purple.h")]
2100	[Compact]
2101	public class UPnPMappingAddRemove {
2102	}
2103	[CCode (cheader_filename = "purple.h")]
2104	[Compact]
2105	public class UtilFetchUrlData {
2106	}
2107	[CCode (cheader_filename = "purple.h", free_function = "purple_value_destroy")]
2108	[Compact]
2109	public class Value {
2110		public void* data;
2111		public uint flags;
2112		public Purple.Type type;
2113		public void* u;
2114		[CCode (has_construct_function = false)]
2115		public Value (Purple.Type type);
2116		public unowned Purple.Value dup ();
2117		public bool get_boolean ();
2118		public void* get_boxed ();
2119		public unowned GLib.ObjectPath get_char ();
2120		public int get_enum ();
2121		public int get_int ();
2122		public int64 get_int64 ();
2123		public long get_long ();
2124		public void* get_object ();
2125		public void* get_pointer ();
2126		public short get_short ();
2127		public unowned string get_specific_type ();
2128		public unowned string get_string ();
2129		public uint get_subtype ();
2130		public uint get_uchar ();
2131		public uint get_uint ();
2132		public uint64 get_uint64 ();
2133		public uint get_ulong ();
2134		public uint get_ushort ();
2135		public bool is_outgoing ();
2136		[CCode (has_construct_function = false)]
2137		public Value.outgoing (Purple.Type type);
2138		public void set_boolean (bool data);
2139		public void set_boxed (void* data);
2140		public void set_char (GLib.ObjectPath data);
2141		public void set_enum (int data);
2142		public void set_int (int data);
2143		public void set_int64 (int64 data);
2144		public void set_long (long data);
2145		public void set_object (void* data);
2146		public void set_pointer (void* data);
2147		public void set_short (short data);
2148		public void set_string (string data);
2149		public void set_uchar (uint data);
2150		public void set_uint (uint data);
2151		public void set_uint64 (uint64 data);
2152		public void set_ulong (uint data);
2153		public void set_ushort (uint data);
2154	}
2155	[CCode (cheader_filename = "purple.h", free_function = "purple_whiteboard_destroy")]
2156	[Compact]
2157	public class Whiteboard {
2158		public weak Purple.Account account;
2159		public weak GLib.List draw_list;
2160		public void* proto_data;
2161		public weak Purple.WhiteboardPrplOps prpl_ops;
2162		public int state;
2163		public void* ui_data;
2164		public weak string who;
2165		public void clear ();
2166		public static unowned Purple.Whiteboard create (Purple.Account account, string who, int state);
2167		public void draw_line (int x1, int y1, int x2, int y2, int color, int size);
2168		public static void draw_list_destroy (GLib.List draw_list);
2169		public void draw_point (int x, int y, int color, int size);
2170		public bool get_brush (int size, int color);
2171		public bool get_dimensions (int width, int height);
2172		public static unowned Purple.Whiteboard get_session (Purple.Account account, string who);
2173		public void send_brush (int size, int color);
2174		public void send_clear ();
2175		public void send_draw_list (GLib.List list);
2176		public void set_brush (int size, int color);
2177		public void set_dimensions (int width, int height);
2178		public void set_prpl_ops (Purple.WhiteboardPrplOps ops);
2179		public static void set_ui_ops (Purple.WhiteboardUiOps ops);
2180		public void start ();
2181	}
2182	[CCode (cheader_filename = "purple.h")]
2183	[Compact]
2184	public class WhiteboardPrplOps {
2185		public weak GLib.Callback clear;
2186		public weak GLib.Callback end;
2187		public weak GLib.Callback get_brush;
2188		public weak GLib.Callback get_dimensions;
2189		public weak GLib.Callback send_draw_list;
2190		public weak GLib.Callback set_brush;
2191		public weak GLib.Callback set_dimensions;
2192		public weak GLib.Callback start;
2193	}
2194	[CCode (cheader_filename = "purple.h")]
2195	[Compact]
2196	public class WhiteboardUiOps {
2197		public weak GLib.Callback clear;
2198		public weak GLib.Callback create;
2199		public weak GLib.Callback destroy;
2200		public weak GLib.Callback draw_line;
2201		public weak GLib.Callback draw_point;
2202		public weak GLib.Callback set_brush;
2203		public weak GLib.Callback set_dimensions;
2204	}
2205	[CCode (cheader_filename = "purple.h", ref_function = "purple_xfer_ref", ref_function_void = true, unref_function = "purple_xfer_unref")]
2206	[Compact]
2207	public class Xfer {
2208		public weak Purple.Account account;
2209		public size_t bytes_remaining;
2210		public size_t bytes_sent;
2211		public size_t current_buffer_size;
2212		public void* data;
2213		public weak GLib.FileStream dest_fp;
2214		public time_t end_time;
2215		public int fd;
2216		public weak string filename;
2217		public weak string local_filename;
2218		public int local_port;
2219		public weak string message;
2220		public void* ops;
2221		public uint @ref;
2222		public weak string remote_ip;
2223		public int remote_port;
2224		public size_t size;
2225		public time_t start_time;
2226		public Purple.XferStatusType status;
2227		public Purple.XferType type;
2228		public void* ui_data;
2229		public weak Purple.XferUiOps ui_ops;
2230		public int watcher;
2231		public weak string who;
2232		[CCode (has_construct_function = false)]
2233		public Xfer (Purple.Account account, Purple.XferType type, string who);
2234		public void add ();
2235		public void cancel_local ();
2236		public void cancel_remote ();
2237		public void conversation_write (string message, bool is_error);
2238		public void end ();
2239		public static void error (Purple.XferType type, Purple.Account account, string who, string msg);
2240		public unowned Purple.Account get_account ();
2241		public size_t get_bytes_remaining ();
2242		public size_t get_bytes_sent ();
2243		public time_t get_end_time ();
2244		public unowned string get_filename ();
2245		public unowned string get_local_filename ();
2246		public uint get_local_port ();
2247		public double get_progress ();
2248		public unowned string get_remote_ip ();
2249		public uint get_remote_port ();
2250		public unowned string get_remote_user ();
2251		public size_t get_size ();
2252		public time_t get_start_time ();
2253		public Purple.XferStatusType get_status ();
2254		public void* get_thumbnail (size_t len);
2255		public unowned string get_thumbnail_mimetype ();
2256		public unowned Purple.XferUiOps get_ui_ops ();
2257		public bool is_canceled ();
2258		public bool is_completed ();
2259		public void prepare_thumbnail (string formats);
2260		public void prpl_ready ();
2261		public ssize_t read (uchar[] buffer);
2262		public ssize_t read_file (uchar[] buffer, size_t size);
2263		public void request ();
2264		public void request_accepted (string filename);
2265		public void request_denied ();
2266		public void set_ack_fnc (GLib.Callback fnc);
2267		public void set_bytes_sent (size_t bytes_sent);
2268		public void set_cancel_recv_fnc (GLib.Callback fnc);
2269		public void set_cancel_send_fnc (GLib.Callback fnc);
2270		public void set_completed (bool completed);
2271		public void set_end_fnc (GLib.Callback fnc);
2272		public void set_filename (string filename);
2273		public void set_init_fnc (GLib.Callback fnc);
2274		public void set_local_filename (string filename);
2275		public void set_message (string message);
2276		public void set_read_fnc (GLib.Callback fnc);
2277		public void set_request_denied_fnc (GLib.Callback fnc);
2278		public void set_size (size_t size);
2279		public void set_start_fnc (GLib.Callback fnc);
2280		public void set_thumbnail (void* thumbnail, size_t size, string mimetype);
2281		public void set_write_fnc (GLib.Callback fnc);
2282		public void start (int fd, string ip, uint port);
2283		public void ui_ready ();
2284		public void update_progress ();
2285		public ssize_t write (uchar[] buffer, size_t size);
2286		public bool write_file (uchar[] buffer, size_t size);
2287	}
2288	[CCode (cheader_filename = "purple.h")]
2289	[Compact]
2290	public class XferUiOps {
2291		public weak GLib.Callback add_thumbnail;
2292		public weak GLib.Callback add_xfer;
2293		public weak GLib.Callback cancel_local;
2294		public weak GLib.Callback cancel_remote;
2295		public weak GLib.Callback data_not_sent;
2296		public weak GLib.Callback destroy;
2297		public weak GLib.Callback new_xfer;
2298		public weak GLib.Callback ui_read;
2299		public weak GLib.Callback ui_write;
2300		public weak GLib.Callback update_progress;
2301	}
2302	[CCode (cheader_filename = "purple.h", copy_function = "xmlnode_copy", free_function = "xmlnode_free")]
2303	[Compact]
2304	public class xmlnode {
2305		public weak string data;
2306		public size_t data_sz;
2307		public weak Purple.xmlnode lastchild;
2308		public weak string name;
2309		public weak GLib.HashTable namespace_map;
2310		public weak Purple.xmlnode next;
2311		public weak Purple.xmlnode parent;
2312		public weak string prefix;
2313		public Purple.XMLNodeType type;
2314		public weak string xmlns;
2315		[CCode (cname = "xmlnode_new", has_construct_function = false, type = "xmlnode*")]
2316		public xmlnode (string name);
2317		[CCode (cname = "xmlnode_new_child", has_construct_function = false, type = "xmlnode*")]
2318		public xmlnode.child (Purple.xmlnode parent, string name);
2319		[CCode (cname = "xmlnode_copy")]
2320		public static unowned Purple.xmlnode copy (Purple.xmlnode src);
2321		[CCode (cname = "xmlnode_from_file")]
2322		public static unowned Purple.xmlnode from_file (string dir, string filename, string description, string process);
2323		[CCode (cname = "xmlnode_from_str")]
2324		public static unowned Purple.xmlnode from_str (string str, ssize_t size);
2325		[CCode (cname = "xmlnode_get_attrib")]
2326		public static unowned string get_attrib (Purple.xmlnode node, string attr);
2327		[CCode (cname = "xmlnode_get_attrib_with_namespace")]
2328		public static unowned string get_attrib_with_namespace (Purple.xmlnode node, string attr, string xmlns);
2329		[CCode (cname = "xmlnode_get_child")]
2330		public static unowned Purple.xmlnode get_child (Purple.xmlnode parent, string name);
2331		[CCode (cname = "xmlnode_get_child_with_namespace")]
2332		public static unowned Purple.xmlnode get_child_with_namespace (Purple.xmlnode parent, string name, string xmlns);
2333		[CCode (cname = "xmlnode_get_data")]
2334		public static unowned string get_data (Purple.xmlnode node);
2335		[CCode (cname = "xmlnode_get_data_unescaped")]
2336		public static unowned string get_data_unescaped (Purple.xmlnode node);
2337		[CCode (cname = "xmlnode_get_namespace")]
2338		public static unowned string get_namespace (Purple.xmlnode node);
2339		[CCode (cname = "xmlnode_get_next_twin")]
2340		public static unowned Purple.xmlnode get_next_twin (Purple.xmlnode node);
2341		[CCode (cname = "xmlnode_get_parent")]
2342		public static unowned Purple.xmlnode get_parent (Purple.xmlnode child);
2343		[CCode (cname = "xmlnode_get_prefix")]
2344		public static unowned string get_prefix (Purple.xmlnode node);
2345		[CCode (cname = "xmlnode_insert_child")]
2346		public static void insert_child (Purple.xmlnode parent, Purple.xmlnode child);
2347		[CCode (cname = "xmlnode_insert_data")]
2348		public static void insert_data (Purple.xmlnode node, string data, ssize_t size);
2349		[CCode (cname = "xmlnode_remove_attrib")]
2350		public static void remove_attrib (Purple.xmlnode node, string attr);
2351		[CCode (cname = "xmlnode_remove_attrib_with_namespace")]
2352		public static void remove_attrib_with_namespace (Purple.xmlnode node, string attr, string xmlns);
2353		[CCode (cname = "xmlnode_set_attrib")]
2354		public static void set_attrib (Purple.xmlnode node, string attr, string value);
2355		[CCode (cname = "xmlnode_set_attrib_full")]
2356		public static void set_attrib_full (Purple.xmlnode node, string attr, string xmlns, string prefix, string value);
2357		[CCode (cname = "xmlnode_set_attrib_with_namespace")]
2358		public static void set_attrib_with_namespace (Purple.xmlnode node, string attr, string xmlns, string value);
2359		[CCode (cname = "xmlnode_set_attrib_with_prefix")]
2360		public static void set_attrib_with_prefix (Purple.xmlnode node, string attr, string prefix, string value);
2361		[CCode (cname = "xmlnode_set_namespace")]
2362		public static void set_namespace (Purple.xmlnode node, string xmlns);
2363		[CCode (cname = "xmlnode_set_prefix")]
2364		public static void set_prefix (Purple.xmlnode node, string prefix);
2365		[CCode (cname = "xmlnode_to_formatted_str")]
2366		public static unowned string to_formatted_str (Purple.xmlnode node, int len);
2367		[CCode (cname = "xmlnode_to_str")]
2368		public static unowned string to_str (Purple.xmlnode node, int len);
2369	}
2370	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ACCOUNT_RESPONSE_", has_type_id = false)]
2371	public enum AccountRequestResponse {
2372		IGNORE,
2373		DENY,
2374		PASS,
2375		ACCEPT
2376	}
2377	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ACCOUNT_REQUEST_", has_type_id = false)]
2378	public enum AccountRequestType {
2379		AUTHORIZATION
2380	}
2381	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_BLIST_NODE_FLAG_NO_", has_type_id = false)]
2382	public enum BlistNodeFlags {
2383		SAVE
2384	}
2385	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_BLIST_", has_type_id = false)]
2386	public enum BlistNodeType {
2387		GROUP_NODE,
2388		CONTACT_NODE,
2389		BUDDY_NODE,
2390		CHAT_NODE,
2391		OTHER_NODE
2392	}
2393	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CERTIFICATE_", has_type_id = false)]
2394	public enum CertificateInvalidityFlags {
2395		UNKNOWN_ERROR,
2396		NO_PROBLEMS,
2397		NON_FATALS_MASK,
2398		SELF_SIGNED,
2399		CA_UNKNOWN,
2400		NOT_ACTIVATED,
2401		EXPIRED,
2402		NAME_MISMATCH,
2403		NO_CA_POOL,
2404		FATALS_MASK,
2405		INVALID_CHAIN,
2406		REVOKED,
2407		LAST
2408	}
2409	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CERTIFICATE_", has_type_id = false)]
2410	public enum CertificateVerificationStatus {
2411		INVALID,
2412		VALID
2413	}
2414	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CIPHER_BATCH_MODE_", has_type_id = false)]
2415	public enum CipherBatchMode {
2416		ECB,
2417		CBC
2418	}
2419	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CIPHER_CAPS_", has_type_id = false)]
2420	public enum CipherCaps {
2421		SET_OPT,
2422		GET_OPT,
2423		INIT,
2424		RESET,
2425		UNINIT,
2426		SET_IV,
2427		APPEND,
2428		DIGEST,
2429		ENCRYPT,
2430		DECRYPT,
2431		SET_SALT,
2432		GET_SALT_SIZE,
2433		SET_KEY,
2434		GET_KEY_SIZE,
2435		SET_BATCH_MODE,
2436		GET_BATCH_MODE,
2437		GET_BLOCK_SIZE,
2438		SET_KEY_WITH_LEN,
2439		UNKNOWN
2440	}
2441	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_FLAG_", has_type_id = false)]
2442	public enum CmdFlag {
2443		IM,
2444		CHAT,
2445		PRPL_ONLY,
2446		ALLOW_WRONG_ARGS
2447	}
2448	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_P_", has_type_id = false)]
2449	public enum CmdPriority {
2450		VERY_LOW,
2451		LOW,
2452		DEFAULT,
2453		PRPL,
2454		PLUGIN,
2455		ALIAS,
2456		HIGH,
2457		VERY_HIGH
2458	}
2459	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_RET_", has_type_id = false)]
2460	public enum CmdRet {
2461		OK,
2462		FAILED,
2463		CONTINUE
2464	}
2465	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_STATUS_", has_type_id = false)]
2466	public enum CmdStatus {
2467		OK,
2468		FAILED,
2469		NOT_FOUND,
2470		WRONG_ARGS,
2471		WRONG_PRPL,
2472		WRONG_TYPE
2473	}
2474	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONNECTION_ERROR_", has_type_id = false)]
2475	public enum ConnectionError {
2476		NETWORK_ERROR,
2477		INVALID_USERNAME,
2478		AUTHENTICATION_FAILED,
2479		AUTHENTICATION_IMPOSSIBLE,
2480		NO_SSL_SUPPORT,
2481		ENCRYPTION_ERROR,
2482		NAME_IN_USE,
2483		INVALID_SETTINGS,
2484		CERT_NOT_PROVIDED,
2485		CERT_UNTRUSTED,
2486		CERT_EXPIRED,
2487		CERT_NOT_ACTIVATED,
2488		CERT_HOSTNAME_MISMATCH,
2489		CERT_FINGERPRINT_MISMATCH,
2490		CERT_SELF_SIGNED,
2491		CERT_OTHER_ERROR,
2492		OTHER_ERROR
2493	}
2494	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONNECTION_", has_type_id = false)]
2495	public enum ConnectionFlags {
2496		HTML,
2497		NO_BGCOLOR,
2498		AUTO_RESP,
2499		FORMATTING_WBFO,
2500		NO_NEWLINES,
2501		NO_FONTSIZE,
2502		NO_URLDESC,
2503		NO_IMAGES,
2504		ALLOW_CUSTOM_SMILEY,
2505		SUPPORT_MOODS,
2506		SUPPORT_MOOD_MESSAGES
2507	}
2508	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_", has_type_id = false)]
2509	public enum ConnectionState {
2510		DISCONNECTED,
2511		CONNECTED,
2512		CONNECTING
2513	}
2514	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CBFLAGS_", has_type_id = false)]
2515	public enum ConvChatBuddyFlags {
2516		NONE,
2517		VOICE,
2518		HALFOP,
2519		OP,
2520		FOUNDER,
2521		TYPING,
2522		AWAY
2523	}
2524	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONV_", has_type_id = false)]
2525	public enum ConvUpdateType {
2526		UPDATE_ADD,
2527		UPDATE_REMOVE,
2528		UPDATE_ACCOUNT,
2529		UPDATE_TYPING,
2530		UPDATE_UNSEEN,
2531		UPDATE_LOGGING,
2532		UPDATE_TOPIC,
2533		ACCOUNT_ONLINE,
2534		ACCOUNT_OFFLINE,
2535		UPDATE_AWAY,
2536		UPDATE_ICON,
2537		UPDATE_TITLE,
2538		UPDATE_CHATLEFT,
2539		UPDATE_FEATURES
2540	}
2541	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONV_TYPE_", has_type_id = false)]
2542	public enum ConversationType {
2543		UNKNOWN,
2544		IM,
2545		CHAT,
2546		MISC,
2547		ANY
2548	}
2549	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_DEBUG_", has_type_id = false)]
2550	public enum DebugLevel {
2551		ALL,
2552		MISC,
2553		INFO,
2554		WARNING,
2555		ERROR,
2556		FATAL
2557	}
2558	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_DESKTOP_ITEM_TYPE_", has_type_id = false)]
2559	public enum DesktopItemType {
2560		NULL,
2561		OTHER,
2562		APPLICATION,
2563		LINK,
2564		FSDEVICE,
2565		MIME_TYPE,
2566		DIRECTORY,
2567		SERVICE,
2568		SERVICE_TYPE
2569	}
2570	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ICON_SCALE_", has_type_id = false)]
2571	public enum IconScaleRules {
2572		DISPLAY,
2573		SEND
2574	}
2575	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_INPUT_", has_type_id = false)]
2576	public enum InputCondition {
2577		READ,
2578		WRITE
2579	}
2580	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_LOG_READ_NO_", has_type_id = false)]
2581	public enum LogReadFlags {
2582		NEWLINE
2583	}
2584	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_LOG_", has_type_id = false)]
2585	public enum LogType {
2586		IM,
2587		CHAT,
2588		SYSTEM
2589	}
2590	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_CANDIDATE_TYPE_", has_type_id = false)]
2591	public enum MediaCandidateType {
2592		HOST,
2593		SRFLX,
2594		PRFLX,
2595		RELAY,
2596		MULTICAST
2597	}
2598	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_CAPS_", has_type_id = false)]
2599	public enum MediaCaps {
2600		NONE,
2601		AUDIO,
2602		AUDIO_SINGLE_DIRECTION,
2603		VIDEO,
2604		VIDEO_SINGLE_DIRECTION,
2605		AUDIO_VIDEO,
2606		MODIFY_SESSION,
2607		CHANGE_DIRECTION
2608	}
2609	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_COMPONENT_", has_type_id = false)]
2610	public enum MediaComponentType {
2611		NONE,
2612		RTP,
2613		RTCP
2614	}
2615	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_ELEMENT_", has_type_id = false)]
2616	public enum MediaElementType {
2617		NONE,
2618		AUDIO,
2619		VIDEO,
2620		AUDIO_VIDEO,
2621		NO_SRCS,
2622		ONE_SRC,
2623		MULTI_SRC,
2624		REQUEST_SRC,
2625		NO_SINKS,
2626		ONE_SINK,
2627		MULTI_SINK,
2628		REQUEST_SINK,
2629		UNIQUE,
2630		SRC,
2631		SINK,
2632		APPLICATION
2633	}
2634	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_INFO_", has_type_id = false)]
2635	public enum MediaInfoType {
2636		HANGUP,
2637		ACCEPT,
2638		REJECT,
2639		MUTE,
2640		UNMUTE,
2641		PAUSE,
2642		UNPAUSE,
2643		HOLD,
2644		UNHOLD
2645	}
2646	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_NETWORK_PROTOCOL_", has_type_id = false)]
2647	public enum MediaNetworkProtocol {
2648		UDP,
2649		TCP_PASSIVE,
2650		TCP_ACTIVE,
2651		TCP_SO
2652	}
2653	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_", has_type_id = false)]
2654	public enum MediaSessionType {
2655		NONE,
2656		RECV_AUDIO,
2657		SEND_AUDIO,
2658		RECV_VIDEO,
2659		SEND_VIDEO,
2660		RECV_APPLICATION,
2661		SEND_APPLICATION,
2662		AUDIO,
2663		VIDEO,
2664		APPLICATION
2665	}
2666	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_STATE_", has_type_id = false)]
2667	public enum MediaState {
2668		NEW,
2669		CONNECTED,
2670		END
2671	}
2672	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MESSAGE_", has_type_id = false)]
2673	public enum MessageFlags {
2674		SEND,
2675		RECV,
2676		SYSTEM,
2677		AUTO_RESP,
2678		ACTIVE_ONLY,
2679		NICK,
2680		NO_LOG,
2681		WHISPER,
2682		ERROR,
2683		DELAYED,
2684		RAW,
2685		IMAGES,
2686		NOTIFY,
2687		NO_LINKIFY,
2688		INVISIBLE,
2689		REMOTE_SEND
2690	}
2691	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_MSG_", has_type_id = false)]
2692	public enum NotifyMsgType {
2693		ERROR,
2694		WARNING,
2695		INFO
2696	}
2697	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_BUTTON_", has_type_id = false)]
2698	public enum NotifySearchButtonType {
2699		LABELED,
2700		CONTINUE,
2701		ADD,
2702		INFO,
2703		IM,
2704		JOIN,
2705		INVITE
2706	}
2707	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_", has_type_id = false)]
2708	public enum NotifyType {
2709		MESSAGE,
2710		EMAIL,
2711		EMAILS,
2712		FORMATTED,
2713		SEARCHRESULTS,
2714		USERINFO,
2715		URI
2716	}
2717	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_USER_INFO_ENTRY_", has_type_id = false)]
2718	public enum NotifyUserInfoEntryType {
2719		PAIR,
2720		SECTION_BREAK,
2721		SECTION_HEADER
2722	}
2723	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PLUGIN_PREF_", has_type_id = false)]
2724	public enum PluginPrefType {
2725		NONE,
2726		CHOICE,
2727		INFO,
2728		STRING_FORMAT
2729	}
2730	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PLUGIN_", has_type_id = false)]
2731	public enum PluginType {
2732		UNKNOWN,
2733		STANDARD,
2734		LOADER,
2735		PROTOCOL
2736	}
2737	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PMP_TYPE_", has_type_id = false)]
2738	public enum PmpType {
2739		UDP,
2740		TCP
2741	}
2742	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_POUNCE_", has_type_id = false)]
2743	public enum PounceEvent {
2744		NONE,
2745		SIGNON,
2746		SIGNOFF,
2747		AWAY,
2748		AWAY_RETURN,
2749		IDLE,
2750		IDLE_RETURN,
2751		TYPING,
2752		TYPED,
2753		TYPING_STOPPED,
2754		MESSAGE_RECEIVED
2755	}
2756	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_POUNCE_OPTION_", has_type_id = false)]
2757	public enum PounceOption {
2758		NONE,
2759		AWAY
2760	}
2761	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PREF_", has_type_id = false)]
2762	public enum PrefType {
2763		NONE,
2764		BOOLEAN,
2765		INT,
2766		STRING,
2767		STRING_LIST,
2768		PATH,
2769		PATH_LIST
2770	}
2771	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PRESENCE_CONTEXT_", has_type_id = false)]
2772	public enum PresenceContext {
2773		UNSET,
2774		ACCOUNT,
2775		CONV,
2776		BUDDY
2777	}
2778	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PRIVACY_", has_type_id = false)]
2779	public enum PrivacyType {
2780		ALLOW_ALL,
2781		DENY_ALL,
2782		ALLOW_USERS,
2783		DENY_USERS,
2784		ALLOW_BUDDYLIST
2785	}
2786	[CCode (cheader_filename = "purple.h", cprefix = "OPT_PROTO_", has_type_id = false)]
2787	public enum ProtocolOptions {
2788		UNIQUE_CHATNAME,
2789		CHAT_TOPIC,
2790		NO_PASSWORD,
2791		MAIL_CHECK,
2792		IM_IMAGE,
2793		PASSWORD_OPTIONAL,
2794		USE_POINTSIZE,
2795		REGISTER_NOSCREENNAME,
2796		SLASH_COMMANDS_NATIVE,
2797		INVITE_MESSAGE
2798	}
2799	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PROXY_", has_type_id = false)]
2800	public enum ProxyType {
2801		USE_GLOBAL,
2802		NONE,
2803		HTTP,
2804		SOCKS4,
2805		SOCKS5,
2806		USE_ENVVAR,
2807		TOR
2808	}
2809	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_REQUEST_FIELD_", has_type_id = false)]
2810	public enum RequestFieldType {
2811		NONE,
2812		STRING,
2813		INTEGER,
2814		BOOLEAN,
2815		CHOICE,
2816		LIST,
2817		LABEL,
2818		IMAGE,
2819		ACCOUNT
2820	}
2821	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_REQUEST_", has_type_id = false)]
2822	public enum RequestType {
2823		INPUT,
2824		CHOICE,
2825		ACTION,
2826		FIELDS,
2827		FILE,
2828		FOLDER
2829	}
2830	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ROOMLIST_FIELD_", has_type_id = false)]
2831	public enum RoomlistFieldType {
2832		BOOL,
2833		INT,
2834		STRING
2835	}
2836	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ROOMLIST_ROOMTYPE_", has_type_id = false)]
2837	public enum RoomlistRoomType {
2838		CATEGORY,
2839		ROOM
2840	}
2841	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_", has_type_id = false)]
2842	public enum SoundEventID {
2843		SOUND_BUDDY_ARRIVE,
2844		SOUND_BUDDY_LEAVE,
2845		SOUND_RECEIVE,
2846		SOUND_FIRST_RECEIVE,
2847		SOUND_SEND,
2848		SOUND_CHAT_JOIN,
2849		SOUND_CHAT_LEAVE,
2850		SOUND_CHAT_YOU_SAY,
2851		SOUND_CHAT_SAY,
2852		SOUND_POUNCE_DEFAULT,
2853		SOUND_CHAT_NICK,
2854		SOUND_GOT_ATTENTION,
2855		NUM_SOUNDS
2856	}
2857	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_SSL_", has_type_id = false)]
2858	public enum SslErrorType {
2859		HANDSHAKE_FAILED,
2860		CONNECT_FAILED,
2861		CERTIFICATE_INVALID
2862	}
2863	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STATUS_", has_type_id = false)]
2864	public enum StatusPrimitive {
2865		UNSET,
2866		OFFLINE,
2867		AVAILABLE,
2868		UNAVAILABLE,
2869		INVISIBLE,
2870		AWAY,
2871		EXTENDED_AWAY,
2872		MOBILE,
2873		TUNE,
2874		MOOD,
2875		NUM_PRIMITIVES
2876	}
2877	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STRING_FORMAT_TYPE_", has_type_id = false)]
2878	public enum StringFormatType {
2879		NONE,
2880		MULTILINE,
2881		HTML
2882	}
2883	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STUN_NAT_TYPE_", has_type_id = false)]
2884	public enum StunNatType {
2885		PUBLIC_IP,
2886		UNKNOWN_NAT,
2887		FULL_CONE,
2888		RESTRICTED_CONE,
2889		PORT_RESTRICTED_CONE,
2890		SYMMETRIC
2891	}
2892	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STUN_STATUS_", has_type_id = false)]
2893	public enum StunStatus {
2894		UNDISCOVERED,
2895		UNKNOWN,
2896		DISCOVERING,
2897		DISCOVERED
2898	}
2899	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_SUBTYPE_", has_type_id = false)]
2900	public enum SubType {
2901		UNKNOWN,
2902		ACCOUNT,
2903		BLIST,
2904		BLIST_BUDDY,
2905		BLIST_GROUP,
2906		BLIST_CHAT,
2907		BUDDY_ICON,
2908		CONNECTION,
2909		CONVERSATION,
2910		PLUGIN,
2911		BLIST_NODE,
2912		CIPHER,
2913		STATUS,
2914		LOG,
2915		XFER,
2916		SAVEDSTATUS,
2917		XMLNODE,
2918		USERINFO,
2919		STORED_IMAGE,
2920		CERTIFICATEPOOL,
2921		CHATBUDDY
2922	}
2923	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_TYPE_", has_type_id = false)]
2924	public enum Type {
2925		UNKNOWN,
2926		SUBTYPE,
2927		CHAR,
2928		UCHAR,
2929		BOOLEAN,
2930		SHORT,
2931		USHORT,
2932		INT,
2933		UINT,
2934		LONG,
2935		ULONG,
2936		INT64,
2937		UINT64,
2938		STRING,
2939		OBJECT,
2940		POINTER,
2941		ENUM,
2942		BOXED
2943	}
2944	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_", has_type_id = false)]
2945	public enum TypingState {
2946		NOT_TYPING,
2947		TYPING,
2948		TYPED
2949	}
2950	[CCode (cheader_filename = "purple.h", cprefix = "XMLNODE_TYPE_", has_type_id = false)]
2951	public enum XMLNodeType {
2952		TAG,
2953		ATTRIB,
2954		DATA
2955	}
2956	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_XFER_STATUS_", has_type_id = false)]
2957	public enum XferStatusType {
2958		UNKNOWN,
2959		NOT_STARTED,
2960		ACCEPTED,
2961		STARTED,
2962		DONE,
2963		CANCEL_LOCAL,
2964		CANCEL_REMOTE
2965	}
2966	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_XFER_", has_type_id = false)]
2967	public enum XferType {
2968		UNKNOWN,
2969		SEND,
2970		RECEIVE
2971	}
2972	[CCode (cheader_filename = "purple.h")]
2973	public delegate void AccountRegistrationCb (Purple.Account account, bool succeeded);
2974	[CCode (cheader_filename = "purple.h", has_target = false)]
2975	public delegate void AccountRequestAuthorizationCb (void* p1);
2976	[CCode (cheader_filename = "purple.h")]
2977	public delegate void AccountUnregistrationCb (Purple.Account account, bool succeeded);
2978	[CCode (cheader_filename = "purple.h", has_target = false)]
2979	public delegate void Callback ();
2980	[CCode (cheader_filename = "purple.h", has_target = false)]
2981	public delegate void CertificateVerifiedCallback (Purple.CertificateVerificationStatus st, void* userdata);
2982	[CCode (cheader_filename = "purple.h")]
2983	public delegate Purple.CmdRet CmdFunc (Purple.Conversation p1, string cmd, string args, string error);
2984	[CCode (cheader_filename = "purple.h", has_target = false)]
2985	public delegate void DnsQueryConnectFunction (GLib.SList hosts, void* data, string error_message);
2986	[CCode (cheader_filename = "purple.h", has_target = false)]
2987	public delegate void DnsQueryFailedCallback (Purple.DnsQueryData query_data, string error_message);
2988	[CCode (cheader_filename = "purple.h", has_target = false)]
2989	public delegate void DnsQueryResolvedCallback (Purple.DnsQueryData query_data, GLib.SList hosts);
2990	[CCode (cheader_filename = "purple.h", has_target = false)]
2991	public delegate bool FilterAccountFunc (Purple.Account account);
2992	[CCode (cheader_filename = "purple.h", has_target = false)]
2993	public delegate void GetPublicAliasFailureCallback (Purple.Account account, string error);
2994	[CCode (cheader_filename = "purple.h", has_target = false)]
2995	public delegate void GetPublicAliasSuccessCallback (Purple.Account account, string alias);
2996	[CCode (cheader_filename = "purple.h", has_target = false)]
2997	public delegate unowned string InfoFieldFormatCallback (string field, size_t len);
2998	[CCode (cheader_filename = "purple.h", has_target = false)]
2999	public delegate void InputFunction (void* p1, int p2, Purple.InputCondition p3);
3000	[CCode (cheader_filename = "purple.h", has_target = false)]
3001	public delegate void LogSetCallback (GLib.HashTable sets, Purple.LogSet @set);
3002	[CCode (cheader_filename = "purple.h", has_target = false)]
3003	public delegate unowned Gst.Element MediaElementCreateCallback (Purple.Media media, string session_id, string participant);
3004	[CCode (cheader_filename = "purple.h")]
3005	public delegate void NetworkListenCallback (int listenfd);
3006	[CCode (cheader_filename = "purple.h")]
3007	public delegate void NotifyCloseCallback ();
3008	[CCode (cheader_filename = "purple.h")]
3009	public delegate void NotifySearchResultsCallback (Purple.Connection c, GLib.List row);
3010	[CCode (cheader_filename = "purple.h", has_target = false)]
3011	public delegate void PTFunc (Purple.Theme p1);
3012	[CCode (cheader_filename = "purple.h", has_target = false)]
3013	public delegate void PounceCb (Purple.Pounce p1, Purple.PounceEvent p2, void* p3);
3014	[CCode (cheader_filename = "purple.h")]
3015	public delegate void PrefCallback (string name, Purple.PrefType type, void* val);
3016	[CCode (cheader_filename = "purple.h", has_target = false)]
3017	public delegate void ProxyConnectFunction (void* data, int source, string error_message);
3018	[CCode (cheader_filename = "purple.h", has_target = false)]
3019	public delegate void RequestActionCb (void* p1, int p2);
3020	[CCode (cheader_filename = "purple.h", has_target = false)]
3021	public delegate void RequestChoiceCb (void* p1, int p2);
3022	[CCode (cheader_filename = "purple.h", has_target = false)]
3023	public delegate void RequestFieldsCb (void* p1, Purple.RequestFields fields);
3024	[CCode (cheader_filename = "purple.h", has_target = false)]
3025	public delegate void RequestFileCb (void* p1, string filename);
3026	[CCode (cheader_filename = "purple.h", has_target = false)]
3027	public delegate void RequestInputCb (void* p1, string p2);
3028	[CCode (cheader_filename = "purple.h", has_target = false)]
3029	public delegate void SetPublicAliasFailureCallback (Purple.Account account, string error);
3030	[CCode (cheader_filename = "purple.h", has_target = false)]
3031	public delegate void SetPublicAliasSuccessCallback (Purple.Account account, string new_alias);
3032	[CCode (cheader_filename = "purple.h", has_target = false)]
3033	public delegate void SignalMarshalFunc (Purple.Callback cb, void* args, void* data, void* return_val);
3034	[CCode (cheader_filename = "purple.h")]
3035	public delegate void SrvCallback (Purple.SrvResponse resp, int results);
3036	[CCode (cheader_filename = "purple.h", has_target = false)]
3037	public delegate void SrvTxtQueryFailedCallback (Purple.SrvTxtQueryData query_data, string error_message);
3038	[CCode (cheader_filename = "purple.h", has_target = false)]
3039	public delegate void SrvTxtQueryResolvedCallback (Purple.SrvTxtQueryData query_data, GLib.List records);
3040	[CCode (cheader_filename = "purple.h", has_target = false)]
3041	public delegate void SslErrorFunction (Purple.SslConnection p1, Purple.SslErrorType p2, void* p3);
3042	[CCode (cheader_filename = "purple.h", has_target = false)]
3043	public delegate void SslInputFunction (void* p1, Purple.SslConnection p2, Purple.InputCondition p3);
3044	[CCode (cheader_filename = "purple.h", has_target = false)]
3045	public delegate void StunCallback (Purple.StunNatDiscovery p1);
3046	[CCode (cheader_filename = "purple.h")]
3047	public delegate void TxtCallback (GLib.List responses);
3048	[CCode (cheader_filename = "purple.h")]
3049	public delegate void UPnPCallback (bool success);
3050	[CCode (cheader_filename = "purple.h", has_target = false)]
3051	public delegate void UtilFetchUrlCallback (Purple.UtilFetchUrlData url_data, void* user_data, string url_text, size_t len, string error_message);
3052	[CCode (cheader_filename = "purple.h")]
3053	public const string DBUS_INTERFACE_PURPLE;
3054	[CCode (cheader_filename = "purple.h")]
3055	public const string DBUS_PATH_PURPLE;
3056	[CCode (cheader_filename = "purple.h")]
3057	public const string DBUS_SERVICE_PURPLE;
3058	[CCode (cheader_filename = "purple.h")]
3059	public const int DEFAULT_ACTION_NONE;
3060	[CCode (cheader_filename = "purple.h")]
3061	public const string DESKTOP_ITEM_ACTIONS;
3062	[CCode (cheader_filename = "purple.h")]
3063	public const string DESKTOP_ITEM_COMMENT;
3064	[CCode (cheader_filename = "purple.h")]
3065	public const string DESKTOP_ITEM_DEFAULT_APP;
3066	[CCode (cheader_filename = "purple.h")]
3067	public const string DESKTOP_ITEM_DEV;
3068	[CCode (cheader_filename = "purple.h")]
3069	public const string DESKTOP_ITEM_DOC_PATH;
3070	[CCode (cheader_filename = "purple.h")]
3071	public const string DESKTOP_ITEM_ENCODING;
3072	[CCode (cheader_filename = "purple.h")]
3073	public const string DESKTOP_ITEM_EXEC;
3074	[CCode (cheader_filename = "purple.h")]
3075	public const string DESKTOP_ITEM_FILE_PATTERN;
3076	[CCode (cheader_filename = "purple.h")]
3077	public const string DESKTOP_ITEM_FS_TYPE;
3078	[CCode (cheader_filename = "purple.h")]
3079	public const string DESKTOP_ITEM_GENERIC_NAME;
3080	[CCode (cheader_filename = "purple.h")]
3081	public const string DESKTOP_ITEM_HIDDEN;
3082	[CCode (cheader_filename = "purple.h")]
3083	public const string DESKTOP_ITEM_ICON;
3084	[CCode (cheader_filename = "purple.h")]
3085	public const string DESKTOP_ITEM_MIME_TYPE;
3086	[CCode (cheader_filename = "purple.h")]
3087	public const string DESKTOP_ITEM_MINI_ICON;
3088	[CCode (cheader_filename = "purple.h")]
3089	public const string DESKTOP_ITEM_MOUNT_POINT;
3090	[CCode (cheader_filename = "purple.h")]
3091	public const string DESKTOP_ITEM_NAME;
3092	[CCode (cheader_filename = "purple.h")]
3093	public const string DESKTOP_ITEM_NO_DISPLAY;
3094	[CCode (cheader_filename = "purple.h")]
3095	public const string DESKTOP_ITEM_PATH;
3096	[CCode (cheader_filename = "purple.h")]
3097	public const string DESKTOP_ITEM_PATTERNS;
3098	[CCode (cheader_filename = "purple.h")]
3099	public const string DESKTOP_ITEM_READ_ONLY;
3100	[CCode (cheader_filename = "purple.h")]
3101	public const string DESKTOP_ITEM_SORT_ORDER;
3102	[CCode (cheader_filename = "purple.h")]
3103	public const string DESKTOP_ITEM_SWALLOW_EXEC;
3104	[CCode (cheader_filename = "purple.h")]
3105	public const string DESKTOP_ITEM_SWALLOW_TITLE;
3106	[CCode (cheader_filename = "purple.h")]
3107	public const string DESKTOP_ITEM_TERMINAL;
3108	[CCode (cheader_filename = "purple.h")]
3109	public const string DESKTOP_ITEM_TERMINAL_OPTIONS;
3110	[CCode (cheader_filename = "purple.h")]
3111	public const string DESKTOP_ITEM_TRY_EXEC;
3112	[CCode (cheader_filename = "purple.h")]
3113	public const string DESKTOP_ITEM_TYPE;
3114	[CCode (cheader_filename = "purple.h")]
3115	public const string DESKTOP_ITEM_UNMOUNT_ICON;
3116	[CCode (cheader_filename = "purple.h")]
3117	public const string DESKTOP_ITEM_URL;
3118	[CCode (cheader_filename = "purple.h")]
3119	public const string DESKTOP_ITEM_VERSION;
3120	[CCode (cheader_filename = "purple.h")]
3121	public const string GAIM_DESKTOP_ITEM_ACTIONS;
3122	[CCode (cheader_filename = "purple.h")]
3123	public const string GAIM_DESKTOP_ITEM_COMMENT;
3124	[CCode (cheader_filename = "purple.h")]
3125	public const string GAIM_DESKTOP_ITEM_DEFAULT_APP;
3126	[CCode (cheader_filename = "purple.h")]
3127	public const string GAIM_DESKTOP_ITEM_DEV;
3128	[CCode (cheader_filename = "purple.h")]
3129	public const string GAIM_DESKTOP_ITEM_DOC_PATH;
3130	[CCode (cheader_filename = "purple.h")]
3131	public const string GAIM_DESKTOP_ITEM_ENCODING;
3132	[CCode (cheader_filename = "purple.h")]
3133	public const string GAIM_DESKTOP_ITEM_EXEC;
3134	[CCode (cheader_filename = "purple.h")]
3135	public const string GAIM_DESKTOP_ITEM_FILE_PATTERN;
3136	[CCode (cheader_filename = "purple.h")]
3137	public const string GAIM_DESKTOP_ITEM_FS_TYPE;
3138	[CCode (cheader_filename = "purple.h")]
3139	public const string GAIM_DESKTOP_ITEM_GENERIC_NAME;
3140	[CCode (cheader_filename = "purple.h")]
3141	public const string GAIM_DESKTOP_ITEM_HIDDEN;
3142	[CCode (cheader_filename = "purple.h")]
3143	public const string GAIM_DESKTOP_ITEM_ICON;
3144	[CCode (cheader_filename = "purple.h")]
3145	public const string GAIM_DESKTOP_ITEM_MIME_TYPE;
3146	[CCode (cheader_filename = "purple.h")]
3147	public const string GAIM_DESKTOP_ITEM_MINI_ICON;
3148	[CCode (cheader_filename = "purple.h")]
3149	public const string GAIM_DESKTOP_ITEM_MOUNT_POINT;
3150	[CCode (cheader_filename = "purple.h")]
3151	public const string GAIM_DESKTOP_ITEM_NAME;
3152	[CCode (cheader_filename = "purple.h")]
3153	public const string GAIM_DESKTOP_ITEM_NO_DISPLAY;
3154	[CCode (cheader_filename = "purple.h")]
3155	public const string GAIM_DESKTOP_ITEM_PATH;
3156	[CCode (cheader_filename = "purple.h")]
3157	public const string GAIM_DESKTOP_ITEM_PATTERNS;
3158	[CCode (cheader_filename = "purple.h")]
3159	public const string GAIM_DESKTOP_ITEM_READ_ONLY;
3160	[CCode (cheader_filename = "purple.h")]
3161	public const string GAIM_DESKTOP_ITEM_SORT_ORDER;
3162	[CCode (cheader_filename = "purple.h")]
3163	public const string GAIM_DESKTOP_ITEM_SWALLOW_EXEC;
3164	[CCode (cheader_filename = "purple.h")]
3165	public const string GAIM_DESKTOP_ITEM_SWALLOW_TITLE;
3166	[CCode (cheader_filename = "purple.h")]
3167	public const string GAIM_DESKTOP_ITEM_TERMINAL;
3168	[CCode (cheader_filename = "purple.h")]
3169	public const string GAIM_DESKTOP_ITEM_TERMINAL_OPTIONS;
3170	[CCode (cheader_filename = "purple.h")]
3171	public const string GAIM_DESKTOP_ITEM_TRY_EXEC;
3172	[CCode (cheader_filename = "purple.h")]
3173	public const string GAIM_DESKTOP_ITEM_TYPE;
3174	[CCode (cheader_filename = "purple.h")]
3175	public const string GAIM_DESKTOP_ITEM_UNMOUNT_ICON;
3176	[CCode (cheader_filename = "purple.h")]
3177	public const string GAIM_DESKTOP_ITEM_URL;
3178	[CCode (cheader_filename = "purple.h")]
3179	public const string GAIM_DESKTOP_ITEM_VERSION;
3180	[CCode (cheader_filename = "purple.h")]
3181	public const int MAJOR_VERSION;
3182	[CCode (cheader_filename = "purple.h")]
3183	public const int MICRO_VERSION;
3184	[CCode (cheader_filename = "purple.h")]
3185	public const int MINOR_VERSION;
3186	[CCode (cheader_filename = "purple.h")]
3187	public const string MOOD_COMMENT;
3188	[CCode (cheader_filename = "purple.h")]
3189	public const string MOOD_NAME;
3190	[CCode (cheader_filename = "purple.h")]
3191	public const int NO_TZ_OFF;
3192	[CCode (cheader_filename = "purple.h")]
3193	public const int PLUGINS;
3194	[CCode (cheader_filename = "purple.h")]
3195	public const int PLUGIN_FLAG_INVISIBLE;
3196	[CCode (cheader_filename = "purple.h")]
3197	public const int PLUGIN_MAGIC;
3198	[CCode (cheader_filename = "purple.h")]
3199	public const int PMP_LIFETIME;
3200	[CCode (cheader_filename = "purple.h")]
3201	public const int PRIORITY_DEFAULT;
3202	[CCode (cheader_filename = "purple.h")]
3203	public const int PRIORITY_HIGHEST;
3204	[CCode (cheader_filename = "purple.h")]
3205	public const int PRIORITY_LOWEST;
3206	[CCode (cheader_filename = "purple.h")]
3207	public const int SIGNAL_PRIORITY_DEFAULT;
3208	[CCode (cheader_filename = "purple.h")]
3209	public const int SIGNAL_PRIORITY_HIGHEST;
3210	[CCode (cheader_filename = "purple.h")]
3211	public const int SIGNAL_PRIORITY_LOWEST;
3212	[CCode (cheader_filename = "purple.h")]
3213	public const int SSL_DEFAULT_PORT;
3214	[CCode (cheader_filename = "purple.h")]
3215	public const string TUNE_ALBUM;
3216	[CCode (cheader_filename = "purple.h")]
3217	public const string TUNE_ARTIST;
3218	[CCode (cheader_filename = "purple.h")]
3219	public const string TUNE_COMMENT;
3220	[CCode (cheader_filename = "purple.h")]
3221	public const string TUNE_FULL;
3222	[CCode (cheader_filename = "purple.h")]
3223	public const string TUNE_GENRE;
3224	[CCode (cheader_filename = "purple.h")]
3225	public const string TUNE_TIME;
3226	[CCode (cheader_filename = "purple.h")]
3227	public const string TUNE_TITLE;
3228	[CCode (cheader_filename = "purple.h")]
3229	public const string TUNE_TRACK;
3230	[CCode (cheader_filename = "purple.h")]
3231	public const string TUNE_URL;
3232	[CCode (cheader_filename = "purple.h")]
3233	public const string TUNE_YEAR;
3234	[CCode (cheader_filename = "purple.h")]
3235	public static void accounts_add (Purple.Account account);
3236	[CCode (cheader_filename = "purple.h")]
3237	public static void accounts_delete (Purple.Account account);
3238	[CCode (cheader_filename = "purple.h")]
3239	public static unowned Purple.Account accounts_find (string name, string protocol);
3240	[CCode (cheader_filename = "purple.h")]
3241	public static unowned Purple.Account accounts_find_any (string name, string protocol);
3242	[CCode (cheader_filename = "purple.h")]
3243	public static unowned Purple.Account accounts_find_connected (string name, string protocol);
3244	[CCode (cheader_filename = "purple.h")]
3245	public static unowned Purple.Account accounts_find_ext (string name, string protocol_id, GLib.Callback account_test);
3246	[CCode (cheader_filename = "purple.h")]
3247	public static unowned GLib.List accounts_get_all ();
3248	[CCode (cheader_filename = "purple.h")]
3249	public static unowned GLib.List accounts_get_all_active ();
3250	[CCode (cheader_filename = "purple.h")]
3251	public static void* accounts_get_handle ();
3252	[CCode (cheader_filename = "purple.h")]
3253	public static unowned Purple.AccountUiOps accounts_get_ui_ops ();
3254	[CCode (cheader_filename = "purple.h")]
3255	public static void accounts_init ();
3256	[CCode (cheader_filename = "purple.h")]
3257	public static void accounts_remove (Purple.Account account);
3258	[CCode (cheader_filename = "purple.h")]
3259	public static void accounts_reorder (Purple.Account account, int new_index);
3260	[CCode (cheader_filename = "purple.h")]
3261	public static void accounts_restore_current_statuses ();
3262	[CCode (cheader_filename = "purple.h")]
3263	public static void accounts_set_ui_ops (Purple.AccountUiOps ops);
3264	[CCode (cheader_filename = "purple.h")]
3265	public static void accounts_uninit ();
3266	[CCode (cheader_filename = "purple.h")]
3267	public static unowned uchar[] base16_decode (string str, size_t ret_len);
3268	[CCode (cheader_filename = "purple.h")]
3269	public static unowned string base16_encode (uchar[] data, size_t len);
3270	[CCode (cheader_filename = "purple.h")]
3271	public static unowned string base16_encode_chunked (uchar[] data, size_t len);
3272	[CCode (cheader_filename = "purple.h")]
3273	public static unowned uchar[] base64_decode (string str, size_t ret_len);
3274	[CCode (cheader_filename = "purple.h")]
3275	public static unowned string base64_encode (uchar[] data, size_t len);
3276	[CCode (cheader_filename = "purple.h")]
3277	public static void blist_add_account (Purple.Account account);
3278	[CCode (cheader_filename = "purple.h")]
3279	public static void blist_add_buddy (Purple.Buddy buddy, Purple.Contact contact, Purple.Group group, Purple.BlistNode node);
3280	[CCode (cheader_filename = "purple.h")]
3281	public static void blist_add_chat (Purple.Chat chat, Purple.Group group, Purple.BlistNode node);
3282	[CCode (cheader_filename = "purple.h")]
3283	public static void blist_add_contact (Purple.Contact contact, Purple.Group group, Purple.BlistNode node);
3284	[CCode (cheader_filename = "purple.h")]
3285	public static void blist_add_group (Purple.Group group, Purple.BlistNode node);
3286	[CCode (cheader_filename = "purple.h")]
3287	public static void blist_alias_buddy (Purple.Buddy buddy, string alias);
3288	[CCode (cheader_filename = "purple.h")]
3289	public static void blist_alias_chat (Purple.Chat chat, string alias);
3290	[CCode (cheader_filename = "purple.h")]
3291	public static void blist_alias_contact (Purple.Contact contact, string alias);
3292	[CCode (cheader_filename = "purple.h")]
3293	public static void blist_destroy ();
3294	[CCode (cheader_filename = "purple.h")]
3295	public static unowned Purple.Chat blist_find_chat (Purple.Account account, string name);
3296	[CCode (cheader_filename = "purple.h")]
3297	public static unowned GLib.SList blist_get_buddies ();
3298	[CCode (cheader_filename = "purple.h")]
3299	public static int blist_get_group_online_count (Purple.Group group);
3300	[CCode (cheader_filename = "purple.h")]
3301	public static int blist_get_group_size (Purple.Group group, bool offline);
3302	[CCode (cheader_filename = "purple.h")]
3303	public static void* blist_get_handle ();
3304	[CCode (cheader_filename = "purple.h")]
3305	public static unowned Purple.BlistNode blist_get_root ();
3306	[CCode (cheader_filename = "purple.h")]
3307	public static void* blist_get_ui_data ();
3308	[CCode (cheader_filename = "purple.h")]
3309	public static unowned Purple.BlistUiOps blist_get_ui_ops ();
3310	[CCode (cheader_filename = "purple.h")]
3311	public static void blist_init ();
3312	[CCode (cheader_filename = "purple.h")]
3313	public static void blist_load ();
3314	[CCode (cheader_filename = "purple.h")]
3315	public static void blist_merge_contact (Purple.Contact source, Purple.BlistNode node);
3316	[CCode (cheader_filename = "purple.h")]
3317	public static unowned Purple.BuddyList blist_new ();
3318	[CCode (cheader_filename = "purple.h")]
3319	public static void blist_remove_account (Purple.Account account);
3320	[CCode (cheader_filename = "purple.h")]
3321	public static void blist_remove_buddy (Purple.Buddy buddy);
3322	[CCode (cheader_filename = "purple.h")]
3323	public static void blist_remove_chat (Purple.Chat chat);
3324	[CCode (cheader_filename = "purple.h")]
3325	public static void blist_remove_contact (Purple.Contact contact);
3326	[CCode (cheader_filename = "purple.h")]
3327	public static void blist_remove_group (Purple.Group group);
3328	[CCode (cheader_filename = "purple.h")]
3329	public static void blist_rename_buddy (Purple.Buddy buddy, string name);
3330	[CCode (cheader_filename = "purple.h")]
3331	public static void blist_rename_group (Purple.Group group, string name);
3332	[CCode (cheader_filename = "purple.h")]
3333	public static void blist_request_add_buddy (Purple.Account account, string username, string group, string alias);
3334	[CCode (cheader_filename = "purple.h")]
3335	public static void blist_request_add_chat (Purple.Account account, Purple.Group group, string alias, string name);
3336	[CCode (cheader_filename = "purple.h")]
3337	public static void blist_request_add_group ();
3338	[CCode (cheader_filename = "purple.h")]
3339	public static void blist_schedule_save ();
3340	[CCode (cheader_filename = "purple.h")]
3341	public static void blist_server_alias_buddy (Purple.Buddy buddy, string alias);
3342	[CCode (cheader_filename = "purple.h")]
3343	public static void blist_set_ui_data (void* ui_data);
3344	[CCode (cheader_filename = "purple.h")]
3345	public static void blist_set_ui_ops (Purple.BlistUiOps ops);
3346	[CCode (cheader_filename = "purple.h")]
3347	public static void blist_set_visible (bool show);
3348	[CCode (cheader_filename = "purple.h")]
3349	public static void blist_show ();
3350	[CCode (cheader_filename = "purple.h")]
3351	public static void blist_uninit ();
3352	[CCode (cheader_filename = "purple.h")]
3353	public static void blist_update_buddy_icon (Purple.Buddy buddy);
3354	[CCode (cheader_filename = "purple.h")]
3355	public static void blist_update_buddy_status (Purple.Buddy buddy, Purple.Status old_status);
3356	[CCode (cheader_filename = "purple.h")]
3357	public static void blist_update_node_icon (Purple.BlistNode node);
3358	[CCode (cheader_filename = "purple.h")]
3359	public static int build_dir (string path, int mode);
3360	[CCode (cheader_filename = "purple.h")]
3361	public static unowned GLib.SList certificates_import (Purple.CertificateScheme scheme, string filename);
3362	[CCode (cheader_filename = "purple.h")]
3363	public static unowned Purple.Cipher ciphers_find_cipher (string name);
3364	[CCode (cheader_filename = "purple.h")]
3365	public static unowned GLib.List ciphers_get_ciphers ();
3366	[CCode (cheader_filename = "purple.h")]
3367	public static void* ciphers_get_handle ();
3368	[CCode (cheader_filename = "purple.h")]
3369	public static void ciphers_init ();
3370	[CCode (cheader_filename = "purple.h")]
3371	public static unowned Purple.Cipher ciphers_register_cipher (string name, Purple.CipherOps ops);
3372	[CCode (cheader_filename = "purple.h")]
3373	public static void ciphers_uninit ();
3374	[CCode (cheader_filename = "purple.h")]
3375	public static bool ciphers_unregister_cipher (Purple.Cipher cipher);
3376	[CCode (cheader_filename = "purple.h")]
3377	public static void* cmds_get_handle ();
3378	[CCode (cheader_filename = "purple.h")]
3379	public static unowned Purple.CommandsUiOps cmds_get_ui_ops ();
3380	[CCode (cheader_filename = "purple.h")]
3381	public static void cmds_init ();
3382	[CCode (cheader_filename = "purple.h")]
3383	public static void cmds_set_ui_ops (Purple.CommandsUiOps ops);
3384	[CCode (cheader_filename = "purple.h")]
3385	public static void cmds_uninit ();
3386	[CCode (cheader_filename = "purple.h")]
3387	public static void connections_disconnect_all ();
3388	[CCode (cheader_filename = "purple.h")]
3389	public static unowned GLib.List connections_get_all ();
3390	[CCode (cheader_filename = "purple.h")]
3391	public static unowned GLib.List connections_get_connecting ();
3392	[CCode (cheader_filename = "purple.h")]
3393	public static void* connections_get_handle ();
3394	[CCode (cheader_filename = "purple.h")]
3395	public static unowned Purple.ConnectionUiOps connections_get_ui_ops ();
3396	[CCode (cheader_filename = "purple.h")]
3397	public static void connections_init ();
3398	[CCode (cheader_filename = "purple.h")]
3399	public static void connections_set_ui_ops (Purple.ConnectionUiOps ops);
3400	[CCode (cheader_filename = "purple.h")]
3401	public static void connections_uninit ();
3402	[CCode (cheader_filename = "purple.h")]
3403	public static bool conv_custom_smiley_add (Purple.Conversation conv, string smile, string cksum_type, string chksum, bool remote);
3404	[CCode (cheader_filename = "purple.h")]
3405	public static void conv_custom_smiley_close (Purple.Conversation conv, string smile);
3406	[CCode (cheader_filename = "purple.h")]
3407	public static void conv_custom_smiley_write (Purple.Conversation conv, string smile, uchar[] data, size_t size);
3408	[CCode (cheader_filename = "purple.h")]
3409	public static bool conv_present_error (string who, Purple.Account account, string what);
3410	[CCode (cheader_filename = "purple.h")]
3411	public static void conv_send_confirm (Purple.Conversation conv, string message);
3412	[CCode (cheader_filename = "purple.h")]
3413	public static void* conversations_get_handle ();
3414	[CCode (cheader_filename = "purple.h")]
3415	public static void conversations_init ();
3416	[CCode (cheader_filename = "purple.h")]
3417	public static void conversations_set_ui_ops (Purple.ConversationUiOps ops);
3418	[CCode (cheader_filename = "purple.h")]
3419	public static void conversations_uninit ();
3420	[CCode (cheader_filename = "purple.h")]
3421	public static unowned string date_format_full (void* tm);
3422	[CCode (cheader_filename = "purple.h")]
3423	public static unowned string date_format_long (void* tm);
3424	[CCode (cheader_filename = "purple.h")]
3425	public static unowned string date_format_short (void* tm);
3426	[CCode (cheader_filename = "purple.h")]
3427	public static void debug (Purple.DebugLevel level, string category, string format);
3428	[CCode (cheader_filename = "purple.h")]
3429	public static void debug_error (string category, string format);
3430	[CCode (cheader_filename = "purple.h")]
3431	public static void debug_fatal (string category, string format);
3432	[CCode (cheader_filename = "purple.h")]
3433	public static unowned Purple.DebugUiOps debug_get_ui_ops ();
3434	[CCode (cheader_filename = "purple.h")]
3435	public static void debug_info (string category, string format);
3436	[CCode (cheader_filename = "purple.h")]
3437	public static void debug_init ();
3438	[CCode (cheader_filename = "purple.h")]
3439	public static bool debug_is_enabled ();
3440	[CCode (cheader_filename = "purple.h")]
3441	public static bool debug_is_unsafe ();
3442	[CCode (cheader_filename = "purple.h")]
3443	public static bool debug_is_verbose ();
3444	[CCode (cheader_filename = "purple.h")]
3445	public static void debug_misc (string category, string format);
3446	[CCode (cheader_filename = "purple.h")]
3447	public static void debug_set_enabled (bool enabled);
3448	[CCode (cheader_filename = "purple.h")]
3449	public static void debug_set_ui_ops (Purple.DebugUiOps ops);
3450	[CCode (cheader_filename = "purple.h")]
3451	public static void debug_set_unsafe (bool unsafe);
3452	[CCode (cheader_filename = "purple.h")]
3453	public static void debug_set_verbose (bool verbose);
3454	[CCode (cheader_filename = "purple.h")]
3455	public static void debug_warning (string category, string format);
3456	[CCode (cheader_filename = "purple.h")]
3457	public static unowned Purple.DnsQueryData dnsquery_a (string hostname, int port, Purple.DnsQueryConnectFunction callback, void* data);
3458	[CCode (cheader_filename = "purple.h")]
3459	public static unowned Purple.DnsQueryData dnsquery_a_account (Purple.Account account, string hostname, int port, Purple.DnsQueryConnectFunction callback, void* data);
3460	[CCode (cheader_filename = "purple.h")]
3461	public static void dnsquery_destroy (Purple.DnsQueryData query_data);
3462	[CCode (cheader_filename = "purple.h")]
3463	public static unowned string dnsquery_get_host (Purple.DnsQueryData query_data);
3464	[CCode (cheader_filename = "purple.h")]
3465	public static uint dnsquery_get_port (Purple.DnsQueryData query_data);
3466	[CCode (cheader_filename = "purple.h")]
3467	public static unowned Purple.DnsQueryUiOps dnsquery_get_ui_ops ();
3468	[CCode (cheader_filename = "purple.h")]
3469	public static void dnsquery_init ();
3470	[CCode (cheader_filename = "purple.h")]
3471	public static void dnsquery_set_ui_ops (Purple.DnsQueryUiOps ops);
3472	[CCode (cheader_filename = "purple.h")]
3473	public static void dnsquery_uninit ();
3474	[CCode (cheader_filename = "purple.h")]
3475	public static bool email_is_valid (string address);
3476	[CCode (cheader_filename = "purple.h")]
3477	public static unowned string escape_filename (string str);
3478	[CCode (cheader_filename = "purple.h")]
3479	public static unowned Purple.EventLoopUiOps eventloop_get_ui_ops ();
3480	[CCode (cheader_filename = "purple.h")]
3481	public static void eventloop_set_ui_ops (Purple.EventLoopUiOps ops);
3482	[CCode (cheader_filename = "purple.h")]
3483	public static unowned string fd_get_ip (int fd);
3484	[CCode (cheader_filename = "purple.h")]
3485	public static unowned GLib.SList find_buddies (Purple.Account account, string name);
3486	[CCode (cheader_filename = "purple.h")]
3487	public static unowned Purple.Buddy find_buddy (Purple.Account account, string name);
3488	[CCode (cheader_filename = "purple.h")]
3489	public static unowned Purple.Buddy find_buddy_in_group (Purple.Account account, string name, Purple.Group group);
3490	[CCode (cheader_filename = "purple.h")]
3491	public static unowned Purple.Conversation find_chat (Purple.Connection gc, int id);
3492	[CCode (cheader_filename = "purple.h")]
3493	public static unowned Purple.Conversation find_conversation_with_account (Purple.ConversationType type, string name, Purple.Account account);
3494	[CCode (cheader_filename = "purple.h")]
3495	public static unowned Purple.Group find_group (string name);
3496	[CCode (cheader_filename = "purple.h")]
3497	public static unowned Purple.Pounce find_pounce (Purple.Account pouncer, string pouncee, Purple.PounceEvent events);
3498	[CCode (cheader_filename = "purple.h")]
3499	public static unowned Purple.Plugin find_prpl (string id);
3500	[CCode (cheader_filename = "purple.h")]
3501	public static unowned string gai_strerror (int errnum);
3502	[CCode (cheader_filename = "purple.h")]
3503	public static unowned Purple.AttentionType get_attention_type_from_code (Purple.Account account, uint type_code);
3504	[CCode (cheader_filename = "purple.h")]
3505	public static unowned Purple.BuddyList get_blist ();
3506	[CCode (cheader_filename = "purple.h")]
3507	public static unowned GLib.List get_chats ();
3508	[CCode (cheader_filename = "purple.h")]
3509	public static unowned GLib.List get_conversations ();
3510	[CCode (cheader_filename = "purple.h")]
3511	public static unowned Purple.Core get_core ();
3512	[CCode (cheader_filename = "purple.h")]
3513	public static unowned string get_host_name ();
3514	[CCode (cheader_filename = "purple.h")]
3515	public static unowned GLib.List get_ims ();
3516	[CCode (cheader_filename = "purple.h")]
3517	public static unowned string get_tzoff_str (void* tm, bool iso);
3518	[CCode (cheader_filename = "purple.h")]
3519	public static unowned Purple.ProxyInfo global_proxy_get_info ();
3520	[CCode (cheader_filename = "purple.h")]
3521	public static void global_proxy_set_info (Purple.ProxyInfo info);
3522	[CCode (cheader_filename = "purple.h")]
3523	public static void got_protocol_handler_uri (string uri);
3524	[CCode (cheader_filename = "purple.h")]
3525	public static unowned string home_dir ();
3526	[CCode (cheader_filename = "purple.h")]
3527	public static unowned Purple.IdleUiOps idle_get_ui_ops ();
3528	[CCode (cheader_filename = "purple.h")]
3529	public static void idle_init ();
3530	[CCode (cheader_filename = "purple.h")]
3531	public static void idle_set (time_t time);
3532	[CCode (cheader_filename = "purple.h")]
3533	public static void idle_set_ui_ops (Purple.IdleUiOps ops);
3534	[CCode (cheader_filename = "purple.h")]
3535	public static void idle_touch ();
3536	[CCode (cheader_filename = "purple.h")]
3537	public static void idle_uninit ();
3538	[CCode (cheader_filename = "purple.h")]
3539	public static unowned Purple.StoredImage imgstore_add (void* data, size_t size, string filename);
3540	[CCode (cheader_filename = "purple.h")]
3541	public static int imgstore_add_with_id (void* data, size_t size, string filename);
3542	[CCode (cheader_filename = "purple.h")]
3543	public static unowned Purple.StoredImage imgstore_find_by_id (int id);
3544	[CCode (cheader_filename = "purple.h")]
3545	public static void* imgstore_get_data (Purple.StoredImage img);
3546	[CCode (cheader_filename = "purple.h")]
3547	public static unowned string imgstore_get_extension (Purple.StoredImage img);
3548	[CCode (cheader_filename = "purple.h")]
3549	public static unowned string imgstore_get_filename (Purple.StoredImage img);
3550	[CCode (cheader_filename = "purple.h")]
3551	public static void* imgstore_get_handle ();
3552	[CCode (cheader_filename = "purple.h")]
3553	public static size_t imgstore_get_size (Purple.StoredImage img);
3554	[CCode (cheader_filename = "purple.h")]
3555	public static void imgstore_init ();
3556	[CCode (cheader_filename = "purple.h")]
3557	public static unowned Purple.StoredImage imgstore_new_from_file (string path);
3558	[CCode (cheader_filename = "purple.h")]
3559	public static unowned Purple.StoredImage imgstore_ref (Purple.StoredImage img);
3560	[CCode (cheader_filename = "purple.h")]
3561	public static void imgstore_ref_by_id (int id);
3562	[CCode (cheader_filename = "purple.h")]
3563	public static void imgstore_uninit ();
3564	[CCode (cheader_filename = "purple.h")]
3565	public static unowned Purple.StoredImage imgstore_unref (Purple.StoredImage img);
3566	[CCode (cheader_filename = "purple.h")]
3567	public static void imgstore_unref_by_id (int id);
3568	[CCode (cheader_filename = "purple.h")]
3569	public static uint input_add (int fd, Purple.InputCondition cond, Purple.InputFunction func);
3570	[CCode (cheader_filename = "purple.h")]
3571	public static int input_get_error (int fd, int error);
3572	[CCode (cheader_filename = "purple.h")]
3573	public static bool input_remove (uint handle);
3574	[CCode (cheader_filename = "purple.h")]
3575	public static bool ip_address_is_valid (string ip);
3576	[CCode (cheader_filename = "purple.h")]
3577	public static bool ipv4_address_is_valid (string ip);
3578	[CCode (cheader_filename = "purple.h")]
3579	public static bool ipv6_address_is_valid (string ip);
3580	[CCode (cheader_filename = "purple.h")]
3581	public static unowned string markup_escape_text (string text, ssize_t length);
3582	[CCode (cheader_filename = "purple.h")]
3583	public static bool markup_extract_info_field (string str, int len, Purple.NotifyUserInfo user_info, string start_token, int skip, string end_token, GLib.ObjectPath check_value, string no_value_token, string display_name, bool is_link, string link_prefix, Purple.InfoFieldFormatCallback format_cb);
3584	[CCode (cheader_filename = "purple.h")]
3585	public static bool markup_find_tag (string needle, string haystack, out string start, out string end, out GLib.Datalist attributes);
3586	[CCode (cheader_filename = "purple.h")]
3587	public static unowned string markup_get_css_property (string style, string opt);
3588	[CCode (cheader_filename = "purple.h")]
3589	public static unowned string markup_get_tag_name (string tag);
3590	[CCode (cheader_filename = "purple.h")]
3591	public static void markup_html_to_xhtml (string html, out unowned string dest_xhtml, out unowned string dest_plain);
3592	[CCode (cheader_filename = "purple.h")]
3593	public static bool markup_is_rtl (string html);
3594	[CCode (cheader_filename = "purple.h")]
3595	public static unowned string markup_linkify (string str);
3596	[CCode (cheader_filename = "purple.h")]
3597	public static unowned string markup_slice (string str, uint x, uint y);
3598	[CCode (cheader_filename = "purple.h")]
3599	public static unowned string markup_strip_html (string str);
3600	[CCode (cheader_filename = "purple.h")]
3601	public static unowned string markup_unescape_entity (string text, int length);
3602	[CCode (cheader_filename = "purple.h")]
3603	public static void marshal_BOOLEAN__INT_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3604	[CCode (cheader_filename = "purple.h")]
3605	public static void marshal_BOOLEAN__POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3606	[CCode (cheader_filename = "purple.h")]
3607	public static void marshal_BOOLEAN__POINTER_BOOLEAN (Purple.Callback cb, void* args, void* data, void* return_val);
3608	[CCode (cheader_filename = "purple.h")]
3609	public static void marshal_BOOLEAN__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3610	[CCode (cheader_filename = "purple.h")]
3611	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3612	[CCode (cheader_filename = "purple.h")]
3613	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3614	[CCode (cheader_filename = "purple.h")]
3615	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3616	[CCode (cheader_filename = "purple.h")]
3617	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3618	[CCode (cheader_filename = "purple.h")]
3619	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3620	[CCode (cheader_filename = "purple.h")]
3621	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3622	[CCode (cheader_filename = "purple.h")]
3623	public static void marshal_BOOLEAN__POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3624	[CCode (cheader_filename = "purple.h")]
3625	public static void marshal_INT__INT (Purple.Callback cb, void* args, void* data, void* return_val);
3626	[CCode (cheader_filename = "purple.h")]
3627	public static void marshal_INT__INT_INT (Purple.Callback cb, void* args, void* data, void* return_val);
3628	[CCode (cheader_filename = "purple.h")]
3629	public static void marshal_INT__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3630	[CCode (cheader_filename = "purple.h")]
3631	public static void marshal_INT__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3632	[CCode (cheader_filename = "purple.h")]
3633	public static void marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3634	[CCode (cheader_filename = "purple.h")]
3635	public static void marshal_POINTER__POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3636	[CCode (cheader_filename = "purple.h")]
3637	public static void marshal_POINTER__POINTER_INT (Purple.Callback cb, void* args, void* data, void* return_val);
3638	[CCode (cheader_filename = "purple.h")]
3639	public static void marshal_POINTER__POINTER_INT64 (Purple.Callback cb, void* args, void* data, void* return_val);
3640	[CCode (cheader_filename = "purple.h")]
3641	public static void marshal_POINTER__POINTER_INT64_BOOLEAN (Purple.Callback cb, void* args, void* data, void* return_val);
3642	[CCode (cheader_filename = "purple.h")]
3643	public static void marshal_POINTER__POINTER_INT_BOOLEAN (Purple.Callback cb, void* args, void* data, void* return_val);
3644	[CCode (cheader_filename = "purple.h")]
3645	public static void marshal_POINTER__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3646	[CCode (cheader_filename = "purple.h")]
3647	public static void marshal_VOID (Purple.Callback cb, void* args, void* data, void* return_val);
3648	[CCode (cheader_filename = "purple.h")]
3649	public static void marshal_VOID__INT (Purple.Callback cb, void* args, void* data, void* return_val);
3650	[CCode (cheader_filename = "purple.h")]
3651	public static void marshal_VOID__INT_INT (Purple.Callback cb, void* args, void* data, void* return_val);
3652	[CCode (cheader_filename = "purple.h")]
3653	public static void marshal_VOID__POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3654	[CCode (cheader_filename = "purple.h")]
3655	public static void marshal_VOID__POINTER_INT_INT (Purple.Callback cb, void* args, void* data, void* return_val);
3656	[CCode (cheader_filename = "purple.h")]
3657	public static void marshal_VOID__POINTER_INT_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3658	[CCode (cheader_filename = "purple.h")]
3659	public static void marshal_VOID__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3660	[CCode (cheader_filename = "purple.h")]
3661	public static void marshal_VOID__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3662	[CCode (cheader_filename = "purple.h")]
3663	public static void marshal_VOID__POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3664	[CCode (cheader_filename = "purple.h")]
3665	public static void marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
3666	[CCode (cheader_filename = "purple.h")]
3667	public static void marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3668	[CCode (cheader_filename = "purple.h")]
3669	public static void marshal_VOID__POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3670	[CCode (cheader_filename = "purple.h")]
3671	public static void marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3672	[CCode (cheader_filename = "purple.h")]
3673	public static void marshal_VOID__POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3674	[CCode (cheader_filename = "purple.h")]
3675	public static void marshal_VOID__POINTER_POINTER_UINT_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3676	[CCode (cheader_filename = "purple.h")]
3677	public static void marshal_VOID__POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
3678	[CCode (cheader_filename = "purple.h")]
3679	public static bool message_meify (string message, ssize_t len);
3680	[CCode (cheader_filename = "purple.h")]
3681	public static unowned string mime_decode_field (string str);
3682	[CCode (cheader_filename = "purple.h")]
3683	public static unowned GLib.FileStream mkstemp (out unowned string path, bool binary);
3684	[CCode (cheader_filename = "purple.h")]
3685	public static int network_convert_idn_to_ascii (string @in, string @out);
3686	[CCode (cheader_filename = "purple.h")]
3687	public static void network_force_online ();
3688	[CCode (cheader_filename = "purple.h")]
3689	public static unowned GLib.List network_get_all_local_system_ips ();
3690	[CCode (cheader_filename = "purple.h")]
3691	public static void* network_get_handle ();
3692	[CCode (cheader_filename = "purple.h")]
3693	public static unowned string network_get_local_system_ip (int fd);
3694	[CCode (cheader_filename = "purple.h")]
3695	public static unowned string network_get_my_ip (int fd);
3696	[CCode (cheader_filename = "purple.h")]
3697	public static uint network_get_port_from_fd (int fd);
3698	[CCode (cheader_filename = "purple.h")]
3699	public static unowned string network_get_public_ip ();
3700	[CCode (cheader_filename = "purple.h")]
3701	public static unowned string network_get_stun_ip ();
3702	[CCode (cheader_filename = "purple.h")]
3703	public static unowned string network_get_turn_ip ();
3704	[CCode (cheader_filename = "purple.h")]
3705	public static void network_init ();
3706	[CCode (cheader_filename = "purple.h")]
3707	public static uint network_ip_atoi (string ip);
3708	[CCode (cheader_filename = "purple.h")]
3709	public static bool network_is_available ();
3710	[CCode (cheader_filename = "purple.h")]
3711	public static unowned Purple.NetworkListenData network_listen (uint port, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
3712	[CCode (cheader_filename = "purple.h")]
3713	public static void network_listen_cancel (Purple.NetworkListenData listen_data);
3714	[CCode (cheader_filename = "purple.h")]
3715	public static unowned Purple.NetworkListenData network_listen_family (uint port, int socket_family, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
3716	[CCode (cheader_filename = "purple.h")]
3717	public static void network_listen_map_external (bool map_external);
3718	[CCode (cheader_filename = "purple.h")]
3719	public static unowned Purple.NetworkListenData network_listen_range (uint start, uint end, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
3720	[CCode (cheader_filename = "purple.h")]
3721	public static unowned Purple.NetworkListenData network_listen_range_family (uint start, uint end, int socket_family, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
3722	[CCode (cheader_filename = "purple.h")]
3723	public static void network_remove_port_mapping (int fd);
3724	[CCode (cheader_filename = "purple.h")]
3725	public static void network_set_public_ip (string ip);
3726	[CCode (cheader_filename = "purple.h")]
3727	public static void network_set_stun_server (string stun_server);
3728	[CCode (cheader_filename = "purple.h")]
3729	public static void network_set_turn_server (string turn_server);
3730	[CCode (cheader_filename = "purple.h")]
3731	public static void network_uninit ();
3732	[CCode (cheader_filename = "purple.h")]
3733	public static unowned string normalize (Purple.Account account, string str);
3734	[CCode (cheader_filename = "purple.h")]
3735	public static unowned string normalize_nocase (Purple.Account account, string str);
3736	[CCode (cheader_filename = "purple.h")]
3737	public static void notify_close (Purple.NotifyType type, void* ui_handle);
3738	[CCode (cheader_filename = "purple.h")]
3739	public static void notify_close_with_handle (void* handle);
3740	[CCode (cheader_filename = "purple.h")]
3741	public static void* notify_email (void* handle, string subject, string from, string to, string url, Purple.NotifyCloseCallback cb);
3742	[CCode (cheader_filename = "purple.h")]
3743	public static void* notify_emails (void* handle, size_t count, bool detailed, out unowned string subjects, out unowned string froms, out unowned string tos, out unowned string urls, Purple.NotifyCloseCallback cb);
3744	[CCode (cheader_filename = "purple.h")]
3745	public static void* notify_formatted (void* handle, string title, string primary, string secondary, string text, Purple.NotifyCloseCallback cb);
3746	[CCode (cheader_filename = "purple.h")]
3747	public static void* notify_get_handle ();
3748	[CCode (cheader_filename = "purple.h")]
3749	public static unowned Purple.NotifyUiOps notify_get_ui_ops ();
3750	[CCode (cheader_filename = "purple.h")]
3751	public static void notify_init ();
3752	[CCode (cheader_filename = "purple.h")]
3753	public static void* notify_message (void* handle, Purple.NotifyMsgType type, string title, string primary, string secondary, Purple.NotifyCloseCallback cb);
3754	[CCode (cheader_filename = "purple.h")]
3755	public static void* notify_searchresults (Purple.Connection gc, string title, string primary, string secondary, Purple.NotifySearchResults results, Purple.NotifyCloseCallback cb);
3756	[CCode (cheader_filename = "purple.h")]
3757	public static void notify_set_ui_ops (Purple.NotifyUiOps ops);
3758	[CCode (cheader_filename = "purple.h")]
3759	public static void notify_uninit ();
3760	[CCode (cheader_filename = "purple.h")]
3761	public static void* notify_uri (void* handle, string uri);
3762	[CCode (cheader_filename = "purple.h")]
3763	public static void* notify_userinfo (Purple.Connection gc, string who, Purple.NotifyUserInfo user_info, Purple.NotifyCloseCallback cb);
3764	[CCode (cheader_filename = "purple.h")]
3765	public static unowned string ntlm_gen_type1 (string hostname, string domain);
3766	[CCode (cheader_filename = "purple.h")]
3767	public static unowned string ntlm_gen_type3 (string username, string passw, string hostname, string domain, uchar nonce, uint32 flags);
3768	[CCode (cheader_filename = "purple.h")]
3769	public static uchar ntlm_parse_type2 (string type2, uint32 flags);
3770	[CCode (cheader_filename = "purple.h")]
3771	public static void plugins_add_search_path (string path);
3772	[CCode (cheader_filename = "purple.h")]
3773	public static void plugins_destroy_all ();
3774	[CCode (cheader_filename = "purple.h")]
3775	public static bool plugins_enabled ();
3776	[CCode (cheader_filename = "purple.h")]
3777	public static unowned Purple.Plugin plugins_find_with_basename (string basename);
3778	[CCode (cheader_filename = "purple.h")]
3779	public static unowned Purple.Plugin plugins_find_with_filename (string filename);
3780	[CCode (cheader_filename = "purple.h")]
3781	public static unowned Purple.Plugin plugins_find_with_id (string id);
3782	[CCode (cheader_filename = "purple.h")]
3783	public static unowned Purple.Plugin plugins_find_with_name (string name);
3784	[CCode (cheader_filename = "purple.h")]
3785	public static unowned GLib.List plugins_get_all ();
3786	[CCode (cheader_filename = "purple.h")]
3787	public static void* plugins_get_handle ();
3788	[CCode (cheader_filename = "purple.h")]
3789	public static unowned GLib.List plugins_get_loaded ();
3790	[CCode (cheader_filename = "purple.h")]
3791	public static unowned GLib.List plugins_get_protocols ();
3792	[CCode (cheader_filename = "purple.h")]
3793	public static unowned GLib.List plugins_get_search_paths ();
3794	[CCode (cheader_filename = "purple.h")]
3795	public static void plugins_init ();
3796	[CCode (cheader_filename = "purple.h")]
3797	public static void plugins_load_saved (string key);
3798	[CCode (cheader_filename = "purple.h")]
3799	public static void plugins_probe (string ext);
3800	[CCode (cheader_filename = "purple.h")]
3801	public static void plugins_register_load_notify_cb (GLib.Callback func, void* data);
3802	[CCode (cheader_filename = "purple.h")]
3803	public static void plugins_register_probe_notify_cb (GLib.Callback func, void* data);
3804	[CCode (cheader_filename = "purple.h")]
3805	public static void plugins_register_unload_notify_cb (GLib.Callback func, void* data);
3806	[CCode (cheader_filename = "purple.h")]
3807	public static void plugins_save_loaded (string key);
3808	[CCode (cheader_filename = "purple.h")]
3809	public static void plugins_uninit ();
3810	[CCode (cheader_filename = "purple.h")]
3811	public static void plugins_unload (Purple.PluginType type);
3812	[CCode (cheader_filename = "purple.h")]
3813	public static void plugins_unload_all ();
3814	[CCode (cheader_filename = "purple.h")]
3815	public static void plugins_unregister_load_notify_cb (GLib.Callback func);
3816	[CCode (cheader_filename = "purple.h")]
3817	public static void plugins_unregister_probe_notify_cb (GLib.Callback func);
3818	[CCode (cheader_filename = "purple.h")]
3819	public static void plugins_unregister_unload_notify_cb (GLib.Callback func);
3820	[CCode (cheader_filename = "purple.h")]
3821	public static bool pmp_create_map (Purple.PmpType type, uint privateport, uint publicport, int lifetime);
3822	[CCode (cheader_filename = "purple.h")]
3823	public static bool pmp_destroy_map (Purple.PmpType type, uint privateport);
3824	[CCode (cheader_filename = "purple.h")]
3825	public static unowned string pmp_get_public_ip ();
3826	[CCode (cheader_filename = "purple.h")]
3827	public static void pmp_init ();
3828	[CCode (cheader_filename = "purple.h")]
3829	public static unowned GLib.List pounces_get_all ();
3830	[CCode (cheader_filename = "purple.h")]
3831	public static unowned GLib.List pounces_get_all_for_ui (string ui);
3832	[CCode (cheader_filename = "purple.h")]
3833	public static void* pounces_get_handle ();
3834	[CCode (cheader_filename = "purple.h")]
3835	public static void pounces_init ();
3836	[CCode (cheader_filename = "purple.h")]
3837	public static bool pounces_load ();
3838	[CCode (cheader_filename = "purple.h")]
3839	public static void pounces_register_handler (string ui, Purple.PounceCb cb, GLib.Callback new_pounce, GLib.Callback free_pounce);
3840	[CCode (cheader_filename = "purple.h")]
3841	public static void pounces_uninit ();
3842	[CCode (cheader_filename = "purple.h")]
3843	public static void pounces_unregister_handler (string ui);
3844	[CCode (cheader_filename = "purple.h")]
3845	public static void prefs_add_bool (string name, bool value);
3846	[CCode (cheader_filename = "purple.h")]
3847	public static void prefs_add_int (string name, int value);
3848	[CCode (cheader_filename = "purple.h")]
3849	public static void prefs_add_none (string name);
3850	[CCode (cheader_filename = "purple.h")]
3851	public static void prefs_add_path (string name, string value);
3852	[CCode (cheader_filename = "purple.h")]
3853	public static void prefs_add_path_list (string name, GLib.List value);
3854	[CCode (cheader_filename = "purple.h")]
3855	public static void prefs_add_string (string name, string value);
3856	[CCode (cheader_filename = "purple.h")]
3857	public static void prefs_add_string_list (string name, GLib.List value);
3858	[CCode (cheader_filename = "purple.h")]
3859	public static uint prefs_connect_callback (void* handle, string name, Purple.PrefCallback cb, void* data);
3860	[CCode (cheader_filename = "purple.h")]
3861	public static void prefs_destroy ();
3862	[CCode (cheader_filename = "purple.h")]
3863	public static void prefs_disconnect_by_handle (void* handle);
3864	[CCode (cheader_filename = "purple.h")]
3865	public static void prefs_disconnect_callback (uint callback_id);
3866	[CCode (cheader_filename = "purple.h")]
3867	public static bool prefs_exists (string name);
3868	[CCode (cheader_filename = "purple.h")]
3869	public static bool prefs_get_bool (string name);
3870	[CCode (cheader_filename = "purple.h")]
3871	public static unowned GLib.List prefs_get_children_names (string name);
3872	[CCode (cheader_filename = "purple.h")]
3873	public static void* prefs_get_handle ();
3874	[CCode (cheader_filename = "purple.h")]
3875	public static int prefs_get_int (string name);
3876	[CCode (cheader_filename = "purple.h")]
3877	public static unowned string prefs_get_path (string name);
3878	[CCode (cheader_filename = "purple.h")]
3879	public static unowned GLib.List prefs_get_path_list (string name);
3880	[CCode (cheader_filename = "purple.h")]
3881	public static unowned string prefs_get_string (string name);
3882	[CCode (cheader_filename = "purple.h")]
3883	public static unowned GLib.List prefs_get_string_list (string name);
3884	[CCode (cheader_filename = "purple.h")]
3885	public static Purple.PrefType prefs_get_type (string name);
3886	[CCode (cheader_filename = "purple.h")]
3887	public static unowned Purple.PrefsUiOps prefs_get_ui_ops ();
3888	[CCode (cheader_filename = "purple.h")]
3889	public static void prefs_init ();
3890	[CCode (cheader_filename = "purple.h")]
3891	public static bool prefs_load ();
3892	[CCode (cheader_filename = "purple.h")]
3893	public static void prefs_remove (string name);
3894	[CCode (cheader_filename = "purple.h")]
3895	public static void prefs_rename (string oldname, string newname);
3896	[CCode (cheader_filename = "purple.h")]
3897	public static void prefs_rename_boolean_toggle (string oldname, string newname);
3898	[CCode (cheader_filename = "purple.h")]
3899	public static void prefs_set_bool (string name, bool value);
3900	[CCode (cheader_filename = "purple.h")]
3901	public static void prefs_set_generic (string name, void* value);
3902	[CCode (cheader_filename = "purple.h")]
3903	public static void prefs_set_int (string name, int value);
3904	[CCode (cheader_filename = "purple.h")]
3905	public static void prefs_set_path (string name, string value);
3906	[CCode (cheader_filename = "purple.h")]
3907	public static void prefs_set_path_list (string name, GLib.List value);
3908	[CCode (cheader_filename = "purple.h")]
3909	public static void prefs_set_string (string name, string value);
3910	[CCode (cheader_filename = "purple.h")]
3911	public static void prefs_set_string_list (string name, GLib.List value);
3912	[CCode (cheader_filename = "purple.h")]
3913	public static void prefs_set_ui_ops (Purple.PrefsUiOps ops);
3914	[CCode (cheader_filename = "purple.h")]
3915	public static void prefs_trigger_callback (string name);
3916	[CCode (cheader_filename = "purple.h")]
3917	public static void prefs_trigger_callback_object (Purple.PrefCallbackData data);
3918	[CCode (cheader_filename = "purple.h")]
3919	public static void prefs_uninit ();
3920	[CCode (cheader_filename = "purple.h")]
3921	public static void prefs_update_old ();
3922	[CCode (cheader_filename = "purple.h")]
3923	public static unowned string primitive_get_id_from_type (Purple.StatusPrimitive type);
3924	[CCode (cheader_filename = "purple.h")]
3925	public static unowned string primitive_get_name_from_type (Purple.StatusPrimitive type);
3926	[CCode (cheader_filename = "purple.h")]
3927	public static Purple.StatusPrimitive primitive_get_type_from_id (string id);
3928	[CCode (cheader_filename = "purple.h")]
3929	public static void print_utf8_to_console (GLib.FileStream filestream, string message);
3930	[CCode (cheader_filename = "purple.h")]
3931	public static void privacy_allow (Purple.Account account, string who, bool local, bool restore);
3932	[CCode (cheader_filename = "purple.h")]
3933	public static bool privacy_check (Purple.Account account, string who);
3934	[CCode (cheader_filename = "purple.h")]
3935	public static void privacy_deny (Purple.Account account, string who, bool local, bool restore);
3936	[CCode (cheader_filename = "purple.h")]
3937	public static bool privacy_deny_add (Purple.Account account, string name, bool local_only);
3938	[CCode (cheader_filename = "purple.h")]
3939	public static bool privacy_deny_remove (Purple.Account account, string name, bool local_only);
3940	[CCode (cheader_filename = "purple.h")]
3941	public static unowned Purple.PrivacyUiOps privacy_get_ui_ops ();
3942	[CCode (cheader_filename = "purple.h")]
3943	public static void privacy_init ();
3944	[CCode (cheader_filename = "purple.h")]
3945	public static bool privacy_permit_add (Purple.Account account, string name, bool local_only);
3946	[CCode (cheader_filename = "purple.h")]
3947	public static bool privacy_permit_remove (Purple.Account account, string name, bool local_only);
3948	[CCode (cheader_filename = "purple.h")]
3949	public static void privacy_set_ui_ops (Purple.PrivacyUiOps ops);
3950	[CCode (cheader_filename = "purple.h")]
3951	public static bool program_is_valid (string program);
3952	[CCode (cheader_filename = "purple.h")]
3953	public static unowned Purple.ProxyConnectData proxy_connect (void* handle, Purple.Account account, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
3954	[CCode (cheader_filename = "purple.h")]
3955	public static void proxy_connect_cancel (Purple.ProxyConnectData connect_data);
3956	[CCode (cheader_filename = "purple.h")]
3957	public static void proxy_connect_cancel_with_handle (void* handle);
3958	[CCode (cheader_filename = "purple.h")]
3959	public static unowned Purple.ProxyConnectData proxy_connect_socks5 (void* handle, Purple.ProxyInfo gpi, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
3960	[CCode (cheader_filename = "purple.h")]
3961	public static unowned Purple.ProxyConnectData proxy_connect_socks5_account (void* handle, Purple.Account account, Purple.ProxyInfo gpi, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
3962	[CCode (cheader_filename = "purple.h")]
3963	public static unowned Purple.ProxyConnectData proxy_connect_udp (void* handle, Purple.Account account, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
3964	[CCode (cheader_filename = "purple.h")]
3965	public static void* proxy_get_handle ();
3966	[CCode (cheader_filename = "purple.h")]
3967	public static unowned Purple.ProxyInfo proxy_get_setup (Purple.Account account);
3968	[CCode (cheader_filename = "purple.h")]
3969	public static void proxy_init ();
3970	[CCode (cheader_filename = "purple.h")]
3971	public static void proxy_uninit ();
3972	[CCode (cheader_filename = "purple.h")]
3973	public static void prpl_change_account_status (Purple.Account account, Purple.Status old_status, Purple.Status new_status);
3974	[CCode (cheader_filename = "purple.h")]
3975	public static Purple.MediaCaps prpl_get_media_caps (Purple.Account account, string who);
3976	[CCode (cheader_filename = "purple.h")]
3977	public static unowned GLib.List prpl_get_statuses (Purple.Account account, Purple.Presence presence);
3978	[CCode (cheader_filename = "purple.h")]
3979	public static void prpl_got_account_actions (Purple.Account account);
3980	[CCode (cheader_filename = "purple.h")]
3981	public static void prpl_got_account_idle (Purple.Account account, bool idle, time_t idle_time);
3982	[CCode (cheader_filename = "purple.h")]
3983	public static void prpl_got_account_login_time (Purple.Account account, time_t login_time);
3984	[CCode (cheader_filename = "purple.h")]
3985	public static void prpl_got_account_status (Purple.Account account, string status_id);
3986	[CCode (cheader_filename = "purple.h")]
3987	public static void prpl_got_attention (Purple.Connection gc, string who, uint type_code);
3988	[CCode (cheader_filename = "purple.h")]
3989	public static void prpl_got_attention_in_chat (Purple.Connection gc, int id, string who, uint type_code);
3990	[CCode (cheader_filename = "purple.h")]
3991	public static void prpl_got_media_caps (Purple.Account account, string who);
3992	[CCode (cheader_filename = "purple.h")]
3993	public static void prpl_got_user_idle (Purple.Account account, string name, bool idle, time_t idle_time);
3994	[CCode (cheader_filename = "purple.h")]
3995	public static void prpl_got_user_login_time (Purple.Account account, string name, time_t login_time);
3996	[CCode (cheader_filename = "purple.h")]
3997	public static void prpl_got_user_status (Purple.Account account, string name, string status_id);
3998	[CCode (cheader_filename = "purple.h")]
3999	public static void prpl_got_user_status_deactive (Purple.Account account, string name, string status_id);
4000	[CCode (cheader_filename = "purple.h")]
4001	public static bool prpl_initiate_media (Purple.Account account, string who, Purple.MediaSessionType type);
4002	[CCode (cheader_filename = "purple.h")]
4003	public static void prpl_send_attention (Purple.Connection gc, string who, uint type_code);
4004	[CCode (cheader_filename = "purple.h")]
4005	public static unowned uchar[] quotedp_decode (string str, size_t ret_len);
4006	[CCode (cheader_filename = "purple.h")]
4007	public static void* request_action (void* handle, string title, string primary, string secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, size_t action_count);
4008	[CCode (cheader_filename = "purple.h")]
4009	public static void* request_action_varg (void* handle, string title, string primary, string secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, size_t action_count, void* actions);
4010	[CCode (cheader_filename = "purple.h")]
4011	public static void* request_action_with_icon (void* handle, string title, string primary, string secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, void* icon_data, size_t icon_size, size_t action_count);
4012	[CCode (cheader_filename = "purple.h")]
4013	public static void* request_action_with_icon_varg (void* handle, string title, string primary, string secondary, int default_action, Purple.Account account, string who, Purple.Conversation conv, void* icon_data, size_t icon_size, size_t action_count, void* actions);
4014	[CCode (cheader_filename = "purple.h")]
4015	public static void* request_choice (void* handle, string title, string primary, string secondary, int default_value, string ok_text, GLib.Callback ok_cb, string cancel_text, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv);
4016	[CCode (cheader_filename = "purple.h")]
4017	public static void* request_choice_varg (void* handle, string title, string primary, string secondary, int default_value, string ok_text, GLib.Callback ok_cb, string cancel_text, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv, void* choices);
4018	[CCode (cheader_filename = "purple.h")]
4019	public static void request_close (Purple.RequestType type, void* uihandle);
4020	[CCode (cheader_filename = "purple.h")]
4021	public static void request_close_with_handle (void* handle);
4022	[CCode (cheader_filename = "purple.h")]
4023	public static void* request_fields (void* handle, string title, string primary, string secondary, Purple.RequestFields fields, string ok_text, GLib.Callback ok_cb, string cancel_text, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv);
4024	[CCode (cheader_filename = "purple.h")]
4025	public static void* request_file (void* handle, string title, string filename, bool savedialog, GLib.Callback ok_cb, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv);
4026	[CCode (cheader_filename = "purple.h")]
4027	public static void* request_folder (void* handle, string title, string dirname, GLib.Callback ok_cb, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv);
4028	[CCode (cheader_filename = "purple.h")]
4029	public static unowned Purple.RequestUiOps request_get_ui_ops ();
4030	[CCode (cheader_filename = "purple.h")]
4031	public static void* request_input (void* handle, string title, string primary, string secondary, string default_value, bool multiline, bool masked, string hint, string ok_text, GLib.Callback ok_cb, string cancel_text, GLib.Callback cancel_cb, Purple.Account account, string who, Purple.Conversation conv);
4032	[CCode (cheader_filename = "purple.h")]
4033	public static void request_set_ui_ops (Purple.RequestUiOps ops);
4034	[CCode (cheader_filename = "purple.h")]
4035	public static void restore_default_signal_handlers ();
4036	[CCode (cheader_filename = "purple.h")]
4037	public static bool running_gnome ();
4038	[CCode (cheader_filename = "purple.h")]
4039	public static bool running_kde ();
4040	[CCode (cheader_filename = "purple.h")]
4041	public static bool running_osx ();
4042	[CCode (cheader_filename = "purple.h")]
4043	public static unowned GLib.List savedstatuses_get_all ();
4044	[CCode (cheader_filename = "purple.h")]
4045	public static void* savedstatuses_get_handle ();
4046	[CCode (cheader_filename = "purple.h")]
4047	public static unowned GLib.List savedstatuses_get_popular (uint how_many);
4048	[CCode (cheader_filename = "purple.h")]
4049	public static void savedstatuses_init ();
4050	[CCode (cheader_filename = "purple.h")]
4051	public static void savedstatuses_uninit ();
4052	[CCode (cheader_filename = "purple.h", cname = "serv_add_deny")]
4053	public static void serv_add_deny (Purple.Connection p1, string p2);
4054	[CCode (cheader_filename = "purple.h", cname = "serv_add_permit")]
4055	public static void serv_add_permit (Purple.Connection p1, string p2);
4056	[CCode (cheader_filename = "purple.h", cname = "serv_alias_buddy")]
4057	public static void serv_alias_buddy (Purple.Buddy p1);
4058	[CCode (cheader_filename = "purple.h", cname = "serv_chat_invite")]
4059	public static void serv_chat_invite (Purple.Connection p1, int p2, string p3, string p4);
4060	[CCode (cheader_filename = "purple.h", cname = "serv_chat_leave")]
4061	public static void serv_chat_leave (Purple.Connection p1, int p2);
4062	[CCode (cheader_filename = "purple.h", cname = "serv_chat_send")]
4063	public static int serv_chat_send (Purple.Connection p1, int p2, string p3, Purple.MessageFlags flags);
4064	[CCode (cheader_filename = "purple.h", cname = "serv_chat_whisper")]
4065	public static void serv_chat_whisper (Purple.Connection p1, int p2, string p3, string p4);
4066	[CCode (cheader_filename = "purple.h", cname = "serv_get_info")]
4067	public static void serv_get_info (Purple.Connection p1, string p2);
4068	[CCode (cheader_filename = "purple.h", cname = "serv_got_alias")]
4069	public static void serv_got_alias (Purple.Connection gc, string who, string alias);
4070	[CCode (cheader_filename = "purple.h", cname = "serv_got_attention")]
4071	public static void serv_got_attention (Purple.Connection gc, string who, uint type_code);
4072	[CCode (cheader_filename = "purple.h", cname = "serv_got_chat_in")]
4073	public static void serv_got_chat_in (Purple.Connection g, int id, string who, Purple.MessageFlags flags, string message, time_t mtime);
4074	[CCode (cheader_filename = "purple.h", cname = "serv_got_chat_invite")]
4075	public static void serv_got_chat_invite (Purple.Connection gc, string name, string who, string message, GLib.HashTable data);
4076	[CCode (cheader_filename = "purple.h", cname = "serv_got_chat_left")]
4077	public static void serv_got_chat_left (Purple.Connection g, int id);
4078	[CCode (cheader_filename = "purple.h", cname = "serv_got_im")]
4079	public static void serv_got_im (Purple.Connection gc, string who, string msg, Purple.MessageFlags flags, time_t mtime);
4080	[CCode (cheader_filename = "purple.h")]
4081	public static void serv_got_join_chat_failed (Purple.Connection gc, GLib.HashTable data);
4082	[CCode (cheader_filename = "purple.h", cname = "serv_got_joined_chat")]
4083	public static unowned Purple.Conversation serv_got_joined_chat (Purple.Connection gc, int id, string name);
4084	[CCode (cheader_filename = "purple.h")]
4085	public static void serv_got_private_alias (Purple.Connection gc, string who, string alias);
4086	[CCode (cheader_filename = "purple.h", cname = "serv_got_typing")]
4087	public static void serv_got_typing (Purple.Connection gc, string name, int timeout, Purple.TypingState state);
4088	[CCode (cheader_filename = "purple.h", cname = "serv_got_typing_stopped")]
4089	public static void serv_got_typing_stopped (Purple.Connection gc, string name);
4090	[CCode (cheader_filename = "purple.h", cname = "serv_join_chat")]
4091	public static void serv_join_chat (Purple.Connection p1, GLib.HashTable data);
4092	[CCode (cheader_filename = "purple.h", cname = "serv_move_buddy")]
4093	public static void serv_move_buddy (Purple.Buddy p1, Purple.Group p2, Purple.Group p3);
4094	[CCode (cheader_filename = "purple.h", cname = "serv_reject_chat")]
4095	public static void serv_reject_chat (Purple.Connection p1, GLib.HashTable data);
4096	[CCode (cheader_filename = "purple.h", cname = "serv_rem_deny")]
4097	public static void serv_rem_deny (Purple.Connection p1, string p2);
4098	[CCode (cheader_filename = "purple.h", cname = "serv_rem_permit")]
4099	public static void serv_rem_permit (Purple.Connection p1, string p2);
4100	[CCode (cheader_filename = "purple.h", cname = "serv_send_attention")]
4101	public static void serv_send_attention (Purple.Connection gc, string who, uint type_code);
4102	[CCode (cheader_filename = "purple.h", cname = "serv_send_file")]
4103	public static void serv_send_file (Purple.Connection gc, string who, string file);
4104	[CCode (cheader_filename = "purple.h", cname = "serv_send_im")]
4105	public static int serv_send_im (Purple.Connection p1, string p2, string p3, Purple.MessageFlags flags);
4106	[CCode (cheader_filename = "purple.h", cname = "serv_send_typing")]
4107	public static uint serv_send_typing (Purple.Connection gc, string name, Purple.TypingState state);
4108	[CCode (cheader_filename = "purple.h", cname = "serv_set_info")]
4109	public static void serv_set_info (Purple.Connection p1, string p2);
4110	[CCode (cheader_filename = "purple.h", cname = "serv_set_permit_deny")]
4111	public static void serv_set_permit_deny (Purple.Connection p1);
4112	[CCode (cheader_filename = "purple.h")]
4113	public static void set_blist (Purple.BuddyList blist);
4114	[CCode (cheader_filename = "purple.h")]
4115	public static ulong signal_connect (void* instance, string @signal, void* handle, Purple.Callback func, void* data);
4116	[CCode (cheader_filename = "purple.h")]
4117	public static ulong signal_connect_priority (void* instance, string @signal, void* handle, Purple.Callback func, void* data, int priority);
4118	[CCode (cheader_filename = "purple.h")]
4119	public static ulong signal_connect_priority_vargs (void* instance, string @signal, void* handle, Purple.Callback func, void* data, int priority);
4120	[CCode (cheader_filename = "purple.h")]
4121	public static ulong signal_connect_vargs (void* instance, string @signal, void* handle, Purple.Callback func, void* data);
4122	[CCode (cheader_filename = "purple.h")]
4123	public static void signal_disconnect (void* instance, string @signal, void* handle, Purple.Callback func);
4124	[CCode (cheader_filename = "purple.h")]
4125	public static void signal_emit (void* instance, string @signal);
4126	[CCode (cheader_filename = "purple.h")]
4127	public static void* signal_emit_return_1 (void* instance, string @signal);
4128	[CCode (cheader_filename = "purple.h")]
4129	public static void signal_emit_vargs (void* instance, string @signal, void* args);
4130	[CCode (cheader_filename = "purple.h")]
4131	public static void* signal_emit_vargs_return_1 (void* instance, string @signal, void* args);
4132	[CCode (cheader_filename = "purple.h")]
4133	public static void signal_get_values (void* instance, string @signal, out unowned Purple.Value ret_value, int num_values, out unowned Purple.Value values);
4134	[CCode (cheader_filename = "purple.h")]
4135	public static ulong signal_register (void* instance, string @signal, Purple.SignalMarshalFunc marshal, Purple.Value ret_value, int num_values);
4136	[CCode (cheader_filename = "purple.h")]
4137	public static void signal_unregister (void* instance, string @signal);
4138	[CCode (cheader_filename = "purple.h")]
4139	public static void signals_disconnect_by_handle (void* handle);
4140	[CCode (cheader_filename = "purple.h")]
4141	public static void signals_init ();
4142	[CCode (cheader_filename = "purple.h")]
4143	public static void signals_uninit ();
4144	[CCode (cheader_filename = "purple.h")]
4145	public static void signals_unregister_by_instance (void* instance);
4146	[CCode (cheader_filename = "purple.h")]
4147	public static void smarshal_BOOLEAN__OBJECT_POINTER_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4148	[CCode (cheader_filename = "purple.h")]
4149	public static void smarshal_VOID__ENUM_STRING_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4150	[CCode (cheader_filename = "purple.h")]
4151	public static void smarshal_VOID__ENUM_STRING_STRING_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4152	[CCode (cheader_filename = "purple.h")]
4153	public static void smarshal_VOID__FLAGS_FLAGS (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4154	[CCode (cheader_filename = "purple.h")]
4155	public static void smarshal_VOID__POINTER_POINTER_OBJECT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4156	[CCode (cheader_filename = "purple.h")]
4157	public static void smarshal_VOID__POINTER_POINTER_OBJECT_OBJECT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4158	[CCode (cheader_filename = "purple.h")]
4159	public static void smarshal_VOID__STRING_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4160	[CCode (cheader_filename = "purple.h")]
4161	public static void smarshal_VOID__STRING_STRING_DOUBLE (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4162	[CCode (cheader_filename = "purple.h")]
4163	public static void smarshal_VOID__STRING_STRING_OBJECT_OBJECT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
4164	[CCode (cheader_filename = "purple.h")]
4165	public static unowned Purple.Smiley smileys_find_by_checksum (string checksum);
4166	[CCode (cheader_filename = "purple.h")]
4167	public static unowned Purple.Smiley smileys_find_by_shortcut (string shortcut);
4168	[CCode (cheader_filename = "purple.h")]
4169	public static unowned GLib.List smileys_get_all ();
4170	[CCode (cheader_filename = "purple.h")]
4171	public static unowned string smileys_get_storing_dir ();
4172	[CCode (cheader_filename = "purple.h")]
4173	public static void smileys_init ();
4174	[CCode (cheader_filename = "purple.h")]
4175	public static void smileys_uninit ();
4176	[CCode (cheader_filename = "purple.h")]
4177	public static int socket_get_family (int fd);
4178	[CCode (cheader_filename = "purple.h")]
4179	public static bool socket_speaks_ipv4 (int fd);
4180	[CCode (cheader_filename = "purple.h")]
4181	public static unowned Purple.SoundUiOps sound_get_ui_ops ();
4182	[CCode (cheader_filename = "purple.h")]
4183	public static void sound_init ();
4184	[CCode (cheader_filename = "purple.h")]
4185	public static void sound_play_event (Purple.SoundEventID event, Purple.Account account);
4186	[CCode (cheader_filename = "purple.h")]
4187	public static void sound_play_file (string filename, Purple.Account account);
4188	[CCode (cheader_filename = "purple.h")]
4189	public static void sound_set_ui_ops (Purple.SoundUiOps ops);
4190	[CCode (cheader_filename = "purple.h")]
4191	public static void sound_uninit ();
4192	[CCode (cheader_filename = "purple.h")]
4193	public static void* sounds_get_handle ();
4194	[CCode (cheader_filename = "purple.h")]
4195	public static void srv_cancel (Purple.SrvTxtQueryData query_data);
4196	[CCode (cheader_filename = "purple.h")]
4197	public static unowned Purple.SrvTxtQueryData srv_resolve (string protocol, string transport, string domain, Purple.SrvCallback cb, void* extradata);
4198	[CCode (cheader_filename = "purple.h")]
4199	public static unowned Purple.SrvTxtQueryData srv_resolve_account (Purple.Account account, string protocol, string transport, string domain, Purple.SrvCallback cb, void* extradata);
4200	[CCode (cheader_filename = "purple.h")]
4201	public static void srv_txt_query_destroy (Purple.SrvTxtQueryData query_data);
4202	[CCode (cheader_filename = "purple.h")]
4203	public static unowned string srv_txt_query_get_query (Purple.SrvTxtQueryData query_data);
4204	[CCode (cheader_filename = "purple.h")]
4205	public static int srv_txt_query_get_type (Purple.SrvTxtQueryData query_data);
4206	[CCode (cheader_filename = "purple.h")]
4207	public static unowned Purple.SrvTxtQueryUiOps srv_txt_query_get_ui_ops ();
4208	[CCode (cheader_filename = "purple.h")]
4209	public static void srv_txt_query_set_ui_ops (Purple.SrvTxtQueryUiOps ops);
4210	[CCode (cheader_filename = "purple.h")]
4211	public static void ssl_close (Purple.SslConnection gsc);
4212	[CCode (cheader_filename = "purple.h")]
4213	public static unowned Purple.SslConnection ssl_connect (Purple.Account account, string host, int port, Purple.SslInputFunction func, Purple.SslErrorFunction error_func, void* data);
4214	[CCode (cheader_filename = "purple.h")]
4215	public static unowned Purple.SslConnection ssl_connect_fd (Purple.Account account, int fd, Purple.SslInputFunction func, Purple.SslErrorFunction error_func, void* data);
4216	[CCode (cheader_filename = "purple.h")]
4217	public static unowned Purple.SslConnection ssl_connect_with_host_fd (Purple.Account account, int fd, Purple.SslInputFunction func, Purple.SslErrorFunction error_func, string host, void* data);
4218	[CCode (cheader_filename = "purple.h")]
4219	public static unowned Purple.SslConnection ssl_connect_with_ssl_cn (Purple.Account account, string host, int port, Purple.SslInputFunction func, Purple.SslErrorFunction error_func, string ssl_host, void* data);
4220	[CCode (cheader_filename = "purple.h")]
4221	public static unowned Purple.SslOps ssl_get_ops ();
4222	[CCode (cheader_filename = "purple.h")]
4223	public static unowned GLib.List ssl_get_peer_certificates (Purple.SslConnection gsc);
4224	[CCode (cheader_filename = "purple.h")]
4225	public static void ssl_init ();
4226	[CCode (cheader_filename = "purple.h")]
4227	public static void ssl_input_add (Purple.SslConnection gsc, Purple.SslInputFunction func, void* data);
4228	[CCode (cheader_filename = "purple.h")]
4229	public static bool ssl_is_supported ();
4230	[CCode (cheader_filename = "purple.h")]
4231	public static size_t ssl_read (Purple.SslConnection gsc, void* buffer, size_t len);
4232	[CCode (cheader_filename = "purple.h")]
4233	public static void ssl_set_ops (Purple.SslOps ops);
4234	[CCode (cheader_filename = "purple.h")]
4235	public static unowned string ssl_strerror (Purple.SslErrorType error);
4236	[CCode (cheader_filename = "purple.h")]
4237	public static void ssl_uninit ();
4238	[CCode (cheader_filename = "purple.h")]
4239	public static size_t ssl_write (Purple.SslConnection gsc, void* buffer, size_t len);
4240	[CCode (cheader_filename = "purple.h")]
4241	public static unowned string str_add_cr (string str);
4242	[CCode (cheader_filename = "purple.h")]
4243	public static unowned string str_binary_to_ascii (uint binary, uint len);
4244	[CCode (cheader_filename = "purple.h")]
4245	public static bool str_has_prefix (string s, string p);
4246	[CCode (cheader_filename = "purple.h")]
4247	public static bool str_has_suffix (string s, string x);
4248	[CCode (cheader_filename = "purple.h")]
4249	public static unowned string str_seconds_to_string (uint sec);
4250	[CCode (cheader_filename = "purple.h")]
4251	public static unowned string str_size_to_units (size_t size);
4252	[CCode (cheader_filename = "purple.h")]
4253	public static void str_strip_char (string str, GLib.ObjectPath thechar);
4254	[CCode (cheader_filename = "purple.h")]
4255	public static time_t str_to_time (string timestamp, bool utc, void* tm, long tz_off, out unowned string rest);
4256	[CCode (cheader_filename = "purple.h")]
4257	public static unowned string strcasereplace (string str, string delimiter, string replacement);
4258	[CCode (cheader_filename = "purple.h")]
4259	public static unowned string strcasestr (string haystack, string needle);
4260	[CCode (cheader_filename = "purple.h")]
4261	public static unowned string strdup_withhtml (string src);
4262	[CCode (cheader_filename = "purple.h")]
4263	public static bool strequal (string left, string right);
4264	[CCode (cheader_filename = "purple.h")]
4265	public static unowned string strreplace (string str, string delimiter, string replacement);
4266	[CCode (cheader_filename = "purple.h")]
4267	public static unowned Purple.StunNatDiscovery stun_discover (Purple.StunCallback cb);
4268	[CCode (cheader_filename = "purple.h")]
4269	public static void stun_init ();
4270	[CCode (cheader_filename = "purple.h")]
4271	public static unowned string text_strip_mnemonic (string @in);
4272	[CCode (cheader_filename = "purple.h")]
4273	public static time_t time_build (int year, int month, int day, int hour, int min, int sec);
4274	[CCode (cheader_filename = "purple.h")]
4275	public static unowned string time_format (void* tm);
4276	[CCode (cheader_filename = "purple.h")]
4277	public static uint timeout_add (uint interval, GLib.SourceFunc function, void* data);
4278	[CCode (cheader_filename = "purple.h")]
4279	public static uint timeout_add_seconds (uint interval, GLib.SourceFunc function, void* data);
4280	[CCode (cheader_filename = "purple.h")]
4281	public static bool timeout_remove (uint handle);
4282	[CCode (cheader_filename = "purple.h")]
4283	public static void txt_cancel (Purple.SrvTxtQueryData query_data);
4284	[CCode (cheader_filename = "purple.h")]
4285	public static unowned Purple.SrvTxtQueryData txt_resolve (string owner, string domain, Purple.TxtCallback cb, void* extradata);
4286	[CCode (cheader_filename = "purple.h")]
4287	public static unowned Purple.SrvTxtQueryData txt_resolve_account (Purple.Account account, string owner, string domain, Purple.TxtCallback cb, void* extradata);
4288	[CCode (cheader_filename = "purple.h")]
4289	public static unowned string unescape_filename (string str);
4290	[CCode (cheader_filename = "purple.h")]
4291	public static unowned string unescape_html (string html);
4292	[CCode (cheader_filename = "purple.h")]
4293	public static unowned string unescape_text (string text);
4294	[CCode (cheader_filename = "purple.h")]
4295	public static void upnp_cancel_port_mapping (Purple.UPnPMappingAddRemove mapping_data);
4296	[CCode (cheader_filename = "purple.h")]
4297	public static void upnp_discover (Purple.UPnPCallback cb, void* cb_data);
4298	[CCode (cheader_filename = "purple.h")]
4299	public static unowned string upnp_get_public_ip ();
4300	[CCode (cheader_filename = "purple.h")]
4301	public static void upnp_init ();
4302	[CCode (cheader_filename = "purple.h")]
4303	public static unowned Purple.UPnPMappingAddRemove upnp_remove_port_mapping (uint portmap, string protocol, Purple.UPnPCallback cb, void* cb_data);
4304	[CCode (cheader_filename = "purple.h")]
4305	public static unowned Purple.UPnPMappingAddRemove upnp_set_port_mapping (uint portmap, string protocol, Purple.UPnPCallback cb, void* cb_data);
4306	[CCode (cheader_filename = "purple.h")]
4307	public static unowned GLib.List uri_list_extract_filenames (string uri_list);
4308	[CCode (cheader_filename = "purple.h")]
4309	public static unowned GLib.List uri_list_extract_uris (string uri_list);
4310	[CCode (cheader_filename = "purple.h")]
4311	public static unowned string url_decode (string str);
4312	[CCode (cheader_filename = "purple.h")]
4313	public static unowned string url_encode (string str);
4314	[CCode (cheader_filename = "purple.h")]
4315	public static bool url_parse (string url, out unowned string ret_host, int ret_port, out unowned string ret_path, out unowned string ret_user, out unowned string ret_passwd);
4316	[CCode (cheader_filename = "purple.h")]
4317	public static unowned string user_dir ();
4318	[CCode (cheader_filename = "purple.h")]
4319	public static bool utf8_has_word (string haystack, string needle);
4320	[CCode (cheader_filename = "purple.h")]
4321	public static unowned string utf8_ncr_decode (string @in);
4322	[CCode (cheader_filename = "purple.h")]
4323	public static unowned string utf8_ncr_encode (string @in);
4324	[CCode (cheader_filename = "purple.h")]
4325	public static unowned string utf8_salvage (string str);
4326	[CCode (cheader_filename = "purple.h")]
4327	public static int utf8_strcasecmp (string a, string b);
4328	[CCode (cheader_filename = "purple.h")]
4329	public static unowned string utf8_strftime (string format, void* tm);
4330	[CCode (cheader_filename = "purple.h")]
4331	public static unowned string utf8_strip_unprintables (string str);
4332	[CCode (cheader_filename = "purple.h")]
4333	public static unowned string utf8_try_convert (string str);
4334	[CCode (cheader_filename = "purple.h")]
4335	public static void util_chrreplace (string str, GLib.ObjectPath delimiter, GLib.ObjectPath replacement);
4336	[CCode (cheader_filename = "purple.h")]
4337	public static void util_fetch_url_cancel (Purple.UtilFetchUrlData url_data);
4338	[CCode (cheader_filename = "purple.h")]
4339	public static unowned Purple.UtilFetchUrlData util_fetch_url_request (string url, bool full, string user_agent, bool http11, string request, bool include_headers, Purple.UtilFetchUrlCallback callback, void* data);
4340	[CCode (cheader_filename = "purple.h")]
4341	public static unowned Purple.UtilFetchUrlData util_fetch_url_request_data_len_with_account (Purple.Account account, string url, bool full, string user_agent, bool http11, string request, size_t request_len, bool include_headers, ssize_t max_len, Purple.UtilFetchUrlCallback callback);
4342	[CCode (cheader_filename = "purple.h")]
4343	public static unowned Purple.UtilFetchUrlData util_fetch_url_request_len (string url, bool full, string user_agent, bool http11, string request, bool include_headers, ssize_t max_len, Purple.UtilFetchUrlCallback callback, void* data);
4344	[CCode (cheader_filename = "purple.h")]
4345	public static unowned Purple.UtilFetchUrlData util_fetch_url_request_len_with_account (Purple.Account account, string url, bool full, string user_agent, bool http11, string request, bool include_headers, ssize_t max_len, Purple.UtilFetchUrlCallback callback, void* data);
4346	[CCode (cheader_filename = "purple.h")]
4347	public static unowned string util_format_song_info (string title, string artist, string album, void* unused);
4348	[CCode (cheader_filename = "purple.h")]
4349	public static unowned string util_get_image_checksum (void* image_data, size_t image_len);
4350	[CCode (cheader_filename = "purple.h")]
4351	public static unowned string util_get_image_extension (void* data, size_t len);
4352	[CCode (cheader_filename = "purple.h")]
4353	public static unowned string util_get_image_filename (void* image_data, size_t image_len);
4354	[CCode (cheader_filename = "purple.h")]
4355	public static void util_init ();
4356	[CCode (cheader_filename = "purple.h")]
4357	public static unowned Purple.xmlnode util_read_xml_from_file (string filename, string description);
4358	[CCode (cheader_filename = "purple.h")]
4359	public static void util_set_current_song (string title, string artist, string album);
4360	[CCode (cheader_filename = "purple.h")]
4361	public static void util_set_user_dir (string dir);
4362	[CCode (cheader_filename = "purple.h")]
4363	public static void util_uninit ();
4364	[CCode (cheader_filename = "purple.h")]
4365	public static bool util_write_data_to_file (string filename, string data, ssize_t size);
4366	[CCode (cheader_filename = "purple.h")]
4367	public static bool util_write_data_to_file_absolute (string filename_full, string data, ssize_t size);
4368	[CCode (cheader_filename = "purple.h")]
4369	public static unowned string uuid_random ();
4370	[CCode (cheader_filename = "purple.h")]
4371	public static unowned string version_check (uint required_major, uint required_minor, uint required_micro);
4372	[CCode (cheader_filename = "purple.h")]
4373	public static unowned GLib.List xfers_get_all ();
4374	[CCode (cheader_filename = "purple.h")]
4375	public static void* xfers_get_handle ();
4376	[CCode (cheader_filename = "purple.h")]
4377	public static unowned Purple.XferUiOps xfers_get_ui_ops ();
4378	[CCode (cheader_filename = "purple.h")]
4379	public static void xfers_init ();
4380	[CCode (cheader_filename = "purple.h")]
4381	public static void xfers_set_ui_ops (Purple.XferUiOps ops);
4382	[CCode (cheader_filename = "purple.h")]
4383	public static void xfers_uninit ();
4384}
4385