Coverage Report

Created: 2024-01-26 01:52

/work/toxcore/tox_api.c
Line
Count
Source (jump to first uncovered line)
1
/* SPDX-License-Identifier: GPL-3.0-or-later
2
 * Copyright © 2016-2021 The TokTok team.
3
 */
4
#include "tox.h"
5
6
#include <stdlib.h>
7
8
#include "ccompat.h"
9
#include "tox_private.h"
10
11
#define SET_ERROR_PARAMETER(param, x) \
12
4.18k
    do {                              \
13
4.18k
        if (param != nullptr) {       \
14
1.16k
            *param = x;               \
15
1.16k
        }                             \
16
4.18k
    } while (0)
17
18
uint32_t tox_version_major(void)
19
1
{
20
1
    return TOX_VERSION_MAJOR;
21
1
}
22
uint32_t tox_version_minor(void)
23
1
{
24
1
    return TOX_VERSION_MINOR;
25
1
}
26
uint32_t tox_version_patch(void)
27
1
{
28
1
    return TOX_VERSION_PATCH;
29
1
}
30
uint32_t tox_public_key_size(void)
31
1
{
32
1
    return TOX_PUBLIC_KEY_SIZE;
33
1
}
34
uint32_t tox_secret_key_size(void)
35
1
{
36
1
    return TOX_SECRET_KEY_SIZE;
37
1
}
38
uint32_t tox_conference_uid_size(void)
39
1
{
40
1
    return TOX_CONFERENCE_UID_SIZE;
41
1
}
42
uint32_t tox_conference_id_size(void)
43
1
{
44
1
    return TOX_CONFERENCE_ID_SIZE;
45
1
}
46
uint32_t tox_nospam_size(void)
47
1
{
48
1
    return TOX_NOSPAM_SIZE;
49
1
}
50
uint32_t tox_address_size(void)
51
1
{
52
1
    return TOX_ADDRESS_SIZE;
53
1
}
54
uint32_t tox_max_name_length(void)
55
267
{
56
267
    return TOX_MAX_NAME_LENGTH;
57
267
}
58
uint32_t tox_max_status_message_length(void)
59
2.02k
{
60
2.02k
    return TOX_MAX_STATUS_MESSAGE_LENGTH;
61
2.02k
}
62
uint32_t tox_max_friend_request_length(void)
63
4
{
64
4
    return TOX_MAX_FRIEND_REQUEST_LENGTH;
65
4
}
66
uint32_t tox_max_message_length(void)
67
453
{
68
453
    return TOX_MAX_MESSAGE_LENGTH;
69
453
}
70
uint32_t tox_max_custom_packet_size(void)
71
89
{
72
89
    return TOX_MAX_CUSTOM_PACKET_SIZE;
73
89
}
74
uint32_t tox_hash_length(void)
75
1
{
76
1
    return TOX_HASH_LENGTH;
77
1
}
78
uint32_t tox_file_id_length(void)
79
1
{
80
1
    return TOX_FILE_ID_LENGTH;
81
1
}
82
uint32_t tox_max_filename_length(void)
83
1
{
84
1
    return TOX_MAX_FILENAME_LENGTH;
85
1
}
86
uint32_t tox_max_hostname_length(void)
87
1
{
88
1
    return TOX_MAX_HOSTNAME_LENGTH;
89
1
}
90
uint32_t tox_group_max_topic_length(void)
91
1
{
92
1
    return TOX_GROUP_MAX_TOPIC_LENGTH;
93
1
}
94
uint32_t tox_group_max_part_length(void)
95
1
{
96
1
    return TOX_GROUP_MAX_PART_LENGTH;
97
1
}
98
uint32_t tox_group_max_message_length(void)
99
1
{
100
1
    return TOX_GROUP_MAX_MESSAGE_LENGTH;
101
1
}
102
uint32_t tox_group_max_custom_lossy_packet_length(void)
103
1
{
104
1
    return TOX_GROUP_MAX_CUSTOM_LOSSY_PACKET_LENGTH;
105
1
}
106
uint32_t tox_group_max_custom_lossless_packet_length(void)
107
1
{
108
1
    return TOX_GROUP_MAX_CUSTOM_LOSSLESS_PACKET_LENGTH;
109
1
}
110
uint32_t tox_group_max_group_name_length(void)
111
1
{
112
1
    return TOX_GROUP_MAX_GROUP_NAME_LENGTH;
113
1
}
114
uint32_t tox_group_max_password_size(void)
115
1
{
116
1
    return TOX_GROUP_MAX_PASSWORD_SIZE;
117
1
}
118
uint32_t tox_group_chat_id_size(void)
119
1
{
120
1
    return TOX_GROUP_CHAT_ID_SIZE;
121
1
}
122
uint32_t tox_group_peer_public_key_size(void)
123
1
{
124
1
    return TOX_GROUP_PEER_PUBLIC_KEY_SIZE;
125
1
}
126
uint32_t tox_group_peer_ip_string_max_length(void)
127
0
{
128
0
    return TOX_GROUP_PEER_IP_STRING_MAX_LENGTH;
129
0
}
130
uint32_t tox_dht_node_ip_string_size(void)
131
1
{
132
1
    return TOX_DHT_NODE_IP_STRING_SIZE;
133
1
}
134
uint32_t tox_dht_node_public_key_size(void)
135
1
{
136
1
    return TOX_DHT_NODE_PUBLIC_KEY_SIZE;
137
1
}
138
139
4.22k
bool tox_options_get_ipv6_enabled(const Tox_Options *options) { return options->ipv6_enabled; }
140
void tox_options_set_ipv6_enabled(Tox_Options *options, bool ipv6_enabled)
141
7.72k
{
142
7.72k
    options->ipv6_enabled = ipv6_enabled;
143
7.72k
}
144
5.36k
bool tox_options_get_udp_enabled(const Tox_Options *options) { return options->udp_enabled; }
145
void tox_options_set_udp_enabled(Tox_Options *options, bool udp_enabled)
146
4.23k
{
147
4.23k
    options->udp_enabled = udp_enabled;
148
4.23k
}
149
Tox_Proxy_Type tox_options_get_proxy_type(const Tox_Options *options)
150
4.20k
{
151
4.20k
    return options->proxy_type;
152
4.20k
}
153
void tox_options_set_proxy_type(Tox_Options *options, Tox_Proxy_Type proxy_type)
154
4.40k
{
155
4.40k
    options->proxy_type = proxy_type;
156
4.40k
}
157
184
const char *tox_options_get_proxy_host(const Tox_Options *options) { return options->proxy_host; }
158
void tox_options_set_proxy_host(Tox_Options *options, const char *proxy_host)
159
187
{
160
187
    options->proxy_host = proxy_host;
161
187
}
162
368
uint16_t tox_options_get_proxy_port(const Tox_Options *options) { return options->proxy_port; }
163
void tox_options_set_proxy_port(Tox_Options *options, uint16_t proxy_port)
164
187
{
165
187
    options->proxy_port = proxy_port;
166
187
}
167
4.22k
uint16_t tox_options_get_start_port(const Tox_Options *options) { return options->start_port; }
168
void tox_options_set_start_port(Tox_Options *options, uint16_t start_port)
169
2.25k
{
170
2.25k
    options->start_port = start_port;
171
2.25k
}
172
4.22k
uint16_t tox_options_get_end_port(const Tox_Options *options) { return options->end_port; }
173
void tox_options_set_end_port(Tox_Options *options, uint16_t end_port)
174
2.25k
{
175
2.25k
    options->end_port = end_port;
176
2.25k
}
177
4.22k
uint16_t tox_options_get_tcp_port(const Tox_Options *options) { return options->tcp_port; }
178
void tox_options_set_tcp_port(Tox_Options *options, uint16_t tcp_port)
179
1.26k
{
180
1.26k
    options->tcp_port = tcp_port;
181
1.26k
}
182
bool tox_options_get_hole_punching_enabled(const Tox_Options *options)
183
4.22k
{
184
4.22k
    return options->hole_punching_enabled;
185
4.22k
}
186
void tox_options_set_hole_punching_enabled(Tox_Options *options, bool hole_punching_enabled)
187
4.18k
{
188
4.18k
    options->hole_punching_enabled = hole_punching_enabled;
189
4.18k
}
190
Tox_Savedata_Type tox_options_get_savedata_type(const Tox_Options *options)
191
12.6k
{
192
12.6k
    return options->savedata_type;
193
12.6k
}
194
void tox_options_set_savedata_type(Tox_Options *options, Tox_Savedata_Type savedata_type)
195
1.24k
{
196
1.24k
    options->savedata_type = savedata_type;
197
1.24k
}
198
size_t tox_options_get_savedata_length(const Tox_Options *options)
199
3.69k
{
200
3.69k
    return options->savedata_length;
201
3.69k
}
202
void tox_options_set_savedata_length(Tox_Options *options, size_t savedata_length)
203
0
{
204
0
    options->savedata_length = savedata_length;
205
0
}
206
tox_log_cb *tox_options_get_log_callback(const Tox_Options *options)
207
4.20k
{
208
4.20k
    return options->log_callback;
209
4.20k
}
210
void tox_options_set_log_callback(Tox_Options *options, tox_log_cb *log_callback)
211
3.06k
{
212
3.06k
    options->log_callback = log_callback;
213
3.06k
}
214
4.20k
void *tox_options_get_log_user_data(const Tox_Options *options) { return options->log_user_data; }
215
void tox_options_set_log_user_data(Tox_Options *options, void *log_user_data)
216
2.25k
{
217
2.25k
    options->log_user_data = log_user_data;
218
2.25k
}
219
bool tox_options_get_local_discovery_enabled(const Tox_Options *options)
220
4.22k
{
221
4.22k
    return options->local_discovery_enabled;
222
4.22k
}
223
void tox_options_set_local_discovery_enabled(Tox_Options *options, bool local_discovery_enabled)
224
6.44k
{
225
6.44k
    options->local_discovery_enabled = local_discovery_enabled;
226
6.44k
}
227
bool tox_options_get_dht_announcements_enabled(const Tox_Options *options)
228
4.22k
{
229
4.22k
    return options->dht_announcements_enabled;
230
4.22k
}
231
void tox_options_set_dht_announcements_enabled(Tox_Options *options, bool dht_announcements_enabled)
232
4.18k
{
233
4.18k
    options->dht_announcements_enabled = dht_announcements_enabled;
234
4.18k
}
235
bool tox_options_get_experimental_thread_safety(const Tox_Options *options)
236
4.18k
{
237
4.18k
    return options->experimental_thread_safety;
238
4.18k
}
239
void tox_options_set_experimental_thread_safety(
240
    Tox_Options *options, bool experimental_thread_safety)
