summaryrefslogtreecommitdiff
path: root/vapi/purple.vapi
blob: 9622562d7e4ef4aa3b109c79c22e2cf59d0c531d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
/* purple.vapi generated by vapigen, do not modify. */

namespace Purple {
	[CCode (cheader_filename = "purple.h", free_function = "purple_account_destroy")]
	[Compact]
	public class Account {
		public weak string alias;
		public weak string buddy_icon_path;
		public weak GLib.SList deny;
		public bool disconnecting;
		public weak Purple.Connection gc;
		public weak string password;
		public Purple.PrivacyType perm_deny;
		public weak GLib.SList permit;
		public weak Purple.Presence presence;
		public void* priv;
		public weak string protocol_id;
		public weak Purple.ProxyInfo proxy_info;
		public weak Purple.AccountRegistrationCb registration_cb;
		public void* registration_cb_user_data;
		public bool remember_pass;
		public weak GLib.HashTable settings;
		public weak GLib.List status_types;
		public weak Purple.Log system_log;
		public void* ui_data;
		public weak GLib.HashTable ui_settings;
		public weak string user_info;
		public weak string username;
		[CCode (has_construct_function = false)]
		public Account (string username, string protocol_id);
		public void add_buddies (GLib.List buddies);
		public void add_buddies_with_invite (GLib.List buddies, string message);
		public void add_buddy (Purple.Buddy buddy);
		public void add_buddy_with_invite (Purple.Buddy buddy, string message);
		public void change_password (string orig_pw, string new_pw);
		public void clear_current_error ();
		public void clear_settings ();
		public void connect ();
		public void destroy_log ();
		public void disconnect ();
		public unowned Purple.Status get_active_status ();
		public unowned string get_alias ();
		public bool get_bool (string name, bool default_value);
		public unowned string get_buddy_icon_path ();
		public bool get_check_mail ();
		public unowned Purple.Connection get_connection ();
		public unowned Purple.ConnectionErrorInfo get_current_error ();
		public bool get_enabled (string ui);
		public int get_int (string name, int default_value);
		public unowned Purple.Log get_log (bool create);
		public unowned string get_name_for_display ();
		public unowned string get_password ();
		public unowned Purple.Presence get_presence ();
		public Purple.PrivacyType get_privacy_type ();
		public unowned string get_protocol_id ();
		public unowned string get_protocol_name ();
		public unowned Purple.ProxyInfo get_proxy_info ();
		public void get_public_alias (Purple.GetPublicAliasSuccessCallback success_cb, Purple.GetPublicAliasFailureCallback failure_cb);
		public bool get_remember_password ();
		public bool get_silence_suppression ();
		public unowned Purple.Status get_status (string status_id);
		public unowned Purple.StatusType get_status_type (string id);
		public unowned Purple.StatusType get_status_type_with_primitive (Purple.StatusPrimitive primitive);
		public unowned GLib.List get_status_types ();
		public unowned string get_string (string name, string default_value);
		public bool get_ui_bool (string ui, string name, bool default_value);
		public int get_ui_int (string ui, string name, int default_value);
		public unowned string get_ui_string (string ui, string name, string default_value);
		public unowned string get_user_info ();
		public unowned string get_username ();
		public bool is_connected ();
		public bool is_connecting ();
		public bool is_disconnected ();
		public bool is_status_active (string status_id);
		public void notify_added (string remote_user, string id, string alias, string message);
		public static unowned Purple.AccountPrefsUiOps prefs_get_ui_ops ();
		public static void prefs_set_ui_ops (Purple.AccountPrefsUiOps ops);
		public void register ();
		public void remove_buddies (GLib.List buddies, GLib.List groups);
		public void remove_buddy (Purple.Buddy buddy, Purple.Group group);
		public void remove_group (Purple.Group group);
		public void remove_setting (string setting);
		public void request_add (string remote_user, string id, string alias, string message);
		public void* request_authorization (string remote_user, string id, string alias, string message, bool on_list, Purple.AccountRequestAuthorizationCb auth_cb, Purple.AccountRequestAuthorizationCb deny_cb);
		public void request_change_password ();
		public void request_change_user_info ();
		public static void request_close (void* ui_handle);
		public void request_close_with_account ();
		public void request_password (GLib.Callback ok_cb, GLib.Callback cancel_cb);
		public void set_alias (string alias);
		public void set_bool (string name, bool value);
		public void set_buddy_icon_path (string path);
		public void set_check_mail (bool value);
		public void set_connection (Purple.Connection gc);
		public void set_enabled (string ui, bool value);
		public void set_int (string name, int value);
		public void set_password (string password);
		public void set_privacy_type (Purple.PrivacyType privacy_type);
		public void set_protocol_id (string protocol_id);
		public void set_proxy_info (Purple.ProxyInfo info);
		public void set_public_alias (string alias, Purple.SetPublicAliasSuccessCallback success_cb, Purple.SetPublicAliasFailureCallback failure_cb);
		public void set_register_callback (Purple.AccountRegistrationCb cb);
		public void set_remember_password (bool value);
		public void set_silence_suppression (bool value);
		public void set_status (string status_id, bool active);
		public void set_status_list (string status_id, bool active, GLib.List attrs);
		public void set_status_types (GLib.List status_types);
		public void set_string (string name, string value);
		public void set_ui_bool (string ui, string name, bool value);
		public void set_ui_int (string ui, string name, int value);
		public void set_ui_string (string ui, string name, string value);
		public void set_user_info (string user_info);
		public void set_username (string username);
		public bool supports_offline_message (Purple.Buddy buddy);
		public void unregister (Purple.AccountUnregistrationCb cb);
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_account_option_destroy")]
	[Compact]
	public class AccountOption {
		public void* default_value;
		public bool masked;
		public weak string pref_name;
		public weak string text;
		public Purple.PrefType type;
		[CCode (has_construct_function = false)]
		public AccountOption (Purple.PrefType type, string text, string pref_name);
		public void add_list_item (string key, string value);
		public static unowned Purple.AccountOption bool_new (string text, string pref_name, bool default_value);
		public bool get_default_bool ();
		public int get_default_int ();
		public unowned string get_default_list_value ();
		public unowned string get_default_string ();
		public unowned GLib.List get_list ();
		public bool get_masked ();
		public unowned string get_setting ();
		public unowned string get_text ();
		public static unowned Purple.AccountOption int_new (string text, string pref_name, int default_value);
		public static unowned Purple.AccountOption list_new (string text, string pref_name, GLib.List list);
		public void set_default_bool (bool value);
		public void set_default_int (int value);
		public void set_default_string (string value);
		public void set_list (GLib.List values);
		public void set_masked (bool masked);
		public static unowned Purple.AccountOption string_new (string text, string pref_name, string default_value);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class AccountPrefsUiOps {
		public weak GLib.Callback load;
		public weak GLib.Callback save;
		public weak GLib.Callback schedule_save;
		public weak GLib.Callback set_bool;
		public weak GLib.Callback set_int;
		public weak GLib.Callback set_string;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class AccountUiOps {
		public weak GLib.Callback close_account_request;
		public weak GLib.Callback notify_added;
		public weak GLib.Callback request_add;
		public weak GLib.Callback request_authorize;
		public weak GLib.Callback status_changed;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_account_user_split_destroy")]
	[Compact]
	public class AccountUserSplit {
		public weak string default_value;
		public weak GLib.ObjectPath field_sep;
		public bool reverse;
		public weak string text;
		[CCode (has_construct_function = false)]
		public AccountUserSplit (string text, string default_value, GLib.ObjectPath sep);
		public unowned string get_default_value ();
		public bool get_reverse ();
		public unowned GLib.ObjectPath get_separator ();
		public unowned string get_text ();
		public void set_reverse (bool reverse);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class AttentionType {
		public weak string icon_name;
		public weak string incoming_description;
		public weak string name;
		public weak string outgoing_description;
		public weak string unlocalized_name;
		[CCode (has_construct_function = false)]
		public AttentionType (string ulname, string name, string inc_desc, string out_desc);
		public unowned string get_icon_name ();
		public unowned string get_incoming_desc ();
		public unowned string get_name ();
		public unowned string get_outgoing_desc ();
		public unowned string get_unlocalized_name ();
		public void set_icon_name (string name);
		public void set_incoming_desc (string desc);
		public void set_name (string name);
		public void set_outgoing_desc (string desc);
		public void set_unlocalized_name (string ulname);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class BlistNode {
		public weak Purple.BlistNode child;
		public Purple.BlistNodeFlags flags;
		public weak Purple.BlistNode parent;
		public weak Purple.BlistNode prev;
		public weak GLib.HashTable settings;
		public Purple.BlistNodeType type;
		public void* ui_data;
		public bool get_bool (string key);
		public unowned GLib.List get_extended_menu ();
		public unowned Purple.BlistNode get_first_child ();
		public Purple.BlistNodeFlags get_flags ();
		public int get_int (string key);
		public unowned Purple.BlistNode get_parent ();
		public unowned Purple.BlistNode get_sibling_next ();
		public unowned Purple.BlistNode get_sibling_prev ();
		public unowned string get_string (string key);
		public void* get_ui_data ();
		public unowned Purple.BlistNode next (bool offline);
		public void remove_setting (string key);
		public void set_bool (string key, bool value);
		public void set_flags (Purple.BlistNodeFlags flags);
		public void set_int (string key, int value);
		public void set_string (string key, string value);
		public void set_ui_data (void* ui_data);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class BlistUiOps {
		public weak GLib.Callback destroy;
		public weak GLib.Callback new_list;
		public weak GLib.Callback new_node;
		public weak GLib.Callback remove;
		public weak GLib.Callback remove_node;
		public weak GLib.Callback request_add_buddy;
		public weak GLib.Callback request_add_chat;
		public weak GLib.Callback request_add_group;
		public weak GLib.Callback save_account;
		public weak GLib.Callback save_node;
		public weak GLib.Callback set_visible;
		public weak GLib.Callback show;
		public weak GLib.Callback update;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_buddy_destroy")]
	[Compact]
	public class Buddy {
		public weak Purple.Account account;
		public weak string alias;
		public weak Purple.BuddyIcon icon;
		public Purple.MediaCaps media_caps;
		public weak string name;
		public weak Purple.BlistNode node;
		public weak Purple.Presence presence;
		public void* proto_data;
		public weak string server_alias;
		[CCode (has_construct_function = false)]
		public Buddy (Purple.Account account, string name, string alias);
		public unowned Purple.Account get_account ();
		public unowned string get_alias ();
		public unowned string get_alias_only ();
		public unowned Purple.Contact get_contact ();
		public unowned string get_contact_alias ();
		public unowned Purple.Group get_group ();
		public unowned Purple.BuddyIcon get_icon ();
		public unowned string get_local_alias ();
		public unowned string get_local_buddy_alias ();
		public Purple.MediaCaps get_media_caps ();
		public unowned string get_name ();
		public unowned Purple.Presence get_presence ();
		public void* get_protocol_data ();
		public unowned string get_server_alias ();
		public static unowned Purple.BuddyIcon icons_find (Purple.Account account, string username);
		public static unowned Purple.StoredImage icons_find_account_icon (Purple.Account account);
		public static unowned Purple.StoredImage icons_find_custom_icon (Purple.Contact contact);
		public static time_t icons_get_account_icon_timestamp (Purple.Account account);
		public static unowned string icons_get_cache_dir ();
		public unowned string icons_get_checksum_for_user ();
		public static void* icons_get_handle ();
		public static bool icons_has_custom_icon (Purple.Contact contact);
		public static void icons_init ();
		public static bool icons_is_caching ();
		public static unowned Purple.StoredImage icons_node_find_custom_icon (Purple.BlistNode node);
		public static bool icons_node_has_custom_icon (Purple.BlistNode node);
		public static unowned Purple.StoredImage icons_node_set_custom_icon (Purple.BlistNode node, uchar[] icon_data, size_t icon_len);
		public static unowned Purple.StoredImage icons_node_set_custom_icon_from_file (Purple.BlistNode node, string filename);
		public static unowned Purple.StoredImage icons_set_account_icon (Purple.Account account, uchar[] icon_data, size_t icon_len);
		public static void icons_set_cache_dir (string cache_dir);
		public static void icons_set_caching (bool caching);
		public static unowned Purple.StoredImage icons_set_custom_icon (Purple.Contact contact, uchar[] icon_data, size_t icon_len);
		public static void icons_set_for_user (Purple.Account account, string username, void* icon_data, size_t icon_len, string checksum);
		public static void icons_uninit ();
		public void set_icon (Purple.BuddyIcon icon);
		public void set_media_caps (Purple.MediaCaps media_caps);
		public void set_protocol_data (void* data);
	}
	[CCode (cheader_filename = "purple.h", ref_function = "purple_buddy_icon_ref", unref_function = "purple_buddy_icon_unref")]
	[Compact]
	public class BuddyIcon {
		[CCode (has_construct_function = false)]
		public BuddyIcon (Purple.Account account, string username, void* icon_data, size_t icon_len, string checksum);
		public unowned Purple.Account get_account ();
		public unowned string get_checksum ();
		public void* get_data (size_t len);
		public unowned string get_extension ();
		public unowned string get_full_path ();
		public static void get_scale_size (Purple.BuddyIconSpec spec, int width, int height);
		public unowned string get_username ();
		public void set_data (uchar[] data, size_t len, string checksum);
		public void update ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class BuddyIconSpec {
		public weak string format;
		public size_t max_filesize;
		public int max_height;
		public int max_width;
		public int min_height;
		public int min_width;
		public Purple.IconScaleRules scale_rules;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class BuddyList {
		public weak GLib.HashTable buddies;
		public weak Purple.BlistNode root;
		public void* ui_data;
	}
	[CCode (cheader_filename = "purple.h", copy_function = "purple_certificate_copy", free_function = "purple_certificate_destroy")]
	[Compact]
	public class Certificate {
		public void* data;
		public weak Purple.CertificateScheme scheme;
		public static void add_ca_search_path (string path);
		public static bool check_signature_chain (GLib.List chain);
		public static bool check_signature_chain_with_failing (GLib.List chain, out unowned Purple.Certificate failing);
		public bool check_subject_name (string name);
		public bool compare_pubkeys (Purple.Certificate crt2);
		public unowned Purple.Certificate copy ();
		public static unowned GLib.List copy_list (GLib.List crt_list);
		public static void destroy_list (GLib.List crt_list);
		public void display_x509 ();
		public static bool export (string filename, Purple.Certificate crt);
		public static unowned Purple.CertificatePool find_pool (string scheme_name, string pool_name);
		public static unowned Purple.CertificateScheme find_scheme (string name);
		public static unowned Purple.CertificateVerifier find_verifier (string scheme_name, string ver_name);
		public unowned GLib.ByteArray get_fingerprint_sha1 ();
		public unowned GLib.ByteArray get_fingerprint_sha256 (bool sha1_fallback);
		public static void* get_handle ();
		public unowned string get_issuer_unique_id ();
		public static unowned GLib.List get_pools ();
		public static unowned GLib.List get_schemes ();
		public unowned string get_subject_name ();
		public bool get_times (time_t activation, time_t expiration);
		public unowned string get_unique_id ();
		public static unowned GLib.List get_verifiers ();
		public static unowned Purple.Certificate import (Purple.CertificateScheme scheme, string filename);
		public static void init ();
		public static bool register_pool (Purple.CertificatePool pool);
		public static bool register_scheme (Purple.CertificateScheme scheme);
		public static bool register_verifier (Purple.CertificateVerifier vr);
		public bool signed_by (Purple.Certificate issuer);
		public static void uninit ();
		public static bool unregister_pool (Purple.CertificatePool pool);
		public static bool unregister_scheme (Purple.CertificateScheme scheme);
		public static bool unregister_verifier (Purple.CertificateVerifier vr);
		public static void verify (Purple.CertificateVerifier verifier, string subject_name, GLib.List cert_chain, Purple.CertificateVerifiedCallback cb, void* cb_data);
		public static void verify_complete (Purple.CertificateVerificationRequest vrq, Purple.CertificateVerificationStatus st);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class CertificatePool {
		public weak GLib.Callback cert_in_pool;
		public void* data;
		public weak GLib.Callback delete_cert;
		public weak string fullname;
		public weak GLib.Callback get_cert;
		public weak GLib.Callback init;
		public weak string name;
		public weak GLib.Callback put_cert;
		public weak string scheme_name;
		public weak GLib.Callback uninit;
		public bool contains (string id);
		public bool @delete (string id);
		public static void destroy_idlist (GLib.List idlist);
		public unowned GLib.List get_idlist ();
		public unowned Purple.CertificateScheme get_scheme ();
		public unowned string mkpath (string id);
		public unowned Purple.Certificate retrieve (string id);
		public bool store (string id, Purple.Certificate crt);
		public bool usable ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class CertificateScheme {
		public weak GLib.Callback check_subject_name;
		public weak GLib.Callback compare_pubkeys;
		public weak GLib.Callback copy_certificate;
		public weak GLib.Callback destroy_certificate;
		public weak GLib.Callback export_certificate;
		public weak string fullname;
		public weak GLib.Callback get_fingerprint_sha1;
		public weak GLib.Callback get_fingerprint_sha256;
		public weak GLib.Callback get_issuer_unique_id;
		public weak GLib.Callback get_subject_name;
		public weak GLib.Callback get_times;
		public weak GLib.Callback get_unique_id;
		public weak GLib.Callback import_certificate;
		public weak GLib.Callback import_certificates;
		public weak string name;
		public weak GLib.Callback register_trusted_tls_cert;
		public weak GLib.Callback signed_by;
		public uint struct_size;
		public weak GLib.Callback verify_cert;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class CertificateVerificationRequest {
		public weak Purple.CertificateVerifiedCallback cb;
		public void* cb_data;
		public weak GLib.List cert_chain;
		public void* data;
		public weak Purple.CertificateScheme scheme;
		public weak string subject_name;
		public weak Purple.CertificateVerifier verifier;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class CertificateVerifier {
		public weak GLib.Callback destroy_request;
		public weak string name;
		public weak string scheme_name;
		public weak GLib.Callback start_verification;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_chat_destroy")]
	[Compact]
	public class Chat {
		public weak Purple.Account account;
		public weak string alias;
		public weak GLib.HashTable components;
		public weak Purple.BlistNode node;
		[CCode (has_construct_function = false)]
		public Chat (Purple.Account account, string alias, GLib.HashTable components);
		public unowned Purple.Account get_account ();
		public unowned GLib.HashTable get_components ();
		public unowned Purple.Group get_group ();
		public unowned string get_name ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class Cipher {
		public static bool digest_region (string name, uchar[] data, size_t data_len, size_t in_len, uchar[] digest, size_t out_len);
		public uint get_capabilities ();
		public unowned string get_name ();
		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);
		public static unowned string http_digest_calculate_session_key (string algorithm, string username, string realm, string password, string nonce, string client_nonce);
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_cipher_context_destroy")]
	[Compact]
	public class CipherContext {
		[CCode (has_construct_function = false)]
		public CipherContext (Purple.Cipher cipher, void* extra);
		public void append (uchar[] data, size_t len);
		[CCode (has_construct_function = false)]
		public CipherContext.by_name (string name, void* extra);
		public int decrypt (uchar[] data, size_t len, uchar[] output, size_t outlen);
		public bool digest (size_t in_len, uchar[] digest, size_t out_len);
		public bool digest_to_str (size_t in_len, char[] digest_s, size_t out_len);
		public int encrypt (uchar[] data, size_t len, uchar[] output, size_t outlen);
		public Purple.CipherBatchMode get_batch_mode ();
		public size_t get_block_size ();
		public void* get_data ();
		public size_t get_key_size ();
		public void* get_option (string name);
		public size_t get_salt_size ();
		public void reset (void* extra);
		public void set_batch_mode (Purple.CipherBatchMode mode);
		public void set_data (void* data);
		public void set_iv (uchar[] iv, size_t len);
		public void set_key (uchar[] key);
		public void set_key_with_len (uchar[] key, size_t len);
		public void set_option (string name, void* value);
		public void set_salt (uchar[] salt);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class CipherOps {
		public weak GLib.Callback append;
		public weak GLib.Callback decrypt;
		public weak GLib.Callback digest;
		public weak GLib.Callback encrypt;
		public weak GLib.Callback get_batch_mode;
		public weak GLib.Callback get_block_size;
		public weak GLib.Callback get_key_size;
		public weak GLib.Callback get_option;
		public weak GLib.Callback get_salt_size;
		public weak GLib.Callback init;
		public weak GLib.Callback reset;
		public weak GLib.Callback set_batch_mode;
		public weak GLib.Callback set_iv;
		public weak GLib.Callback set_key;
		public weak GLib.Callback set_key_with_len;
		public weak GLib.Callback set_option;
		public weak GLib.Callback set_salt;
		public weak GLib.Callback uninit;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_circ_buffer_destroy")]
	[Compact]
	public class CircBuffer {
		public weak string buffer;
		public size_t buflen;
		public size_t bufused;
		public size_t growsize;
		public weak string inptr;
		public weak string outptr;
		[CCode (has_construct_function = false)]
		public CircBuffer (size_t growsize);
		public void append (void* src, size_t len);
		public size_t get_max_read ();
		public bool mark_read (size_t len);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class Cmd {
		public static Purple.CmdStatus do_command (Purple.Conversation conv, string cmdline, string markup, string errormsg);
		public bool execute (Purple.Conversation conv, string cmdline);
		public static unowned GLib.List help (Purple.Conversation conv, string cmd);
		public static unowned GLib.List list (Purple.Conversation conv);
		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);
		public static void unregister (Purple.CmdId id);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class CmdId {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class CommandsUiOps {
		public weak GLib.Callback register_command;
		public weak GLib.Callback unregister_command;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_connection_destroy")]
	[Compact]
	public class Connection {
		public weak Purple.Account account;
		public weak GLib.SList buddy_chats;
		public uint disconnect_timeout;
		public weak string display_name;
		public Purple.ConnectionFlags flags;
		public int inpa;
		public uint keepalive;
		public time_t last_received;
		public weak string password;
		public void* proto_data;
		public weak Purple.Plugin prpl;
		public Purple.ConnectionState state;
		public bool wants_to_die;
		[CCode (has_construct_function = false, type = "void")]
		public Connection (Purple.Account account, bool regist, string password);
		public void error (string reason);
		public static bool error_is_fatal (Purple.ConnectionError reason);
		public void error_reason (Purple.ConnectionError reason, string description);
		public unowned Purple.Account get_account ();
		public unowned string get_display_name ();
		public unowned string get_password ();
		public void* get_protocol_data ();
		public unowned Purple.Plugin get_prpl ();
		public Purple.ConnectionState get_state ();
		public void notice (string text);
		public void set_account (Purple.Account account);
		public void set_display_name (string name);
		public void set_protocol_data (void* proto_data);
		public void set_state (Purple.ConnectionState state);
		public void ssl_error (Purple.SslErrorType ssl_error);
		[CCode (has_construct_function = false, type = "void")]
		public Connection.unregister (Purple.Account account, string password, Purple.AccountUnregistrationCb cb);
		public void update_progress (string text, size_t step, size_t count);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ConnectionErrorInfo {
		public weak string description;
		public Purple.ConnectionError type;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ConnectionUiOps {
		public weak GLib.Callback connect_progress;
		public weak GLib.Callback connected;
		public weak GLib.Callback disconnected;
		public weak GLib.Callback network_connected;
		public weak GLib.Callback network_disconnected;
		public weak GLib.Callback notice;
		public weak GLib.Callback report_disconnect;
		public weak GLib.Callback report_disconnect_reason;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_contact_destroy")]
	[Compact]
	public class Contact {
		public weak string alias;
		public int currentsize;
		public weak Purple.BlistNode node;
		public int online;
		public weak Purple.Buddy priority;
		public bool priority_valid;
		public int totalsize;
		[CCode (has_construct_function = false)]
		public Contact ();
		public unowned string get_alias ();
		public unowned Purple.Group get_group ();
		public unowned Purple.Buddy get_priority_buddy ();
		public void invalidate_priority_buddy ();
		public bool on_account (Purple.Account account);
		public void set_alias (string alias);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ConvChat {
		public weak Purple.Conversation conv;
		public int id;
		public weak GLib.List ignored;
		public weak GLib.List in_room;
		public weak string nick;
		public weak string topic;
		public weak GLib.HashTable users;
		public weak string who;
		public void add_user (string user, string extra_msg, Purple.ConvChatBuddyFlags flags, bool new_arrival);
		public void add_users (GLib.List users, GLib.List extra_msgs, GLib.List flags, bool new_arrivals);
		public static void cb_destroy (Purple.ConvChatBuddy cb);
		public unowned Purple.ConvChatBuddy cb_find (string name);
		public static unowned string cb_get_attribute (Purple.ConvChatBuddy cb, string key);
		public static unowned GLib.List cb_get_attribute_keys (Purple.ConvChatBuddy cb);
		public static unowned string cb_get_name (Purple.ConvChatBuddy cb);
		public static unowned Purple.ConvChatBuddy cb_new (string name, string alias, Purple.ConvChatBuddyFlags flags);
		public void cb_set_attribute (Purple.ConvChatBuddy cb, string key, string value);
		public void cb_set_attributes (Purple.ConvChatBuddy cb, GLib.List keys, GLib.List values);
		public void clear_users ();
		public bool find_user (string user);
		public unowned Purple.Conversation get_conversation ();
		public int get_id ();
		public unowned GLib.List get_ignored ();
		public unowned string get_ignored_user (string user);
		public unowned string get_nick ();
		public unowned string get_topic ();
		public unowned GLib.List get_users ();
		public bool has_left ();
		public void ignore (string name);
		public void invite_user (string user, string message, bool confirm);
		public bool is_user_ignored (string user);
		public void left ();
		public void remove_user (string user, string reason);
		public void remove_users (GLib.List users, string reason);
		public void rename_user (string old_user, string new_user);
		public void send (string message);
		public void send_with_flags (string message, Purple.MessageFlags flags);
		public void set_id (int id);
		public unowned GLib.List set_ignored (GLib.List ignored);
		public void set_nick (string nick);
		public void set_topic (string who, string topic);
		public unowned GLib.List set_users (GLib.List users);
		public void unignore (string name);
		public Purple.ConvChatBuddyFlags user_get_flags (string user);
		public void user_set_flags (string user, Purple.ConvChatBuddyFlags flags);
		public void write (string who, string message, Purple.MessageFlags flags, time_t mtime);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ConvChatBuddy {
		public weak string alias;
		public weak string alias_key;
		public weak GLib.HashTable attributes;
		public bool buddy;
		public Purple.ConvChatBuddyFlags flags;
		public weak string name;
		public void* ui_data;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ConvIm {
		public weak Purple.Conversation conv;
		public weak Purple.BuddyIcon icon;
		public uint send_typed_timeout;
		public time_t type_again;
		public Purple.TypingState typing_state;
		public uint typing_timeout;
		public unowned Purple.Conversation get_conversation ();
		public unowned Purple.BuddyIcon get_icon ();
		public uint get_send_typed_timeout ();
		public time_t get_type_again ();
		public Purple.TypingState get_typing_state ();
		public uint get_typing_timeout ();
		public void send (string message);
		public void send_with_flags (string message, Purple.MessageFlags flags);
		public void set_icon (Purple.BuddyIcon icon);
		public void set_type_again (uint val);
		public void set_typing_state (Purple.TypingState state);
		public void start_send_typed_timeout ();
		public void start_typing_timeout (int timeout);
		public void stop_send_typed_timeout ();
		public void stop_typing_timeout ();
		public void update_typing ();
		public void write (string who, string message, Purple.MessageFlags flags, time_t mtime);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ConvMessage {
		public weak string alias;
		public weak Purple.Conversation conv;
		public Purple.MessageFlags flags;
		public weak string what;
		public time_t when;
		public weak string who;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_conversation_destroy")]
	[Compact]
	public class Conversation {
		public weak Purple.Account account;
		public weak GLib.HashTable data;
		public Purple.ConnectionFlags features;
		public bool logging;
		public weak GLib.List logs;
		public weak GLib.List message_history;
		public weak string name;
		public weak string title;
		public Purple.ConversationType type;
		public void* u;
		public void* ui_data;
		public weak Purple.ConversationUiOps ui_ops;
		[CCode (has_construct_function = false)]
		public Conversation (Purple.ConversationType type, Purple.Account account, string name);
		public void autoset_title ();
		public void clear_message_history ();
		public void close_logs ();
		public bool do_command (string cmdline, string markup, string error);
		public static void @foreach (GLib.Callback func);
		public unowned Purple.Account get_account ();
		public unowned Purple.ConvChat get_chat_data ();
		public void* get_data (string key);
		public unowned GLib.List get_extended_menu ();
		public Purple.ConnectionFlags get_features ();
		public unowned Purple.Connection get_gc ();
		public unowned Purple.ConvIm get_im_data ();
		public unowned GLib.List get_message_history ();
		public unowned string get_name ();
		public unowned string get_title ();
		public unowned Purple.ConversationUiOps get_ui_ops ();
		public bool has_focus ();
		public bool is_logging ();
		public static Purple.MessageFlags message_get_flags (Purple.ConvMessage msg);
		public static unowned string message_get_message (Purple.ConvMessage msg);
		public static unowned string message_get_sender (Purple.ConvMessage msg);
		public static time_t message_get_timestamp (Purple.ConvMessage msg);
		public void present ();
		public void set_account (Purple.Account account);
		public void set_data (string key, void* data);
		public void set_features (Purple.ConnectionFlags features);
		public void set_logging (bool log);
		public void set_name (string name);
		public void set_title (string title);
		public void set_ui_ops (Purple.ConversationUiOps ops);
		public void update (Purple.ConvUpdateType type);
		public void write (string who, string message, Purple.MessageFlags flags, time_t mtime);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ConversationUiOps {
		public weak GLib.Callback chat_add_users;
		public weak GLib.Callback chat_remove_users;
		public weak GLib.Callback chat_rename_user;
		public weak GLib.Callback chat_update_user;
		public weak GLib.Callback create_conversation;
		public weak GLib.Callback custom_smiley_add;
		public weak GLib.Callback custom_smiley_close;
		public weak GLib.Callback custom_smiley_write;
		public weak GLib.Callback destroy_conversation;
		public weak GLib.Callback has_focus;
		public weak GLib.Callback present;
		public weak GLib.Callback send_confirm;
		public weak GLib.Callback write_chat;
		public weak GLib.Callback write_conv;
		public weak GLib.Callback write_im;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class Core {
		public static bool ensure_single_instance ();
		public static unowned string get_ui ();
		public static unowned GLib.HashTable get_ui_info ();
		public static unowned Purple.CoreUiOps get_ui_ops ();
		public static unowned string get_version ();
		public static bool init (string ui);
		public static bool migrate ();
		public static void quit ();
		public static bool quit_cb (void* unused);
		public static void set_ui_ops (Purple.CoreUiOps ops);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class CoreUiOps {
		public weak GLib.Callback debug_ui_init;
		public weak GLib.Callback get_ui_info;
		public weak GLib.Callback quit;
		public weak GLib.Callback ui_init;
		public weak GLib.Callback ui_prefs_init;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class DBusType {
		public weak Purple.DBusType parent;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class DebugUiOps {
		public weak GLib.Callback is_enabled;
		public weak GLib.Callback print;
	}
	[CCode (cheader_filename = "purple.h", copy_function = "purple_desktop_item_copy", unref_function = "purple_desktop_item_unref")]
	[Compact]
	public class DesktopItem {
		public unowned Purple.DesktopItem copy ();
		[CCode (has_construct_function = false)]
		public DesktopItem.from_file (string filename);
		public Purple.DesktopItemType get_entry_type ();
		public unowned string get_string (string attr);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class DnsQueryData {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class DnsQueryUiOps {
		public weak GLib.Callback destroy;
		public weak GLib.Callback resolve_host;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class EventLoopUiOps {
		public weak GLib.Callback input_add;
		public weak GLib.Callback input_get_error;
		public weak GLib.Callback input_remove;
		public weak GLib.Callback timeout_add;
		public weak GLib.Callback timeout_add_seconds;
		public weak GLib.Callback timeout_remove;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_group_destroy")]
	[Compact]
	public class Group {
		public int currentsize;
		public weak string name;
		public weak Purple.BlistNode node;
		public int online;
		public int totalsize;
		[CCode (has_construct_function = false)]
		public Group (string name);
		public unowned GLib.SList get_accounts ();
		public unowned string get_name ();
		public bool on_account (Purple.Account account);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class IdleUiOps {
		public weak GLib.Callback get_time_idle;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class KeyValuePair {
		public weak string key;
		public void* value;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class Log {
		public weak Purple.Account account;
		public weak Purple.Conversation conv;
		public weak Purple.LogLogger logger;
		public void* logger_data;
		public weak string name;
		public time_t time;
		public void* tm;
		public Purple.LogType type;
		[CCode (has_construct_function = false)]
		public Log (Purple.LogType type, string name, Purple.Account account, Purple.Conversation conv, time_t time, void* tm);
		public bool common_deleter ();
		public bool common_is_deletable ();
		public static unowned GLib.List common_lister (Purple.LogType type, string name, Purple.Account account, string ext, Purple.LogLogger logger);
		public int common_sizer ();
		public static int common_total_sizer (Purple.LogType type, string name, Purple.Account account, string ext);
		public void common_writer (string ext);
		public static int compare (void* y, void* z);
		public bool @delete ();
		public static int get_activity_score (Purple.LogType type, string name, Purple.Account account);
		public static void* get_handle ();
		public static unowned string get_log_dir (Purple.LogType type, string name, Purple.Account account);
		public static unowned GLib.HashTable get_log_sets ();
		public static unowned GLib.List get_logs (Purple.LogType type, string name, Purple.Account account);
		public int get_size ();
		public static unowned GLib.List get_system_logs (Purple.Account account);
		public static int get_total_size (Purple.LogType type, string name, Purple.Account account);
		public static void init ();
		public bool is_deletable ();
		public unowned string read (Purple.LogReadFlags flags);
		public static void uninit ();
		public void write (Purple.MessageFlags type, string from, time_t time, string message);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class LogCommonLoggerData {
		public void* extra_data;
		public weak GLib.FileStream file;
		public weak string path;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class LogLogger {
		public weak GLib.Callback create;
		public weak GLib.Callback finalize;
		public weak GLib.Callback get_log_sets;
		public weak string id;
		public weak GLib.Callback is_deletable;
		public weak GLib.Callback list;
		public weak GLib.Callback list_syslog;
		public weak string name;
		public weak GLib.Callback read;
		public weak GLib.Callback size;
		public weak GLib.Callback total_size;
		public weak GLib.Callback write;
		[CCode (has_construct_function = false)]
		public LogLogger (string id, string name, int functions);
		public void add ();
		public static unowned Purple.LogLogger @get ();
		public static unowned GLib.List get_options ();
		public void remove ();
		public void @set ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class LogSet {
		public weak Purple.Account account;
		public bool buddy;
		public weak string name;
		public weak string normalized_name;
		public Purple.LogType type;
		public static int compare (void* y, void* z);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class Media {
		public bool accepted (string sess_id, string participant);
		public void add_remote_candidates (string sess_id, string participant, GLib.List remote_candidates);
		public bool add_stream (string sess_id, string who, Purple.MediaSessionType type, bool initiator, string transmitter, uint num_params, GLib.Parameter @params);
		public bool candidates_prepared (string session_id, string participant);
		public static GLib.Type caps_get_type ();
		public bool codecs_ready (string sess_id);
		public static GLib.Type element_type_get_type ();
		public void end (string session_id, string participant);
		public void error (string error);
		public unowned Purple.Account get_account ();
		public unowned GLib.List get_active_local_candidates (string sess_id, string participant);
		public unowned GLib.List get_active_remote_candidates (string sess_id, string participant);
		public unowned string get_available_params ();
		public unowned GLib.List get_codecs (string sess_id);
		public unowned GLib.List get_local_candidates (string sess_id, string participant);
		public void* get_manager ();
		public void* get_prpl_data ();
		public unowned GLib.List get_session_ids ();
		public Purple.MediaSessionType get_session_type (string sess_id);
		public unowned Gst.Element get_src (string sess_id);
		public unowned Gst.Element get_tee (string session_id, string participant);
		public static GLib.Type info_type_get_type ();
		public bool is_initiator (string sess_id, string participant);
		public static GLib.Type network_protocol_get_type ();
		public bool param_is_supported (string param);
		public void remove_output_windows ();
		public bool send_dtmf (string session_id, char dtmf, uchar volume, uint16 duration);
		public static GLib.Type session_type_get_type ();
		public bool set_decryption_parameters (string sess_id, string participant, string cipher, string auth, string key, size_t key_len);
		public bool set_encryption_parameters (string sess_id, string cipher, string auth, string key, size_t key_len);
		public void set_input_volume (string session_id, double level);
		public void set_output_volume (string session_id, string participant, double level);
		public ulong set_output_window (string session_id, string participant, ulong window_id);
		public void set_params (uint num_params, GLib.Parameter @params);
		public void set_prpl_data (void* prpl_data);
		public bool set_remote_codecs (string sess_id, string participant, GLib.List codecs);
		public bool set_send_codec (string sess_id, Purple.MediaCodec codec);
		public bool set_send_rtcp_mux (string sess_id, string participant, bool send_rtcp_mux);
		public static GLib.Type state_changed_get_type ();
		public void stream_info (Purple.MediaInfoType type, string session_id, string participant, bool local);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MediaAppDataCallbacks {
		public weak GLib.Callback readable;
		public weak GLib.Callback writable;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MediaBackend {
		public void add_remote_candidates (string sess_id, string participant, GLib.List remote_candidates);
		public bool add_stream (string sess_id, string who, Purple.MediaSessionType type, bool initiator, string transmitter, uint num_params, GLib.Parameter @params);
		public bool codecs_ready (string sess_id);
		public unowned string get_available_params ();
		public unowned GLib.List get_codecs (string sess_id);
		public unowned GLib.List get_local_candidates (string sess_id, string participant);
		public bool set_decryption_parameters (string sess_id, string participant, string cipher, string auth, string key, size_t key_len);
		public bool set_encryption_parameters (string sess_id, string cipher, string auth, string key, size_t key_len);
		public void set_params (uint num_params, GLib.Parameter @params);
		public bool set_remote_codecs (string sess_id, string participant, GLib.List codecs);
		public bool set_send_codec (string sess_id, Purple.MediaCodec codec);
		public bool set_send_rtcp_mux (string sess_id, string participant, bool send_rtcp_mux);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MediaBackendIface {
		public weak GLib.Callback add_remote_candidates;
		public weak GLib.Callback add_stream;
		public weak GLib.Callback codecs_ready;
		public weak GLib.Callback get_available_params;
		public weak GLib.Callback get_codecs;
		public weak GLib.Callback get_local_candidates;
		public weak GLib.TypeInterface parent_iface;
		public weak GLib.Callback send_dtmf;
		public weak GLib.Callback set_decryption_parameters;
		public weak GLib.Callback set_encryption_parameters;
		public weak GLib.Callback set_params;
		public weak GLib.Callback set_remote_codecs;
		public weak GLib.Callback set_send_codec;
		public weak GLib.Callback set_send_rtcp_mux;
	}
	[CCode (cheader_filename = "purple.h", copy_function = "purple_media_candidate_copy")]
	[Compact]
	public class MediaCandidate {
		[CCode (has_construct_function = false)]
		public MediaCandidate (string foundation, uint component_id, Purple.MediaCandidateType type, Purple.MediaNetworkProtocol proto, string ip, uint port);
		public unowned Purple.MediaCandidate copy ();
		public unowned string get_base_ip ();
		public uint16 get_base_port ();
		public Purple.MediaCandidateType get_candidate_type ();
		public uint get_component_id ();
		public unowned string get_foundation ();
		public unowned string get_ip ();
		public unowned string get_password ();
		public uint16 get_port ();
		public uint32 get_priority ();
		public Purple.MediaNetworkProtocol get_protocol ();
		public uint get_ttl ();
		public unowned string get_username ();
		public static unowned GLib.List list_copy (GLib.List candidates);
		public static void list_free (GLib.List candidates);
		public static GLib.Type type_get_type ();
	}
	[CCode (cheader_filename = "purple.h", copy_function = "purple_media_codec_copy")]
	[Compact]
	public class MediaCodec {
		[CCode (has_construct_function = false)]
		public MediaCodec (int id, string encoding_name, Purple.MediaSessionType media_type, uint clock_rate);
		public void add_optional_parameter (string name, string value);
		public unowned Purple.MediaCodec copy ();
		public uint get_channels ();
		public uint get_clock_rate ();
		public unowned string get_encoding_name ();
		public uint get_id ();
		public unowned Purple.KeyValuePair get_optional_parameter (string name, string value);
		public unowned GLib.List get_optional_parameters ();
		public static unowned GLib.List list_copy (GLib.List codecs);
		public static void list_free (GLib.List codecs);
		public void remove_optional_parameter (Purple.KeyValuePair param);
		public unowned string to_string ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MediaElementInfo {
		public unowned Gst.Element call_create (Purple.Media media, string session_id, string participant);
		public Purple.MediaElementType get_element_type ();
		public unowned string get_id ();
		public unowned string get_name ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MediaElementInfoClass {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MediaManager {
		public unowned Purple.Media create_media (Purple.Account account, string conference_type, string remote_user, bool initiator);
		public bool create_output_window (Purple.Media media, string session_id, string participant);
		public unowned Purple.Media create_private_media (Purple.Account account, string conference_type, string remote_user, bool initiator);
		public static unowned Purple.MediaManager @get ();
		public unowned Purple.MediaElementInfo get_active_element (Purple.MediaElementType type);
		public GLib.Type get_backend_type ();
		public unowned Gst.Element get_element (Purple.MediaSessionType type, Purple.Media media, string session_id, string participant);
		public unowned Purple.MediaElementInfo get_element_info (string name);
		public unowned GLib.List get_media ();
		public unowned GLib.List get_media_by_account (Purple.Account account);
		public unowned Gst.Element get_pipeline ();
		public unowned GLib.List get_private_media ();
		public unowned GLib.List get_private_media_by_account (Purple.Account account);
		public Purple.MediaCaps get_ui_caps ();
		public unowned Gst.Caps get_video_caps ();
		public int receive_application_data (Purple.Media media, string session_id, string participant, void* buffer, uint max_size, bool blocking);
		public bool register_element (Purple.MediaElementInfo info);
		public void remove_media (Purple.Media media);
		public bool remove_output_window (ulong output_window_id);
		public void remove_output_windows (Purple.Media media, string session_id, string participant);
		public int send_application_data (Purple.Media media, string session_id, string participant, void* buffer, uint size, bool blocking);
		public bool set_active_element (Purple.MediaElementInfo info);
		public void set_application_data_callbacks (Purple.Media media, string session_id, string participant, Purple.MediaAppDataCallbacks callbacks, GLib.DestroyNotify notify);
		public void set_backend_type (GLib.Type backend_type);
		public ulong set_output_window (Purple.Media media, string session_id, string participant, ulong window_id);
		public void set_ui_caps (Purple.MediaCaps caps);
		public void set_video_caps (Gst.Caps caps);
		public bool unregister_element (string name);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MediaManagerClass {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MenuAction {
		public weak Purple.Callback callback;
		public weak GLib.List children;
		public void* data;
		public weak string label;
		[CCode (has_construct_function = false)]
		public MenuAction (string label, Purple.Callback callback, void* data, GLib.List children);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MimeDocument {
		[CCode (has_construct_function = false)]
		public MimeDocument ();
		public unowned string get_field (string field);
		public unowned GLib.List get_fields ();
		public unowned GLib.List get_parts ();
		public static unowned Purple.MimeDocument parse (string buf);
		public static unowned Purple.MimeDocument parsen (string buf, size_t len);
		public void set_field (string field, string value);
		public void write (GLib.StringBuilder str);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class MimePart {
		[CCode (has_construct_function = false)]
		public MimePart (Purple.MimeDocument doc);
		public unowned string get_data ();
		public void get_data_decoded (uchar[] data, size_t len);
		public unowned string get_field (string field);
		public unowned string get_field_decoded (string field);
		public unowned GLib.List get_fields ();
		public size_t get_length ();
		public void set_data (string data);
		public void set_field (string field, string value);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class Mood {
		public weak string description;
		public weak string mood;
		public void* padding;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class NetworkListenData {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class NotifySearchButton {
		public weak Purple.NotifySearchResultsCallback callback;
		public weak string label;
		public Purple.NotifySearchButtonType type;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class NotifySearchColumn {
		public weak string title;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_notify_searchresults_free")]
	[Compact]
	public class NotifySearchResults {
		public weak GLib.List buttons;
		public weak GLib.List columns;
		[CCode (cname = "purple_notify_searchresults_new", has_construct_function = false)]
		public NotifySearchResults ();
		[CCode (cname = "purple_notify_searchresults_button_add")]
		public void button_add (Purple.NotifySearchButtonType type, Purple.NotifySearchResultsCallback cb);
		[CCode (cname = "purple_notify_searchresults_button_add_labeled")]
		public void button_add_labeled (string label, Purple.NotifySearchResultsCallback cb);
		[CCode (cname = "purple_notify_searchresults_column_add")]
		public void column_add (Purple.NotifySearchColumn column);
		[CCode (cname = "purple_notify_searchresults_column_get_title")]
		public unowned string column_get_title (uint column_id);
		[CCode (cname = "purple_notify_searchresults_column_new")]
		public static unowned Purple.NotifySearchColumn column_new (string title);
		[CCode (cname = "purple_notify_searchresults_get_columns_count")]
		public uint get_columns_count ();
		[CCode (cname = "purple_notify_searchresults_get_rows_count")]
		public uint get_rows_count ();
		[CCode (cname = "purple_notify_searchresults_row_add")]
		public void row_add (GLib.List row);
		[CCode (cname = "purple_notify_searchresults_row_get")]
		public unowned GLib.List row_get (uint row_id);
		[CCode (cname = "purple_notify_searchresults_new_rows", has_construct_function = false, type = "void")]
		public NotifySearchResults.rows (Purple.Connection gc, Purple.NotifySearchResults results, void* data);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class NotifyUiOps {
		public weak GLib.Callback close_notify;
		public weak GLib.Callback notify_email;
		public weak GLib.Callback notify_emails;
		public weak GLib.Callback notify_formatted;
		public weak GLib.Callback notify_message;
		public weak GLib.Callback notify_searchresults;
		public weak GLib.Callback notify_searchresults_new_rows;
		public weak GLib.Callback notify_uri;
		public weak GLib.Callback notify_userinfo;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_notify_user_info_destroy")]
	[Compact]
	public class NotifyUserInfo {
		[CCode (has_construct_function = false)]
		public NotifyUserInfo ();
		public void add_pair (string label, string value);
		public void add_pair_plaintext (string label, string value);
		public void add_section_break ();
		public void add_section_header (string label);
		public unowned GLib.List get_entries ();
		public unowned string get_text_with_newline (string newline);
		public void prepend_pair (string label, string value);
		public void prepend_section_break ();
		public void prepend_section_header (string label);
		public void remove_entry (Purple.NotifyUserInfoEntry user_info_entry);
		public void remove_last_item ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class NotifyUserInfoEntry {
		[CCode (has_construct_function = false)]
		public NotifyUserInfoEntry (string label, string value);
		public unowned string get_label ();
		public unowned string get_value ();
		public void set_label (string label);
		public void set_type (Purple.NotifyUserInfoEntryType type);
		public void set_value (string value);
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_plugin_destroy")]
	[Compact]
	public class Plugin {
		public weak GLib.List dependent_plugins;
		public weak string error;
		public void* extra;
		public void* handle;
		public weak Purple.PluginInfo info;
		public void* ipc_data;
		public bool loaded;
		public bool native_plugin;
		public weak string path;
		public bool unloadable;
		[CCode (has_construct_function = false)]
		public Plugin (bool native, string path);
		public void disable ();
		public unowned string get_author ();
		public unowned string get_description ();
		public unowned string get_homepage ();
		public unowned string get_id ();
		public unowned string get_name ();
		public unowned string get_summary ();
		public unowned string get_version ();
		public void* ipc_call (string command, bool ok);
		public bool ipc_get_params (string command, out unowned Purple.Value ret_value, int num_params, out unowned Purple.Value @params);
		public bool ipc_register (string command, Purple.Callback func, Purple.SignalMarshalFunc marshal, Purple.Value ret_value, int num_params);
		public void ipc_unregister (string command);
		public void ipc_unregister_all ();
		public bool is_loaded ();
		public bool is_unloadable ();
		public bool load ();
		public static unowned Purple.Plugin probe (string filename);
		public bool register ();
		public bool reload ();
		public bool unload ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PluginAction {
		public weak GLib.Callback callback;
		public void* context;
		public weak string label;
		public weak Purple.Plugin plugin;
		public void* user_data;
		[CCode (has_construct_function = false)]
		public PluginAction (string label, GLib.Callback callback);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PluginInfo {
		public weak GLib.Callback actions;
		public weak string author;
		public weak GLib.List dependencies;
		public weak string description;
		public weak GLib.Callback destroy;
		public void* extra_info;
		public uint flags;
		public weak string homepage;
		public weak string id;
		public weak GLib.Callback load;
		public uint magic;
		public uint major_version;
		public uint minor_version;
		public weak string name;
		public weak Purple.PluginUiInfo prefs_info;
		public weak Purple.PluginPriority priority;
		public weak string summary;
		public Purple.PluginType type;
		public void* ui_info;
		public weak string ui_requirement;
		public weak GLib.Callback unload;
		public weak string version;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PluginLoaderInfo {
		public weak GLib.Callback destroy;
		public weak GLib.List exts;
		public weak GLib.Callback load;
		public weak GLib.Callback probe;
		public weak GLib.Callback unload;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_plugin_pref_destroy")]
	[Compact]
	public class PluginPref {
		[CCode (has_construct_function = false)]
		public PluginPref ();
		public void add_choice (string label, void* choice);
		public void get_bounds (int min, int max);
		public unowned GLib.List get_choices ();
		public Purple.StringFormatType get_format_type ();
		public unowned string get_label ();
		public bool get_masked ();
		public uint get_max_length ();
		public unowned string get_name ();
		public void set_bounds (int min, int max);
		public void set_format_type (Purple.StringFormatType format);
		public void set_label (string label);
		public void set_masked (bool mask);
		public void set_max_length (uint max_length);
		public void set_name (string name);
		public void set_type (Purple.PluginPrefType type);
		[CCode (has_construct_function = false)]
		public PluginPref.with_label (string label);
		[CCode (has_construct_function = false)]
		public PluginPref.with_name (string name);
		[CCode (has_construct_function = false)]
		public PluginPref.with_name_and_label (string name, string label);
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_plugin_pref_frame_destroy")]
	[Compact]
	public class PluginPrefFrame {
		[CCode (has_construct_function = false)]
		public PluginPrefFrame ();
		public void add (Purple.PluginPref pref);
		public unowned GLib.List get_prefs ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PluginPriority {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PluginProtocolInfo {
		public weak GLib.Callback add_buddies;
		public weak GLib.Callback add_buddies_with_invite;
		public weak GLib.Callback add_buddy;
		public weak GLib.Callback add_buddy_with_invite;
		public weak GLib.Callback add_deny;
		public weak GLib.Callback add_permit;
		public weak GLib.Callback alias_buddy;
		public weak GLib.Callback blist_node_menu;
		public weak GLib.Callback buddy_free;
		public weak GLib.Callback can_receive_file;
		public weak GLib.Callback change_passwd;
		public weak GLib.Callback chat_info;
		public weak GLib.Callback chat_info_defaults;
		public weak GLib.Callback chat_invite;
		public weak GLib.Callback chat_leave;
		public weak GLib.Callback chat_send;
		public weak GLib.Callback chat_whisper;
		public weak GLib.Callback close;
		public weak GLib.Callback convo_closed;
		public weak GLib.Callback find_blist_chat;
		public weak GLib.Callback get_account_text_table;
		public weak GLib.Callback get_attention_types;
		public weak GLib.Callback get_cb_away;
		public weak GLib.Callback get_cb_info;
		public weak GLib.Callback get_cb_real_name;
		public weak GLib.Callback get_chat_name;
		public weak GLib.Callback get_info;
		public weak GLib.Callback get_media_caps;
		public weak GLib.Callback get_moods;
		public weak GLib.Callback get_public_alias;
		public weak GLib.Callback group_buddy;
		public weak Purple.BuddyIconSpec icon_spec;
		public weak GLib.Callback initiate_media;
		public weak GLib.Callback join_chat;
		public weak GLib.Callback keepalive;
		public weak GLib.Callback list_emblem;
		public weak GLib.Callback list_icon;
		public weak GLib.Callback login;
		public weak GLib.Callback new_xfer;
		public weak GLib.Callback normalize;
		public weak GLib.Callback offline_message;
		public Purple.ProtocolOptions options;
		public weak GLib.List protocol_options;
		public weak GLib.Callback register_user;
		public weak GLib.Callback reject_chat;
		public weak GLib.Callback rem_deny;
		public weak GLib.Callback rem_permit;
		public weak GLib.Callback remove_buddies;
		public weak GLib.Callback remove_buddy;
		public weak GLib.Callback remove_group;
		public weak GLib.Callback rename_group;
		public weak GLib.Callback roomlist_cancel;
		public weak GLib.Callback roomlist_expand_category;
		public weak GLib.Callback roomlist_get_list;
		public weak GLib.Callback roomlist_room_serialize;
		public weak GLib.Callback send_attention;
		public weak GLib.Callback send_file;
		public weak GLib.Callback send_im;
		public weak GLib.Callback send_raw;
		public weak GLib.Callback send_typing;
		public weak GLib.Callback set_buddy_icon;
		public weak GLib.Callback set_chat_topic;
		public weak GLib.Callback set_idle;
		public weak GLib.Callback set_info;
		public weak GLib.Callback set_permit_deny;
		public weak GLib.Callback set_public_alias;
		public weak GLib.Callback set_status;
		public weak GLib.Callback status_text;
		public weak GLib.Callback status_types;
		public uint struct_size;
		public weak GLib.Callback tooltip_text;
		public weak GLib.Callback unregister_user;
		public weak GLib.List user_splits;
		public weak Purple.WhiteboardPrplOps whiteboard_prpl_ops;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PluginUiInfo {
		public weak Purple.PluginPrefFrame frame;
		public weak GLib.Callback get_plugin_pref_frame;
		public int page_num;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_pounce_destroy")]
	[Compact]
	public class Pounce {
		public weak GLib.HashTable actions;
		public void* data;
		public Purple.PounceEvent events;
		public Purple.PounceOption options;
		public weak string pouncee;
		public weak Purple.Account pouncer;
		public bool save;
		public weak string ui_type;
		[CCode (has_construct_function = false)]
		public Pounce (string ui_type, Purple.Account pouncer, string pouncee, Purple.PounceEvent event, Purple.PounceOption option);
		public unowned string action_get_attribute (string action, string attr);
		public bool action_is_enabled (string action);
		public void action_register (string name);
		public void action_set_attribute (string action, string attr, string value);
		public void action_set_enabled (string action, bool enabled);
		public static void destroy_all_by_account (Purple.Account account);
		public static void destroy_all_by_buddy (Purple.Buddy buddy);
		public static void execute (Purple.Account pouncer, string pouncee, Purple.PounceEvent events);
		public void* get_data ();
		public Purple.PounceEvent get_events ();
		public Purple.PounceOption get_options ();
		public unowned string get_pouncee ();
		public unowned Purple.Account get_pouncer ();
		public bool get_save ();
		public void set_data (void* data);
		public void set_events (Purple.PounceEvent events);
		public void set_options (Purple.PounceOption options);
		public void set_pouncee (string pouncee);
		public void set_pouncer (Purple.Account pouncer);
		public void set_save (bool save);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PrefCallbackData {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PrefsUiOps {
		public weak GLib.Callback add_bool;
		public weak GLib.Callback add_int;
		public weak GLib.Callback add_none;
		public weak GLib.Callback add_string;
		public weak GLib.Callback add_string_list;
		public weak GLib.Callback connect_callback;
		public weak GLib.Callback disconnect_callback;
		public weak GLib.Callback exists;
		public weak GLib.Callback get_bool;
		public weak GLib.Callback get_children_names;
		public weak GLib.Callback get_int;
		public weak GLib.Callback get_string;
		public weak GLib.Callback get_string_list;
		public weak GLib.Callback get_type;
		public weak GLib.Callback load;
		public weak GLib.Callback remove;
		public weak GLib.Callback rename;
		public weak GLib.Callback rename_boolean_toggle;
		public weak GLib.Callback save;
		public weak GLib.Callback schedule_save;
		public weak GLib.Callback set_bool;
		public weak GLib.Callback set_int;
		public weak GLib.Callback set_string;
		public weak GLib.Callback set_string_list;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_presence_destroy")]
	[Compact]
	public class Presence {
		[CCode (has_construct_function = false)]
		public Presence (Purple.PresenceContext context);
		public void add_list (GLib.List source_list);
		public void add_status (Purple.Status status);
		public int compare (Purple.Presence presence2);
		[CCode (has_construct_function = false)]
		public Presence.for_account (Purple.Account account);
		[CCode (has_construct_function = false)]
		public Presence.for_buddy (Purple.Buddy buddy);
		[CCode (has_construct_function = false)]
		public Presence.for_conv (Purple.Conversation conv);
		public unowned Purple.Account get_account ();
		public unowned Purple.Status get_active_status ();
		public unowned Purple.Buddy get_buddy ();
		public unowned string get_chat_user ();
		public Purple.PresenceContext get_context ();
		public unowned Purple.Conversation get_conversation ();
		public time_t get_idle_time ();
		public time_t get_login_time ();
		public unowned Purple.Status get_status (string status_id);
		public unowned GLib.List get_statuses ();
		public bool is_available ();
		public bool is_idle ();
		public bool is_online ();
		public bool is_status_active (string status_id);
		public bool is_status_primitive_active (Purple.StatusPrimitive primitive);
		public void set_idle (bool idle, time_t idle_time);
		public void set_login_time (time_t login_time);
		public void set_status_active (string status_id, bool active);
		public void switch_status (string status_id);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class PrivacyUiOps {
		public weak GLib.Callback deny_added;
		public weak GLib.Callback deny_removed;
		public weak GLib.Callback permit_added;
		public weak GLib.Callback permit_removed;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ProxyConnectData {
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_proxy_info_destroy")]
	[Compact]
	public class ProxyInfo {
		public weak string host;
		public weak string password;
		public int port;
		public Purple.ProxyType type;
		public weak string username;
		[CCode (has_construct_function = false)]
		public ProxyInfo ();
		public unowned string get_host ();
		public unowned string get_password ();
		public int get_port ();
		public unowned string get_username ();
		public void set_host (string host);
		public void set_password (string password);
		public void set_port (int port);
		public void set_type (Purple.ProxyType type);
		public void set_username (string username);
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_request_field_destroy")]
	[Compact]
	public class RequestField {
		public weak Purple.RequestFieldGroup group;
		public weak string id;
		public weak string label;
		public bool required;
		public Purple.RequestFieldType type;
		public weak string type_hint;
		public void* u;
		public void* ui_data;
		public bool visible;
		[CCode (has_construct_function = false)]
		public RequestField (string id, string text, Purple.RequestFieldType type);
		public unowned Purple.Account account_get_default_value ();
		public unowned Purple.FilterAccountFunc account_get_filter ();
		public bool account_get_show_all ();
		public unowned Purple.Account account_get_value ();
		public static unowned Purple.RequestField account_new (string id, string text, Purple.Account account);
		public void account_set_default_value (Purple.Account default_value);
		public void account_set_filter (Purple.FilterAccountFunc filter_func);
		public void account_set_show_all (bool show_all);
		public void account_set_value (Purple.Account value);
		public bool bool_get_default_value ();
		public bool bool_get_value ();
		public static unowned Purple.RequestField bool_new (string id, string text, bool default_value);
		public void bool_set_default_value (bool default_value);
		public void bool_set_value (bool value);
		public void choice_add (string label);
		public int choice_get_default_value ();
		public unowned GLib.List choice_get_labels ();
		public int choice_get_value ();
		public static unowned Purple.RequestField choice_new (string id, string text, int default_value);
		public void choice_set_default_value (int default_value);
		public void choice_set_value (int value);
		public unowned Purple.RequestFieldGroup get_group ();
		public unowned string get_id ();
		public unowned string get_label ();
		public unowned string get_type_hint ();
		public void* get_ui_data ();
		public unowned string image_get_buffer ();
		public uint image_get_scale_x ();
		public uint image_get_scale_y ();
		public size_t image_get_size ();
		public static unowned Purple.RequestField image_new (string id, string text, string buf, size_t size);
		public void image_set_scale (uint x, uint y);
		public int int_get_default_value ();
		public int int_get_value ();
		public static unowned Purple.RequestField int_new (string id, string text, int default_value);
		public void int_set_default_value (int default_value);
		public void int_set_value (int value);
		public bool is_required ();
		public bool is_visible ();
		public static unowned Purple.RequestField label_new (string id, string text);
		public void list_add (string item, void* data);
		public void list_add_icon (string item, string icon_path, void* data);
		public void list_add_selected (string item);
		public void list_clear_selected ();
		public void* list_get_data (string text);
		public unowned GLib.List list_get_icons ();
		public unowned GLib.List list_get_items ();
		public bool list_get_multi_select ();
		public unowned GLib.List list_get_selected ();
		public bool list_is_selected (string item);
		public static unowned Purple.RequestField list_new (string id, string text);
		public void list_set_multi_select (bool multi_select);
		public void list_set_selected (GLib.List items);
		public void set_label (string label);
		public void set_required (bool required);
		public void set_type_hint (string type_hint);
		public void set_ui_data (void* ui_data);
		public void set_visible (bool visible);
		public unowned string string_get_default_value ();
		public unowned string string_get_value ();
		public bool string_is_editable ();
		public bool string_is_masked ();
		public bool string_is_multiline ();
		public static unowned Purple.RequestField string_new (string id, string text, string default_value, bool multiline);
		public void string_set_default_value (string default_value);
		public void string_set_editable (bool editable);
		public void string_set_masked (bool masked);
		public void string_set_value (string value);
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_request_field_group_destroy")]
	[Compact]
	public class RequestFieldGroup {
		public weak GLib.List fields;
		public weak Purple.RequestFields fields_list;
		public weak string title;
		[CCode (has_construct_function = false)]
		public RequestFieldGroup (string title);
		public void add_field (Purple.RequestField field);
		public unowned GLib.List get_fields ();
		public unowned string get_title ();
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_request_fields_destroy")]
	[Compact]
	public class RequestFields {
		public weak GLib.HashTable fields;
		public weak GLib.List groups;
		public weak GLib.List required_fields;
		public void* ui_data;
		[CCode (has_construct_function = false)]
		public RequestFields ();
		public void add_group (Purple.RequestFieldGroup group);
		public bool all_required_filled ();
		public bool exists (string id);
		public unowned Purple.Account get_account (string id);
		public bool get_bool (string id);
		public int get_choice (string id);
		public unowned Purple.RequestField get_field (string id);
		public unowned GLib.List get_groups ();
		public int get_integer (string id);
		public unowned GLib.List get_required ();
		public unowned string get_string (string id);
		public bool is_field_required (string id);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class RequestUiOps {
		public weak GLib.Callback close_request;
		public weak GLib.Callback request_action;
		public weak GLib.Callback request_action_with_icon;
		public weak GLib.Callback request_choice;
		public weak GLib.Callback request_fields;
		public weak GLib.Callback request_file;
		public weak GLib.Callback request_folder;
		public weak GLib.Callback request_input;
	}
	[CCode (cheader_filename = "purple.h", ref_function = "purple_roomlist_ref", ref_function_void = true, unref_function = "purple_roomlist_unref")]
	[Compact]
	public class Roomlist {
		public weak Purple.Account account;
		public weak GLib.List fields;
		public bool in_progress;
		public void* proto_data;
		public uint @ref;
		public weak GLib.List rooms;
		public void* ui_data;
		[CCode (has_construct_function = false)]
		public Roomlist (Purple.Account account);
		public void cancel_get_list ();
		public void expand_category (Purple.RoomlistRoom category);
		public unowned GLib.List get_fields ();
		public bool get_in_progress ();
		public static unowned Purple.Roomlist get_list (Purple.Connection gc);
		public static unowned Purple.RoomlistUiOps get_ui_ops ();
		public void set_fields (GLib.List fields);
		public void set_in_progress (bool in_progress);
		public static void set_ui_ops (Purple.RoomlistUiOps ops);
		public static void show_with_account (Purple.Account account);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class RoomlistField {
		public bool hidden;
		public weak string label;
		public weak string name;
		public Purple.RoomlistFieldType type;
		[CCode (has_construct_function = false)]
		public RoomlistField (Purple.RoomlistFieldType type, string label, string name, bool hidden);
		public bool get_hidden ();
		public unowned string get_label ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class RoomlistRoom {
		public bool expanded_once;
		public weak GLib.List fields;
		public weak string name;
		public weak Purple.RoomlistRoom parent;
		public Purple.RoomlistRoomType type;
		[CCode (has_construct_function = false)]
		public RoomlistRoom (Purple.RoomlistRoomType type, string name, Purple.RoomlistRoom parent);
		public static void add (Purple.Roomlist list, Purple.RoomlistRoom room);
		public static void add_field (Purple.Roomlist list, Purple.RoomlistRoom room, void* field);
		public unowned GLib.List get_fields ();
		public unowned string get_name ();
		public unowned Purple.RoomlistRoom get_parent ();
		public static void join (Purple.Roomlist list, Purple.RoomlistRoom room);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class RoomlistUiOps {
		public weak GLib.Callback add_room;
		public weak GLib.Callback create;
		public weak GLib.Callback destroy;
		public weak GLib.Callback in_progress;
		public weak GLib.Callback set_fields;
		public weak GLib.Callback show_with_account;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SavedStatus {
		[CCode (cname = "purple_savedstatus_new", has_construct_function = false)]
		public SavedStatus (string title, Purple.StatusPrimitive type);
		[CCode (cname = "purple_savedstatus_activate")]
		public void activate ();
		[CCode (cname = "purple_savedstatus_activate_for_account")]
		public void activate_for_account (Purple.Account account);
		[CCode (cname = "purple_savedstatus_delete")]
		public static bool @delete (string title);
		[CCode (cname = "purple_savedstatus_delete_by_status")]
		public void delete_by_status ();
		[CCode (cname = "purple_savedstatus_find")]
		public static unowned Purple.SavedStatus find (string title);
		[CCode (cname = "purple_savedstatus_find_by_creation_time")]
		public static unowned Purple.SavedStatus find_by_creation_time (time_t creation_time);
		[CCode (cname = "purple_savedstatus_find_transient_by_type_and_message")]
		public static unowned Purple.SavedStatus find_transient_by_type_and_message (Purple.StatusPrimitive type, string message);
		[CCode (cname = "purple_savedstatus_get_creation_time")]
		public time_t get_creation_time ();
		[CCode (cname = "purple_savedstatus_get_current")]
		public static unowned Purple.SavedStatus get_current ();
		[CCode (cname = "purple_savedstatus_get_default")]
		public static unowned Purple.SavedStatus get_default ();
		[CCode (cname = "purple_savedstatus_get_idleaway")]
		public static unowned Purple.SavedStatus get_idleaway ();
		[CCode (cname = "purple_savedstatus_get_message")]
		public unowned string get_message ();
		[CCode (cname = "purple_savedstatus_get_startup")]
		public static unowned Purple.SavedStatus get_startup ();
		[CCode (cname = "purple_savedstatus_get_substatus")]
		public unowned Purple.SavedStatusSub get_substatus (Purple.Account account);
		[CCode (cname = "purple_savedstatus_get_title")]
		public unowned string get_title ();
		[CCode (cname = "purple_savedstatus_has_substatuses")]
		public bool has_substatuses ();
		[CCode (cname = "purple_savedstatus_is_idleaway")]
		public static bool is_idleaway ();
		[CCode (cname = "purple_savedstatus_is_transient")]
		public bool is_transient ();
		[CCode (cname = "purple_savedstatus_set_idleaway")]
		public static void set_idleaway (bool idleaway);
		[CCode (cname = "purple_savedstatus_set_message")]
		public void set_message (string message);
		[CCode (cname = "purple_savedstatus_set_substatus")]
		public void set_substatus (Purple.Account account, Purple.StatusType type, string message);
		[CCode (cname = "purple_savedstatus_set_title")]
		public void set_title (string title);
		[CCode (cname = "purple_savedstatus_set_type")]
		public void set_type (Purple.StatusPrimitive type);
		[CCode (cname = "purple_savedstatus_substatus_get_message")]
		public static unowned string substatus_get_message (Purple.SavedStatusSub substatus);
		[CCode (cname = "purple_savedstatus_substatus_get_type")]
		public static unowned Purple.StatusType substatus_get_type (Purple.SavedStatusSub substatus);
		[CCode (cname = "purple_savedstatus_unset_substatus")]
		public void unset_substatus (Purple.Account account);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SavedStatusSub {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class Smiley {
		[CCode (has_construct_function = false)]
		public Smiley (Purple.StoredImage img, string shortcut);
		public void @delete ();
		[CCode (has_construct_function = false)]
		public Smiley.from_file (string shortcut, string filepath);
		public unowned string get_checksum ();
		public void* get_data (size_t len);
		public unowned string get_extension ();
		public unowned string get_full_path ();
		public unowned string get_shortcut ();
		public unowned Purple.StoredImage get_stored_image ();
		public void set_data (uchar[] smiley_data, size_t smiley_data_len);
		public bool set_shortcut (string shortcut);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SmileyClass {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SoundTheme {
		public weak Purple.Theme parent;
		public void* priv;
		public unowned string get_file (string event);
		public unowned string get_file_full (string event);
		public void set_file (string event, string filename);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SoundThemeClass {
		public weak Purple.ThemeClass parent_class;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SoundThemeLoader {
		public weak Purple.ThemeLoader parent;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SoundThemeLoaderClass {
		public weak Purple.ThemeLoaderClass parent_class;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SoundUiOps {
		public weak GLib.Callback init;
		public weak GLib.Callback play_event;
		public weak GLib.Callback play_file;
		public weak GLib.Callback uninit;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SrvQueryData {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SrvResponse {
		[CCode (array_length = false)]
		public weak GLib.ObjectPath[] hostname;
		public int port;
		public int pref;
		public int weight;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SrvTxtQueryData {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SrvTxtQueryUiOps {
		public weak GLib.Callback destroy;
		public weak GLib.Callback resolve;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SslConnection {
		public weak Purple.SslInputFunction connect_cb;
		public void* connect_cb_data;
		public weak Purple.ProxyConnectData connect_data;
		public weak Purple.SslErrorFunction error_cb;
		public int fd;
		public weak string host;
		public uint inpa;
		public int port;
		public void* private_data;
		public weak Purple.SslInputFunction recv_cb;
		public void* recv_cb_data;
		public weak Purple.CertificateVerifier verifier;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class SslOps {
		public weak GLib.Callback close;
		public weak GLib.Callback connectfunc;
		public weak GLib.Callback get_peer_certificates;
		public weak GLib.Callback init;
		public weak GLib.Callback read;
		public weak GLib.Callback uninit;
		public weak GLib.Callback write;
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_status_destroy")]
	[Compact]
	public class Status {
		[CCode (has_construct_function = false)]
		public Status (Purple.StatusType status_type, Purple.Presence presence);
		public int compare (Purple.Status status2);
		public bool get_attr_boolean (string id);
		public int get_attr_int (string id);
		public unowned string get_attr_string (string id);
		public unowned Purple.Value get_attr_value (string id);
		public static void* get_handle ();
		public unowned string get_id ();
		public unowned string get_name ();
		public unowned Purple.Presence get_presence ();
		public static void init ();
		public bool is_active ();
		public bool is_available ();
		public bool is_exclusive ();
		public bool is_independent ();
		public bool is_online ();
		public void set_active (bool active);
		public void set_active_with_attrs (bool active, void* args);
		public void set_active_with_attrs_list (bool active, GLib.List attrs);
		public void set_attr_boolean (string id, bool value);
		public void set_attr_int (string id, int value);
		public void set_attr_string (string id, string value);
		public static void uninit ();
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_status_attr_destroy")]
	[Compact]
	public class StatusAttr {
		[CCode (has_construct_function = false)]
		public StatusAttr (string id, string name, Purple.Value value_type);
		public unowned string get_id ();
		public unowned string get_name ();
		public unowned Purple.Value get_value ();
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_status_type_destroy")]
	[Compact]
	public class StatusType {
		[CCode (has_construct_function = false)]
		public StatusType (Purple.StatusPrimitive primitive, string id, string name, bool user_settable);
		public void add_attr (string id, string name, Purple.Value value);
		public void add_attrs (string id, string name, Purple.Value value);
		public void add_attrs_vargs (void* args);
		public static unowned Purple.StatusType find_with_id (GLib.List status_types, string id);
		[CCode (has_construct_function = false)]
		public StatusType.full (Purple.StatusPrimitive primitive, string id, string name, bool saveable, bool user_settable, bool independent);
		public unowned Purple.StatusAttr get_attr (string id);
		public unowned GLib.List get_attrs ();
		public unowned string get_id ();
		public unowned string get_name ();
		public unowned string get_primary_attr ();
		public Purple.StatusPrimitive get_primitive ();
		public bool is_available ();
		public bool is_exclusive ();
		public bool is_independent ();
		public bool is_saveable ();
		public bool is_user_settable ();
		public void set_primary_attr (string attr_id);
		[CCode (has_construct_function = false)]
		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);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class StoredImage {
	}
	[CCode (cheader_filename = "purple.h", ref_function = "purple_stringref_ref", unref_function = "purple_stringref_unref")]
	[Compact]
	public class Stringref {
		[CCode (has_construct_function = false)]
		public Stringref (string value);
		public int cmp (Purple.Stringref s2);
		public size_t len ();
		[CCode (has_construct_function = false)]
		public Stringref.noref (string value);
		public static unowned Purple.Stringref printf (string format);
		public unowned string value ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class StunNatDiscovery {
		public time_t lookup_time;
		[CCode (array_length = false)]
		public weak GLib.ObjectPath[] publicip;
		public weak string servername;
		public Purple.StunStatus status;
		public Purple.StunNatType type;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class Theme {
		public weak GLib.Object parent;
		public void* priv;
		public unowned string get_author ();
		public unowned string get_description ();
		public unowned string get_dir ();
		public unowned string get_image ();
		public unowned string get_image_full ();
		public unowned string get_name ();
		public unowned string get_type_string ();
		public void set_author (string author);
		public void set_description (string description);
		public void set_dir (string dir);
		public void set_image (string img);
		public void set_name (string name);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ThemeClass {
		public weak GLib.ObjectClass parent_class;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ThemeLoader {
		public weak GLib.Object parent;
		public void* priv;
		public unowned Purple.Theme build (string dir);
		public unowned string get_type_string ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ThemeLoaderClass {
		public weak GLib.ObjectClass parent_class;
		public weak GLib.Callback purple_theme_loader_build;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ThemeManager {
		public weak GLib.Object parent;
		public static void add_theme (Purple.Theme theme);
		public static unowned Purple.Theme find_theme (string name, string type);
		public static void for_each_theme (Purple.PTFunc func);
		public static void init ();
		public static unowned Purple.Theme load_theme (string theme_dir, string type);
		public static void refresh ();
		public static void register_type (Purple.ThemeLoader loader);
		public static void remove_theme (Purple.Theme theme);
		public static void uninit ();
		public static void unregister_type (Purple.ThemeLoader loader);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ThemeManagerClass {
		public weak GLib.ObjectClass parent_class;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class ThumbnailSpec {
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_txt_response_destroy")]
	[Compact]
	public class TxtResponse {
		public weak string content;
		public unowned string get_content ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class UPnPMappingAddRemove {
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class UtilFetchUrlData {
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_value_destroy")]
	[Compact]
	public class Value {
		public void* data;
		public uint flags;
		public Purple.Type type;
		public void* u;
		[CCode (has_construct_function = false)]
		public Value (Purple.Type type);
		public unowned Purple.Value dup ();
		public bool get_boolean ();
		public void* get_boxed ();
		public unowned GLib.ObjectPath get_char ();
		public int get_enum ();
		public int get_int ();
		public int64 get_int64 ();
		public long get_long ();
		public void* get_object ();
		public void* get_pointer ();
		public short get_short ();
		public unowned string get_specific_type ();
		public unowned string get_string ();
		public uint get_subtype ();
		public uint get_uchar ();
		public uint get_uint ();
		public uint64 get_uint64 ();
		public uint get_ulong ();
		public uint get_ushort ();
		public bool is_outgoing ();
		[CCode (has_construct_function = false)]
		public Value.outgoing (Purple.Type type);
		public void set_boolean (bool data);
		public void set_boxed (void* data);
		public void set_char (GLib.ObjectPath data);
		public void set_enum (int data);
		public void set_int (int data);
		public void set_int64 (int64 data);
		public void set_long (long data);
		public void set_object (void* data);
		public void set_pointer (void* data);
		public void set_short (short data);
		public void set_string (string data);
		public void set_uchar (uint data);
		public void set_uint (uint data);
		public void set_uint64 (uint64 data);
		public void set_ulong (uint data);
		public void set_ushort (uint data);
	}
	[CCode (cheader_filename = "purple.h", free_function = "purple_whiteboard_destroy")]
	[Compact]
	public class Whiteboard {
		public weak Purple.Account account;
		public weak GLib.List draw_list;
		public void* proto_data;
		public weak Purple.WhiteboardPrplOps prpl_ops;
		public int state;
		public void* ui_data;
		public weak string who;
		public void clear ();
		public static unowned Purple.Whiteboard create (Purple.Account account, string who, int state);
		public void draw_line (int x1, int y1, int x2, int y2, int color, int size);
		public static void draw_list_destroy (GLib.List draw_list);
		public void draw_point (int x, int y, int color, int size);
		public bool get_brush (int size, int color);
		public bool get_dimensions (int width, int height);
		public static unowned Purple.Whiteboard get_session (Purple.Account account, string who);
		public void send_brush (int size, int color);
		public void send_clear ();
		public void send_draw_list (GLib.List list);
		public void set_brush (int size, int color);
		public void set_dimensions (int width, int height);
		public void set_prpl_ops (Purple.WhiteboardPrplOps ops);
		public static void set_ui_ops (Purple.WhiteboardUiOps ops);
		public void start ();
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class WhiteboardPrplOps {
		public weak GLib.Callback clear;
		public weak GLib.Callback end;
		public weak GLib.Callback get_brush;
		public weak GLib.Callback get_dimensions;
		public weak GLib.Callback send_draw_list;
		public weak GLib.Callback set_brush;
		public weak GLib.Callback set_dimensions;
		public weak GLib.Callback start;
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class WhiteboardUiOps {
		public weak GLib.Callback clear;
		public weak GLib.Callback create;
		public weak GLib.Callback destroy;
		public weak GLib.Callback draw_line;
		public weak GLib.Callback draw_point;
		public weak GLib.Callback set_brush;
		public weak GLib.Callback set_dimensions;
	}
	[CCode (cheader_filename = "purple.h", ref_function = "purple_xfer_ref", ref_function_void = true, unref_function = "purple_xfer_unref")]
	[Compact]
	public class Xfer {
		public weak Purple.Account account;
		public size_t bytes_remaining;
		public size_t bytes_sent;
		public size_t current_buffer_size;
		public void* data;
		public weak GLib.FileStream dest_fp;
		public time_t end_time;
		public int fd;
		public weak string filename;
		public weak string local_filename;
		public int local_port;
		public weak string message;
		public void* ops;
		public uint @ref;
		public weak string remote_ip;
		public int remote_port;
		public size_t size;
		public time_t start_time;
		public Purple.XferStatusType status;
		public Purple.XferType type;
		public void* ui_data;
		public weak Purple.XferUiOps ui_ops;
		public int watcher;
		public weak string who;
		[CCode (has_construct_function = false)]
		public Xfer (Purple.Account account, Purple.XferType type, string who);
		public void add ();
		public void cancel_local ();
		public void cancel_remote ();
		public void conversation_write (string message, bool is_error);
		public void end ();
		public static void error (Purple.XferType type, Purple.Account account, string who, string msg);
		public unowned Purple.Account get_account ();
		public size_t get_bytes_remaining ();
		public size_t get_bytes_sent ();
		public time_t get_end_time ();
		public unowned string get_filename ();
		public unowned string get_local_filename ();
		public uint get_local_port ();
		public double get_progress ();
		public unowned string get_remote_ip ();
		public uint get_remote_port ();
		public unowned string get_remote_user ();
		public size_t get_size ();
		public time_t get_start_time ();
		public Purple.XferStatusType get_status ();
		public void* get_thumbnail (size_t len);
		public unowned string get_thumbnail_mimetype ();
		public unowned Purple.XferUiOps get_ui_ops ();
		public bool is_canceled ();
		public bool is_completed ();
		public void prepare_thumbnail (string formats);
		public void prpl_ready ();
		public ssize_t read (uchar[] buffer);
		public ssize_t read_file (uchar[] buffer, size_t size);
		public void request ();
		public void request_accepted (string filename);
		public void request_denied ();
		public void set_ack_fnc (GLib.Callback fnc);
		public void set_bytes_sent (size_t bytes_sent);
		public void set_cancel_recv_fnc (GLib.Callback fnc);
		public void set_cancel_send_fnc (GLib.Callback fnc);
		public void set_completed (bool completed);
		public void set_end_fnc (GLib.Callback fnc);
		public void set_filename (string filename);
		public void set_init_fnc (GLib.Callback fnc);
		public void set_local_filename (string filename);
		public void set_message (string message);
		public void set_read_fnc (GLib.Callback fnc);
		public void set_request_denied_fnc (GLib.Callback fnc);
		public void set_size (size_t size);
		public void set_start_fnc (GLib.Callback fnc);
		public void set_thumbnail (void* thumbnail, size_t size, string mimetype);
		public void set_write_fnc (GLib.Callback fnc);
		public void start (int fd, string ip, uint port);
		public void ui_ready ();
		public void update_progress ();
		public ssize_t write (uchar[] buffer, size_t size);
		public bool write_file (uchar[] buffer, size_t size);
	}
	[CCode (cheader_filename = "purple.h")]
	[Compact]
	public class XferUiOps {
		public weak GLib.Callback add_thumbnail;
		public weak GLib.Callback add_xfer;
		public weak GLib.Callback cancel_local;
		public weak GLib.Callback cancel_remote;
		public weak GLib.Callback data_not_sent;
		public weak GLib.Callback destroy;
		public weak GLib.Callback new_xfer;
		public weak GLib.Callback ui_read;
		public weak GLib.Callback ui_write;
		public weak GLib.Callback update_progress;
	}
	[CCode (cheader_filename = "purple.h", copy_function = "xmlnode_copy", free_function = "xmlnode_free")]
	[Compact]
	public class xmlnode {
		public weak string data;
		public size_t data_sz;
		public weak Purple.xmlnode lastchild;
		public weak string name;
		public weak GLib.HashTable namespace_map;
		public weak Purple.xmlnode next;
		public weak Purple.xmlnode parent;
		public weak string prefix;
		public Purple.XMLNodeType type;
		public weak string xmlns;
		[CCode (cname = "xmlnode_new", has_construct_function = false, type = "xmlnode*")]
		public xmlnode (string name);
		[CCode (cname = "xmlnode_new_child", has_construct_function = false, type = "xmlnode*")]
		public xmlnode.child (Purple.xmlnode parent, string name);
		[CCode (cname = "xmlnode_copy")]
		public static unowned Purple.xmlnode copy (Purple.xmlnode src);
		[CCode (cname = "xmlnode_from_file")]
		public static unowned Purple.xmlnode from_file (string dir, string filename, string description, string process);
		[CCode (cname = "xmlnode_from_str")]
		public static unowned Purple.xmlnode from_str (string str, ssize_t size);
		[CCode (cname = "xmlnode_get_attrib")]
		public static unowned string get_attrib (Purple.xmlnode node, string attr);
		[CCode (cname = "xmlnode_get_attrib_with_namespace")]
		public static unowned string get_attrib_with_namespace (Purple.xmlnode node, string attr, string xmlns);
		[CCode (cname = "xmlnode_get_child")]
		public static unowned Purple.xmlnode get_child (Purple.xmlnode parent, string name);
		[CCode (cname = "xmlnode_get_child_with_namespace")]
		public static unowned Purple.xmlnode get_child_with_namespace (Purple.xmlnode parent, string name, string xmlns);
		[CCode (cname = "xmlnode_get_data")]
		public static unowned string get_data (Purple.xmlnode node);
		[CCode (cname = "xmlnode_get_data_unescaped")]
		public static unowned string get_data_unescaped (Purple.xmlnode node);
		[CCode (cname = "xmlnode_get_namespace")]
		public static unowned string get_namespace (Purple.xmlnode node);
		[CCode (cname = "xmlnode_get_next_twin")]
		public static unowned Purple.xmlnode get_next_twin (Purple.xmlnode node);
		[CCode (cname = "xmlnode_get_parent")]
		public static unowned Purple.xmlnode get_parent (Purple.xmlnode child);
		[CCode (cname = "xmlnode_get_prefix")]
		public static unowned string get_prefix (Purple.xmlnode node);
		[CCode (cname = "xmlnode_insert_child")]
		public static void insert_child (Purple.xmlnode parent, Purple.xmlnode child);
		[CCode (cname = "xmlnode_insert_data")]
		public static void insert_data (Purple.xmlnode node, string data, ssize_t size);
		[CCode (cname = "xmlnode_remove_attrib")]
		public static void remove_attrib (Purple.xmlnode node, string attr);
		[CCode (cname = "xmlnode_remove_attrib_with_namespace")]
		public static void remove_attrib_with_namespace (Purple.xmlnode node, string attr, string xmlns);
		[CCode (cname = "xmlnode_set_attrib")]
		public static void set_attrib (Purple.xmlnode node, string attr, string value);
		[CCode (cname = "xmlnode_set_attrib_full")]
		public static void set_attrib_full (Purple.xmlnode node, string attr, string xmlns, string prefix, string value);
		[CCode (cname = "xmlnode_set_attrib_with_namespace")]
		public static void set_attrib_with_namespace (Purple.xmlnode node, string attr, string xmlns, string value);
		[CCode (cname = "xmlnode_set_attrib_with_prefix")]
		public static void set_attrib_with_prefix (Purple.xmlnode node, string attr, string prefix, string value);
		[CCode (cname = "xmlnode_set_namespace")]
		public static void set_namespace (Purple.xmlnode node, string xmlns);
		[CCode (cname = "xmlnode_set_prefix")]
		public static void set_prefix (Purple.xmlnode node, string prefix);
		[CCode (cname = "xmlnode_to_formatted_str")]
		public static unowned string to_formatted_str (Purple.xmlnode node, int len);
		[CCode (cname = "xmlnode_to_str")]
		public static unowned string to_str (Purple.xmlnode node, int len);
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ACCOUNT_RESPONSE_", has_type_id = false)]
	public enum AccountRequestResponse {
		IGNORE,
		DENY,
		PASS,
		ACCEPT
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ACCOUNT_REQUEST_", has_type_id = false)]
	public enum AccountRequestType {
		AUTHORIZATION
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_BLIST_NODE_FLAG_NO_", has_type_id = false)]
	public enum BlistNodeFlags {
		SAVE
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_BLIST_", has_type_id = false)]
	public enum BlistNodeType {
		GROUP_NODE,
		CONTACT_NODE,
		BUDDY_NODE,
		CHAT_NODE,
		OTHER_NODE
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CERTIFICATE_", has_type_id = false)]
	public enum CertificateInvalidityFlags {
		UNKNOWN_ERROR,
		NO_PROBLEMS,
		NON_FATALS_MASK,
		SELF_SIGNED,
		CA_UNKNOWN,
		NOT_ACTIVATED,
		EXPIRED,
		NAME_MISMATCH,
		NO_CA_POOL,
		FATALS_MASK,
		INVALID_CHAIN,
		REVOKED,
		LAST
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CERTIFICATE_", has_type_id = false)]
	public enum CertificateVerificationStatus {
		INVALID,
		VALID
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CIPHER_BATCH_MODE_", has_type_id = false)]
	public enum CipherBatchMode {
		ECB,
		CBC
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CIPHER_CAPS_", has_type_id = false)]
	public enum CipherCaps {
		SET_OPT,
		GET_OPT,
		INIT,
		RESET,
		UNINIT,
		SET_IV,
		APPEND,
		DIGEST,
		ENCRYPT,
		DECRYPT,
		SET_SALT,
		GET_SALT_SIZE,
		SET_KEY,
		GET_KEY_SIZE,
		SET_BATCH_MODE,
		GET_BATCH_MODE,
		GET_BLOCK_SIZE,
		SET_KEY_WITH_LEN,
		UNKNOWN
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_FLAG_", has_type_id = false)]
	public enum CmdFlag {
		IM,
		CHAT,
		PRPL_ONLY,
		ALLOW_WRONG_ARGS
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_P_", has_type_id = false)]
	public enum CmdPriority {
		VERY_LOW,
		LOW,
		DEFAULT,
		PRPL,
		PLUGIN,
		ALIAS,
		HIGH,
		VERY_HIGH
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_RET_", has_type_id = false)]
	public enum CmdRet {
		OK,
		FAILED,
		CONTINUE
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CMD_STATUS_", has_type_id = false)]
	public enum CmdStatus {
		OK,
		FAILED,
		NOT_FOUND,
		WRONG_ARGS,
		WRONG_PRPL,
		WRONG_TYPE
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONNECTION_ERROR_", has_type_id = false)]
	public enum ConnectionError {
		NETWORK_ERROR,
		INVALID_USERNAME,
		AUTHENTICATION_FAILED,
		AUTHENTICATION_IMPOSSIBLE,
		NO_SSL_SUPPORT,
		ENCRYPTION_ERROR,
		NAME_IN_USE,
		INVALID_SETTINGS,
		CERT_NOT_PROVIDED,
		CERT_UNTRUSTED,
		CERT_EXPIRED,
		CERT_NOT_ACTIVATED,
		CERT_HOSTNAME_MISMATCH,
		CERT_FINGERPRINT_MISMATCH,
		CERT_SELF_SIGNED,
		CERT_OTHER_ERROR,
		OTHER_ERROR
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONNECTION_", has_type_id = false)]
	public enum ConnectionFlags {
		HTML,
		NO_BGCOLOR,
		AUTO_RESP,
		FORMATTING_WBFO,
		NO_NEWLINES,
		NO_FONTSIZE,
		NO_URLDESC,
		NO_IMAGES,
		ALLOW_CUSTOM_SMILEY,
		SUPPORT_MOODS,
		SUPPORT_MOOD_MESSAGES
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_", has_type_id = false)]
	public enum ConnectionState {
		DISCONNECTED,
		CONNECTED,
		CONNECTING
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CBFLAGS_", has_type_id = false)]
	public enum ConvChatBuddyFlags {
		NONE,
		VOICE,
		HALFOP,
		OP,
		FOUNDER,
		TYPING,
		AWAY
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONV_", has_type_id = false)]
	public enum ConvUpdateType {
		UPDATE_ADD,
		UPDATE_REMOVE,
		UPDATE_ACCOUNT,
		UPDATE_TYPING,
		UPDATE_UNSEEN,
		UPDATE_LOGGING,
		UPDATE_TOPIC,
		ACCOUNT_ONLINE,
		ACCOUNT_OFFLINE,
		UPDATE_AWAY,
		UPDATE_ICON,
		UPDATE_TITLE,
		UPDATE_CHATLEFT,
		UPDATE_FEATURES
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_CONV_TYPE_", has_type_id = false)]
	public enum ConversationType {
		UNKNOWN,
		IM,
		CHAT,
		MISC,
		ANY
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_DEBUG_", has_type_id = false)]
	public enum DebugLevel {
		ALL,
		MISC,
		INFO,
		WARNING,
		ERROR,
		FATAL
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_DESKTOP_ITEM_TYPE_", has_type_id = false)]
	public enum DesktopItemType {
		NULL,
		OTHER,
		APPLICATION,
		LINK,
		FSDEVICE,
		MIME_TYPE,
		DIRECTORY,
		SERVICE,
		SERVICE_TYPE
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ICON_SCALE_", has_type_id = false)]
	public enum IconScaleRules {
		DISPLAY,
		SEND
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_INPUT_", has_type_id = false)]
	public enum InputCondition {
		READ,
		WRITE
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_LOG_READ_NO_", has_type_id = false)]
	public enum LogReadFlags {
		NEWLINE
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_LOG_", has_type_id = false)]
	public enum LogType {
		IM,
		CHAT,
		SYSTEM
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_CANDIDATE_TYPE_", has_type_id = false)]
	public enum MediaCandidateType {
		HOST,
		SRFLX,
		PRFLX,
		RELAY,
		MULTICAST
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_CAPS_", has_type_id = false)]
	public enum MediaCaps {
		NONE,
		AUDIO,
		AUDIO_SINGLE_DIRECTION,
		VIDEO,
		VIDEO_SINGLE_DIRECTION,
		AUDIO_VIDEO,
		MODIFY_SESSION,
		CHANGE_DIRECTION
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_COMPONENT_", has_type_id = false)]
	public enum MediaComponentType {
		NONE,
		RTP,
		RTCP
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_ELEMENT_", has_type_id = false)]
	public enum MediaElementType {
		NONE,
		AUDIO,
		VIDEO,
		AUDIO_VIDEO,
		NO_SRCS,
		ONE_SRC,
		MULTI_SRC,
		REQUEST_SRC,
		NO_SINKS,
		ONE_SINK,
		MULTI_SINK,
		REQUEST_SINK,
		UNIQUE,
		SRC,
		SINK,
		APPLICATION
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_INFO_", has_type_id = false)]
	public enum MediaInfoType {
		HANGUP,
		ACCEPT,
		REJECT,
		MUTE,
		UNMUTE,
		PAUSE,
		UNPAUSE,
		HOLD,
		UNHOLD
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_NETWORK_PROTOCOL_", has_type_id = false)]
	public enum MediaNetworkProtocol {
		UDP,
		TCP_PASSIVE,
		TCP_ACTIVE,
		TCP_SO
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_", has_type_id = false)]
	public enum MediaSessionType {
		NONE,
		RECV_AUDIO,
		SEND_AUDIO,
		RECV_VIDEO,
		SEND_VIDEO,
		RECV_APPLICATION,
		SEND_APPLICATION,
		AUDIO,
		VIDEO,
		APPLICATION
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MEDIA_STATE_", has_type_id = false)]
	public enum MediaState {
		NEW,
		CONNECTED,
		END
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_MESSAGE_", has_type_id = false)]
	public enum MessageFlags {
		SEND,
		RECV,
		SYSTEM,
		AUTO_RESP,
		ACTIVE_ONLY,
		NICK,
		NO_LOG,
		WHISPER,
		ERROR,
		DELAYED,
		RAW,
		IMAGES,
		NOTIFY,
		NO_LINKIFY,
		INVISIBLE,
		REMOTE_SEND
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_MSG_", has_type_id = false)]
	public enum NotifyMsgType {
		ERROR,
		WARNING,
		INFO
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_BUTTON_", has_type_id = false)]
	public enum NotifySearchButtonType {
		LABELED,
		CONTINUE,
		ADD,
		INFO,
		IM,
		JOIN,
		INVITE
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_", has_type_id = false)]
	public enum NotifyType {
		MESSAGE,
		EMAIL,
		EMAILS,
		FORMATTED,
		SEARCHRESULTS,
		USERINFO,
		URI
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_NOTIFY_USER_INFO_ENTRY_", has_type_id = false)]
	public enum NotifyUserInfoEntryType {
		PAIR,
		SECTION_BREAK,
		SECTION_HEADER
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PLUGIN_PREF_", has_type_id = false)]
	public enum PluginPrefType {
		NONE,
		CHOICE,
		INFO,
		STRING_FORMAT
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PLUGIN_", has_type_id = false)]
	public enum PluginType {
		UNKNOWN,
		STANDARD,
		LOADER,
		PROTOCOL
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PMP_TYPE_", has_type_id = false)]
	public enum PmpType {
		UDP,
		TCP
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_POUNCE_", has_type_id = false)]
	public enum PounceEvent {
		NONE,
		SIGNON,
		SIGNOFF,
		AWAY,
		AWAY_RETURN,
		IDLE,
		IDLE_RETURN,
		TYPING,
		TYPED,
		TYPING_STOPPED,
		MESSAGE_RECEIVED
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_POUNCE_OPTION_", has_type_id = false)]
	public enum PounceOption {
		NONE,
		AWAY
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PREF_", has_type_id = false)]
	public enum PrefType {
		NONE,
		BOOLEAN,
		INT,
		STRING,
		STRING_LIST,
		PATH,
		PATH_LIST
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PRESENCE_CONTEXT_", has_type_id = false)]
	public enum PresenceContext {
		UNSET,
		ACCOUNT,
		CONV,
		BUDDY
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PRIVACY_", has_type_id = false)]
	public enum PrivacyType {
		ALLOW_ALL,
		DENY_ALL,
		ALLOW_USERS,
		DENY_USERS,
		ALLOW_BUDDYLIST
	}
	[CCode (cheader_filename = "purple.h", cprefix = "OPT_PROTO_", has_type_id = false)]
	public enum ProtocolOptions {
		UNIQUE_CHATNAME,
		CHAT_TOPIC,
		NO_PASSWORD,
		MAIL_CHECK,
		IM_IMAGE,
		PASSWORD_OPTIONAL,
		USE_POINTSIZE,
		REGISTER_NOSCREENNAME,
		SLASH_COMMANDS_NATIVE,
		INVITE_MESSAGE
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_PROXY_", has_type_id = false)]
	public enum ProxyType {
		USE_GLOBAL,
		NONE,
		HTTP,
		SOCKS4,
		SOCKS5,
		USE_ENVVAR,
		TOR
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_REQUEST_FIELD_", has_type_id = false)]
	public enum RequestFieldType {
		NONE,
		STRING,
		INTEGER,
		BOOLEAN,
		CHOICE,
		LIST,
		LABEL,
		IMAGE,
		ACCOUNT
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_REQUEST_", has_type_id = false)]
	public enum RequestType {
		INPUT,
		CHOICE,
		ACTION,
		FIELDS,
		FILE,
		FOLDER
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ROOMLIST_FIELD_", has_type_id = false)]
	public enum RoomlistFieldType {
		BOOL,
		INT,
		STRING
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_ROOMLIST_ROOMTYPE_", has_type_id = false)]
	public enum RoomlistRoomType {
		CATEGORY,
		ROOM
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_", has_type_id = false)]
	public enum SoundEventID {
		SOUND_BUDDY_ARRIVE,
		SOUND_BUDDY_LEAVE,
		SOUND_RECEIVE,
		SOUND_FIRST_RECEIVE,
		SOUND_SEND,
		SOUND_CHAT_JOIN,
		SOUND_CHAT_LEAVE,
		SOUND_CHAT_YOU_SAY,
		SOUND_CHAT_SAY,
		SOUND_POUNCE_DEFAULT,
		SOUND_CHAT_NICK,
		SOUND_GOT_ATTENTION,
		NUM_SOUNDS
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_SSL_", has_type_id = false)]
	public enum SslErrorType {
		HANDSHAKE_FAILED,
		CONNECT_FAILED,
		CERTIFICATE_INVALID
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STATUS_", has_type_id = false)]
	public enum StatusPrimitive {
		UNSET,
		OFFLINE,
		AVAILABLE,
		UNAVAILABLE,
		INVISIBLE,
		AWAY,
		EXTENDED_AWAY,
		MOBILE,
		TUNE,
		MOOD,
		NUM_PRIMITIVES
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STRING_FORMAT_TYPE_", has_type_id = false)]
	public enum StringFormatType {
		NONE,
		MULTILINE,
		HTML
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STUN_NAT_TYPE_", has_type_id = false)]
	public enum StunNatType {
		PUBLIC_IP,
		UNKNOWN_NAT,
		FULL_CONE,
		RESTRICTED_CONE,
		PORT_RESTRICTED_CONE,
		SYMMETRIC
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_STUN_STATUS_", has_type_id = false)]
	public enum StunStatus {
		UNDISCOVERED,
		UNKNOWN,
		DISCOVERING,
		DISCOVERED
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_SUBTYPE_", has_type_id = false)]
	public enum SubType {
		UNKNOWN,
		ACCOUNT,
		BLIST,
		BLIST_BUDDY,
		BLIST_GROUP,
		BLIST_CHAT,
		BUDDY_ICON,
		CONNECTION,
		CONVERSATION,
		PLUGIN,
		BLIST_NODE,
		CIPHER,
		STATUS,
		LOG,
		XFER,
		SAVEDSTATUS,
		XMLNODE,
		USERINFO,
		STORED_IMAGE,
		CERTIFICATEPOOL,
		CHATBUDDY
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_TYPE_", has_type_id = false)]
	public enum Type {
		UNKNOWN,
		SUBTYPE,
		CHAR,
		UCHAR,
		BOOLEAN,
		SHORT,
		USHORT,
		INT,
		UINT,
		LONG,
		ULONG,
		INT64,
		UINT64,
		STRING,
		OBJECT,
		POINTER,
		ENUM,
		BOXED
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_", has_type_id = false)]
	public enum TypingState {
		NOT_TYPING,
		TYPING,
		TYPED
	}
	[CCode (cheader_filename = "purple.h", cprefix = "XMLNODE_TYPE_", has_type_id = false)]
	public enum XMLNodeType {
		TAG,
		ATTRIB,
		DATA
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_XFER_STATUS_", has_type_id = false)]
	public enum XferStatusType {
		UNKNOWN,
		NOT_STARTED,
		ACCEPTED,
		STARTED,
		DONE,
		CANCEL_LOCAL,
		CANCEL_REMOTE
	}
	[CCode (cheader_filename = "purple.h", cprefix = "PURPLE_XFER_", has_type_id = false)]
	public enum XferType {
		UNKNOWN,
		SEND,
		RECEIVE
	}
	[CCode (cheader_filename = "purple.h")]
	public delegate void AccountRegistrationCb (Purple.Account account, bool succeeded);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void AccountRequestAuthorizationCb (void* p1);
	[CCode (cheader_filename = "purple.h")]
	public delegate void AccountUnregistrationCb (Purple.Account account, bool succeeded);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void Callback ();
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void CertificateVerifiedCallback (Purple.CertificateVerificationStatus st, void* userdata);
	[CCode (cheader_filename = "purple.h")]
	public delegate Purple.CmdRet CmdFunc (Purple.Conversation p1, string cmd, string args, string error);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void DnsQueryConnectFunction (GLib.SList hosts, void* data, string error_message);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void DnsQueryFailedCallback (Purple.DnsQueryData query_data, string error_message);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void DnsQueryResolvedCallback (Purple.DnsQueryData query_data, GLib.SList hosts);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate bool FilterAccountFunc (Purple.Account account);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void GetPublicAliasFailureCallback (Purple.Account account, string error);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void GetPublicAliasSuccessCallback (Purple.Account account, string alias);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate unowned string InfoFieldFormatCallback (string field, size_t len);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void InputFunction (void* p1, int p2, Purple.InputCondition p3);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void LogSetCallback (GLib.HashTable sets, Purple.LogSet @set);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate unowned Gst.Element MediaElementCreateCallback (Purple.Media media, string session_id, string participant);
	[CCode (cheader_filename = "purple.h")]
	public delegate void NetworkListenCallback (int listenfd);
	[CCode (cheader_filename = "purple.h")]
	public delegate void NotifyCloseCallback ();
	[CCode (cheader_filename = "purple.h")]
	public delegate void NotifySearchResultsCallback (Purple.Connection c, GLib.List row);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void PTFunc (Purple.Theme p1);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void PounceCb (Purple.Pounce p1, Purple.PounceEvent p2, void* p3);
	[CCode (cheader_filename = "purple.h")]
	public delegate void PrefCallback (string name, Purple.PrefType type, void* val);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void ProxyConnectFunction (void* data, int source, string error_message);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void RequestActionCb (void* p1, int p2);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void RequestChoiceCb (void* p1, int p2);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void RequestFieldsCb (void* p1, Purple.RequestFields fields);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void RequestFileCb (void* p1, string filename);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void RequestInputCb (void* p1, string p2);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void SetPublicAliasFailureCallback (Purple.Account account, string error);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void SetPublicAliasSuccessCallback (Purple.Account account, string new_alias);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void SignalMarshalFunc (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public delegate void SrvCallback (Purple.SrvResponse resp, int results);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void SrvTxtQueryFailedCallback (Purple.SrvTxtQueryData query_data, string error_message);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void SrvTxtQueryResolvedCallback (Purple.SrvTxtQueryData query_data, GLib.List records);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void SslErrorFunction (Purple.SslConnection p1, Purple.SslErrorType p2, void* p3);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void SslInputFunction (void* p1, Purple.SslConnection p2, Purple.InputCondition p3);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void StunCallback (Purple.StunNatDiscovery p1);
	[CCode (cheader_filename = "purple.h")]
	public delegate void TxtCallback (GLib.List responses);
	[CCode (cheader_filename = "purple.h")]
	public delegate void UPnPCallback (bool success);
	[CCode (cheader_filename = "purple.h", has_target = false)]
	public delegate void UtilFetchUrlCallback (Purple.UtilFetchUrlData url_data, void* user_data, string url_text, size_t len, string error_message);
	[CCode (cheader_filename = "purple.h")]
	public const string DBUS_INTERFACE_PURPLE;
	[CCode (cheader_filename = "purple.h")]
	public const string DBUS_PATH_PURPLE;
	[CCode (cheader_filename = "purple.h")]
	public const string DBUS_SERVICE_PURPLE;
	[CCode (cheader_filename = "purple.h")]
	public const int DEFAULT_ACTION_NONE;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_ACTIONS;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_COMMENT;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_DEFAULT_APP;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_DEV;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_DOC_PATH;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_ENCODING;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_EXEC;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_FILE_PATTERN;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_FS_TYPE;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_GENERIC_NAME;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_HIDDEN;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_ICON;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_MIME_TYPE;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_MINI_ICON;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_MOUNT_POINT;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_NAME;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_NO_DISPLAY;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_PATH;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_PATTERNS;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_READ_ONLY;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_SORT_ORDER;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_SWALLOW_EXEC;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_SWALLOW_TITLE;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_TERMINAL;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_TERMINAL_OPTIONS;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_TRY_EXEC;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_TYPE;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_UNMOUNT_ICON;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_URL;
	[CCode (cheader_filename = "purple.h")]
	public const string DESKTOP_ITEM_VERSION;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_ACTIONS;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_COMMENT;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_DEFAULT_APP;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_DEV;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_DOC_PATH;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_ENCODING;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_EXEC;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_FILE_PATTERN;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_FS_TYPE;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_GENERIC_NAME;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_HIDDEN;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_ICON;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_MIME_TYPE;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_MINI_ICON;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_MOUNT_POINT;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_NAME;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_NO_DISPLAY;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_PATH;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_PATTERNS;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_READ_ONLY;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_SORT_ORDER;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_SWALLOW_EXEC;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_SWALLOW_TITLE;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_TERMINAL;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_TERMINAL_OPTIONS;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_TRY_EXEC;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_TYPE;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_UNMOUNT_ICON;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_URL;
	[CCode (cheader_filename = "purple.h")]
	public const string GAIM_DESKTOP_ITEM_VERSION;
	[CCode (cheader_filename = "purple.h")]
	public const int MAJOR_VERSION;
	[CCode (cheader_filename = "purple.h")]
	public const int MICRO_VERSION;
	[CCode (cheader_filename = "purple.h")]
	public const int MINOR_VERSION;
	[CCode (cheader_filename = "purple.h")]
	public const string MOOD_COMMENT;
	[CCode (cheader_filename = "purple.h")]
	public const string MOOD_NAME;
	[CCode (cheader_filename = "purple.h")]
	public const int NO_TZ_OFF;
	[CCode (cheader_filename = "purple.h")]
	public const int PLUGINS;
	[CCode (cheader_filename = "purple.h")]
	public const int PLUGIN_FLAG_INVISIBLE;
	[CCode (cheader_filename = "purple.h")]
	public const int PLUGIN_MAGIC;
	[CCode (cheader_filename = "purple.h")]
	public const int PMP_LIFETIME;
	[CCode (cheader_filename = "purple.h")]
	public const int PRIORITY_DEFAULT;
	[CCode (cheader_filename = "purple.h")]
	public const int PRIORITY_HIGHEST;
	[CCode (cheader_filename = "purple.h")]
	public const int PRIORITY_LOWEST;
	[CCode (cheader_filename = "purple.h")]
	public const int SIGNAL_PRIORITY_DEFAULT;
	[CCode (cheader_filename = "purple.h")]
	public const int SIGNAL_PRIORITY_HIGHEST;
	[CCode (cheader_filename = "purple.h")]
	public const int SIGNAL_PRIORITY_LOWEST;
	[CCode (cheader_filename = "purple.h")]
	public const int SSL_DEFAULT_PORT;
	[CCode (cheader_filename = "purple.h")]
	public const string TUNE_ALBUM;
	[CCode (cheader_filename = "purple.h")]
	public const string TUNE_ARTIST;
	[CCode (cheader_filename = "purple.h")]
	public const string TUNE_COMMENT;
	[CCode (cheader_filename = "purple.h")]
	public const string TUNE_FULL;
	[CCode (cheader_filename = "purple.h")]
	public const string TUNE_GENRE;
	[CCode (cheader_filename = "purple.h")]
	public const string TUNE_TIME;
	[CCode (cheader_filename = "purple.h")]
	public const string TUNE_TITLE;
	[CCode (cheader_filename = "purple.h")]
	public const string TUNE_TRACK;
	[CCode (cheader_filename = "purple.h")]
	public const string TUNE_URL;
	[CCode (cheader_filename = "purple.h")]
	public const string TUNE_YEAR;
	[CCode (cheader_filename = "purple.h")]
	public static void accounts_add (Purple.Account account);
	[CCode (cheader_filename = "purple.h")]
	public static void accounts_delete (Purple.Account account);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Account accounts_find (string name, string protocol);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Account accounts_find_any (string name, string protocol);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Account accounts_find_connected (string name, string protocol);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Account accounts_find_ext (string name, string protocol_id, GLib.Callback account_test);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List accounts_get_all ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List accounts_get_all_active ();
	[CCode (cheader_filename = "purple.h")]
	public static void* accounts_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.AccountUiOps accounts_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void accounts_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void accounts_remove (Purple.Account account);
	[CCode (cheader_filename = "purple.h")]
	public static void accounts_reorder (Purple.Account account, int new_index);
	[CCode (cheader_filename = "purple.h")]
	public static void accounts_restore_current_statuses ();
	[CCode (cheader_filename = "purple.h")]
	public static void accounts_set_ui_ops (Purple.AccountUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void accounts_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned uchar[] base16_decode (string str, size_t ret_len);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string base16_encode (uchar[] data, size_t len);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string base16_encode_chunked (uchar[] data, size_t len);
	[CCode (cheader_filename = "purple.h")]
	public static unowned uchar[] base64_decode (string str, size_t ret_len);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string base64_encode (uchar[] data, size_t len);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_add_account (Purple.Account account);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_add_buddy (Purple.Buddy buddy, Purple.Contact contact, Purple.Group group, Purple.BlistNode node);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_add_chat (Purple.Chat chat, Purple.Group group, Purple.BlistNode node);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_add_contact (Purple.Contact contact, Purple.Group group, Purple.BlistNode node);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_add_group (Purple.Group group, Purple.BlistNode node);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_alias_buddy (Purple.Buddy buddy, string alias);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_alias_chat (Purple.Chat chat, string alias);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_alias_contact (Purple.Contact contact, string alias);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_destroy ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Chat blist_find_chat (Purple.Account account, string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.SList blist_get_buddies ();
	[CCode (cheader_filename = "purple.h")]
	public static int blist_get_group_online_count (Purple.Group group);
	[CCode (cheader_filename = "purple.h")]
	public static int blist_get_group_size (Purple.Group group, bool offline);
	[CCode (cheader_filename = "purple.h")]
	public static void* blist_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.BlistNode blist_get_root ();
	[CCode (cheader_filename = "purple.h")]
	public static void* blist_get_ui_data ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.BlistUiOps blist_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void blist_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void blist_load ();
	[CCode (cheader_filename = "purple.h")]
	public static void blist_merge_contact (Purple.Contact source, Purple.BlistNode node);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.BuddyList blist_new ();
	[CCode (cheader_filename = "purple.h")]
	public static void blist_remove_account (Purple.Account account);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_remove_buddy (Purple.Buddy buddy);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_remove_chat (Purple.Chat chat);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_remove_contact (Purple.Contact contact);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_remove_group (Purple.Group group);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_rename_buddy (Purple.Buddy buddy, string name);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_rename_group (Purple.Group group, string name);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_request_add_buddy (Purple.Account account, string username, string group, string alias);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_request_add_chat (Purple.Account account, Purple.Group group, string alias, string name);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_request_add_group ();
	[CCode (cheader_filename = "purple.h")]
	public static void blist_schedule_save ();
	[CCode (cheader_filename = "purple.h")]
	public static void blist_server_alias_buddy (Purple.Buddy buddy, string alias);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_set_ui_data (void* ui_data);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_set_ui_ops (Purple.BlistUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_set_visible (bool show);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_show ();
	[CCode (cheader_filename = "purple.h")]
	public static void blist_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static void blist_update_buddy_icon (Purple.Buddy buddy);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_update_buddy_status (Purple.Buddy buddy, Purple.Status old_status);
	[CCode (cheader_filename = "purple.h")]
	public static void blist_update_node_icon (Purple.BlistNode node);
	[CCode (cheader_filename = "purple.h")]
	public static int build_dir (string path, int mode);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.SList certificates_import (Purple.CertificateScheme scheme, string filename);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Cipher ciphers_find_cipher (string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List ciphers_get_ciphers ();
	[CCode (cheader_filename = "purple.h")]
	public static void* ciphers_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static void ciphers_init ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Cipher ciphers_register_cipher (string name, Purple.CipherOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void ciphers_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static bool ciphers_unregister_cipher (Purple.Cipher cipher);
	[CCode (cheader_filename = "purple.h")]
	public static void* cmds_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.CommandsUiOps cmds_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void cmds_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void cmds_set_ui_ops (Purple.CommandsUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void cmds_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static void connections_disconnect_all ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List connections_get_all ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List connections_get_connecting ();
	[CCode (cheader_filename = "purple.h")]
	public static void* connections_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.ConnectionUiOps connections_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void connections_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void connections_set_ui_ops (Purple.ConnectionUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void connections_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static bool conv_custom_smiley_add (Purple.Conversation conv, string smile, string cksum_type, string chksum, bool remote);
	[CCode (cheader_filename = "purple.h")]
	public static void conv_custom_smiley_close (Purple.Conversation conv, string smile);
	[CCode (cheader_filename = "purple.h")]
	public static void conv_custom_smiley_write (Purple.Conversation conv, string smile, uchar[] data, size_t size);
	[CCode (cheader_filename = "purple.h")]
	public static bool conv_present_error (string who, Purple.Account account, string what);
	[CCode (cheader_filename = "purple.h")]
	public static void conv_send_confirm (Purple.Conversation conv, string message);
	[CCode (cheader_filename = "purple.h")]
	public static void* conversations_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static void conversations_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void conversations_set_ui_ops (Purple.ConversationUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void conversations_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string date_format_full (void* tm);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string date_format_long (void* tm);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string date_format_short (void* tm);
	[CCode (cheader_filename = "purple.h")]
	public static void debug (Purple.DebugLevel level, string category, string format);
	[CCode (cheader_filename = "purple.h")]
	public static void debug_error (string category, string format);
	[CCode (cheader_filename = "purple.h")]
	public static void debug_fatal (string category, string format);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.DebugUiOps debug_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void debug_info (string category, string format);
	[CCode (cheader_filename = "purple.h")]
	public static void debug_init ();
	[CCode (cheader_filename = "purple.h")]
	public static bool debug_is_enabled ();
	[CCode (cheader_filename = "purple.h")]
	public static bool debug_is_unsafe ();
	[CCode (cheader_filename = "purple.h")]
	public static bool debug_is_verbose ();
	[CCode (cheader_filename = "purple.h")]
	public static void debug_misc (string category, string format);
	[CCode (cheader_filename = "purple.h")]
	public static void debug_set_enabled (bool enabled);
	[CCode (cheader_filename = "purple.h")]
	public static void debug_set_ui_ops (Purple.DebugUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void debug_set_unsafe (bool unsafe);
	[CCode (cheader_filename = "purple.h")]
	public static void debug_set_verbose (bool verbose);
	[CCode (cheader_filename = "purple.h")]
	public static void debug_warning (string category, string format);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.DnsQueryData dnsquery_a (string hostname, int port, Purple.DnsQueryConnectFunction callback, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.DnsQueryData dnsquery_a_account (Purple.Account account, string hostname, int port, Purple.DnsQueryConnectFunction callback, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static void dnsquery_destroy (Purple.DnsQueryData query_data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string dnsquery_get_host (Purple.DnsQueryData query_data);
	[CCode (cheader_filename = "purple.h")]
	public static uint dnsquery_get_port (Purple.DnsQueryData query_data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.DnsQueryUiOps dnsquery_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void dnsquery_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void dnsquery_set_ui_ops (Purple.DnsQueryUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void dnsquery_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static bool email_is_valid (string address);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string escape_filename (string str);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.EventLoopUiOps eventloop_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void eventloop_set_ui_ops (Purple.EventLoopUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string fd_get_ip (int fd);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.SList find_buddies (Purple.Account account, string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Buddy find_buddy (Purple.Account account, string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Buddy find_buddy_in_group (Purple.Account account, string name, Purple.Group group);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Conversation find_chat (Purple.Connection gc, int id);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Conversation find_conversation_with_account (Purple.ConversationType type, string name, Purple.Account account);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Group find_group (string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Pounce find_pounce (Purple.Account pouncer, string pouncee, Purple.PounceEvent events);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Plugin find_prpl (string id);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string gai_strerror (int errnum);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.AttentionType get_attention_type_from_code (Purple.Account account, uint type_code);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.BuddyList get_blist ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List get_chats ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List get_conversations ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Core get_core ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string get_host_name ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List get_ims ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string get_tzoff_str (void* tm, bool iso);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.ProxyInfo global_proxy_get_info ();
	[CCode (cheader_filename = "purple.h")]
	public static void global_proxy_set_info (Purple.ProxyInfo info);
	[CCode (cheader_filename = "purple.h")]
	public static void got_protocol_handler_uri (string uri);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string home_dir ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.IdleUiOps idle_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void idle_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void idle_set (time_t time);
	[CCode (cheader_filename = "purple.h")]
	public static void idle_set_ui_ops (Purple.IdleUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void idle_touch ();
	[CCode (cheader_filename = "purple.h")]
	public static void idle_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.StoredImage imgstore_add (void* data, size_t size, string filename);
	[CCode (cheader_filename = "purple.h")]
	public static int imgstore_add_with_id (void* data, size_t size, string filename);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.StoredImage imgstore_find_by_id (int id);
	[CCode (cheader_filename = "purple.h")]
	public static void* imgstore_get_data (Purple.StoredImage img);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string imgstore_get_extension (Purple.StoredImage img);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string imgstore_get_filename (Purple.StoredImage img);
	[CCode (cheader_filename = "purple.h")]
	public static void* imgstore_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static size_t imgstore_get_size (Purple.StoredImage img);
	[CCode (cheader_filename = "purple.h")]
	public static void imgstore_init ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.StoredImage imgstore_new_from_file (string path);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.StoredImage imgstore_ref (Purple.StoredImage img);
	[CCode (cheader_filename = "purple.h")]
	public static void imgstore_ref_by_id (int id);
	[CCode (cheader_filename = "purple.h")]
	public static void imgstore_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.StoredImage imgstore_unref (Purple.StoredImage img);
	[CCode (cheader_filename = "purple.h")]
	public static void imgstore_unref_by_id (int id);
	[CCode (cheader_filename = "purple.h")]
	public static uint input_add (int fd, Purple.InputCondition cond, Purple.InputFunction func);
	[CCode (cheader_filename = "purple.h")]
	public static int input_get_error (int fd, int error);
	[CCode (cheader_filename = "purple.h")]
	public static bool input_remove (uint handle);
	[CCode (cheader_filename = "purple.h")]
	public static bool ip_address_is_valid (string ip);
	[CCode (cheader_filename = "purple.h")]
	public static bool ipv4_address_is_valid (string ip);
	[CCode (cheader_filename = "purple.h")]
	public static bool ipv6_address_is_valid (string ip);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string markup_escape_text (string text, ssize_t length);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static bool markup_find_tag (string needle, string haystack, out string start, out string end, out GLib.Datalist attributes);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string markup_get_css_property (string style, string opt);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string markup_get_tag_name (string tag);
	[CCode (cheader_filename = "purple.h")]
	public static void markup_html_to_xhtml (string html, out unowned string dest_xhtml, out unowned string dest_plain);
	[CCode (cheader_filename = "purple.h")]
	public static bool markup_is_rtl (string html);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string markup_linkify (string str);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string markup_slice (string str, uint x, uint y);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string markup_strip_html (string str);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string markup_unescape_entity (string text, int length);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__INT_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__POINTER_BOOLEAN (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_BOOLEAN__POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_INT__INT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_INT__INT_INT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_INT__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_INT__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_POINTER__POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_POINTER__POINTER_INT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_POINTER__POINTER_INT64 (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_POINTER__POINTER_INT64_BOOLEAN (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_POINTER__POINTER_INT_BOOLEAN (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_POINTER__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__INT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__INT_INT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_INT_INT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_INT_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_POINTER_UINT_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static void marshal_VOID__POINTER_UINT (Purple.Callback cb, void* args, void* data, void* return_val);
	[CCode (cheader_filename = "purple.h")]
	public static bool message_meify (string message, ssize_t len);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string mime_decode_field (string str);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.FileStream mkstemp (out unowned string path, bool binary);
	[CCode (cheader_filename = "purple.h")]
	public static int network_convert_idn_to_ascii (string @in, string @out);
	[CCode (cheader_filename = "purple.h")]
	public static void network_force_online ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List network_get_all_local_system_ips ();
	[CCode (cheader_filename = "purple.h")]
	public static void* network_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string network_get_local_system_ip (int fd);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string network_get_my_ip (int fd);
	[CCode (cheader_filename = "purple.h")]
	public static uint network_get_port_from_fd (int fd);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string network_get_public_ip ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string network_get_stun_ip ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string network_get_turn_ip ();
	[CCode (cheader_filename = "purple.h")]
	public static void network_init ();
	[CCode (cheader_filename = "purple.h")]
	public static uint network_ip_atoi (string ip);
	[CCode (cheader_filename = "purple.h")]
	public static bool network_is_available ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.NetworkListenData network_listen (uint port, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
	[CCode (cheader_filename = "purple.h")]
	public static void network_listen_cancel (Purple.NetworkListenData listen_data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.NetworkListenData network_listen_family (uint port, int socket_family, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
	[CCode (cheader_filename = "purple.h")]
	public static void network_listen_map_external (bool map_external);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.NetworkListenData network_listen_range (uint start, uint end, int socket_type, Purple.NetworkListenCallback cb, void* cb_data);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static void network_remove_port_mapping (int fd);
	[CCode (cheader_filename = "purple.h")]
	public static void network_set_public_ip (string ip);
	[CCode (cheader_filename = "purple.h")]
	public static void network_set_stun_server (string stun_server);
	[CCode (cheader_filename = "purple.h")]
	public static void network_set_turn_server (string turn_server);
	[CCode (cheader_filename = "purple.h")]
	public static void network_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string normalize (Purple.Account account, string str);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string normalize_nocase (Purple.Account account, string str);
	[CCode (cheader_filename = "purple.h")]
	public static void notify_close (Purple.NotifyType type, void* ui_handle);
	[CCode (cheader_filename = "purple.h")]
	public static void notify_close_with_handle (void* handle);
	[CCode (cheader_filename = "purple.h")]
	public static void* notify_email (void* handle, string subject, string from, string to, string url, Purple.NotifyCloseCallback cb);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static void* notify_formatted (void* handle, string title, string primary, string secondary, string text, Purple.NotifyCloseCallback cb);
	[CCode (cheader_filename = "purple.h")]
	public static void* notify_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.NotifyUiOps notify_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void notify_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void* notify_message (void* handle, Purple.NotifyMsgType type, string title, string primary, string secondary, Purple.NotifyCloseCallback cb);
	[CCode (cheader_filename = "purple.h")]
	public static void* notify_searchresults (Purple.Connection gc, string title, string primary, string secondary, Purple.NotifySearchResults results, Purple.NotifyCloseCallback cb);
	[CCode (cheader_filename = "purple.h")]
	public static void notify_set_ui_ops (Purple.NotifyUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void notify_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static void* notify_uri (void* handle, string uri);
	[CCode (cheader_filename = "purple.h")]
	public static void* notify_userinfo (Purple.Connection gc, string who, Purple.NotifyUserInfo user_info, Purple.NotifyCloseCallback cb);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string ntlm_gen_type1 (string hostname, string domain);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string ntlm_gen_type3 (string username, string passw, string hostname, string domain, uchar nonce, uint32 flags);
	[CCode (cheader_filename = "purple.h")]
	public static uchar ntlm_parse_type2 (string type2, uint32 flags);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_add_search_path (string path);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_destroy_all ();
	[CCode (cheader_filename = "purple.h")]
	public static bool plugins_enabled ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Plugin plugins_find_with_basename (string basename);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Plugin plugins_find_with_filename (string filename);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Plugin plugins_find_with_id (string id);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Plugin plugins_find_with_name (string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List plugins_get_all ();
	[CCode (cheader_filename = "purple.h")]
	public static void* plugins_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List plugins_get_loaded ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List plugins_get_protocols ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List plugins_get_search_paths ();
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_load_saved (string key);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_probe (string ext);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_register_load_notify_cb (GLib.Callback func, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_register_probe_notify_cb (GLib.Callback func, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_register_unload_notify_cb (GLib.Callback func, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_save_loaded (string key);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_unload (Purple.PluginType type);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_unload_all ();
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_unregister_load_notify_cb (GLib.Callback func);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_unregister_probe_notify_cb (GLib.Callback func);
	[CCode (cheader_filename = "purple.h")]
	public static void plugins_unregister_unload_notify_cb (GLib.Callback func);
	[CCode (cheader_filename = "purple.h")]
	public static bool pmp_create_map (Purple.PmpType type, uint privateport, uint publicport, int lifetime);
	[CCode (cheader_filename = "purple.h")]
	public static bool pmp_destroy_map (Purple.PmpType type, uint privateport);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string pmp_get_public_ip ();
	[CCode (cheader_filename = "purple.h")]
	public static void pmp_init ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List pounces_get_all ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List pounces_get_all_for_ui (string ui);
	[CCode (cheader_filename = "purple.h")]
	public static void* pounces_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static void pounces_init ();
	[CCode (cheader_filename = "purple.h")]
	public static bool pounces_load ();
	[CCode (cheader_filename = "purple.h")]
	public static void pounces_register_handler (string ui, Purple.PounceCb cb, GLib.Callback new_pounce, GLib.Callback free_pounce);
	[CCode (cheader_filename = "purple.h")]
	public static void pounces_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static void pounces_unregister_handler (string ui);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_add_bool (string name, bool value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_add_int (string name, int value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_add_none (string name);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_add_path (string name, string value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_add_path_list (string name, GLib.List value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_add_string (string name, string value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_add_string_list (string name, GLib.List value);
	[CCode (cheader_filename = "purple.h")]
	public static uint prefs_connect_callback (void* handle, string name, Purple.PrefCallback cb, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_destroy ();
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_disconnect_by_handle (void* handle);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_disconnect_callback (uint callback_id);
	[CCode (cheader_filename = "purple.h")]
	public static bool prefs_exists (string name);
	[CCode (cheader_filename = "purple.h")]
	public static bool prefs_get_bool (string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List prefs_get_children_names (string name);
	[CCode (cheader_filename = "purple.h")]
	public static void* prefs_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static int prefs_get_int (string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string prefs_get_path (string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List prefs_get_path_list (string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string prefs_get_string (string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List prefs_get_string_list (string name);
	[CCode (cheader_filename = "purple.h")]
	public static Purple.PrefType prefs_get_type (string name);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.PrefsUiOps prefs_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_init ();
	[CCode (cheader_filename = "purple.h")]
	public static bool prefs_load ();
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_remove (string name);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_rename (string oldname, string newname);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_rename_boolean_toggle (string oldname, string newname);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_set_bool (string name, bool value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_set_generic (string name, void* value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_set_int (string name, int value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_set_path (string name, string value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_set_path_list (string name, GLib.List value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_set_string (string name, string value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_set_string_list (string name, GLib.List value);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_set_ui_ops (Purple.PrefsUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_trigger_callback (string name);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_trigger_callback_object (Purple.PrefCallbackData data);
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static void prefs_update_old ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string primitive_get_id_from_type (Purple.StatusPrimitive type);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string primitive_get_name_from_type (Purple.StatusPrimitive type);
	[CCode (cheader_filename = "purple.h")]
	public static Purple.StatusPrimitive primitive_get_type_from_id (string id);
	[CCode (cheader_filename = "purple.h")]
	public static void print_utf8_to_console (GLib.FileStream filestream, string message);
	[CCode (cheader_filename = "purple.h")]
	public static void privacy_allow (Purple.Account account, string who, bool local, bool restore);
	[CCode (cheader_filename = "purple.h")]
	public static bool privacy_check (Purple.Account account, string who);
	[CCode (cheader_filename = "purple.h")]
	public static void privacy_deny (Purple.Account account, string who, bool local, bool restore);
	[CCode (cheader_filename = "purple.h")]
	public static bool privacy_deny_add (Purple.Account account, string name, bool local_only);
	[CCode (cheader_filename = "purple.h")]
	public static bool privacy_deny_remove (Purple.Account account, string name, bool local_only);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.PrivacyUiOps privacy_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void privacy_init ();
	[CCode (cheader_filename = "purple.h")]
	public static bool privacy_permit_add (Purple.Account account, string name, bool local_only);
	[CCode (cheader_filename = "purple.h")]
	public static bool privacy_permit_remove (Purple.Account account, string name, bool local_only);
	[CCode (cheader_filename = "purple.h")]
	public static void privacy_set_ui_ops (Purple.PrivacyUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static bool program_is_valid (string program);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.ProxyConnectData proxy_connect (void* handle, Purple.Account account, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static void proxy_connect_cancel (Purple.ProxyConnectData connect_data);
	[CCode (cheader_filename = "purple.h")]
	public static void proxy_connect_cancel_with_handle (void* handle);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.ProxyConnectData proxy_connect_socks5 (void* handle, Purple.ProxyInfo gpi, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.ProxyConnectData proxy_connect_udp (void* handle, Purple.Account account, string host, int port, Purple.ProxyConnectFunction connect_cb, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static void* proxy_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.ProxyInfo proxy_get_setup (Purple.Account account);
	[CCode (cheader_filename = "purple.h")]
	public static void proxy_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void proxy_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_change_account_status (Purple.Account account, Purple.Status old_status, Purple.Status new_status);
	[CCode (cheader_filename = "purple.h")]
	public static Purple.MediaCaps prpl_get_media_caps (Purple.Account account, string who);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List prpl_get_statuses (Purple.Account account, Purple.Presence presence);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_account_actions (Purple.Account account);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_account_idle (Purple.Account account, bool idle, time_t idle_time);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_account_login_time (Purple.Account account, time_t login_time);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_account_status (Purple.Account account, string status_id);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_attention (Purple.Connection gc, string who, uint type_code);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_attention_in_chat (Purple.Connection gc, int id, string who, uint type_code);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_media_caps (Purple.Account account, string who);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_user_idle (Purple.Account account, string name, bool idle, time_t idle_time);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_user_login_time (Purple.Account account, string name, time_t login_time);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_user_status (Purple.Account account, string name, string status_id);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_got_user_status_deactive (Purple.Account account, string name, string status_id);
	[CCode (cheader_filename = "purple.h")]
	public static bool prpl_initiate_media (Purple.Account account, string who, Purple.MediaSessionType type);
	[CCode (cheader_filename = "purple.h")]
	public static void prpl_send_attention (Purple.Connection gc, string who, uint type_code);
	[CCode (cheader_filename = "purple.h")]
	public static unowned uchar[] quotedp_decode (string str, size_t ret_len);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static void request_close (Purple.RequestType type, void* uihandle);
	[CCode (cheader_filename = "purple.h")]
	public static void request_close_with_handle (void* handle);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.RequestUiOps request_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static void request_set_ui_ops (Purple.RequestUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void restore_default_signal_handlers ();
	[CCode (cheader_filename = "purple.h")]
	public static bool running_gnome ();
	[CCode (cheader_filename = "purple.h")]
	public static bool running_kde ();
	[CCode (cheader_filename = "purple.h")]
	public static bool running_osx ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List savedstatuses_get_all ();
	[CCode (cheader_filename = "purple.h")]
	public static void* savedstatuses_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List savedstatuses_get_popular (uint how_many);
	[CCode (cheader_filename = "purple.h")]
	public static void savedstatuses_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void savedstatuses_uninit ();
	[CCode (cheader_filename = "purple.h", cname = "serv_add_deny")]
	public static void serv_add_deny (Purple.Connection p1, string p2);
	[CCode (cheader_filename = "purple.h", cname = "serv_add_permit")]
	public static void serv_add_permit (Purple.Connection p1, string p2);
	[CCode (cheader_filename = "purple.h", cname = "serv_alias_buddy")]
	public static void serv_alias_buddy (Purple.Buddy p1);
	[CCode (cheader_filename = "purple.h", cname = "serv_chat_invite")]
	public static void serv_chat_invite (Purple.Connection p1, int p2, string p3, string p4);
	[CCode (cheader_filename = "purple.h", cname = "serv_chat_leave")]
	public static void serv_chat_leave (Purple.Connection p1, int p2);
	[CCode (cheader_filename = "purple.h", cname = "serv_chat_send")]
	public static int serv_chat_send (Purple.Connection p1, int p2, string p3, Purple.MessageFlags flags);
	[CCode (cheader_filename = "purple.h", cname = "serv_chat_whisper")]
	public static void serv_chat_whisper (Purple.Connection p1, int p2, string p3, string p4);
	[CCode (cheader_filename = "purple.h", cname = "serv_get_info")]
	public static void serv_get_info (Purple.Connection p1, string p2);
	[CCode (cheader_filename = "purple.h", cname = "serv_got_alias")]
	public static void serv_got_alias (Purple.Connection gc, string who, string alias);
	[CCode (cheader_filename = "purple.h", cname = "serv_got_attention")]
	public static void serv_got_attention (Purple.Connection gc, string who, uint type_code);
	[CCode (cheader_filename = "purple.h", cname = "serv_got_chat_in")]
	public static void serv_got_chat_in (Purple.Connection g, int id, string who, Purple.MessageFlags flags, string message, time_t mtime);
	[CCode (cheader_filename = "purple.h", cname = "serv_got_chat_invite")]
	public static void serv_got_chat_invite (Purple.Connection gc, string name, string who, string message, GLib.HashTable data);
	[CCode (cheader_filename = "purple.h", cname = "serv_got_chat_left")]
	public static void serv_got_chat_left (Purple.Connection g, int id);
	[CCode (cheader_filename = "purple.h", cname = "serv_got_im")]
	public static void serv_got_im (Purple.Connection gc, string who, string msg, Purple.MessageFlags flags, time_t mtime);
	[CCode (cheader_filename = "purple.h")]
	public static void serv_got_join_chat_failed (Purple.Connection gc, GLib.HashTable data);
	[CCode (cheader_filename = "purple.h", cname = "serv_got_joined_chat")]
	public static unowned Purple.Conversation serv_got_joined_chat (Purple.Connection gc, int id, string name);
	[CCode (cheader_filename = "purple.h")]
	public static void serv_got_private_alias (Purple.Connection gc, string who, string alias);
	[CCode (cheader_filename = "purple.h", cname = "serv_got_typing")]
	public static void serv_got_typing (Purple.Connection gc, string name, int timeout, Purple.TypingState state);
	[CCode (cheader_filename = "purple.h", cname = "serv_got_typing_stopped")]
	public static void serv_got_typing_stopped (Purple.Connection gc, string name);
	[CCode (cheader_filename = "purple.h", cname = "serv_join_chat")]
	public static void serv_join_chat (Purple.Connection p1, GLib.HashTable data);
	[CCode (cheader_filename = "purple.h", cname = "serv_move_buddy")]
	public static void serv_move_buddy (Purple.Buddy p1, Purple.Group p2, Purple.Group p3);
	[CCode (cheader_filename = "purple.h", cname = "serv_reject_chat")]
	public static void serv_reject_chat (Purple.Connection p1, GLib.HashTable data);
	[CCode (cheader_filename = "purple.h", cname = "serv_rem_deny")]
	public static void serv_rem_deny (Purple.Connection p1, string p2);
	[CCode (cheader_filename = "purple.h", cname = "serv_rem_permit")]
	public static void serv_rem_permit (Purple.Connection p1, string p2);
	[CCode (cheader_filename = "purple.h", cname = "serv_send_attention")]
	public static void serv_send_attention (Purple.Connection gc, string who, uint type_code);
	[CCode (cheader_filename = "purple.h", cname = "serv_send_file")]
	public static void serv_send_file (Purple.Connection gc, string who, string file);
	[CCode (cheader_filename = "purple.h", cname = "serv_send_im")]
	public static int serv_send_im (Purple.Connection p1, string p2, string p3, Purple.MessageFlags flags);
	[CCode (cheader_filename = "purple.h", cname = "serv_send_typing")]
	public static uint serv_send_typing (Purple.Connection gc, string name, Purple.TypingState state);
	[CCode (cheader_filename = "purple.h", cname = "serv_set_info")]
	public static void serv_set_info (Purple.Connection p1, string p2);
	[CCode (cheader_filename = "purple.h", cname = "serv_set_permit_deny")]
	public static void serv_set_permit_deny (Purple.Connection p1);
	[CCode (cheader_filename = "purple.h")]
	public static void set_blist (Purple.BuddyList blist);
	[CCode (cheader_filename = "purple.h")]
	public static ulong signal_connect (void* instance, string @signal, void* handle, Purple.Callback func, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static ulong signal_connect_priority (void* instance, string @signal, void* handle, Purple.Callback func, void* data, int priority);
	[CCode (cheader_filename = "purple.h")]
	public static ulong signal_connect_priority_vargs (void* instance, string @signal, void* handle, Purple.Callback func, void* data, int priority);
	[CCode (cheader_filename = "purple.h")]
	public static ulong signal_connect_vargs (void* instance, string @signal, void* handle, Purple.Callback func, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static void signal_disconnect (void* instance, string @signal, void* handle, Purple.Callback func);
	[CCode (cheader_filename = "purple.h")]
	public static void signal_emit (void* instance, string @signal);
	[CCode (cheader_filename = "purple.h")]
	public static void* signal_emit_return_1 (void* instance, string @signal);
	[CCode (cheader_filename = "purple.h")]
	public static void signal_emit_vargs (void* instance, string @signal, void* args);
	[CCode (cheader_filename = "purple.h")]
	public static void* signal_emit_vargs_return_1 (void* instance, string @signal, void* args);
	[CCode (cheader_filename = "purple.h")]
	public static void signal_get_values (void* instance, string @signal, out unowned Purple.Value ret_value, int num_values, out unowned Purple.Value values);
	[CCode (cheader_filename = "purple.h")]
	public static ulong signal_register (void* instance, string @signal, Purple.SignalMarshalFunc marshal, Purple.Value ret_value, int num_values);
	[CCode (cheader_filename = "purple.h")]
	public static void signal_unregister (void* instance, string @signal);
	[CCode (cheader_filename = "purple.h")]
	public static void signals_disconnect_by_handle (void* handle);
	[CCode (cheader_filename = "purple.h")]
	public static void signals_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void signals_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static void signals_unregister_by_instance (void* instance);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Smiley smileys_find_by_checksum (string checksum);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.Smiley smileys_find_by_shortcut (string shortcut);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List smileys_get_all ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string smileys_get_storing_dir ();
	[CCode (cheader_filename = "purple.h")]
	public static void smileys_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void smileys_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static int socket_get_family (int fd);
	[CCode (cheader_filename = "purple.h")]
	public static bool socket_speaks_ipv4 (int fd);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.SoundUiOps sound_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void sound_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void sound_play_event (Purple.SoundEventID event, Purple.Account account);
	[CCode (cheader_filename = "purple.h")]
	public static void sound_play_file (string filename, Purple.Account account);
	[CCode (cheader_filename = "purple.h")]
	public static void sound_set_ui_ops (Purple.SoundUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void sound_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static void* sounds_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static void srv_cancel (Purple.SrvTxtQueryData query_data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.SrvTxtQueryData srv_resolve (string protocol, string transport, string domain, Purple.SrvCallback cb, void* extradata);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.SrvTxtQueryData srv_resolve_account (Purple.Account account, string protocol, string transport, string domain, Purple.SrvCallback cb, void* extradata);
	[CCode (cheader_filename = "purple.h")]
	public static void srv_txt_query_destroy (Purple.SrvTxtQueryData query_data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string srv_txt_query_get_query (Purple.SrvTxtQueryData query_data);
	[CCode (cheader_filename = "purple.h")]
	public static int srv_txt_query_get_type (Purple.SrvTxtQueryData query_data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.SrvTxtQueryUiOps srv_txt_query_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void srv_txt_query_set_ui_ops (Purple.SrvTxtQueryUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void ssl_close (Purple.SslConnection gsc);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.SslConnection ssl_connect (Purple.Account account, string host, int port, Purple.SslInputFunction func, Purple.SslErrorFunction error_func, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.SslConnection ssl_connect_fd (Purple.Account account, int fd, Purple.SslInputFunction func, Purple.SslErrorFunction error_func, void* data);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.SslOps ssl_get_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List ssl_get_peer_certificates (Purple.SslConnection gsc);
	[CCode (cheader_filename = "purple.h")]
	public static void ssl_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void ssl_input_add (Purple.SslConnection gsc, Purple.SslInputFunction func, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static bool ssl_is_supported ();
	[CCode (cheader_filename = "purple.h")]
	public static size_t ssl_read (Purple.SslConnection gsc, void* buffer, size_t len);
	[CCode (cheader_filename = "purple.h")]
	public static void ssl_set_ops (Purple.SslOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string ssl_strerror (Purple.SslErrorType error);
	[CCode (cheader_filename = "purple.h")]
	public static void ssl_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static size_t ssl_write (Purple.SslConnection gsc, void* buffer, size_t len);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string str_add_cr (string str);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string str_binary_to_ascii (uint binary, uint len);
	[CCode (cheader_filename = "purple.h")]
	public static bool str_has_prefix (string s, string p);
	[CCode (cheader_filename = "purple.h")]
	public static bool str_has_suffix (string s, string x);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string str_seconds_to_string (uint sec);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string str_size_to_units (size_t size);
	[CCode (cheader_filename = "purple.h")]
	public static void str_strip_char (string str, GLib.ObjectPath thechar);
	[CCode (cheader_filename = "purple.h")]
	public static time_t str_to_time (string timestamp, bool utc, void* tm, long tz_off, out unowned string rest);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string strcasereplace (string str, string delimiter, string replacement);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string strcasestr (string haystack, string needle);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string strdup_withhtml (string src);
	[CCode (cheader_filename = "purple.h")]
	public static bool strequal (string left, string right);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string strreplace (string str, string delimiter, string replacement);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.StunNatDiscovery stun_discover (Purple.StunCallback cb);
	[CCode (cheader_filename = "purple.h")]
	public static void stun_init ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string text_strip_mnemonic (string @in);
	[CCode (cheader_filename = "purple.h")]
	public static time_t time_build (int year, int month, int day, int hour, int min, int sec);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string time_format (void* tm);
	[CCode (cheader_filename = "purple.h")]
	public static uint timeout_add (uint interval, GLib.SourceFunc function, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static uint timeout_add_seconds (uint interval, GLib.SourceFunc function, void* data);
	[CCode (cheader_filename = "purple.h")]
	public static bool timeout_remove (uint handle);
	[CCode (cheader_filename = "purple.h")]
	public static void txt_cancel (Purple.SrvTxtQueryData query_data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.SrvTxtQueryData txt_resolve (string owner, string domain, Purple.TxtCallback cb, void* extradata);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.SrvTxtQueryData txt_resolve_account (Purple.Account account, string owner, string domain, Purple.TxtCallback cb, void* extradata);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string unescape_filename (string str);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string unescape_html (string html);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string unescape_text (string text);
	[CCode (cheader_filename = "purple.h")]
	public static void upnp_cancel_port_mapping (Purple.UPnPMappingAddRemove mapping_data);
	[CCode (cheader_filename = "purple.h")]
	public static void upnp_discover (Purple.UPnPCallback cb, void* cb_data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string upnp_get_public_ip ();
	[CCode (cheader_filename = "purple.h")]
	public static void upnp_init ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.UPnPMappingAddRemove upnp_remove_port_mapping (uint portmap, string protocol, Purple.UPnPCallback cb, void* cb_data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.UPnPMappingAddRemove upnp_set_port_mapping (uint portmap, string protocol, Purple.UPnPCallback cb, void* cb_data);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List uri_list_extract_filenames (string uri_list);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List uri_list_extract_uris (string uri_list);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string url_decode (string str);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string url_encode (string str);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string user_dir ();
	[CCode (cheader_filename = "purple.h")]
	public static bool utf8_has_word (string haystack, string needle);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string utf8_ncr_decode (string @in);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string utf8_ncr_encode (string @in);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string utf8_salvage (string str);
	[CCode (cheader_filename = "purple.h")]
	public static int utf8_strcasecmp (string a, string b);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string utf8_strftime (string format, void* tm);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string utf8_strip_unprintables (string str);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string utf8_try_convert (string str);
	[CCode (cheader_filename = "purple.h")]
	public static void util_chrreplace (string str, GLib.ObjectPath delimiter, GLib.ObjectPath replacement);
	[CCode (cheader_filename = "purple.h")]
	public static void util_fetch_url_cancel (Purple.UtilFetchUrlData url_data);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	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);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string util_format_song_info (string title, string artist, string album, void* unused);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string util_get_image_checksum (void* image_data, size_t image_len);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string util_get_image_extension (void* data, size_t len);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string util_get_image_filename (void* image_data, size_t image_len);
	[CCode (cheader_filename = "purple.h")]
	public static void util_init ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.xmlnode util_read_xml_from_file (string filename, string description);
	[CCode (cheader_filename = "purple.h")]
	public static void util_set_current_song (string title, string artist, string album);
	[CCode (cheader_filename = "purple.h")]
	public static void util_set_user_dir (string dir);
	[CCode (cheader_filename = "purple.h")]
	public static void util_uninit ();
	[CCode (cheader_filename = "purple.h")]
	public static bool util_write_data_to_file (string filename, string data, ssize_t size);
	[CCode (cheader_filename = "purple.h")]
	public static bool util_write_data_to_file_absolute (string filename_full, string data, ssize_t size);
	[CCode (cheader_filename = "purple.h")]
	public static unowned string uuid_random ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned string version_check (uint required_major, uint required_minor, uint required_micro);
	[CCode (cheader_filename = "purple.h")]
	public static unowned GLib.List xfers_get_all ();
	[CCode (cheader_filename = "purple.h")]
	public static void* xfers_get_handle ();
	[CCode (cheader_filename = "purple.h")]
	public static unowned Purple.XferUiOps xfers_get_ui_ops ();
	[CCode (cheader_filename = "purple.h")]
	public static void xfers_init ();
	[CCode (cheader_filename = "purple.h")]
	public static void xfers_set_ui_ops (Purple.XferUiOps ops);
	[CCode (cheader_filename = "purple.h")]
	public static void xfers_uninit ();
}