241
4.18k
{
242
4.18k
    options->experimental_thread_safety = experimental_thread_safety;
243
4.18k
}
244
const Tox_System *tox_options_get_operating_system(const Tox_Options *options)
245
4.22k
{
246
4.22k
    return options->operating_system;
247
4.22k
}
248
void tox_options_set_operating_system(Tox_Options *options, const Tox_System *operating_system)
249
1.96k
{
250
1.96k
    options->operating_system = operating_system;
251
1.96k
}
252
253
const uint8_t *tox_options_get_savedata_data(const Tox_Options *options)
254
3.69k
{
255
3.69k
    return options->savedata_data;
256
3.69k
}
257
258
void tox_options_set_savedata_data(Tox_Options *options, const uint8_t *savedata_data, size_t length)
259
1.25k
{
260
1.25k
    options->savedata_data = savedata_data;
261
1.25k
    options->savedata_length = length;
262
1.25k
}
263
264
void tox_options_default(Tox_Options *options)
265
4.18k
{
266
4.18k
    if (options != nullptr) {
267
4.18k
        const Tox_Options default_options = {0};
268
4.18k
        *options = default_options;
269
4.18k
        tox_options_set_ipv6_enabled(options, true);
270
4.18k
        tox_options_set_udp_enabled(options, true);
271
4.18k
        tox_options_set_proxy_type(options, TOX_PROXY_TYPE_NONE);
272
4.18k
        tox_options_set_hole_punching_enabled(options, true);
273
4.18k
        tox_options_set_local_discovery_enabled(options, true);
274
4.18k
        tox_options_set_dht_announcements_enabled(options, true);
275
4.18k
        tox_options_set_experimental_thread_safety(options, false);
276
4.18k
    }
277
4.18k
}
278
279
Tox_Options *tox_options_new(Tox_Err_Options_New *error)
280
4.18k
{
281
4.18k
    Tox_Options *options = (Tox_Options *)calloc(1, sizeof(Tox_Options));
282
283
4.18k
    if (options != nullptr) {
284
4.18k
        tox_options_default(options);
285
4.18k
        SET_ERROR_PARAMETER(error, TOX_ERR_OPTIONS_NEW_OK);
286
4.18k
        return options;
287
4.18k
    }
288
289
3
    SET_ERROR_PARAMETER(error, TOX_ERR_OPTIONS_NEW_MALLOC);
290
3
    return nullptr;
291
4.18k
}
292
293
void tox_options_free(Tox_Options *options)
294
7.99k
{
295
7.99k
    free(options);
296
7.99k
}
297
298
const char *tox_user_status_to_string(Tox_User_Status value)
299
0
{
300
0
    switch (value) {
301
0
        case TOX_USER_STATUS_NONE:
302
0
            return "TOX_USER_STATUS_NONE";
303
304
0
        case TOX_USER_STATUS_AWAY:
305
0
            return "TOX_USER_STATUS_AWAY";
306
307
0
        case TOX_USER_STATUS_BUSY:
308
0
            return "TOX_USER_STATUS_BUSY";
309
0
    }
310
311
0
    return "<invalid Tox_User_Status>";
312
0
}
313
const char *tox_message_type_to_string(Tox_Message_Type value)
314
0
{
315
0
    switch (value) {
316
0
        case TOX_MESSAGE_TYPE_NORMAL:
317
0
            return "TOX_MESSAGE_TYPE_NORMAL";
318
319
0
        case TOX_MESSAGE_TYPE_ACTION:
320
0
            return "TOX_MESSAGE_TYPE_ACTION";
321
0
    }
322
323
0
    return "<invalid Tox_Message_Type>";
324
0
}
325
const char *tox_proxy_type_to_string(Tox_Proxy_Type value)
326
0
{
327
0
    switch (value) {
328
0
        case TOX_PROXY_TYPE_NONE:
329
0
            return "TOX_PROXY_TYPE_NONE";
330
331
0
        case TOX_PROXY_TYPE_HTTP:
332
0
            return "TOX_PROXY_TYPE_HTTP";
333
334
0
        case TOX_PROXY_TYPE_SOCKS5:
335
0
            return "TOX_PROXY_TYPE_SOCKS5";
336
0
    }
337
338
0
    return "<invalid Tox_Proxy_Type>";
339
0
}
340
const char *tox_savedata_type_to_string(Tox_Savedata_Type value)
341
0
{
342
0
    switch (value) {
343
0
        case TOX_SAVEDATA_TYPE_NONE:
344
0
            return "TOX_SAVEDATA_TYPE_NONE";
345
346
0
        case TOX_SAVEDATA_TYPE_TOX_SAVE:
347
0
            return "TOX_SAVEDATA_TYPE_TOX_SAVE";
348
349
0
        case TOX_SAVEDATA_TYPE_SECRET_KEY:
350
0
            return "TOX_SAVEDATA_TYPE_SECRET_KEY";
351
0
    }
352
353
0
    return "<invalid Tox_Savedata_Type>";
354
0
}
355
const char *tox_log_level_to_string(Tox_Log_Level value)
356
9
{
357
9
    switch (value) {
358
3
        case TOX_LOG_LEVEL_TRACE:
359
3
            return "TOX_LOG_LEVEL_TRACE";
360
361
3
        case TOX_LOG_LEVEL_DEBUG:
362
3
            return "TOX_LOG_LEVEL_DEBUG";
363
364
3
        case TOX_LOG_LEVEL_INFO:
365
3
            return "TOX_LOG_LEVEL_INFO";
366
367
0
        case TOX_LOG_LEVEL_WARNING:
368
0
            return "TOX_LOG_LEVEL_WARNING";
369
370
0
        case TOX_LOG_LEVEL_ERROR:
371
0
            return "TOX_LOG_LEVEL_ERROR";
372
9
    }
373
374
0
    return "<invalid Tox_Log_Level>";
375
9
}
376
const char *tox_err_options_new_to_string(Tox_Err_Options_New value)
377
0
{
378
0
    switch (value) {
379
0
        case TOX_ERR_OPTIONS_NEW_OK:
380
0
            return "TOX_ERR_OPTIONS_NEW_OK";
381
382
0
        case TOX_ERR_OPTIONS_NEW_MALLOC:
383
0
            return "TOX_ERR_OPTIONS_NEW_MALLOC";
384
0
    }
385
386
0
    return "<invalid Tox_Err_Options_New>";
387
0
}
388
const char *tox_err_new_to_string(Tox_Err_New value)
389
0
{
390
0
    switch (value) {
391
0
        case TOX_ERR_NEW_OK:
392
0
            return "TOX_ERR_NEW_OK";
393
394
0
        case TOX_ERR_NEW_NULL:
395
0
            return "TOX_ERR_NEW_NULL";
396
397
0
        case TOX_ERR_NEW_MALLOC:
398
0
            return "TOX_ERR_NEW_MALLOC";
399
400
0
        case TOX_ERR_NEW_PORT_ALLOC:
401
0
            return "TOX_ERR_NEW_PORT_ALLOC";
402
403
0
        case TOX_ERR_NEW_PROXY_BAD_TYPE:
404
0
            return "TOX_ERR_NEW_PROXY_BAD_TYPE";
405
406
0
        case TOX_ERR_NEW_PROXY_BAD_HOST:
407
0
            return "TOX_ERR_NEW_PROXY_BAD_HOST";
408
409
0
        case TOX_ERR_NEW_PROXY_BAD_PORT:
410
0
            return "TOX_ERR_NEW_PROXY_BAD_PORT";
411
412
0
        case TOX_ERR_NEW_PROXY_NOT_FOUND:
413
0
            return "TOX_ERR_NEW_PROXY_NOT_FOUND";
414
415
0
        case TOX_ERR_NEW_LOAD_ENCRYPTED:
416
0
            return "TOX_ERR_NEW_LOAD_ENCRYPTED";
417
418
0
        case TOX_ERR_NEW_LOAD_BAD_FORMAT:
419
0
            return "TOX_ERR_NEW_LOAD_BAD_FORMAT";
420
0
    }
421
422
0
    return "<invalid Tox_Err_New>";
423
0
}
424
const char *tox_err_bootstrap_to_string(Tox_Err_Bootstrap value)
425
0
{
426
0
    switch (value) {
427
0
        case TOX_ERR_BOOTSTRAP_OK:
428
0
            return "TOX_ERR_BOOTSTRAP_OK";
429
430
0
        case TOX_ERR_BOOTSTRAP_NULL:
431
0
            return "TOX_ERR_BOOTSTRAP_NULL";
432
433
0
        case TOX_ERR_BOOTSTRAP_BAD_HOST:
434
0
            return "TOX_ERR_BOOTSTRAP_BAD_HOST";
435
436
0
        case TOX_ERR_BOOTSTRAP_BAD_PORT:
437
0
            return "TOX_ERR_BOOTSTRAP_BAD_PORT";
438
0
    }
439
440
0
    return "<invalid Tox_Err_Bootstrap>";
441
0
}
442
const char *tox_connection_to_string(Tox_Connection value)
443
0
{
444
0
    switch (value) {
445
0
        case TOX_CONNECTION_NONE:
446
0
            return "TOX_CONNECTION_NONE";
447
448
0
        case TOX_CONNECTION_TCP:
449
0
            return "TOX_CONNECTION_TCP";
450
451
0
        case TOX_CONNECTION_UDP:
452
0
            return "TOX_CONNECTION_UDP";
453
0
    }
454
455
0
    return "<invalid Tox_Connection>";
456
0
}
457
const char *tox_err_set_info_to_string(Tox_Err_Set_Info value)
458
0
{
459
0
    switch (value) {
460
0
        case TOX_ERR_SET_INFO_OK:
461
0
            return "TOX_ERR_SET_INFO_OK";
462
463
0
        case TOX_ERR_SET_INFO_NULL:
464
0
            return "TOX_ERR_SET_INFO_NULL";
465
466
0
        case TOX_ERR_SET_INFO_TOO_LONG:
467
0
            return "TOX_ERR_SET_INFO_TOO_LONG";
468
0
    }
469
470
0
    return "<invalid Tox_Err_Set_Info>";
471
0
}
472
const char *tox_err_friend_add_to_string(Tox_Err_Friend_Add value)
473
0
{
474
0
    switch (value) {
475
0
        case TOX_ERR_FRIEND_ADD_OK:
476
0
            return "TOX_ERR_FRIEND_ADD_OK";
477
478
0
        case TOX_ERR_FRIEND_ADD_NULL:
479
0
            return "TOX_ERR_FRIEND_ADD_NULL";
480
481
0
        case TOX_ERR_FRIEND_ADD_TOO_LONG:
482
0
            return "TOX_ERR_FRIEND_ADD_TOO_LONG";
483
484
0
        case TOX_ERR_FRIEND_ADD_NO_MESSAGE:
485
0
            return "TOX_ERR_FRIEND_ADD_NO_MESSAGE";
486
487
0
        case TOX_ERR_FRIEND_ADD_OWN_KEY:
488
0
            return "TOX_ERR_FRIEND_ADD_OWN_KEY";
489
490
0
        case TOX_ERR_FRIEND_ADD_ALREADY_SENT:
491
0
            return "TOX_ERR_FRIEND_ADD_ALREADY_SENT";
492
493
0
        case TOX_ERR_FRIEND_ADD_BAD_CHECKSUM:
494
0
            return "TOX_ERR_FRIEND_ADD_BAD_CHECKSUM";
495
496
0
        case TOX_ERR_FRIEND_ADD_SET_NEW_NOSPAM:
497
0
            return "TOX_ERR_FRIEND_ADD_SET_NEW_NOSPAM";
498
499
0
        case TOX_ERR_FRIEND_ADD_MALLOC:
500
0
            return "TOX_ERR_FRIEND_ADD_MALLOC";
501
0
    }
502
503
0
    return "<invalid Tox_Err_Friend_Add>";
504
0
}
505
const char *tox_err_friend_delete_to_string(Tox_Err_Friend_Delete value)
506
0
{
507
0
    switch (value) {
508
0
        case TOX_ERR_FRIEND_DELETE_OK:
509
0
            return "TOX_ERR_FRIEND_DELETE_OK";
510
511
0
        case TOX_ERR_FRIEND_DELETE_FRIEND_NOT_FOUND:
512
0
            return "TOX_ERR_FRIEND_DELETE_FRIEND_NOT_FOUND";
513
0
    }
514
515
0
    return "<invalid Tox_Err_Friend_Delete>";
516
0
}
517
const char *tox_err_friend_by_public_key_to_string(Tox_Err_Friend_By_Public_Key value)
518
0
{
519
0
    switch (value) {
520
0
        case TOX_ERR_FRIEND_BY_PUBLIC_KEY_OK:
521
0
            return "TOX_ERR_FRIEND_BY_PUBLIC_KEY_OK";
522
523
0
        case TOX_ERR_FRIEND_BY_PUBLIC_KEY_NULL:
524
0
            return "TOX_ERR_FRIEND_BY_PUBLIC_KEY_NULL";
525
526
0
        case TOX_ERR_FRIEND_BY_PUBLIC_KEY_NOT_FOUND:
527
0
            return "TOX_ERR_FRIEND_BY_PUBLIC_KEY_NOT_FOUND";
528
0
    }
529
530
0
    return "<invalid Tox_Err_Friend_By_Public_Key>";
531
0
}
532
const char *tox_err_friend_get_public_key_to_string(Tox_Err_Friend_Get_Public_Key value)
533
0
{
534
0
    switch (value) {
535
0
        case TOX_ERR_FRIEND_GET_PUBLIC_KEY_OK:
536
0
            return "TOX_ERR_FRIEND_GET_PUBLIC_KEY_OK";
537
538
0
        case TOX_ERR_FRIEND_GET_PUBLIC_KEY_FRIEND_NOT_FOUND:
539
0
            return "TOX_ERR_FRIEND_GET_PUBLIC_KEY_FRIEND_NOT_FOUND";
540
0
    }
541
542
0
    return "<invalid Tox_Err_Friend_Get_Public_Key>";
543
0
}
544
const char *tox_err_friend_get_last_online_to_string(Tox_Err_Friend_Get_Last_Online value)
545
0
{
546
0
    switch (value) {
547
0
        case TOX_ERR_FRIEND_GET_LAST_ONLINE_OK:
548
0
            return "TOX_ERR_FRIEND_GET_LAST_ONLINE_OK";
549
550
0
        case TOX_ERR_FRIEND_GET_LAST_ONLINE_FRIEND_NOT_FOUND:
551
0
            return "TOX_ERR_FRIEND_GET_LAST_ONLINE_FRIEND_NOT_FOUND";
552
0
    }
553
554
0
    return "<invalid Tox_Err_Friend_Get_Last_Online>";
555
0
}
556
const char *tox_err_friend_query_to_string(Tox_Err_Friend_Query value)
557
0
{
558
0
    switch (value) {
559
0
        case TOX_ERR_FRIEND_QUERY_OK:
560
0
            return "TOX_ERR_FRIEND_QUERY_OK";
561
562
0
        case TOX_ERR_FRIEND_QUERY_NULL:
563
0
            return "TOX_ERR_FRIEND_QUERY_NULL";
564
565
0
        case TOX_ERR_FRIEND_QUERY_FRIEND_NOT_FOUND:
566
0
            return "TOX_ERR_FRIEND_QUERY_FRIEND_NOT_FOUND";
567
0
    }
568
569
0
    return "<invalid Tox_Err_Friend_Query>";
570
0
}
571
const char *tox_err_set_typing_to_string(Tox_Err_Set_Typing value)
572
0
{
573
0
    switch (value) {
574
0
        case TOX_ERR_SET_TYPING_OK:
575
0
            return "TOX_ERR_SET_TYPING_OK";
576
577
0
        case TOX_ERR_SET_TYPING_FRIEND_NOT_FOUND:
578
0
            return "TOX_ERR_SET_TYPING_FRIEND_NOT_FOUND";
579
0
    }
580
581
0
    return "<invalid Tox_Err_Set_Typing>";
582
0
}
583
const char *tox_err_friend_send_message_to_string(Tox_Err_Friend_Send_Message value)
584
0
{
585
0
    switch (value) {
586
0
        case TOX_ERR_FRIEND_SEND_MESSAGE_OK:
587
0
            return "TOX_ERR_FRIEND_SEND_MESSAGE_OK";
588
589
0
        case TOX_ERR_FRIEND_SEND_MESSAGE_NULL:
590
0
            return "TOX_ERR_FRIEND_SEND_MESSAGE_NULL";
591
592
0
        case TOX_ERR_FRIEND_SEND_MESSAGE_FRIEND_NOT_FOUND:
593
0
            return "TOX_ERR_FRIEND_SEND_MESSAGE_FRIEND_NOT_FOUND";
594
595
0
        case TOX_ERR_FRIEND_SEND_MESSAGE_FRIEND_NOT_CONNECTED:
596
0
            return "TOX_ERR_FRIEND_SEND_MESSAGE_FRIEND_NOT_CONNECTED";
597
598
0
        case TOX_ERR_FRIEND_SEND_MESSAGE_SENDQ:
599
0
            return "TOX_ERR_FRIEND_SEND_MESSAGE_SENDQ";
600
601
0
        case TOX_ERR_FRIEND_SEND_MESSAGE_TOO_LONG:
602
0
            return "TOX_ERR_FRIEND_SEND_MESSAGE_TOO_LONG";
603
604
0
        case TOX_ERR_FRIEND_SEND_MESSAGE_EMPTY:
605
0
            return "TOX_ERR_FRIEND_SEND_MESSAGE_EMPTY";
606
0
    }
607
608
0
    return "<invalid Tox_Err_Friend_Send_Message>";
609
0
}
610
const char *tox_file_control_to_string(Tox_File_Control value)
611
0
{
612
0
    switch (value) {
613
0
        case TOX_FILE_CONTROL_RESUME:
614
0
            return "TOX_FILE_CONTROL_RESUME";
615
616
0
        case TOX_FILE_CONTROL_PAUSE:
617
0
            return "TOX_FILE_CONTROL_PAUSE";
618
619
0
        case TOX_FILE_CONTROL_CANCEL:
620
0
            return "TOX_FILE_CONTROL_CANCEL";
621
0
    }
622
623
0
    return "<invalid Tox_File_Control>";
624
0
}
625
const char *tox_err_file_control_to_string(Tox_Err_File_Control value)
626
0
{
627
0
    switch (value) {
628
0
        case TOX_ERR_FILE_CONTROL_OK:
629
0
            return "TOX_ERR_FILE_CONTROL_OK";
630
631
0
        case TOX_ERR_FILE_CONTROL_FRIEND_NOT_FOUND:
632
0
            return "TOX_ERR_FILE_CONTROL_FRIEND_NOT_FOUND";
633
634
0
        case TOX_ERR_FILE_CONTROL_FRIEND_NOT_CONNECTED:
635
0
            return "TOX_ERR_FILE_CONTROL_FRIEND_NOT_CONNECTED";
636
637
0
        case TOX_ERR_FILE_CONTROL_NOT_FOUND:
638
0
            return "TOX_ERR_FILE_CONTROL_NOT_FOUND";
639
640
0
        case TOX_ERR_FILE_CONTROL_NOT_PAUSED:
641
0
            return "TOX_ERR_FILE_CONTROL_NOT_PAUSED";
642
643
0
        case TOX_ERR_FILE_CONTROL_DENIED:
644
0
            return "TOX_ERR_FILE_CONTROL_DENIED";
645
646
0
        case TOX_ERR_FILE_CONTROL_ALREADY_PAUSED:
647
0
            return "TOX_ERR_FILE_CONTROL_ALREADY_PAUSED";
648
649
0
        case TOX_ERR_FILE_CONTROL_SENDQ:
650
0
            return "TOX_ERR_FILE_CONTROL_SENDQ";
651
0
    }
652
653
0
    return "<invalid Tox_Err_File_Control>";
654
0
}
655
const char *tox_err_file_seek_to_string(Tox_Err_File_Seek value)
656
0
{
657
0
    switch (value) {
658
0
        case TOX_ERR_FILE_SEEK_OK:
659
0
            return "TOX_ERR_FILE_SEEK_OK";
660
661
0
        case TOX_ERR_FILE_SEEK_FRIEND_NOT_FOUND:
662
0
            return "TOX_ERR_FILE_SEEK_FRIEND_NOT_FOUND";
663
664
0
        case TOX_ERR_FILE_SEEK_FRIEND_NOT_CONNECTED:
665
0
            return "TOX_ERR_FILE_SEEK_FRIEND_NOT_CONNECTED";
666
667
0
        case TOX_ERR_FILE_SEEK_NOT_FOUND:
668
0
            return "TOX_ERR_FILE_SEEK_NOT_FOUND";
669
670
0
        case TOX_ERR_FILE_SEEK_DENIED:
671
0
            return "TOX_ERR_FILE_SEEK_DENIED";
672
673
0
        case TOX_ERR_FILE_SEEK_INVALID_POSITION:
674
0
            return "TOX_ERR_FILE_SEEK_INVALID_POSITION";
675
676
0
        case TOX_ERR_FILE_SEEK_SENDQ:
677
0
            return "TOX_ERR_FILE_SEEK_SENDQ";
678
0
    }
679
680
0
    return "<invalid Tox_Err_File_Seek>";
681
0
}
682
const char *tox_err_file_get_to_string(Tox_Err_File_Get value)
683
0
{
684
0
    switch (value) {
685
0
        case TOX_ERR_FILE_GET_OK:
686
0
            return "TOX_ERR_FILE_GET_OK";
687
688
0
        case TOX_ERR_FILE_GET_NULL:
689
0
            return "TOX_ERR_FILE_GET_NULL";
690
691
0
        case TOX_ERR_FILE_GET_FRIEND_NOT_FOUND:
692
0
            return "TOX_ERR_FILE_GET_FRIEND_NOT_FOUND";
693
694
0
        case TOX_ERR_FILE_GET_NOT_FOUND:
695
0
            return "TOX_ERR_FILE_GET_NOT_FOUND";
696
0
    }
697
698
0
    return "<invalid Tox_Err_File_Get>";
699
0
}
700
const char *tox_err_file_send_to_string(Tox_Err_File_Send value)
701
0
{
702
0
    switch (value) {
703
0
        case TOX_ERR_FILE_SEND_OK:
704
0
            return "TOX_ERR_FILE_SEND_OK";
705
706
0
        case TOX_ERR_FILE_SEND_NULL:
707
0
            return "TOX_ERR_FILE_SEND_NULL";
708
709
0
        case TOX_ERR_FILE_SEND_FRIEND_NOT_FOUND:
710
0
            return "TOX_ERR_FILE_SEND_FRIEND_NOT_FOUND";
711
712
0
        case TOX_ERR_FILE_SEND_FRIEND_NOT_CONNECTED:
713
0
            return "TOX_ERR_FILE_SEND_FRIEND_NOT_CONNECTED";
714
715
0
        case TOX_ERR_FILE_SEND_NAME_TOO_LONG:
716
0
            return "TOX_ERR_FILE_SEND_NAME_TOO_LONG";
717
718
0
        case TOX_ERR_FILE_SEND_TOO_MANY:
719
0
            return "TOX_ERR_FILE_SEND_TOO_MANY";
720
0
    }
721
722
0
    return "<invalid Tox_Err_File_Send>";
723
0
}
724
const char *tox_err_file_send_chunk_to_string(Tox_Err_File_Send_Chunk value)
725
0
{
726
0
    switch (value) {
727
0
        case TOX_ERR_FILE_SEND_CHUNK_OK:
728
0
            return "TOX_ERR_FILE_SEND_CHUNK_OK";
729
730
0
        case TOX_ERR_FILE_SEND_CHUNK_NULL:
731
0
            return "TOX_ERR_FILE_SEND_CHUNK_NULL";
732
733
0
        case TOX_ERR_FILE_SEND_CHUNK_FRIEND_NOT_FOUND:
734
0
            return "TOX_ERR_FILE_SEND_CHUNK_FRIEND_NOT_FOUND";
735
736
0
        case TOX_ERR_FILE_SEND_CHUNK_FRIEND_NOT_CONNECTED:
737
0
            return "TOX_ERR_FILE_SEND_CHUNK_FRIEND_NOT_CONNECTED";
738
739
0
        case TOX_ERR_FILE_SEND_CHUNK_NOT_FOUND:
740
0
            return "TOX_ERR_FILE_SEND_CHUNK_NOT_FOUND";
741
742
0
        case TOX_ERR_FILE_SEND_CHUNK_NOT_TRANSFERRING:
743
0
            return "TOX_ERR_FILE_SEND_CHUNK_NOT_TRANSFERRING";
744
745
0
        case TOX_ERR_FILE_SEND_CHUNK_INVALID_LENGTH:
746
0
            return "TOX_ERR_FILE_SEND_CHUNK_INVALID_LENGTH";
747
748
0
        case TOX_ERR_FILE_SEND_CHUNK_SENDQ:
749
0
            return "TOX_ERR_FILE_SEND_CHUNK_SENDQ";
750
751
0
        case TOX_ERR_FILE_SEND_CHUNK_WRONG_POSITION:
752
0
            return "TOX_ERR_FILE_SEND_CHUNK_WRONG_POSITION";
753
0
    }
754
755
0
    return "<invalid Tox_Err_File_Send_Chunk>";
756
0
}
757
const char *tox_conference_type_to_string(Tox_Conference_Type value)
758
0
{
759
0
    switch (value) {
760
0
        case TOX_CONFERENCE_TYPE_TEXT:
761
0
            return "TOX_CONFERENCE_TYPE_TEXT";
762
763
0
        case TOX_CONFERENCE_TYPE_AV:
764
0
            return "TOX_CONFERENCE_TYPE_AV";
765
0
    }
766
767
0
    return "<invalid Tox_Conference_Type>";
768
0
}
769
const char *tox_err_conference_new_to_string(Tox_Err_Conference_New value)
770
0
{
771
0
    switch (value) {
772
0
        case TOX_ERR_CONFERENCE_NEW_OK:
773
0
            return "TOX_ERR_CONFERENCE_NEW_OK";
774
775
0
        case TOX_ERR_CONFERENCE_NEW_INIT:
776
0
            return "TOX_ERR_CONFERENCE_NEW_INIT";
777
0
    }
778
779
0
    return "<invalid Tox_Err_Conference_New>";
780
0
}
781
const char *tox_err_conference_delete_to_string(Tox_Err_Conference_Delete value)
782
0
{
783
0
    switch (value) {
784
0
        case TOX_ERR_CONFERENCE_DELETE_OK:
785
0
            return "TOX_ERR_CONFERENCE_DELETE_OK";
786
787
0
        case TOX_ERR_CONFERENCE_DELETE_CONFERENCE_NOT_FOUND:
788
0
            return "TOX_ERR_CONFERENCE_DELETE_CONFERENCE_NOT_FOUND";
789
0
    }
790
791
0
    return "<invalid Tox_Err_Conference_Delete>";
792
0
}
793
const char *tox_err_conference_peer_query_to_string(Tox_Err_Conference_Peer_Query value)
794
0
{
795
0
    switch (value) {
796
0
        case TOX_ERR_CONFERENCE_PEER_QUERY_OK:
797
0
            return "TOX_ERR_CONFERENCE_PEER_QUERY_OK";
798
799
0
        case TOX_ERR_CONFERENCE_PEER_QUERY_CONFERENCE_NOT_FOUND:
800
0
            return "TOX_ERR_CONFERENCE_PEER_QUERY_CONFERENCE_NOT_FOUND";
801
802
0
        case TOX_ERR_CONFERENCE_PEER_QUERY_PEER_NOT_FOUND:
803
0
            return "TOX_ERR_CONFERENCE_PEER_QUERY_PEER_NOT_FOUND";
804
805
0
        case TOX_ERR_CONFERENCE_PEER_QUERY_NO_CONNECTION:
806
0
            return "TOX_ERR_CONFERENCE_PEER_QUERY_NO_CONNECTION";
807
0
    }
808
809
0
    return "<invalid Tox_Err_Conference_Peer_Query>";
810
0
}
811
const char *tox_err_conference_set_max_offline_to_string(Tox_Err_Conference_Set_Max_Offline value)
812
0
{
813
0
    switch (value) {
814
0
        case TOX_ERR_CONFERENCE_SET_MAX_OFFLINE_OK:
815
0
            return "TOX_ERR_CONFERENCE_SET_MAX_OFFLINE_OK";
816
817
0
        case TOX_ERR_CONFERENCE_SET_MAX_OFFLINE_CONFERENCE_NOT_FOUND:
818
0
            return "TOX_ERR_CONFERENCE_SET_MAX_OFFLINE_CONFERENCE_NOT_FOUND";
819
0
    }
820
821
0
    return "<invalid Tox_Err_Conference_Set_Max_Offline>";
822
0
}
823
const char *tox_err_conference_invite_to_string(Tox_Err_Conference_Invite value)
824
0
{
825
0
    switch (value) {
826
0
        case TOX_ERR_CONFERENCE_INVITE_OK:
827
0
            return "TOX_ERR_CONFERENCE_INVITE_OK";
828
829
0
        case TOX_ERR_CONFERENCE_INVITE_CONFERENCE_NOT_FOUND:
830
0
            return "TOX_ERR_CONFERENCE_INVITE_CONFERENCE_NOT_FOUND";
831
832
0
        case TOX_ERR_CONFERENCE_INVITE_FAIL_SEND:
833
0
            return "TOX_ERR_CONFERENCE_INVITE_FAIL_SEND";
834
835
0
        case TOX_ERR_CONFERENCE_INVITE_NO_CONNECTION:
836
0
            return "TOX_ERR_CONFERENCE_INVITE_NO_CONNECTION";
837
0
    }
838
839
0
    return "<invalid Tox_Err_Conference_Invite>";
840
0
}
841
const char *tox_err_conference_join_to_string(Tox_Err_Conference_Join value)
842
0
{
843
0
    switch (value) {
844
0
        case TOX_ERR_CONFERENCE_JOIN_OK:
845
0
            return "TOX_ERR_CONFERENCE_JOIN_OK";
846
847
0
        case TOX_ERR_CONFERENCE_JOIN_INVALID_LENGTH:
848
0
            return "TOX_ERR_CONFERENCE_JOIN_INVALID_LENGTH";
849
850
0
        case TOX_ERR_CONFERENCE_JOIN_WRONG_TYPE:
851
0
            return "TOX_ERR_CONFERENCE_JOIN_WRONG_TYPE";
852
853
0
        case TOX_ERR_CONFERENCE_JOIN_FRIEND_NOT_FOUND:
854
0
            return "TOX_ERR_CONFERENCE_JOIN_FRIEND_NOT_FOUND";
855
856
0
        case TOX_ERR_CONFERENCE_JOIN_DUPLICATE:
857
0
            return "TOX_ERR_CONFERENCE_JOIN_DUPLICATE";
858
859
0
        case TOX_ERR_CONFERENCE_JOIN_INIT_FAIL:
860
0
            return "TOX_ERR_CONFERENCE_JOIN_INIT_FAIL";
861
862
0
        case TOX_ERR_CONFERENCE_JOIN_FAIL_SEND:
863
0
            return "TOX_ERR_CONFERENCE_JOIN_FAIL_SEND";
864
0
    }
865
866
0
    return "<invalid Tox_Err_Conference_Join>";
867
0
}
868
const char *tox_err_conference_send_message_to_string(Tox_Err_Conference_Send_Message value)
869
0
{
870
0
    switch (value) {
871
0
        case TOX_ERR_CONFERENCE_SEND_MESSAGE_OK:
872
0
            return "TOX_ERR_CONFERENCE_SEND_MESSAGE_OK";
873
874
0
        case TOX_ERR_CONFERENCE_SEND_MESSAGE_CONFERENCE_NOT_FOUND:
875
0
            return "TOX_ERR_CONFERENCE_SEND_MESSAGE_CONFERENCE_NOT_FOUND";
876
877
0
        case TOX_ERR_CONFERENCE_SEND_MESSAGE_TOO_LONG:
878
0
            return "TOX_ERR_CONFERENCE_SEND_MESSAGE_TOO_LONG";
879
880
0
        case TOX_ERR_CONFERENCE_SEND_MESSAGE_NO_CONNECTION:
881
0
            return "TOX_ERR_CONFERENCE_SEND_MESSAGE_NO_CONNECTION";
882
883
0
        case TOX_ERR_CONFERENCE_SEND_MESSAGE_FAIL_SEND:
884
0
            return "TOX_ERR_CONFERENCE_SEND_MESSAGE_FAIL_SEND";
885
0
    }
886
887
0
    return "<invalid Tox_Err_Conference_Send_Message>";
888
0
}
889
const char *tox_err_conference_title_to_string(Tox_Err_Conference_Title value)
890
0
{
891
0
    switch (value) {
892
0
        case TOX_ERR_CONFERENCE_TITLE_OK:
893
0
            return "TOX_ERR_CONFERENCE_TITLE_OK";
894
895
0
        case TOX_ERR_CONFERENCE_TITLE_CONFERENCE_NOT_FOUND:
896
0
            return "TOX_ERR_CONFERENCE_TITLE_CONFERENCE_NOT_FOUND";
897
898
0
        case TOX_ERR_CONFERENCE_TITLE_INVALID_LENGTH:
899
0
            return "TOX_ERR_CONFERENCE_TITLE_INVALID_LENGTH";
900
901
0
        case TOX_ERR_CONFERENCE_TITLE_FAIL_SEND:
902
0
            return "TOX_ERR_CONFERENCE_TITLE_FAIL_SEND";
903
0
    }
904
905
0
    return "<invalid Tox_Err_Conference_Title>";
906
0
}
907
const char *tox_err_conference_get_type_to_string(Tox_Err_Conference_Get_Type value)
908
0
{
909
0
    switch (value) {
910
0
        case TOX_ERR_CONFERENCE_GET_TYPE_OK:
911
0
            return "TOX_ERR_CONFERENCE_GET_TYPE_OK";
912
913
0
        case TOX_ERR_CONFERENCE_GET_TYPE_CONFERENCE_NOT_FOUND:
914
0
            return "TOX_ERR_CONFERENCE_GET_TYPE_CONFERENCE_NOT_FOUND";
915
0
    }
916
917
0
    return "<invalid Tox_Err_Conference_Get_Type>";
918
0
}
919
const char *tox_err_conference_by_id_to_string(Tox_Err_Conference_By_Id value)
920
0
{
921
0
    switch (value) {
922
0
        case TOX_ERR_CONFERENCE_BY_ID_OK:
923
0
            return "TOX_ERR_CONFERENCE_BY_ID_OK";
924
925
0
        case TOX_ERR_CONFERENCE_BY_ID_NULL:
926
0
            return "TOX_ERR_CONFERENCE_BY_ID_NULL";
927
928
0
        case TOX_ERR_CONFERENCE_BY_ID_NOT_FOUND:
929
0
            return "TOX_ERR_CONFERENCE_BY_ID_NOT_FOUND";
930
0
    }
931
932
0
    return "<invalid Tox_Err_Conference_By_Id>";
933
0
}
934
const char *tox_err_conference_by_uid_to_string(Tox_Err_Conference_By_Uid value)
935
0
{
936
0
    switch (value) {
937
0
        case TOX_ERR_CONFERENCE_BY_UID_OK:
938
0
            return "TOX_ERR_CONFERENCE_BY_UID_OK";
939
940
0
        case TOX_ERR_CONFERENCE_BY_UID_NULL:
941
0
            return "TOX_ERR_CONFERENCE_BY_UID_NULL";
942
943
0
        case TOX_ERR_CONFERENCE_BY_UID_NOT_FOUND:
944
0
            return "TOX_ERR_CONFERENCE_BY_UID_NOT_FOUND";
945
0
    }
946
947
0
    return "<invalid Tox_Err_Conference_By_Uid>";
948
0
}
949
const char *tox_err_friend_custom_packet_to_string(Tox_Err_Friend_Custom_Packet value)
950
0
{
951
0
    switch (value) {
952
0
        case TOX_ERR_FRIEND_CUSTOM_PACKET_OK:
953
0
            return "TOX_ERR_FRIEND_CUSTOM_PACKET_OK";
954
955
0
        case TOX_ERR_FRIEND_CUSTOM_PACKET_NULL:
956
0
            return "TOX_ERR_FRIEND_CUSTOM_PACKET_NULL";
957
958
0
        case TOX_ERR_FRIEND_CUSTOM_PACKET_FRIEND_NOT_FOUND:
959
0
            return "TOX_ERR_FRIEND_CUSTOM_PACKET_FRIEND_NOT_FOUND";
960
961
0
        case TOX_ERR_FRIEND_CUSTOM_PACKET_FRIEND_NOT_CONNECTED:
962
0
            return "TOX_ERR_FRIEND_CUSTOM_PACKET_FRIEND_NOT_CONNECTED";
963
964
0
        case TOX_ERR_FRIEND_CUSTOM_PACKET_INVALID:
965
0
            return "TOX_ERR_FRIEND_CUSTOM_PACKET_INVALID";
966
967
0
        case TOX_ERR_FRIEND_CUSTOM_PACKET_EMPTY:
968
0
            return "TOX_ERR_FRIEND_CUSTOM_PACKET_EMPTY";
969
970
0
        case TOX_ERR_FRIEND_CUSTOM_PACKET_TOO_LONG:
971
0
            return "TOX_ERR_FRIEND_CUSTOM_PACKET_TOO_LONG";
972
973
0
        case TOX_ERR_FRIEND_CUSTOM_PACKET_SENDQ:
974
0
            return "TOX_ERR_FRIEND_CUSTOM_PACKET_SENDQ";
975
0
    }
976
977
0
    return "<invalid Tox_Err_Friend_Custom_Packet>";
978
0
}
979
const char *tox_err_get_port_to_string(Tox_Err_Get_Port value)
980
0
{
981
0
    switch (value) {
982
0
        case TOX_ERR_GET_PORT_OK:
983
0
            return "TOX_ERR_GET_PORT_OK";
984
985
0
        case TOX_ERR_GET_PORT_NOT_BOUND:
986
0
            return "TOX_ERR_GET_PORT_NOT_BOUND";
987
0
    }
988
989
0
    return "<invalid Tox_Err_Get_Port>";
990
0
}
991
const char *tox_group_privacy_state_to_string(Tox_Group_Privacy_State value)
992
0
{
993
0
    switch (value) {
994
0
        case TOX_GROUP_PRIVACY_STATE_PUBLIC:
995
0
            return "TOX_GROUP_PRIVACY_STATE_PUBLIC";
996
997
0
        case TOX_GROUP_PRIVACY_STATE_PRIVATE:
998
0
            return "TOX_GROUP_PRIVACY_STATE_PRIVATE";
999
0
    }
1000
1001
0
    return "<invalid Tox_Group_Privacy_State>";
1002
0
}
1003
const char *tox_group_topic_lock_to_string(Tox_Group_Topic_Lock value)
1004
0
{
1005
0
    switch (value) {
1006
0
        case TOX_GROUP_TOPIC_LOCK_ENABLED:
1007
0
            return "TOX_GROUP_TOPIC_LOCK_ENABLED";
1008
1009
0
        case TOX_GROUP_TOPIC_LOCK_DISABLED:
1010
0
            return "TOX_GROUP_TOPIC_LOCK_DISABLED";
1011
0
    }
1012
1013
0
    return "<invalid Tox_Group_Topic_Lock>";
1014
0
}
1015
const char *tox_group_voice_state_to_string(Tox_Group_Voice_State value)
1016
0
{
1017
0
    switch (value) {
1018
0
        case TOX_GROUP_VOICE_STATE_ALL:
1019
0
            return "TOX_GROUP_VOICE_STATE_ALL";
1020
1021
0
        case TOX_GROUP_VOICE_STATE_MODERATOR:
1022
0
            return "TOX_GROUP_VOICE_STATE_MODERATOR";
1023
1024
0
        case TOX_GROUP_VOICE_STATE_FOUNDER:
1025
0
            return "TOX_GROUP_VOICE_STATE_FOUNDER";
1026
0
    }
1027
1028
0
    return "<invalid Tox_Group_Voice_State>";
1029
0
}
1030
const char *tox_group_role_to_string(Tox_Group_Role value)
1031
35
{
1032
35
    switch (value) {
1033
0
        case TOX_GROUP_ROLE_FOUNDER:
1034
0
            return "TOX_GROUP_ROLE_FOUNDER";
1035
1036
12
        case TOX_GROUP_ROLE_MODERATOR:
1037
12
            return "TOX_GROUP_ROLE_MODERATOR";
1038
1039
15
        case TOX_GROUP_ROLE_USER:
1040
15
            return "TOX_GROUP_ROLE_USER";
1041
1042
8
        case TOX_GROUP_ROLE_OBSERVER:
1043
8
            return "TOX_GROUP_ROLE_OBSERVER";
1044
35
    }
1045
1046
0
    return "<invalid Tox_Group_Role>";
1047
35
}
1048
const char *tox_err_group_new_to_string(Tox_Err_Group_New value)
1049
0
{
1050
0
    switch (value) {
1051
0
        case TOX_ERR_GROUP_NEW_OK:
1052
0
            return "TOX_ERR_GROUP_NEW_OK";
1053
1054
0
        case TOX_ERR_GROUP_NEW_TOO_LONG:
1055
0
            return "TOX_ERR_GROUP_NEW_TOO_LONG";
1056
1057
0
        case TOX_ERR_GROUP_NEW_EMPTY:
1058
0
            return "TOX_ERR_GROUP_NEW_EMPTY";
1059
1060
0
        case TOX_ERR_GROUP_NEW_INIT:
1061
0
            return "TOX_ERR_GROUP_NEW_INIT";
1062
1063
0
        case TOX_ERR_GROUP_NEW_STATE:
1064
0
            return "TOX_ERR_GROUP_NEW_STATE";
1065
1066
0
        case TOX_ERR_GROUP_NEW_ANNOUNCE:
1067
0
            return "TOX_ERR_GROUP_NEW_ANNOUNCE";
1068
0
    }
1069
1070
0
    return "<invalid Tox_Err_Group_New>";
1071
0
}
1072
const char *tox_err_group_join_to_string(Tox_Err_Group_Join value)
1073
0
{
1074
0
    switch (value) {
1075
0
        case TOX_ERR_GROUP_JOIN_OK:
1076
0
            return "TOX_ERR_GROUP_JOIN_OK";
1077
1078
0
        case TOX_ERR_GROUP_JOIN_INIT:
1079
0
            return "TOX_ERR_GROUP_JOIN_INIT";
1080
1081
0
        case TOX_ERR_GROUP_JOIN_BAD_CHAT_ID:
1082
0
            return "TOX_ERR_GROUP_JOIN_BAD_CHAT_ID";
1083
1084
0
        case TOX_ERR_GROUP_JOIN_EMPTY:
1085
0
            return "TOX_ERR_GROUP_JOIN_EMPTY";
1086
1087
0
        case TOX_ERR_GROUP_JOIN_TOO_LONG:
1088
0
            return "TOX_ERR_GROUP_JOIN_TOO_LONG";
1089
1090
0
        case TOX_ERR_GROUP_JOIN_PASSWORD:
1091
0
            return "TOX_ERR_GROUP_JOIN_PASSWORD";
1092
1093
0
        case TOX_ERR_GROUP_JOIN_CORE:
1094
0
            return "TOX_ERR_GROUP_JOIN_CORE";
1095
0
    }
1096
1097
0
    return "<invalid Tox_Err_Group_Join>";
1098
0
}
1099
const char *tox_err_group_is_connected_to_string(Tox_Err_Group_Is_Connected value)
1100
0
{
1101
0
    switch (value) {
1102
0
        case TOX_ERR_GROUP_IS_CONNECTED_OK:
1103
0
            return "TOX_ERR_GROUP_IS_CONNECTED_OK";
1104
1105
0
        case TOX_ERR_GROUP_IS_CONNECTED_GROUP_NOT_FOUND:
1106
0
            return "TOX_ERR_GROUP_IS_CONNECTED_GROUP_NOT_FOUND";
1107
0
    }
1108
1109
0
    return "<invalid Tox_Err_Group_Is_Connected>";
1110
0
}
1111
const char *tox_err_group_disconnect_to_string(Tox_Err_Group_Disconnect value)
1112
0
{
1113
0
    switch (value) {
1114
0
        case TOX_ERR_GROUP_DISCONNECT_OK:
1115
0
            return "TOX_ERR_GROUP_DISCONNECT_OK";
1116
1117
0
        case TOX_ERR_GROUP_DISCONNECT_GROUP_NOT_FOUND:
1118
0
            return "TOX_ERR_GROUP_DISCONNECT_GROUP_NOT_FOUND";
1119
1120
0
        case TOX_ERR_GROUP_DISCONNECT_ALREADY_DISCONNECTED:
1121
0
            return "TOX_ERR_GROUP_DISCONNECT_ALREADY_DISCONNECTED";
1122
0
    }
1123
1124
0
    return "<invalid Tox_Err_Group_Disconnect>";
1125
0
}
1126
const char *tox_err_group_reconnect_to_string(Tox_Err_Group_Reconnect value)
1127
0
{
1128
0
    switch (value) {
1129
0
        case TOX_ERR_GROUP_RECONNECT_OK:
1130
0
            return "TOX_ERR_GROUP_RECONNECT_OK";
1131
1132
0
        case TOX_ERR_GROUP_RECONNECT_GROUP_NOT_FOUND:
1133
0
            return "TOX_ERR_GROUP_RECONNECT_GROUP_NOT_FOUND";
1134
1135
0
        case TOX_ERR_GROUP_RECONNECT_CORE:
1136
0
            return "TOX_ERR_GROUP_RECONNECT_CORE";
1137
0
    }
1138
1139
0
    return "<invalid Tox_Err_Group_Reconnect>";
1140
0
}
1141
const char *tox_err_group_leave_to_string(Tox_Err_Group_Leave value)
1142
0
{
1143
0
    switch (value) {
1144
0
        case TOX_ERR_GROUP_LEAVE_OK:
1145
0
            return "TOX_ERR_GROUP_LEAVE_OK";
1146
1147
0
        case TOX_ERR_GROUP_LEAVE_GROUP_NOT_FOUND:
1148
0
            return "TOX_ERR_GROUP_LEAVE_GROUP_NOT_FOUND";
1149
1150
0
        case TOX_ERR_GROUP_LEAVE_TOO_LONG:
1151
0
            return "TOX_ERR_GROUP_LEAVE_TOO_LONG";
1152
1153
0
        case TOX_ERR_GROUP_LEAVE_FAIL_SEND:
1154
0
            return "TOX_ERR_GROUP_LEAVE_FAIL_SEND";
1155
0
    }
1156
1157
0
    return "<invalid Tox_Err_Group_Leave>";
1158
0
}
1159
const char *tox_err_group_self_query_to_string(Tox_Err_Group_Self_Query value)
1160
0
{
1161
0
    switch (value) {
1162
0
        case TOX_ERR_GROUP_SELF_QUERY_OK:
1163
0
            return "TOX_ERR_GROUP_SELF_QUERY_OK";
1164
1165
0
        case TOX_ERR_GROUP_SELF_QUERY_GROUP_NOT_FOUND:
1166
0
            return "TOX_ERR_GROUP_SELF_QUERY_GROUP_NOT_FOUND";
1167
0
    }
1168
1169
0
    return "<invalid Tox_Err_Group_Self_Query>";
1170
0
}
1171
const char *tox_err_group_self_name_set_to_string(Tox_Err_Group_Self_Name_Set value)
1172
0
{
1173
0
    switch (value) {
1174
0
        case TOX_ERR_GROUP_SELF_NAME_SET_OK:
1175
0
            return "TOX_ERR_GROUP_SELF_NAME_SET_OK";
1176
1177
0
        case TOX_ERR_GROUP_SELF_NAME_SET_GROUP_NOT_FOUND:
1178
0
            return "TOX_ERR_GROUP_SELF_NAME_SET_GROUP_NOT_FOUND";
1179
1180
0
        case TOX_ERR_GROUP_SELF_NAME_SET_TOO_LONG:
1181
0
            return "TOX_ERR_GROUP_SELF_NAME_SET_TOO_LONG";
1182
1183
0
        case TOX_ERR_GROUP_SELF_NAME_SET_INVALID:
1184
0
            return "TOX_ERR_GROUP_SELF_NAME_SET_INVALID";
1185
1186
0
        case TOX_ERR_GROUP_SELF_NAME_SET_FAIL_SEND:
1187
0
            return "TOX_ERR_GROUP_SELF_NAME_SET_FAIL_SEND";
1188
0
    }
1189
1190
0
    return "<invalid Tox_Err_Group_Self_Name_Set>";
1191
0
}
1192
const char *tox_err_group_self_status_set_to_string(Tox_Err_Group_Self_Status_Set value)
1193
0
{
1194
0
    switch (value) {
1195
0
        case TOX_ERR_GROUP_SELF_STATUS_SET_OK:
1196
0
            return "TOX_ERR_GROUP_SELF_STATUS_SET_OK";
1197
1198
0
        case TOX_ERR_GROUP_SELF_STATUS_SET_GROUP_NOT_FOUND:
1199
0
            return "TOX_ERR_GROUP_SELF_STATUS_SET_GROUP_NOT_FOUND";
1200
1201
0
        case TOX_ERR_GROUP_SELF_STATUS_SET_FAIL_SEND:
1202
0
            return "TOX_ERR_GROUP_SELF_STATUS_SET_FAIL_SEND";
1203
0
    }
1204
1205
0
    return "<invalid Tox_Err_Group_Self_Status_Set>";
1206
0
}
1207
const char *tox_err_group_peer_query_to_string(Tox_Err_Group_Peer_Query value)
1208
0
{
1209
0
    switch (value) {
1210
0
        case TOX_ERR_GROUP_PEER_QUERY_OK:
1211
0
            return "TOX_ERR_GROUP_PEER_QUERY_OK";
1212
1213
0
        case TOX_ERR_GROUP_PEER_QUERY_GROUP_NOT_FOUND:
1214
0
            return "TOX_ERR_GROUP_PEER_QUERY_GROUP_NOT_FOUND";
1215
1216
0
        case TOX_ERR_GROUP_PEER_QUERY_PEER_NOT_FOUND:
1217
0
            return "TOX_ERR_GROUP_PEER_QUERY_PEER_NOT_FOUND";
1218
0
    }
1219
1220
0
    return "<invalid Tox_Err_Group_Peer_Query>";
1221
0
}
1222
const char *tox_err_group_state_queries_to_string(Tox_Err_Group_State_Queries value)
1223
0
{
1224
0
    switch (value) {
1225
0
        case TOX_ERR_GROUP_STATE_QUERIES_OK:
1226
0
            return "TOX_ERR_GROUP_STATE_QUERIES_OK";
1227
1228
0
        case TOX_ERR_GROUP_STATE_QUERIES_GROUP_NOT_FOUND:
1229
0
            return "TOX_ERR_GROUP_STATE_QUERIES_GROUP_NOT_FOUND";
1230
0
    }
1231
1232
0
    return "<invalid Tox_Err_Group_State_Queries>";
1233
0
}
1234
const char *tox_err_group_topic_set_to_string(Tox_Err_Group_Topic_Set value)
1235
0
{
1236
0
    switch (value) {
1237
0
        case TOX_ERR_GROUP_TOPIC_SET_OK:
1238
0
            return "TOX_ERR_GROUP_TOPIC_SET_OK";
1239
1240
0
        case TOX_ERR_GROUP_TOPIC_SET_GROUP_NOT_FOUND:
1241
0
            return "TOX_ERR_GROUP_TOPIC_SET_GROUP_NOT_FOUND";
1242
1243
0
        case TOX_ERR_GROUP_TOPIC_SET_TOO_LONG:
1244
0
            return "TOX_ERR_GROUP_TOPIC_SET_TOO_LONG";
1245
1246
0
        case TOX_ERR_GROUP_TOPIC_SET_PERMISSIONS:
1247
0
            return "TOX_ERR_GROUP_TOPIC_SET_PERMISSIONS";
1248
1249
0
        case TOX_ERR_GROUP_TOPIC_SET_FAIL_CREATE:
1250
0
            return "TOX_ERR_GROUP_TOPIC_SET_FAIL_CREATE";
1251
1252
0
        case TOX_ERR_GROUP_TOPIC_SET_FAIL_SEND:
1253
0
            return "TOX_ERR_GROUP_TOPIC_SET_FAIL_SEND";
1254
1255
0
        case TOX_ERR_GROUP_TOPIC_SET_DISCONNECTED:
1256
0
            return "TOX_ERR_GROUP_TOPIC_SET_DISCONNECTED";
1257
0
    }
1258
1259
0
    return "<invalid Tox_Err_Group_Topic_Set>";
1260
0
}
1261
const char *tox_err_group_send_message_to_string(Tox_Err_Group_Send_Message value)
1262
0
{
1263
0
    switch (value) {
1264
0
        case TOX_ERR_GROUP_SEND_MESSAGE_OK:
1265
0
            return "TOX_ERR_GROUP_SEND_MESSAGE_OK";
1266
1267
0
        case TOX_ERR_GROUP_SEND_MESSAGE_GROUP_NOT_FOUND:
1268
0
            return "TOX_ERR_GROUP_SEND_MESSAGE_GROUP_NOT_FOUND";
1269
1270
0
        case TOX_ERR_GROUP_SEND_MESSAGE_TOO_LONG:
1271
0
            return "TOX_ERR_GROUP_SEND_MESSAGE_TOO_LONG";
1272
1273
0
        case TOX_ERR_GROUP_SEND_MESSAGE_EMPTY:
1274
0
            return "TOX_ERR_GROUP_SEND_MESSAGE_EMPTY";
1275
1276
0
        case TOX_ERR_GROUP_SEND_MESSAGE_BAD_TYPE:
1277
0
            return "TOX_ERR_GROUP_SEND_MESSAGE_BAD_TYPE";
1278
1279
0
        case TOX_ERR_GROUP_SEND_MESSAGE_PERMISSIONS:
1280
0
            return "TOX_ERR_GROUP_SEND_MESSAGE_PERMISSIONS";
1281
1282
0
        case TOX_ERR_GROUP_SEND_MESSAGE_FAIL_SEND:
1283
0
            return "TOX_ERR_GROUP_SEND_MESSAGE_FAIL_SEND";
1284
1285
0
        case TOX_ERR_GROUP_SEND_MESSAGE_DISCONNECTED:
1286
0
            return "TOX_ERR_GROUP_SEND_MESSAGE_DISCONNECTED";
1287
0
    }
1288
1289
0
    return "<invalid Tox_Err_Group_Send_Message>";
1290
0
}
1291
const char *tox_err_group_send_private_message_to_string(Tox_Err_Group_Send_Private_Message value)
1292
0
{
1293
0
    switch (value) {
1294
0
        case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_OK:
1295
0
            return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_OK";
1296
1297
0
        case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_GROUP_NOT_FOUND:
1298
0
            return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_GROUP_NOT_FOUND";
1299
1300
0
        case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_PEER_NOT_FOUND:
1301
0
            return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_PEER_NOT_FOUND";
1302
1303
0
        case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_TOO_LONG:
1304
0
            return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_TOO_LONG";
1305
1306
0
        case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_EMPTY:
1307
0
            return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_EMPTY";
1308
1309
0
        case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_PERMISSIONS:
1310
0
            return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_PERMISSIONS";
1311
1312
0
        case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_FAIL_SEND:
1313
0
            return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_FAIL_SEND";
1314
1315
0
        case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_DISCONNECTED:
1316
0
            return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_DISCONNECTED";
1317
1318
0
        case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_BAD_TYPE:
1319
0
            return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_BAD_TYPE";
1320
0
    }
1321
1322
0
    return "<invalid Tox_Err_Group_Send_Private_Message>";
1323
0
}
1324
const char *tox_err_group_send_custom_packet_to_string(Tox_Err_Group_Send_Custom_Packet value)
1325
0
{
1326
0
    switch (value) {
1327
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_OK:
1328
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_OK";
1329
1330
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_GROUP_NOT_FOUND:
1331
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_GROUP_NOT_FOUND";
1332
1333
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_TOO_LONG:
1334
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_TOO_LONG";
1335
1336
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_EMPTY:
1337
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_EMPTY";
1338
1339
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_PERMISSIONS:
1340
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_PERMISSIONS";
1341
1342
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_DISCONNECTED:
1343
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_DISCONNECTED";
1344
1345
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_FAIL_SEND:
1346
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_FAIL_SEND";
1347
0
    }
1348
1349
0
    return "<invalid Tox_Err_Group_Send_Custom_Packet>";
1350
0
}
1351
const char *tox_err_group_send_custom_private_packet_to_string(Tox_Err_Group_Send_Custom_Private_Packet value)
1352
0
{
1353
0
    switch (value) {
1354
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_OK:
1355
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_OK";
1356
1357
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_GROUP_NOT_FOUND:
1358
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_GROUP_NOT_FOUND";
1359
1360
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_TOO_LONG:
1361
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_TOO_LONG";
1362
1363
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_EMPTY:
1364
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_EMPTY";
1365
1366
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_PEER_NOT_FOUND:
1367
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_PEER_NOT_FOUND";
1368
1369
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_PERMISSIONS:
1370
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_PERMISSIONS";
1371
1372
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_FAIL_SEND:
1373
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_FAIL_SEND";
1374
1375
0
        case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_DISCONNECTED:
1376
0
            return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_DISCONNECTED";
1377
0
    }
1378
1379
0
    return "<invalid Tox_Err_Group_Send_Custom_Private_Packet>";
1380
0
}
1381
const char *tox_err_group_invite_friend_to_string(Tox_Err_Group_Invite_Friend value)
1382
0
{
1383
0
    switch (value) {
1384
0
        case TOX_ERR_GROUP_INVITE_FRIEND_OK:
1385
0
            return "TOX_ERR_GROUP_INVITE_FRIEND_OK";
1386
1387
0
        case TOX_ERR_GROUP_INVITE_FRIEND_GROUP_NOT_FOUND:
1388
0
            return "TOX_ERR_GROUP_INVITE_FRIEND_GROUP_NOT_FOUND";
1389
1390
0
        case TOX_ERR_GROUP_INVITE_FRIEND_FRIEND_NOT_FOUND:
1391
0
            return "TOX_ERR_GROUP_INVITE_FRIEND_FRIEND_NOT_FOUND";
1392
1393
0
        case TOX_ERR_GROUP_INVITE_FRIEND_INVITE_FAIL:
1394
0
            return "TOX_ERR_GROUP_INVITE_FRIEND_INVITE_FAIL";
1395
1396
0
        case TOX_ERR_GROUP_INVITE_FRIEND_FAIL_SEND:
1397
0
            return "TOX_ERR_GROUP_INVITE_FRIEND_FAIL_SEND";
1398
1399
0
        case TOX_ERR_GROUP_INVITE_FRIEND_DISCONNECTED:
1400
0
            return "TOX_ERR_GROUP_INVITE_FRIEND_DISCONNECTED";
1401
0
    }
1402
1403
0
    return "<invalid Tox_Err_Group_Invite_Friend>";
1404
0
}
1405
const char *tox_err_group_invite_accept_to_string(Tox_Err_Group_Invite_Accept value)
1406
0
{
1407
0
    switch (value) {
1408
0
        case TOX_ERR_GROUP_INVITE_ACCEPT_OK:
1409
0
            return "TOX_ERR_GROUP_INVITE_ACCEPT_OK";
1410
1411
0
        case TOX_ERR_GROUP_INVITE_ACCEPT_BAD_INVITE:
1412
0
            return "TOX_ERR_GROUP_INVITE_ACCEPT_BAD_INVITE";
1413
1414
0
        case TOX_ERR_GROUP_INVITE_ACCEPT_INIT_FAILED:
1415
0
            return "TOX_ERR_GROUP_INVITE_ACCEPT_INIT_FAILED";
1416
1417
0
        case TOX_ERR_GROUP_INVITE_ACCEPT_TOO_LONG:
1418
0
            return "TOX_ERR_GROUP_INVITE_ACCEPT_TOO_LONG";
1419
1420
0
        case TOX_ERR_GROUP_INVITE_ACCEPT_EMPTY:
1421
0
            return "TOX_ERR_GROUP_INVITE_ACCEPT_EMPTY";
1422
1423
0
        case TOX_ERR_GROUP_INVITE_ACCEPT_PASSWORD:
1424
0
            return "TOX_ERR_GROUP_INVITE_ACCEPT_PASSWORD";
1425
1426
0
        case TOX_ERR_GROUP_INVITE_ACCEPT_CORE:
1427
0
            return "TOX_ERR_GROUP_INVITE_ACCEPT_CORE";
1428
1429
0
        case TOX_ERR_GROUP_INVITE_ACCEPT_FAIL_SEND:
1430
0
            return "TOX_ERR_GROUP_INVITE_ACCEPT_FAIL_SEND";
1431
0
    }
1432
1433
0
    return "<invalid Tox_Err_Group_Invite_Accept>";
1434
0
}
1435
const char *tox_group_exit_type_to_string(Tox_Group_Exit_Type value)
1436
0
{
1437
0
    switch (value) {
1438
0
        case TOX_GROUP_EXIT_TYPE_QUIT:
1439
0
            return "TOX_GROUP_EXIT_TYPE_QUIT";
1440
1441
0
        case TOX_GROUP_EXIT_TYPE_TIMEOUT:
1442
0
            return "TOX_GROUP_EXIT_TYPE_TIMEOUT";
1443
1444
0
        case TOX_GROUP_EXIT_TYPE_DISCONNECTED:
1445
0
            return "TOX_GROUP_EXIT_TYPE_DISCONNECTED";
1446
1447
0
        case TOX_GROUP_EXIT_TYPE_SELF_DISCONNECTED:
1448
0
            return "TOX_GROUP_EXIT_TYPE_SELF_DISCONNECTED";
1449
1450
0
        case TOX_GROUP_EXIT_TYPE_KICK:
1451
0
            return "TOX_GROUP_EXIT_TYPE_KICK";
1452
1453
0
        case TOX_GROUP_EXIT_TYPE_SYNC_ERROR:
1454
0
            return "TOX_GROUP_EXIT_TYPE_SYNC_ERROR";
1455
0
    }
1456
1457
0
    return "<invalid Tox_Group_Exit_Type>";
1458
0
}
1459
const char *tox_group_join_fail_to_string(Tox_Group_Join_Fail value)
1460
0
{
1461
0
    switch (value) {
1462
0
        case TOX_GROUP_JOIN_FAIL_PEER_LIMIT:
1463
0
            return "TOX_GROUP_JOIN_FAIL_PEER_LIMIT";
1464
1465
0
        case TOX_GROUP_JOIN_FAIL_INVALID_PASSWORD:
1466
0
            return "TOX_GROUP_JOIN_FAIL_INVALID_PASSWORD";
1467
1468
0
        case TOX_GROUP_JOIN_FAIL_UNKNOWN:
1469
0
            return "TOX_GROUP_JOIN_FAIL_UNKNOWN";
1470
0
    }
1471
1472
0
    return "<invalid Tox_Group_Join_Fail>";
1473
0
}
1474
const char *tox_err_group_founder_set_password_to_string(Tox_Err_Group_Founder_Set_Password value)
1475
0
{
1476
0
    switch (value) {
1477
0
        case TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_OK:
1478
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_OK";
1479
1480
0
        case TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_GROUP_NOT_FOUND:
1481
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_GROUP_NOT_FOUND";
1482
1483
0
        case TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_PERMISSIONS:
1484
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_PERMISSIONS";
1485
1486
0
        case TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_TOO_LONG:
1487
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_TOO_LONG";
1488
1489
0
        case TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_FAIL_SEND:
1490
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_FAIL_SEND";
1491
1492
0
        case TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_MALLOC:
1493
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_MALLOC";
1494
1495
0
        case TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_DISCONNECTED:
1496
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PASSWORD_DISCONNECTED";
1497
0
    }
1498
1499
0
    return "<invalid Tox_Err_Group_Founder_Set_Password>";
1500
0
}
1501
const char *tox_err_group_founder_set_topic_lock_to_string(Tox_Err_Group_Founder_Set_Topic_Lock value)
1502
0
{
1503
0
    switch (value) {
1504
0
        case TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_OK:
1505
0
            return "TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_OK";
1506
1507
0
        case TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_GROUP_NOT_FOUND:
1508
0
            return "TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_GROUP_NOT_FOUND";
1509
1510
0
        case TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_INVALID:
1511
0
            return "TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_INVALID";
1512
1513
0
        case TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_PERMISSIONS:
1514
0
            return "TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_PERMISSIONS";
1515
1516
0
        case TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_FAIL_SET:
1517
0
            return "TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_FAIL_SET";
1518
1519
0
        case TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_FAIL_SEND:
1520
0
            return "TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_FAIL_SEND";
1521
1522
0
        case TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_DISCONNECTED:
1523
0
            return "TOX_ERR_GROUP_FOUNDER_SET_TOPIC_LOCK_DISCONNECTED";
1524
0
    }
1525
1526
0
    return "<invalid Tox_Err_Group_Founder_Set_Topic_Lock>";
1527
0
}
1528
const char *tox_err_group_founder_set_voice_state_to_string(Tox_Err_Group_Founder_Set_Voice_State value)
1529
0
{
1530
0
    switch (value) {
1531
0
        case TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_OK:
1532
0
            return "TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_OK";
1533
1534
0
        case TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_GROUP_NOT_FOUND:
1535
0
            return "TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_GROUP_NOT_FOUND";
1536
1537
0
        case TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_PERMISSIONS:
1538
0
            return "TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_PERMISSIONS";
1539
1540
0
        case TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_FAIL_SET:
1541
0
            return "TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_FAIL_SET";
1542
1543
0
        case TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_FAIL_SEND:
1544
0
            return "TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_FAIL_SEND";
1545
1546
0
        case TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_DISCONNECTED:
1547
0
            return "TOX_ERR_GROUP_FOUNDER_SET_VOICE_STATE_DISCONNECTED";
1548
0
    }
1549
1550
0
    return "<invalid Tox_Err_Group_Founder_Set_Voice_State>";
1551
0
}
1552
const char *tox_err_group_founder_set_privacy_state_to_string(Tox_Err_Group_Founder_Set_Privacy_State value)
1553
0
{
1554
0
    switch (value) {
1555
0
        case TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_OK:
1556
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_OK";
1557
1558
0
        case TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_GROUP_NOT_FOUND:
1559
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_GROUP_NOT_FOUND";
1560
1561
0
        case TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_PERMISSIONS:
1562
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_PERMISSIONS";
1563
1564
0
        case TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_FAIL_SET:
1565
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_FAIL_SET";
1566
1567
0
        case TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_FAIL_SEND:
1568
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_FAIL_SEND";
1569
1570
0
        case TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_DISCONNECTED:
1571
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PRIVACY_STATE_DISCONNECTED";
1572
0
    }
1573
1574
0
    return "<invalid Tox_Err_Group_Founder_Set_Privacy_State>";
1575
0
}
1576
const char *tox_err_group_founder_set_peer_limit_to_string(Tox_Err_Group_Founder_Set_Peer_Limit value)
1577
0
{
1578
0
    switch (value) {
1579
0
        case TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_OK:
1580
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_OK";
1581
1582
0
        case TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_GROUP_NOT_FOUND:
1583
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_GROUP_NOT_FOUND";
1584
1585
0
        case TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_PERMISSIONS:
1586
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_PERMISSIONS";
1587
1588
0
        case TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_FAIL_SET:
1589
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_FAIL_SET";
1590
1591
0
        case TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_FAIL_SEND:
1592
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_FAIL_SEND";
1593
1594
0
        case TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_DISCONNECTED:
1595
0
            return "TOX_ERR_GROUP_FOUNDER_SET_PEER_LIMIT_DISCONNECTED";
1596
0
    }
1597
1598
0
    return "<invalid Tox_Err_Group_Founder_Set_Peer_Limit>";
1599
0
}
1600
const char *tox_err_group_set_ignore_to_string(Tox_Err_Group_Set_Ignore value)
1601
0
{
1602
0
    switch (value) {
1603
0
        case TOX_ERR_GROUP_SET_IGNORE_OK:
1604
0
            return "TOX_ERR_GROUP_SET_IGNORE_OK";
1605
1606
0
        case TOX_ERR_GROUP_SET_IGNORE_GROUP_NOT_FOUND:
1607
0
            return "TOX_ERR_GROUP_SET_IGNORE_GROUP_NOT_FOUND";
1608
1609
0
        case TOX_ERR_GROUP_SET_IGNORE_PEER_NOT_FOUND:
1610
0
            return "TOX_ERR_GROUP_SET_IGNORE_PEER_NOT_FOUND";
1611
1612
0
        case TOX_ERR_GROUP_SET_IGNORE_SELF:
1613
0
            return "TOX_ERR_GROUP_SET_IGNORE_SELF";
1614
0
    }
1615
1616
0
    return "<invalid Tox_Err_Group_Set_Ignore>";
1617
0
}
1618
const char *tox_err_group_mod_set_role_to_string(Tox_Err_Group_Mod_Set_Role value)
1619
0
{
1620
0
    switch (value) {
1621
0
        case TOX_ERR_GROUP_MOD_SET_ROLE_OK:
1622
0
            return "TOX_ERR_GROUP_MOD_SET_ROLE_OK";
1623
1624
0
        case TOX_ERR_GROUP_MOD_SET_ROLE_GROUP_NOT_FOUND:
1625
0
            return "TOX_ERR_GROUP_MOD_SET_ROLE_GROUP_NOT_FOUND";
1626
1627
0
        case TOX_ERR_GROUP_MOD_SET_ROLE_PEER_NOT_FOUND:
1628
0
            return "TOX_ERR_GROUP_MOD_SET_ROLE_PEER_NOT_FOUND";
1629
1630
0
        case TOX_ERR_GROUP_MOD_SET_ROLE_PERMISSIONS:
1631
0
            return "TOX_ERR_GROUP_MOD_SET_ROLE_PERMISSIONS";
1632
1633
0
        case TOX_ERR_GROUP_MOD_SET_ROLE_ASSIGNMENT:
1634
0
            return "TOX_ERR_GROUP_MOD_SET_ROLE_ASSIGNMENT";
1635
1636
0
        case TOX_ERR_GROUP_MOD_SET_ROLE_FAIL_ACTION:
1637
0
            return "TOX_ERR_GROUP_MOD_SET_ROLE_FAIL_ACTION";
1638
1639
0
        case TOX_ERR_GROUP_MOD_SET_ROLE_SELF:
1640
0
            return "TOX_ERR_GROUP_MOD_SET_ROLE_SELF";
1641
0
    }
1642
1643
0
    return "<invalid Tox_Err_Group_Mod_Set_Role>";
1644
0
}
1645
const char *tox_err_group_mod_kick_peer_to_string(Tox_Err_Group_Mod_Kick_Peer value)
1646
0
{
1647
0
    switch (value) {
1648
0
        case TOX_ERR_GROUP_MOD_KICK_PEER_OK:
1649
0
            return "TOX_ERR_GROUP_MOD_KICK_PEER_OK";
1650
1651
0
        case TOX_ERR_GROUP_MOD_KICK_PEER_GROUP_NOT_FOUND:
1652
0
            return "TOX_ERR_GROUP_MOD_KICK_PEER_GROUP_NOT_FOUND";
1653
1654
0
        case TOX_ERR_GROUP_MOD_KICK_PEER_PEER_NOT_FOUND:
1655
0
            return "TOX_ERR_GROUP_MOD_KICK_PEER_PEER_NOT_FOUND";
1656
1657
0
        case TOX_ERR_GROUP_MOD_KICK_PEER_PERMISSIONS:
1658
0
            return "TOX_ERR_GROUP_MOD_KICK_PEER_PERMISSIONS";
1659
1660
0
        case TOX_ERR_GROUP_MOD_KICK_PEER_FAIL_ACTION:
1661
0
            return "TOX_ERR_GROUP_MOD_KICK_PEER_FAIL_ACTION";
1662
1663
0
        case TOX_ERR_GROUP_MOD_KICK_PEER_FAIL_SEND:
1664
0
            return "TOX_ERR_GROUP_MOD_KICK_PEER_FAIL_SEND";
1665
1666
0
        case TOX_ERR_GROUP_MOD_KICK_PEER_SELF:
1667
0
            return "TOX_ERR_GROUP_MOD_KICK_PEER_SELF";
1668
0
    }
1669
1670
0
    return "<invalid Tox_Err_Group_Mod_Kick_Peer>";
1671
0
}
1672
const char *tox_group_mod_event_to_string(Tox_Group_Mod_Event value)
1673
35
{
1674
35
    switch (value) {
1675
4
        case TOX_GROUP_MOD_EVENT_KICK:
1676
4
            return "TOX_GROUP_MOD_EVENT_KICK";
1677
1678
8
        case TOX_GROUP_MOD_EVENT_OBSERVER:
1679
8
            return "TOX_GROUP_MOD_EVENT_OBSERVER";
1680
1681
15
        case TOX_GROUP_MOD_EVENT_USER:
1682
15
            return "TOX_GROUP_MOD_EVENT_USER";
1683
1684
8
        case TOX_GROUP_MOD_EVENT_MODERATOR:
1685
8
            return "TOX_GROUP_MOD_EVENT_MODERATOR";
1686
35
    }
1687
1688
0
    return "<invalid Tox_Group_Mod_Event>";
1689
35
}