forked from Green-Sky/tomato
Green Sky
aae086cc65
b03b571272 fix: flaky tcp test This only fixes the symptoms, not the real problem. Sometimes or consistently on some platforms a socket might need a moment before it can be written to. 32e67ab4c2 cleanup: use typedef for private message ID's in callback 7b1db6adc1 feat: add message IDs to private group messages 99e0bcc27d refactor: Observers/ignored peers can now send and receive custom packets b3c3c49d26 fix: Disable IPv6 in Windows cross-compilation tests e742deddff feat: Check hashes of Windows dependencies when cross-compiling dfb9a0b02b fix: Test the current Windows Dockerfile, not an old Dockerhub image 14de93ccec chore: Use WineHQ's Wine as Debian Bookworm's crashes ed37616249 docs: Update the Windows cross-compilation section 9bb79c174f cleanup: Remove a couple of unnecessary misc_tools dependencies 19475adb70 chore: Statically link OpenMP into the cracker fun util on Windows 1be311e51f feat: Build the fun utils when cross-compiling to Windows 88133f8446 chore: Strip Windows binaries 3cc0ae7535 refactor: Copy over all of the required static dependencies c4fa8f7fb1 feat: Generate .def, .exp and .lib files when building for Windows 74bbac5363 feat: Let CMake create the dll instead of doing so ourselves 246642e9ae feat: Harden Windows cross-compilation 8d431c0d11 chore: Bump Windows build dependency versions e519f7998b fix: Remove unnecessary wsock32 dependency on Windows ed2b60c217 chore: Use a specific non-broken slimcc version. d7f21010a1 chore: Update github actions. e71a68b7f2 docs: Update the list of CMake options 77e08876ff chore: Remove mod and founder from group API naming scheme 12bc042767 docs: add the experimental api build option to INSTALL.md e1fa5cae96 refactor: Rename Queries to Query to align with other enums. be82a3ea30 fix: Correct type for conference offline peer numbers. 0627c36716 test: Add pkgsrc build. 92578afe4b test: Add FreeBSD VM action on GitHub. 52ece0f57b test: Build toxcore on NetBSD (VM). 3fe8ee2c11 chore: Only install tox_private.h on request. 9a8dfa06ab fix: save_compatibility_test failing on big-endian systems 86f5e55578 fix: Don't serve files from websockify. 710eb674a5 fix: Correctly pass extended public keys to group moderation code. 021db7031c refactor: Use `struct`s for extended public/secret keys. a1e999fd80 chore: Compile libsodium reference implementation with compcert. fbe3c19cf5 cleanup: correct a few nullable annotations 623e3ee5c3 cleanup: Don't use `memcpy` to cast arbitrary `struct`s to `uint8_t[]`. c71567dc18 fix: Pass array, not array pointer, to `memcmp`. 9b46a08144 cleanup: Never pass `void*` directly to `memcpy`. 5d7b7a7bbc refactor: Use tox rng to seed the keypair generation. 961891d568 cleanup: Small improvements found by PVS Studio. 8201019f0d chore: Disable NGC saving by default, enable through Tox_Options. 5dd9ee3f65 cleanup: Replace pointer arithmetic with explicit `&arr[i]`. ca4606d49d refactor: Use strong typedef for NGC peer id. 442213b722 cleanup: Simplify custom packet length check in NGC. 08d3393def fix: Correct a few potential null derefs in bootstrap daemon. b9877b32b0 fix: Add missing memunlock of local variable when it goes out of scope. dab5fe44b9 fix: Zero out stack-allocated secret key before return. f058103299 refactor: Make prune_gc_sanctions_list more obviously correct. 3ba7a0dec9 docs: Add static analysis tool list to README. 8d0811a0f3 docs: Run prettier-markdown on markdown files. 969e3a2bfc refactor: Fix network test not using the strong typedef 93c83fbc7c refactor: Use strong typedef instead of struct for `Socket`. 9fe18b176f fix: Fix some false positive from PVS Studio. 7c44379ccb cleanup: Check that WINXP macro exists before comparing it. 5c93231bef refactor: Make tox mutex non-recursive. aacff73939 docs: Fix up doxyfile. d55fc85ff5 docs: Add more documentation to crypto_core. 5bdaaaedb6 refactor: Remove `Tox *` from `tox_dispatch`. e202341e76 refactor: Don't rely on tox_dispatch passing tox in tests. 34df938f52 chore: Use C++ mode for clang-tidy. 8b05296a78 chore: Check that both gtest and gmock exist for tests. 42010660e1 test: Add slimcc compiler compatibility test. b473630321 chore: Add some comments to the astyle config. b7404f24f6 cleanup: Remove implicit bool conversions. 4e2dba4d9f chore: Reformat sources with astyle. 4359e3a6bc chore: Rename C++ headers to .hh suffixes. 0c05566e58 cleanup: Further `#include` cleanups. 8d29935b7a chore: Only check the bootstrap daemon checksum on release. f70e588bc6 cleanup: Add more `const` where possible. 511bfe39c8 cleanup: Use Bazel modules to enforce proper `#include` hygiene. 1710a0d091 refactor: Move pack/unpack `IP_Port` from DHT into network module. a975943564 chore: Really fix coverage docker image build. c08409390f chore: Fix post-submit coverage image. 39aadf8922 fix: Don't use `memcmp` to compare `IP_Port`s. d94246a906 fix: partially fix a bug that prevented group part messages from sending. eeaa039222 chore: Fix rpm build; add a CI check for it. 8328449c1a chore: Speed up docker builds a bit by reducing layer count. d6d67d56f3 cleanup: Add `const` where possible in auto tests. 6aa9e6850d cleanup: Minor cleanup of event unpack code. bdf460a3a9 refactor: Rename `system_{memory,...}` to `os_{memory,...}`. 203e1af81e fix: a few off by one errors in group autotests 5c093c4888 cleanup: Remove all uses of `SIZEOF_VLA`. 662c2140f3 test: Add goblint static analyser. 8f07755834 cleanup: Use `memzero(x, s)` instead of `memset(x, 0, s)`. a7258e40cf cleanup: Use explicit 0 instead of `PACKET_ID_PADDING`. 6370d0f15d cleanup: Expand the `Tox_Options` accessor macros. 14a1a0b9bd cleanup: Remove plan9 support. a05dccad13 test: Add a simple new/delete test for Tox. 1cdcf938b9 cleanup: Add comment after every `#endif`. ba99d4dc4b test: Fix comment I broke in the events test PR. e07248debb refactor: Migrate auto_tests to new events API. bdd42b5452 refactor: Add common msgpack array packer with callback. 3c659f5288 cleanup: Rename group to conference in groupav documentation. 89957be230 cleanup: Ensure handler params are named after callback params. c650d9d345 refactor: Pass `this` pointer as first param to s11n callbacks. e7fb91ddb8 refactor: Allow NULL pointers for byte arrays in events. 5e2c8cabc1 cleanup: make some improvements to group moderation test 259de4867e cleanup: Remove `bin_pack_{new,free}`. 21a8ff5895 cleanup: skip a do_gc iteration before removing peers marked for deletion 16809dc36e feat: Add dht_get_nodes_response event to the events system. git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: b03b5712720de9a9901ea12fd741f177327a7021
1718 lines
52 KiB
C
1718 lines
52 KiB
C
/* SPDX-License-Identifier: GPL-3.0-or-later
|
|
* Copyright © 2016-2021 The TokTok team.
|
|
*/
|
|
#include "tox.h"
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include "ccompat.h"
|
|
#include "tox_private.h"
|
|
|
|
#define SET_ERROR_PARAMETER(param, x) \
|
|
do { \
|
|
if (param != nullptr) { \
|
|
*param = x; \
|
|
} \
|
|
} while (0)
|
|
|
|
uint32_t tox_version_major(void)
|
|
{
|
|
return TOX_VERSION_MAJOR;
|
|
}
|
|
uint32_t tox_version_minor(void)
|
|
{
|
|
return TOX_VERSION_MINOR;
|
|
}
|
|
uint32_t tox_version_patch(void)
|
|
{
|
|
return TOX_VERSION_PATCH;
|
|
}
|
|
uint32_t tox_public_key_size(void)
|
|
{
|
|
return TOX_PUBLIC_KEY_SIZE;
|
|
}
|
|
uint32_t tox_secret_key_size(void)
|
|
{
|
|
return TOX_SECRET_KEY_SIZE;
|
|
}
|
|
uint32_t tox_conference_uid_size(void)
|
|
{
|
|
return TOX_CONFERENCE_UID_SIZE;
|
|
}
|
|
uint32_t tox_conference_id_size(void)
|
|
{
|
|
return TOX_CONFERENCE_ID_SIZE;
|
|
}
|
|
uint32_t tox_nospam_size(void)
|
|
{
|
|
return TOX_NOSPAM_SIZE;
|
|
}
|
|
uint32_t tox_address_size(void)
|
|
{
|
|
return TOX_ADDRESS_SIZE;
|
|
}
|
|
uint32_t tox_max_name_length(void)
|
|
{
|
|
return TOX_MAX_NAME_LENGTH;
|
|
}
|
|
uint32_t tox_max_status_message_length(void)
|
|
{
|
|
return TOX_MAX_STATUS_MESSAGE_LENGTH;
|
|
}
|
|
uint32_t tox_max_friend_request_length(void)
|
|
{
|
|
return TOX_MAX_FRIEND_REQUEST_LENGTH;
|
|
}
|
|
uint32_t tox_max_message_length(void)
|
|
{
|
|
return TOX_MAX_MESSAGE_LENGTH;
|
|
}
|
|
uint32_t tox_max_custom_packet_size(void)
|
|
{
|
|
return TOX_MAX_CUSTOM_PACKET_SIZE;
|
|
}
|
|
uint32_t tox_hash_length(void)
|
|
{
|
|
return TOX_HASH_LENGTH;
|
|
}
|
|
uint32_t tox_file_id_length(void)
|
|
{
|
|
return TOX_FILE_ID_LENGTH;
|
|
}
|
|
uint32_t tox_max_filename_length(void)
|
|
{
|
|
return TOX_MAX_FILENAME_LENGTH;
|
|
}
|
|
uint32_t tox_max_hostname_length(void)
|
|
{
|
|
return TOX_MAX_HOSTNAME_LENGTH;
|
|
}
|
|
uint32_t tox_group_max_topic_length(void)
|
|
{
|
|
return TOX_GROUP_MAX_TOPIC_LENGTH;
|
|
}
|
|
uint32_t tox_group_max_part_length(void)
|
|
{
|
|
return TOX_GROUP_MAX_PART_LENGTH;
|
|
}
|
|
uint32_t tox_group_max_message_length(void)
|
|
{
|
|
return TOX_GROUP_MAX_MESSAGE_LENGTH;
|
|
}
|
|
uint32_t tox_group_max_custom_lossy_packet_length(void)
|
|
{
|
|
return TOX_GROUP_MAX_CUSTOM_LOSSY_PACKET_LENGTH;
|
|
}
|
|
uint32_t tox_group_max_custom_lossless_packet_length(void)
|
|
{
|
|
return TOX_GROUP_MAX_CUSTOM_LOSSLESS_PACKET_LENGTH;
|
|
}
|
|
uint32_t tox_group_max_group_name_length(void)
|
|
{
|
|
return TOX_GROUP_MAX_GROUP_NAME_LENGTH;
|
|
}
|
|
uint32_t tox_group_max_password_size(void)
|
|
{
|
|
return TOX_GROUP_MAX_PASSWORD_SIZE;
|
|
}
|
|
uint32_t tox_group_chat_id_size(void)
|
|
{
|
|
return TOX_GROUP_CHAT_ID_SIZE;
|
|
}
|
|
uint32_t tox_group_peer_public_key_size(void)
|
|
{
|
|
return TOX_GROUP_PEER_PUBLIC_KEY_SIZE;
|
|
}
|
|
uint32_t tox_group_peer_ip_string_max_length(void)
|
|
{
|
|
return TOX_GROUP_PEER_IP_STRING_MAX_LENGTH;
|
|
}
|
|
uint32_t tox_dht_node_ip_string_size(void)
|
|
{
|
|
return TOX_DHT_NODE_IP_STRING_SIZE;
|
|
}
|
|
uint32_t tox_dht_node_public_key_size(void)
|
|
{
|
|
return TOX_DHT_NODE_PUBLIC_KEY_SIZE;
|
|
}
|
|
|
|
bool tox_options_get_ipv6_enabled(const Tox_Options *options)
|
|
{
|
|
return options->ipv6_enabled;
|
|
}
|
|
void tox_options_set_ipv6_enabled(Tox_Options *options, bool ipv6_enabled)
|
|
{
|
|
options->ipv6_enabled = ipv6_enabled;
|
|
}
|
|
bool tox_options_get_udp_enabled(const Tox_Options *options)
|
|
{
|
|
return options->udp_enabled;
|
|
}
|
|
void tox_options_set_udp_enabled(Tox_Options *options, bool udp_enabled)
|
|
{
|
|
options->udp_enabled = udp_enabled;
|
|
}
|
|
Tox_Proxy_Type tox_options_get_proxy_type(const Tox_Options *options)
|
|
{
|
|
return options->proxy_type;
|
|
}
|
|
void tox_options_set_proxy_type(Tox_Options *options, Tox_Proxy_Type proxy_type)
|
|
{
|
|
options->proxy_type = proxy_type;
|
|
}
|
|
const char *tox_options_get_proxy_host(const Tox_Options *options)
|
|
{
|
|
return options->proxy_host;
|
|
}
|
|
void tox_options_set_proxy_host(Tox_Options *options, const char *proxy_host)
|
|
{
|
|
options->proxy_host = proxy_host;
|
|
}
|
|
uint16_t tox_options_get_proxy_port(const Tox_Options *options)
|
|
{
|
|
return options->proxy_port;
|
|
}
|
|
void tox_options_set_proxy_port(Tox_Options *options, uint16_t proxy_port)
|
|
{
|
|
options->proxy_port = proxy_port;
|
|
}
|
|
uint16_t tox_options_get_start_port(const Tox_Options *options)
|
|
{
|
|
return options->start_port;
|
|
}
|
|
void tox_options_set_start_port(Tox_Options *options, uint16_t start_port)
|
|
{
|
|
options->start_port = start_port;
|
|
}
|
|
uint16_t tox_options_get_end_port(const Tox_Options *options)
|
|
{
|
|
return options->end_port;
|
|
}
|
|
void tox_options_set_end_port(Tox_Options *options, uint16_t end_port)
|
|
{
|
|
options->end_port = end_port;
|
|
}
|
|
uint16_t tox_options_get_tcp_port(const Tox_Options *options)
|
|
{
|
|
return options->tcp_port;
|
|
}
|
|
void tox_options_set_tcp_port(Tox_Options *options, uint16_t tcp_port)
|
|
{
|
|
options->tcp_port = tcp_port;
|
|
}
|
|
bool tox_options_get_hole_punching_enabled(const Tox_Options *options)
|
|
{
|
|
return options->hole_punching_enabled;
|
|
}
|
|
void tox_options_set_hole_punching_enabled(Tox_Options *options, bool hole_punching_enabled)
|
|
{
|
|
options->hole_punching_enabled = hole_punching_enabled;
|
|
}
|
|
Tox_Savedata_Type tox_options_get_savedata_type(const Tox_Options *options)
|
|
{
|
|
return options->savedata_type;
|
|
}
|
|
void tox_options_set_savedata_type(Tox_Options *options, Tox_Savedata_Type savedata_type)
|
|
{
|
|
options->savedata_type = savedata_type;
|
|
}
|
|
size_t tox_options_get_savedata_length(const Tox_Options *options)
|
|
{
|
|
return options->savedata_length;
|
|
}
|
|
void tox_options_set_savedata_length(Tox_Options *options, size_t savedata_length)
|
|
{
|
|
options->savedata_length = savedata_length;
|
|
}
|
|
tox_log_cb *tox_options_get_log_callback(const Tox_Options *options)
|
|
{
|
|
return options->log_callback;
|
|
}
|
|
void tox_options_set_log_callback(Tox_Options *options, tox_log_cb *log_callback)
|
|
{
|
|
options->log_callback = log_callback;
|
|
}
|
|
void *tox_options_get_log_user_data(const Tox_Options *options)
|
|
{
|
|
return options->log_user_data;
|
|
}
|
|
void tox_options_set_log_user_data(Tox_Options *options, void *log_user_data)
|
|
{
|
|
options->log_user_data = log_user_data;
|
|
}
|
|
bool tox_options_get_local_discovery_enabled(const Tox_Options *options)
|
|
{
|
|
return options->local_discovery_enabled;
|
|
}
|
|
void tox_options_set_local_discovery_enabled(Tox_Options *options, bool local_discovery_enabled)
|
|
{
|
|
options->local_discovery_enabled = local_discovery_enabled;
|
|
}
|
|
bool tox_options_get_dht_announcements_enabled(const Tox_Options *options)
|
|
{
|
|
return options->dht_announcements_enabled;
|
|
}
|
|
void tox_options_set_dht_announcements_enabled(Tox_Options *options, bool dht_announcements_enabled)
|
|
{
|
|
options->dht_announcements_enabled = dht_announcements_enabled;
|
|
}
|
|
bool tox_options_get_experimental_thread_safety(const Tox_Options *options)
|
|
{
|
|
return options->experimental_thread_safety;
|
|
}
|
|
void tox_options_set_experimental_thread_safety(
|
|
Tox_Options *options, bool experimental_thread_safety)
|
|
{
|
|
options->experimental_thread_safety = experimental_thread_safety;
|
|
}
|
|
const Tox_System *tox_options_get_operating_system(const Tox_Options *options)
|
|
{
|
|
return options->operating_system;
|
|
}
|
|
void tox_options_set_operating_system(Tox_Options *options, const Tox_System *operating_system)
|
|
{
|
|
options->operating_system = operating_system;
|
|
}
|
|
bool tox_options_get_experimental_groups_persistence(const Tox_Options *options)
|
|
{
|
|
return options->experimental_groups_persistence;
|
|
}
|
|
void tox_options_set_experimental_groups_persistence(
|
|
Tox_Options *options, bool experimental_groups_persistence)
|
|
{
|
|
options->experimental_groups_persistence = experimental_groups_persistence;
|
|
}
|
|
|
|
const uint8_t *tox_options_get_savedata_data(const Tox_Options *options)
|
|
{
|
|
return options->savedata_data;
|
|
}
|
|
|
|
void tox_options_set_savedata_data(Tox_Options *options, const uint8_t *savedata_data, size_t length)
|
|
{
|
|
options->savedata_data = savedata_data;
|
|
options->savedata_length = length;
|
|
}
|
|
|
|
void tox_options_default(Tox_Options *options)
|
|
{
|
|
if (options != nullptr) {
|
|
const Tox_Options default_options = {false};
|
|
*options = default_options;
|
|
tox_options_set_ipv6_enabled(options, true);
|
|
tox_options_set_udp_enabled(options, true);
|
|
tox_options_set_proxy_type(options, TOX_PROXY_TYPE_NONE);
|
|
tox_options_set_hole_punching_enabled(options, true);
|
|
tox_options_set_local_discovery_enabled(options, true);
|
|
tox_options_set_dht_announcements_enabled(options, true);
|
|
tox_options_set_experimental_thread_safety(options, false);
|
|
tox_options_set_experimental_groups_persistence(options, false);
|
|
}
|
|
}
|
|
|
|
Tox_Options *tox_options_new(Tox_Err_Options_New *error)
|
|
{
|
|
Tox_Options *options = (Tox_Options *)calloc(1, sizeof(Tox_Options));
|
|
|
|
if (options != nullptr) {
|
|
tox_options_default(options);
|
|
SET_ERROR_PARAMETER(error, TOX_ERR_OPTIONS_NEW_OK);
|
|
return options;
|
|
}
|
|
|
|
SET_ERROR_PARAMETER(error, TOX_ERR_OPTIONS_NEW_MALLOC);
|
|
return nullptr;
|
|
}
|
|
|
|
void tox_options_free(Tox_Options *options)
|
|
{
|
|
free(options);
|
|
}
|
|
|
|
const char *tox_user_status_to_string(Tox_User_Status value)
|
|
{
|
|
switch (value) {
|
|
case TOX_USER_STATUS_NONE:
|
|
return "TOX_USER_STATUS_NONE";
|
|
|
|
case TOX_USER_STATUS_AWAY:
|
|
return "TOX_USER_STATUS_AWAY";
|
|
|
|
case TOX_USER_STATUS_BUSY:
|
|
return "TOX_USER_STATUS_BUSY";
|
|
}
|
|
|
|
return "<invalid Tox_User_Status>";
|
|
}
|
|
const char *tox_message_type_to_string(Tox_Message_Type value)
|
|
{
|
|
switch (value) {
|
|
case TOX_MESSAGE_TYPE_NORMAL:
|
|
return "TOX_MESSAGE_TYPE_NORMAL";
|
|
|
|
case TOX_MESSAGE_TYPE_ACTION:
|
|
return "TOX_MESSAGE_TYPE_ACTION";
|
|
}
|
|
|
|
return "<invalid Tox_Message_Type>";
|
|
}
|
|
const char *tox_proxy_type_to_string(Tox_Proxy_Type value)
|
|
{
|
|
switch (value) {
|
|
case TOX_PROXY_TYPE_NONE:
|
|
return "TOX_PROXY_TYPE_NONE";
|
|
|
|
case TOX_PROXY_TYPE_HTTP:
|
|
return "TOX_PROXY_TYPE_HTTP";
|
|
|
|
case TOX_PROXY_TYPE_SOCKS5:
|
|
return "TOX_PROXY_TYPE_SOCKS5";
|
|
}
|
|
|
|
return "<invalid Tox_Proxy_Type>";
|
|
}
|
|
const char *tox_savedata_type_to_string(Tox_Savedata_Type value)
|
|
{
|
|
switch (value) {
|
|
case TOX_SAVEDATA_TYPE_NONE:
|
|
return "TOX_SAVEDATA_TYPE_NONE";
|
|
|
|
case TOX_SAVEDATA_TYPE_TOX_SAVE:
|
|
return "TOX_SAVEDATA_TYPE_TOX_SAVE";
|
|
|
|
case TOX_SAVEDATA_TYPE_SECRET_KEY:
|
|
return "TOX_SAVEDATA_TYPE_SECRET_KEY";
|
|
}
|
|
|
|
return "<invalid Tox_Savedata_Type>";
|
|
}
|
|
const char *tox_log_level_to_string(Tox_Log_Level value)
|
|
{
|
|
switch (value) {
|
|
case TOX_LOG_LEVEL_TRACE:
|
|
return "TOX_LOG_LEVEL_TRACE";
|
|
|
|
case TOX_LOG_LEVEL_DEBUG:
|
|
return "TOX_LOG_LEVEL_DEBUG";
|
|
|
|
case TOX_LOG_LEVEL_INFO:
|
|
return "TOX_LOG_LEVEL_INFO";
|
|
|
|
case TOX_LOG_LEVEL_WARNING:
|
|
return "TOX_LOG_LEVEL_WARNING";
|
|
|
|
case TOX_LOG_LEVEL_ERROR:
|
|
return "TOX_LOG_LEVEL_ERROR";
|
|
}
|
|
|
|
return "<invalid Tox_Log_Level>";
|
|
}
|
|
const char *tox_err_options_new_to_string(Tox_Err_Options_New value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_OPTIONS_NEW_OK:
|
|
return "TOX_ERR_OPTIONS_NEW_OK";
|
|
|
|
case TOX_ERR_OPTIONS_NEW_MALLOC:
|
|
return "TOX_ERR_OPTIONS_NEW_MALLOC";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Options_New>";
|
|
}
|
|
const char *tox_err_new_to_string(Tox_Err_New value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_NEW_OK:
|
|
return "TOX_ERR_NEW_OK";
|
|
|
|
case TOX_ERR_NEW_NULL:
|
|
return "TOX_ERR_NEW_NULL";
|
|
|
|
case TOX_ERR_NEW_MALLOC:
|
|
return "TOX_ERR_NEW_MALLOC";
|
|
|
|
case TOX_ERR_NEW_PORT_ALLOC:
|
|
return "TOX_ERR_NEW_PORT_ALLOC";
|
|
|
|
case TOX_ERR_NEW_PROXY_BAD_TYPE:
|
|
return "TOX_ERR_NEW_PROXY_BAD_TYPE";
|
|
|
|
case TOX_ERR_NEW_PROXY_BAD_HOST:
|
|
return "TOX_ERR_NEW_PROXY_BAD_HOST";
|
|
|
|
case TOX_ERR_NEW_PROXY_BAD_PORT:
|
|
return "TOX_ERR_NEW_PROXY_BAD_PORT";
|
|
|
|
case TOX_ERR_NEW_PROXY_NOT_FOUND:
|
|
return "TOX_ERR_NEW_PROXY_NOT_FOUND";
|
|
|
|
case TOX_ERR_NEW_LOAD_ENCRYPTED:
|
|
return "TOX_ERR_NEW_LOAD_ENCRYPTED";
|
|
|
|
case TOX_ERR_NEW_LOAD_BAD_FORMAT:
|
|
return "TOX_ERR_NEW_LOAD_BAD_FORMAT";
|
|
}
|
|
|
|
return "<invalid Tox_Err_New>";
|
|
}
|
|
const char *tox_err_bootstrap_to_string(Tox_Err_Bootstrap value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_BOOTSTRAP_OK:
|
|
return "TOX_ERR_BOOTSTRAP_OK";
|
|
|
|
case TOX_ERR_BOOTSTRAP_NULL:
|
|
return "TOX_ERR_BOOTSTRAP_NULL";
|
|
|
|
case TOX_ERR_BOOTSTRAP_BAD_HOST:
|
|
return "TOX_ERR_BOOTSTRAP_BAD_HOST";
|
|
|
|
case TOX_ERR_BOOTSTRAP_BAD_PORT:
|
|
return "TOX_ERR_BOOTSTRAP_BAD_PORT";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Bootstrap>";
|
|
}
|
|
const char *tox_connection_to_string(Tox_Connection value)
|
|
{
|
|
switch (value) {
|
|
case TOX_CONNECTION_NONE:
|
|
return "TOX_CONNECTION_NONE";
|
|
|
|
case TOX_CONNECTION_TCP:
|
|
return "TOX_CONNECTION_TCP";
|
|
|
|
case TOX_CONNECTION_UDP:
|
|
return "TOX_CONNECTION_UDP";
|
|
}
|
|
|
|
return "<invalid Tox_Connection>";
|
|
}
|
|
const char *tox_err_set_info_to_string(Tox_Err_Set_Info value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_SET_INFO_OK:
|
|
return "TOX_ERR_SET_INFO_OK";
|
|
|
|
case TOX_ERR_SET_INFO_NULL:
|
|
return "TOX_ERR_SET_INFO_NULL";
|
|
|
|
case TOX_ERR_SET_INFO_TOO_LONG:
|
|
return "TOX_ERR_SET_INFO_TOO_LONG";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Set_Info>";
|
|
}
|
|
const char *tox_err_friend_add_to_string(Tox_Err_Friend_Add value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FRIEND_ADD_OK:
|
|
return "TOX_ERR_FRIEND_ADD_OK";
|
|
|
|
case TOX_ERR_FRIEND_ADD_NULL:
|
|
return "TOX_ERR_FRIEND_ADD_NULL";
|
|
|
|
case TOX_ERR_FRIEND_ADD_TOO_LONG:
|
|
return "TOX_ERR_FRIEND_ADD_TOO_LONG";
|
|
|
|
case TOX_ERR_FRIEND_ADD_NO_MESSAGE:
|
|
return "TOX_ERR_FRIEND_ADD_NO_MESSAGE";
|
|
|
|
case TOX_ERR_FRIEND_ADD_OWN_KEY:
|
|
return "TOX_ERR_FRIEND_ADD_OWN_KEY";
|
|
|
|
case TOX_ERR_FRIEND_ADD_ALREADY_SENT:
|
|
return "TOX_ERR_FRIEND_ADD_ALREADY_SENT";
|
|
|
|
case TOX_ERR_FRIEND_ADD_BAD_CHECKSUM:
|
|
return "TOX_ERR_FRIEND_ADD_BAD_CHECKSUM";
|
|
|
|
case TOX_ERR_FRIEND_ADD_SET_NEW_NOSPAM:
|
|
return "TOX_ERR_FRIEND_ADD_SET_NEW_NOSPAM";
|
|
|
|
case TOX_ERR_FRIEND_ADD_MALLOC:
|
|
return "TOX_ERR_FRIEND_ADD_MALLOC";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Friend_Add>";
|
|
}
|
|
const char *tox_err_friend_delete_to_string(Tox_Err_Friend_Delete value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FRIEND_DELETE_OK:
|
|
return "TOX_ERR_FRIEND_DELETE_OK";
|
|
|
|
case TOX_ERR_FRIEND_DELETE_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FRIEND_DELETE_FRIEND_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Friend_Delete>";
|
|
}
|
|
const char *tox_err_friend_by_public_key_to_string(Tox_Err_Friend_By_Public_Key value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FRIEND_BY_PUBLIC_KEY_OK:
|
|
return "TOX_ERR_FRIEND_BY_PUBLIC_KEY_OK";
|
|
|
|
case TOX_ERR_FRIEND_BY_PUBLIC_KEY_NULL:
|
|
return "TOX_ERR_FRIEND_BY_PUBLIC_KEY_NULL";
|
|
|
|
case TOX_ERR_FRIEND_BY_PUBLIC_KEY_NOT_FOUND:
|
|
return "TOX_ERR_FRIEND_BY_PUBLIC_KEY_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Friend_By_Public_Key>";
|
|
}
|
|
const char *tox_err_friend_get_public_key_to_string(Tox_Err_Friend_Get_Public_Key value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FRIEND_GET_PUBLIC_KEY_OK:
|
|
return "TOX_ERR_FRIEND_GET_PUBLIC_KEY_OK";
|
|
|
|
case TOX_ERR_FRIEND_GET_PUBLIC_KEY_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FRIEND_GET_PUBLIC_KEY_FRIEND_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Friend_Get_Public_Key>";
|
|
}
|
|
const char *tox_err_friend_get_last_online_to_string(Tox_Err_Friend_Get_Last_Online value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FRIEND_GET_LAST_ONLINE_OK:
|
|
return "TOX_ERR_FRIEND_GET_LAST_ONLINE_OK";
|
|
|
|
case TOX_ERR_FRIEND_GET_LAST_ONLINE_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FRIEND_GET_LAST_ONLINE_FRIEND_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Friend_Get_Last_Online>";
|
|
}
|
|
const char *tox_err_friend_query_to_string(Tox_Err_Friend_Query value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FRIEND_QUERY_OK:
|
|
return "TOX_ERR_FRIEND_QUERY_OK";
|
|
|
|
case TOX_ERR_FRIEND_QUERY_NULL:
|
|
return "TOX_ERR_FRIEND_QUERY_NULL";
|
|
|
|
case TOX_ERR_FRIEND_QUERY_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FRIEND_QUERY_FRIEND_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Friend_Query>";
|
|
}
|
|
const char *tox_err_set_typing_to_string(Tox_Err_Set_Typing value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_SET_TYPING_OK:
|
|
return "TOX_ERR_SET_TYPING_OK";
|
|
|
|
case TOX_ERR_SET_TYPING_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_SET_TYPING_FRIEND_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Set_Typing>";
|
|
}
|
|
const char *tox_err_friend_send_message_to_string(Tox_Err_Friend_Send_Message value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FRIEND_SEND_MESSAGE_OK:
|
|
return "TOX_ERR_FRIEND_SEND_MESSAGE_OK";
|
|
|
|
case TOX_ERR_FRIEND_SEND_MESSAGE_NULL:
|
|
return "TOX_ERR_FRIEND_SEND_MESSAGE_NULL";
|
|
|
|
case TOX_ERR_FRIEND_SEND_MESSAGE_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FRIEND_SEND_MESSAGE_FRIEND_NOT_FOUND";
|
|
|
|
case TOX_ERR_FRIEND_SEND_MESSAGE_FRIEND_NOT_CONNECTED:
|
|
return "TOX_ERR_FRIEND_SEND_MESSAGE_FRIEND_NOT_CONNECTED";
|
|
|
|
case TOX_ERR_FRIEND_SEND_MESSAGE_SENDQ:
|
|
return "TOX_ERR_FRIEND_SEND_MESSAGE_SENDQ";
|
|
|
|
case TOX_ERR_FRIEND_SEND_MESSAGE_TOO_LONG:
|
|
return "TOX_ERR_FRIEND_SEND_MESSAGE_TOO_LONG";
|
|
|
|
case TOX_ERR_FRIEND_SEND_MESSAGE_EMPTY:
|
|
return "TOX_ERR_FRIEND_SEND_MESSAGE_EMPTY";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Friend_Send_Message>";
|
|
}
|
|
const char *tox_file_control_to_string(Tox_File_Control value)
|
|
{
|
|
switch (value) {
|
|
case TOX_FILE_CONTROL_RESUME:
|
|
return "TOX_FILE_CONTROL_RESUME";
|
|
|
|
case TOX_FILE_CONTROL_PAUSE:
|
|
return "TOX_FILE_CONTROL_PAUSE";
|
|
|
|
case TOX_FILE_CONTROL_CANCEL:
|
|
return "TOX_FILE_CONTROL_CANCEL";
|
|
}
|
|
|
|
return "<invalid Tox_File_Control>";
|
|
}
|
|
const char *tox_err_file_control_to_string(Tox_Err_File_Control value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FILE_CONTROL_OK:
|
|
return "TOX_ERR_FILE_CONTROL_OK";
|
|
|
|
case TOX_ERR_FILE_CONTROL_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FILE_CONTROL_FRIEND_NOT_FOUND";
|
|
|
|
case TOX_ERR_FILE_CONTROL_FRIEND_NOT_CONNECTED:
|
|
return "TOX_ERR_FILE_CONTROL_FRIEND_NOT_CONNECTED";
|
|
|
|
case TOX_ERR_FILE_CONTROL_NOT_FOUND:
|
|
return "TOX_ERR_FILE_CONTROL_NOT_FOUND";
|
|
|
|
case TOX_ERR_FILE_CONTROL_NOT_PAUSED:
|
|
return "TOX_ERR_FILE_CONTROL_NOT_PAUSED";
|
|
|
|
case TOX_ERR_FILE_CONTROL_DENIED:
|
|
return "TOX_ERR_FILE_CONTROL_DENIED";
|
|
|
|
case TOX_ERR_FILE_CONTROL_ALREADY_PAUSED:
|
|
return "TOX_ERR_FILE_CONTROL_ALREADY_PAUSED";
|
|
|
|
case TOX_ERR_FILE_CONTROL_SENDQ:
|
|
return "TOX_ERR_FILE_CONTROL_SENDQ";
|
|
}
|
|
|
|
return "<invalid Tox_Err_File_Control>";
|
|
}
|
|
const char *tox_err_file_seek_to_string(Tox_Err_File_Seek value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FILE_SEEK_OK:
|
|
return "TOX_ERR_FILE_SEEK_OK";
|
|
|
|
case TOX_ERR_FILE_SEEK_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FILE_SEEK_FRIEND_NOT_FOUND";
|
|
|
|
case TOX_ERR_FILE_SEEK_FRIEND_NOT_CONNECTED:
|
|
return "TOX_ERR_FILE_SEEK_FRIEND_NOT_CONNECTED";
|
|
|
|
case TOX_ERR_FILE_SEEK_NOT_FOUND:
|
|
return "TOX_ERR_FILE_SEEK_NOT_FOUND";
|
|
|
|
case TOX_ERR_FILE_SEEK_DENIED:
|
|
return "TOX_ERR_FILE_SEEK_DENIED";
|
|
|
|
case TOX_ERR_FILE_SEEK_INVALID_POSITION:
|
|
return "TOX_ERR_FILE_SEEK_INVALID_POSITION";
|
|
|
|
case TOX_ERR_FILE_SEEK_SENDQ:
|
|
return "TOX_ERR_FILE_SEEK_SENDQ";
|
|
}
|
|
|
|
return "<invalid Tox_Err_File_Seek>";
|
|
}
|
|
const char *tox_err_file_get_to_string(Tox_Err_File_Get value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FILE_GET_OK:
|
|
return "TOX_ERR_FILE_GET_OK";
|
|
|
|
case TOX_ERR_FILE_GET_NULL:
|
|
return "TOX_ERR_FILE_GET_NULL";
|
|
|
|
case TOX_ERR_FILE_GET_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FILE_GET_FRIEND_NOT_FOUND";
|
|
|
|
case TOX_ERR_FILE_GET_NOT_FOUND:
|
|
return "TOX_ERR_FILE_GET_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_File_Get>";
|
|
}
|
|
const char *tox_err_file_send_to_string(Tox_Err_File_Send value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FILE_SEND_OK:
|
|
return "TOX_ERR_FILE_SEND_OK";
|
|
|
|
case TOX_ERR_FILE_SEND_NULL:
|
|
return "TOX_ERR_FILE_SEND_NULL";
|
|
|
|
case TOX_ERR_FILE_SEND_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FILE_SEND_FRIEND_NOT_FOUND";
|
|
|
|
case TOX_ERR_FILE_SEND_FRIEND_NOT_CONNECTED:
|
|
return "TOX_ERR_FILE_SEND_FRIEND_NOT_CONNECTED";
|
|
|
|
case TOX_ERR_FILE_SEND_NAME_TOO_LONG:
|
|
return "TOX_ERR_FILE_SEND_NAME_TOO_LONG";
|
|
|
|
case TOX_ERR_FILE_SEND_TOO_MANY:
|
|
return "TOX_ERR_FILE_SEND_TOO_MANY";
|
|
}
|
|
|
|
return "<invalid Tox_Err_File_Send>";
|
|
}
|
|
const char *tox_err_file_send_chunk_to_string(Tox_Err_File_Send_Chunk value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FILE_SEND_CHUNK_OK:
|
|
return "TOX_ERR_FILE_SEND_CHUNK_OK";
|
|
|
|
case TOX_ERR_FILE_SEND_CHUNK_NULL:
|
|
return "TOX_ERR_FILE_SEND_CHUNK_NULL";
|
|
|
|
case TOX_ERR_FILE_SEND_CHUNK_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FILE_SEND_CHUNK_FRIEND_NOT_FOUND";
|
|
|
|
case TOX_ERR_FILE_SEND_CHUNK_FRIEND_NOT_CONNECTED:
|
|
return "TOX_ERR_FILE_SEND_CHUNK_FRIEND_NOT_CONNECTED";
|
|
|
|
case TOX_ERR_FILE_SEND_CHUNK_NOT_FOUND:
|
|
return "TOX_ERR_FILE_SEND_CHUNK_NOT_FOUND";
|
|
|
|
case TOX_ERR_FILE_SEND_CHUNK_NOT_TRANSFERRING:
|
|
return "TOX_ERR_FILE_SEND_CHUNK_NOT_TRANSFERRING";
|
|
|
|
case TOX_ERR_FILE_SEND_CHUNK_INVALID_LENGTH:
|
|
return "TOX_ERR_FILE_SEND_CHUNK_INVALID_LENGTH";
|
|
|
|
case TOX_ERR_FILE_SEND_CHUNK_SENDQ:
|
|
return "TOX_ERR_FILE_SEND_CHUNK_SENDQ";
|
|
|
|
case TOX_ERR_FILE_SEND_CHUNK_WRONG_POSITION:
|
|
return "TOX_ERR_FILE_SEND_CHUNK_WRONG_POSITION";
|
|
}
|
|
|
|
return "<invalid Tox_Err_File_Send_Chunk>";
|
|
}
|
|
const char *tox_conference_type_to_string(Tox_Conference_Type value)
|
|
{
|
|
switch (value) {
|
|
case TOX_CONFERENCE_TYPE_TEXT:
|
|
return "TOX_CONFERENCE_TYPE_TEXT";
|
|
|
|
case TOX_CONFERENCE_TYPE_AV:
|
|
return "TOX_CONFERENCE_TYPE_AV";
|
|
}
|
|
|
|
return "<invalid Tox_Conference_Type>";
|
|
}
|
|
const char *tox_err_conference_new_to_string(Tox_Err_Conference_New value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_NEW_OK:
|
|
return "TOX_ERR_CONFERENCE_NEW_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_NEW_INIT:
|
|
return "TOX_ERR_CONFERENCE_NEW_INIT";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_New>";
|
|
}
|
|
const char *tox_err_conference_delete_to_string(Tox_Err_Conference_Delete value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_DELETE_OK:
|
|
return "TOX_ERR_CONFERENCE_DELETE_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_DELETE_CONFERENCE_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_DELETE_CONFERENCE_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_Delete>";
|
|
}
|
|
const char *tox_err_conference_peer_query_to_string(Tox_Err_Conference_Peer_Query value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_PEER_QUERY_OK:
|
|
return "TOX_ERR_CONFERENCE_PEER_QUERY_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_PEER_QUERY_CONFERENCE_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_PEER_QUERY_CONFERENCE_NOT_FOUND";
|
|
|
|
case TOX_ERR_CONFERENCE_PEER_QUERY_PEER_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_PEER_QUERY_PEER_NOT_FOUND";
|
|
|
|
case TOX_ERR_CONFERENCE_PEER_QUERY_NO_CONNECTION:
|
|
return "TOX_ERR_CONFERENCE_PEER_QUERY_NO_CONNECTION";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_Peer_Query>";
|
|
}
|
|
const char *tox_err_conference_set_max_offline_to_string(Tox_Err_Conference_Set_Max_Offline value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_SET_MAX_OFFLINE_OK:
|
|
return "TOX_ERR_CONFERENCE_SET_MAX_OFFLINE_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_SET_MAX_OFFLINE_CONFERENCE_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_SET_MAX_OFFLINE_CONFERENCE_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_Set_Max_Offline>";
|
|
}
|
|
const char *tox_err_conference_invite_to_string(Tox_Err_Conference_Invite value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_INVITE_OK:
|
|
return "TOX_ERR_CONFERENCE_INVITE_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_INVITE_CONFERENCE_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_INVITE_CONFERENCE_NOT_FOUND";
|
|
|
|
case TOX_ERR_CONFERENCE_INVITE_FAIL_SEND:
|
|
return "TOX_ERR_CONFERENCE_INVITE_FAIL_SEND";
|
|
|
|
case TOX_ERR_CONFERENCE_INVITE_NO_CONNECTION:
|
|
return "TOX_ERR_CONFERENCE_INVITE_NO_CONNECTION";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_Invite>";
|
|
}
|
|
const char *tox_err_conference_join_to_string(Tox_Err_Conference_Join value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_JOIN_OK:
|
|
return "TOX_ERR_CONFERENCE_JOIN_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_JOIN_INVALID_LENGTH:
|
|
return "TOX_ERR_CONFERENCE_JOIN_INVALID_LENGTH";
|
|
|
|
case TOX_ERR_CONFERENCE_JOIN_WRONG_TYPE:
|
|
return "TOX_ERR_CONFERENCE_JOIN_WRONG_TYPE";
|
|
|
|
case TOX_ERR_CONFERENCE_JOIN_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_JOIN_FRIEND_NOT_FOUND";
|
|
|
|
case TOX_ERR_CONFERENCE_JOIN_DUPLICATE:
|
|
return "TOX_ERR_CONFERENCE_JOIN_DUPLICATE";
|
|
|
|
case TOX_ERR_CONFERENCE_JOIN_INIT_FAIL:
|
|
return "TOX_ERR_CONFERENCE_JOIN_INIT_FAIL";
|
|
|
|
case TOX_ERR_CONFERENCE_JOIN_FAIL_SEND:
|
|
return "TOX_ERR_CONFERENCE_JOIN_FAIL_SEND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_Join>";
|
|
}
|
|
const char *tox_err_conference_send_message_to_string(Tox_Err_Conference_Send_Message value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_SEND_MESSAGE_OK:
|
|
return "TOX_ERR_CONFERENCE_SEND_MESSAGE_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_SEND_MESSAGE_CONFERENCE_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_SEND_MESSAGE_CONFERENCE_NOT_FOUND";
|
|
|
|
case TOX_ERR_CONFERENCE_SEND_MESSAGE_TOO_LONG:
|
|
return "TOX_ERR_CONFERENCE_SEND_MESSAGE_TOO_LONG";
|
|
|
|
case TOX_ERR_CONFERENCE_SEND_MESSAGE_NO_CONNECTION:
|
|
return "TOX_ERR_CONFERENCE_SEND_MESSAGE_NO_CONNECTION";
|
|
|
|
case TOX_ERR_CONFERENCE_SEND_MESSAGE_FAIL_SEND:
|
|
return "TOX_ERR_CONFERENCE_SEND_MESSAGE_FAIL_SEND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_Send_Message>";
|
|
}
|
|
const char *tox_err_conference_title_to_string(Tox_Err_Conference_Title value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_TITLE_OK:
|
|
return "TOX_ERR_CONFERENCE_TITLE_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_TITLE_CONFERENCE_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_TITLE_CONFERENCE_NOT_FOUND";
|
|
|
|
case TOX_ERR_CONFERENCE_TITLE_INVALID_LENGTH:
|
|
return "TOX_ERR_CONFERENCE_TITLE_INVALID_LENGTH";
|
|
|
|
case TOX_ERR_CONFERENCE_TITLE_FAIL_SEND:
|
|
return "TOX_ERR_CONFERENCE_TITLE_FAIL_SEND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_Title>";
|
|
}
|
|
const char *tox_err_conference_get_type_to_string(Tox_Err_Conference_Get_Type value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_GET_TYPE_OK:
|
|
return "TOX_ERR_CONFERENCE_GET_TYPE_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_GET_TYPE_CONFERENCE_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_GET_TYPE_CONFERENCE_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_Get_Type>";
|
|
}
|
|
const char *tox_err_conference_by_id_to_string(Tox_Err_Conference_By_Id value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_BY_ID_OK:
|
|
return "TOX_ERR_CONFERENCE_BY_ID_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_BY_ID_NULL:
|
|
return "TOX_ERR_CONFERENCE_BY_ID_NULL";
|
|
|
|
case TOX_ERR_CONFERENCE_BY_ID_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_BY_ID_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_By_Id>";
|
|
}
|
|
const char *tox_err_conference_by_uid_to_string(Tox_Err_Conference_By_Uid value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_CONFERENCE_BY_UID_OK:
|
|
return "TOX_ERR_CONFERENCE_BY_UID_OK";
|
|
|
|
case TOX_ERR_CONFERENCE_BY_UID_NULL:
|
|
return "TOX_ERR_CONFERENCE_BY_UID_NULL";
|
|
|
|
case TOX_ERR_CONFERENCE_BY_UID_NOT_FOUND:
|
|
return "TOX_ERR_CONFERENCE_BY_UID_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Conference_By_Uid>";
|
|
}
|
|
const char *tox_err_friend_custom_packet_to_string(Tox_Err_Friend_Custom_Packet value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_FRIEND_CUSTOM_PACKET_OK:
|
|
return "TOX_ERR_FRIEND_CUSTOM_PACKET_OK";
|
|
|
|
case TOX_ERR_FRIEND_CUSTOM_PACKET_NULL:
|
|
return "TOX_ERR_FRIEND_CUSTOM_PACKET_NULL";
|
|
|
|
case TOX_ERR_FRIEND_CUSTOM_PACKET_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_FRIEND_CUSTOM_PACKET_FRIEND_NOT_FOUND";
|
|
|
|
case TOX_ERR_FRIEND_CUSTOM_PACKET_FRIEND_NOT_CONNECTED:
|
|
return "TOX_ERR_FRIEND_CUSTOM_PACKET_FRIEND_NOT_CONNECTED";
|
|
|
|
case TOX_ERR_FRIEND_CUSTOM_PACKET_INVALID:
|
|
return "TOX_ERR_FRIEND_CUSTOM_PACKET_INVALID";
|
|
|
|
case TOX_ERR_FRIEND_CUSTOM_PACKET_EMPTY:
|
|
return "TOX_ERR_FRIEND_CUSTOM_PACKET_EMPTY";
|
|
|
|
case TOX_ERR_FRIEND_CUSTOM_PACKET_TOO_LONG:
|
|
return "TOX_ERR_FRIEND_CUSTOM_PACKET_TOO_LONG";
|
|
|
|
case TOX_ERR_FRIEND_CUSTOM_PACKET_SENDQ:
|
|
return "TOX_ERR_FRIEND_CUSTOM_PACKET_SENDQ";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Friend_Custom_Packet>";
|
|
}
|
|
const char *tox_err_get_port_to_string(Tox_Err_Get_Port value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GET_PORT_OK:
|
|
return "TOX_ERR_GET_PORT_OK";
|
|
|
|
case TOX_ERR_GET_PORT_NOT_BOUND:
|
|
return "TOX_ERR_GET_PORT_NOT_BOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Get_Port>";
|
|
}
|
|
const char *tox_group_privacy_state_to_string(Tox_Group_Privacy_State value)
|
|
{
|
|
switch (value) {
|
|
case TOX_GROUP_PRIVACY_STATE_PUBLIC:
|
|
return "TOX_GROUP_PRIVACY_STATE_PUBLIC";
|
|
|
|
case TOX_GROUP_PRIVACY_STATE_PRIVATE:
|
|
return "TOX_GROUP_PRIVACY_STATE_PRIVATE";
|
|
}
|
|
|
|
return "<invalid Tox_Group_Privacy_State>";
|
|
}
|
|
const char *tox_group_topic_lock_to_string(Tox_Group_Topic_Lock value)
|
|
{
|
|
switch (value) {
|
|
case TOX_GROUP_TOPIC_LOCK_ENABLED:
|
|
return "TOX_GROUP_TOPIC_LOCK_ENABLED";
|
|
|
|
case TOX_GROUP_TOPIC_LOCK_DISABLED:
|
|
return "TOX_GROUP_TOPIC_LOCK_DISABLED";
|
|
}
|
|
|
|
return "<invalid Tox_Group_Topic_Lock>";
|
|
}
|
|
const char *tox_group_voice_state_to_string(Tox_Group_Voice_State value)
|
|
{
|
|
switch (value) {
|
|
case TOX_GROUP_VOICE_STATE_ALL:
|
|
return "TOX_GROUP_VOICE_STATE_ALL";
|
|
|
|
case TOX_GROUP_VOICE_STATE_MODERATOR:
|
|
return "TOX_GROUP_VOICE_STATE_MODERATOR";
|
|
|
|
case TOX_GROUP_VOICE_STATE_FOUNDER:
|
|
return "TOX_GROUP_VOICE_STATE_FOUNDER";
|
|
}
|
|
|
|
return "<invalid Tox_Group_Voice_State>";
|
|
}
|
|
const char *tox_group_role_to_string(Tox_Group_Role value)
|
|
{
|
|
switch (value) {
|
|
case TOX_GROUP_ROLE_FOUNDER:
|
|
return "TOX_GROUP_ROLE_FOUNDER";
|
|
|
|
case TOX_GROUP_ROLE_MODERATOR:
|
|
return "TOX_GROUP_ROLE_MODERATOR";
|
|
|
|
case TOX_GROUP_ROLE_USER:
|
|
return "TOX_GROUP_ROLE_USER";
|
|
|
|
case TOX_GROUP_ROLE_OBSERVER:
|
|
return "TOX_GROUP_ROLE_OBSERVER";
|
|
}
|
|
|
|
return "<invalid Tox_Group_Role>";
|
|
}
|
|
const char *tox_err_group_new_to_string(Tox_Err_Group_New value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_NEW_OK:
|
|
return "TOX_ERR_GROUP_NEW_OK";
|
|
|
|
case TOX_ERR_GROUP_NEW_TOO_LONG:
|
|
return "TOX_ERR_GROUP_NEW_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_NEW_EMPTY:
|
|
return "TOX_ERR_GROUP_NEW_EMPTY";
|
|
|
|
case TOX_ERR_GROUP_NEW_INIT:
|
|
return "TOX_ERR_GROUP_NEW_INIT";
|
|
|
|
case TOX_ERR_GROUP_NEW_STATE:
|
|
return "TOX_ERR_GROUP_NEW_STATE";
|
|
|
|
case TOX_ERR_GROUP_NEW_ANNOUNCE:
|
|
return "TOX_ERR_GROUP_NEW_ANNOUNCE";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_New>";
|
|
}
|
|
const char *tox_err_group_join_to_string(Tox_Err_Group_Join value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_JOIN_OK:
|
|
return "TOX_ERR_GROUP_JOIN_OK";
|
|
|
|
case TOX_ERR_GROUP_JOIN_INIT:
|
|
return "TOX_ERR_GROUP_JOIN_INIT";
|
|
|
|
case TOX_ERR_GROUP_JOIN_BAD_CHAT_ID:
|
|
return "TOX_ERR_GROUP_JOIN_BAD_CHAT_ID";
|
|
|
|
case TOX_ERR_GROUP_JOIN_EMPTY:
|
|
return "TOX_ERR_GROUP_JOIN_EMPTY";
|
|
|
|
case TOX_ERR_GROUP_JOIN_TOO_LONG:
|
|
return "TOX_ERR_GROUP_JOIN_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_JOIN_PASSWORD:
|
|
return "TOX_ERR_GROUP_JOIN_PASSWORD";
|
|
|
|
case TOX_ERR_GROUP_JOIN_CORE:
|
|
return "TOX_ERR_GROUP_JOIN_CORE";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Join>";
|
|
}
|
|
const char *tox_err_group_is_connected_to_string(Tox_Err_Group_Is_Connected value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_IS_CONNECTED_OK:
|
|
return "TOX_ERR_GROUP_IS_CONNECTED_OK";
|
|
|
|
case TOX_ERR_GROUP_IS_CONNECTED_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_IS_CONNECTED_GROUP_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Is_Connected>";
|
|
}
|
|
const char *tox_err_group_disconnect_to_string(Tox_Err_Group_Disconnect value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_DISCONNECT_OK:
|
|
return "TOX_ERR_GROUP_DISCONNECT_OK";
|
|
|
|
case TOX_ERR_GROUP_DISCONNECT_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_DISCONNECT_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_DISCONNECT_ALREADY_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_DISCONNECT_ALREADY_DISCONNECTED";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Disconnect>";
|
|
}
|
|
const char *tox_err_group_reconnect_to_string(Tox_Err_Group_Reconnect value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_RECONNECT_OK:
|
|
return "TOX_ERR_GROUP_RECONNECT_OK";
|
|
|
|
case TOX_ERR_GROUP_RECONNECT_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_RECONNECT_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_RECONNECT_CORE:
|
|
return "TOX_ERR_GROUP_RECONNECT_CORE";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Reconnect>";
|
|
}
|
|
const char *tox_err_group_leave_to_string(Tox_Err_Group_Leave value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_LEAVE_OK:
|
|
return "TOX_ERR_GROUP_LEAVE_OK";
|
|
|
|
case TOX_ERR_GROUP_LEAVE_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_LEAVE_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_LEAVE_TOO_LONG:
|
|
return "TOX_ERR_GROUP_LEAVE_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_LEAVE_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_LEAVE_FAIL_SEND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Leave>";
|
|
}
|
|
const char *tox_err_group_self_query_to_string(Tox_Err_Group_Self_Query value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SELF_QUERY_OK:
|
|
return "TOX_ERR_GROUP_SELF_QUERY_OK";
|
|
|
|
case TOX_ERR_GROUP_SELF_QUERY_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SELF_QUERY_GROUP_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Self_Query>";
|
|
}
|
|
const char *tox_err_group_self_name_set_to_string(Tox_Err_Group_Self_Name_Set value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SELF_NAME_SET_OK:
|
|
return "TOX_ERR_GROUP_SELF_NAME_SET_OK";
|
|
|
|
case TOX_ERR_GROUP_SELF_NAME_SET_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SELF_NAME_SET_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SELF_NAME_SET_TOO_LONG:
|
|
return "TOX_ERR_GROUP_SELF_NAME_SET_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_SELF_NAME_SET_INVALID:
|
|
return "TOX_ERR_GROUP_SELF_NAME_SET_INVALID";
|
|
|
|
case TOX_ERR_GROUP_SELF_NAME_SET_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SELF_NAME_SET_FAIL_SEND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Self_Name_Set>";
|
|
}
|
|
const char *tox_err_group_self_status_set_to_string(Tox_Err_Group_Self_Status_Set value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SELF_STATUS_SET_OK:
|
|
return "TOX_ERR_GROUP_SELF_STATUS_SET_OK";
|
|
|
|
case TOX_ERR_GROUP_SELF_STATUS_SET_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SELF_STATUS_SET_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SELF_STATUS_SET_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SELF_STATUS_SET_FAIL_SEND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Self_Status_Set>";
|
|
}
|
|
const char *tox_err_group_peer_query_to_string(Tox_Err_Group_Peer_Query value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_PEER_QUERY_OK:
|
|
return "TOX_ERR_GROUP_PEER_QUERY_OK";
|
|
|
|
case TOX_ERR_GROUP_PEER_QUERY_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_PEER_QUERY_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_PEER_QUERY_PEER_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_PEER_QUERY_PEER_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Peer_Query>";
|
|
}
|
|
const char *tox_err_group_state_query_to_string(Tox_Err_Group_State_Query value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_STATE_QUERY_OK:
|
|
return "TOX_ERR_GROUP_STATE_QUERY_OK";
|
|
|
|
case TOX_ERR_GROUP_STATE_QUERY_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_STATE_QUERY_GROUP_NOT_FOUND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_State_Query>";
|
|
}
|
|
const char *tox_err_group_topic_set_to_string(Tox_Err_Group_Topic_Set value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_TOPIC_SET_OK:
|
|
return "TOX_ERR_GROUP_TOPIC_SET_OK";
|
|
|
|
case TOX_ERR_GROUP_TOPIC_SET_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_TOPIC_SET_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_TOPIC_SET_TOO_LONG:
|
|
return "TOX_ERR_GROUP_TOPIC_SET_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_TOPIC_SET_PERMISSIONS:
|
|
return "TOX_ERR_GROUP_TOPIC_SET_PERMISSIONS";
|
|
|
|
case TOX_ERR_GROUP_TOPIC_SET_FAIL_CREATE:
|
|
return "TOX_ERR_GROUP_TOPIC_SET_FAIL_CREATE";
|
|
|
|
case TOX_ERR_GROUP_TOPIC_SET_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_TOPIC_SET_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_TOPIC_SET_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_TOPIC_SET_DISCONNECTED";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Topic_Set>";
|
|
}
|
|
const char *tox_err_group_send_message_to_string(Tox_Err_Group_Send_Message value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SEND_MESSAGE_OK:
|
|
return "TOX_ERR_GROUP_SEND_MESSAGE_OK";
|
|
|
|
case TOX_ERR_GROUP_SEND_MESSAGE_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SEND_MESSAGE_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SEND_MESSAGE_TOO_LONG:
|
|
return "TOX_ERR_GROUP_SEND_MESSAGE_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_SEND_MESSAGE_EMPTY:
|
|
return "TOX_ERR_GROUP_SEND_MESSAGE_EMPTY";
|
|
|
|
case TOX_ERR_GROUP_SEND_MESSAGE_BAD_TYPE:
|
|
return "TOX_ERR_GROUP_SEND_MESSAGE_BAD_TYPE";
|
|
|
|
case TOX_ERR_GROUP_SEND_MESSAGE_PERMISSIONS:
|
|
return "TOX_ERR_GROUP_SEND_MESSAGE_PERMISSIONS";
|
|
|
|
case TOX_ERR_GROUP_SEND_MESSAGE_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SEND_MESSAGE_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_SEND_MESSAGE_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_SEND_MESSAGE_DISCONNECTED";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Send_Message>";
|
|
}
|
|
const char *tox_err_group_send_private_message_to_string(Tox_Err_Group_Send_Private_Message value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_OK:
|
|
return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_OK";
|
|
|
|
case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_PEER_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_PEER_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_TOO_LONG:
|
|
return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_EMPTY:
|
|
return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_EMPTY";
|
|
|
|
case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_PERMISSIONS:
|
|
return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_PERMISSIONS";
|
|
|
|
case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_DISCONNECTED";
|
|
|
|
case TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_BAD_TYPE:
|
|
return "TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_BAD_TYPE";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Send_Private_Message>";
|
|
}
|
|
const char *tox_err_group_send_custom_packet_to_string(Tox_Err_Group_Send_Custom_Packet value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_OK:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_OK";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_TOO_LONG:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_EMPTY:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_EMPTY";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_DISCONNECTED";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PACKET_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PACKET_FAIL_SEND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Send_Custom_Packet>";
|
|
}
|
|
const char *tox_err_group_send_custom_private_packet_to_string(Tox_Err_Group_Send_Custom_Private_Packet value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_OK:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_OK";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_TOO_LONG:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_EMPTY:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_EMPTY";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_PEER_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_PEER_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_DISCONNECTED";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Send_Custom_Private_Packet>";
|
|
}
|
|
const char *tox_err_group_invite_friend_to_string(Tox_Err_Group_Invite_Friend value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_INVITE_FRIEND_OK:
|
|
return "TOX_ERR_GROUP_INVITE_FRIEND_OK";
|
|
|
|
case TOX_ERR_GROUP_INVITE_FRIEND_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_INVITE_FRIEND_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_INVITE_FRIEND_FRIEND_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_INVITE_FRIEND_FRIEND_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_INVITE_FRIEND_INVITE_FAIL:
|
|
return "TOX_ERR_GROUP_INVITE_FRIEND_INVITE_FAIL";
|
|
|
|
case TOX_ERR_GROUP_INVITE_FRIEND_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_INVITE_FRIEND_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_INVITE_FRIEND_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_INVITE_FRIEND_DISCONNECTED";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Invite_Friend>";
|
|
}
|
|
const char *tox_err_group_invite_accept_to_string(Tox_Err_Group_Invite_Accept value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_INVITE_ACCEPT_OK:
|
|
return "TOX_ERR_GROUP_INVITE_ACCEPT_OK";
|
|
|
|
case TOX_ERR_GROUP_INVITE_ACCEPT_BAD_INVITE:
|
|
return "TOX_ERR_GROUP_INVITE_ACCEPT_BAD_INVITE";
|
|
|
|
case TOX_ERR_GROUP_INVITE_ACCEPT_INIT_FAILED:
|
|
return "TOX_ERR_GROUP_INVITE_ACCEPT_INIT_FAILED";
|
|
|
|
case TOX_ERR_GROUP_INVITE_ACCEPT_TOO_LONG:
|
|
return "TOX_ERR_GROUP_INVITE_ACCEPT_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_INVITE_ACCEPT_EMPTY:
|
|
return "TOX_ERR_GROUP_INVITE_ACCEPT_EMPTY";
|
|
|
|
case TOX_ERR_GROUP_INVITE_ACCEPT_PASSWORD:
|
|
return "TOX_ERR_GROUP_INVITE_ACCEPT_PASSWORD";
|
|
|
|
case TOX_ERR_GROUP_INVITE_ACCEPT_CORE:
|
|
return "TOX_ERR_GROUP_INVITE_ACCEPT_CORE";
|
|
|
|
case TOX_ERR_GROUP_INVITE_ACCEPT_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_INVITE_ACCEPT_FAIL_SEND";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Invite_Accept>";
|
|
}
|
|
const char *tox_group_exit_type_to_string(Tox_Group_Exit_Type value)
|
|
{
|
|
switch (value) {
|
|
case TOX_GROUP_EXIT_TYPE_QUIT:
|
|
return "TOX_GROUP_EXIT_TYPE_QUIT";
|
|
|
|
case TOX_GROUP_EXIT_TYPE_TIMEOUT:
|
|
return "TOX_GROUP_EXIT_TYPE_TIMEOUT";
|
|
|
|
case TOX_GROUP_EXIT_TYPE_DISCONNECTED:
|
|
return "TOX_GROUP_EXIT_TYPE_DISCONNECTED";
|
|
|
|
case TOX_GROUP_EXIT_TYPE_SELF_DISCONNECTED:
|
|
return "TOX_GROUP_EXIT_TYPE_SELF_DISCONNECTED";
|
|
|
|
case TOX_GROUP_EXIT_TYPE_KICK:
|
|
return "TOX_GROUP_EXIT_TYPE_KICK";
|
|
|
|
case TOX_GROUP_EXIT_TYPE_SYNC_ERROR:
|
|
return "TOX_GROUP_EXIT_TYPE_SYNC_ERROR";
|
|
}
|
|
|
|
return "<invalid Tox_Group_Exit_Type>";
|
|
}
|
|
const char *tox_group_join_fail_to_string(Tox_Group_Join_Fail value)
|
|
{
|
|
switch (value) {
|
|
case TOX_GROUP_JOIN_FAIL_PEER_LIMIT:
|
|
return "TOX_GROUP_JOIN_FAIL_PEER_LIMIT";
|
|
|
|
case TOX_GROUP_JOIN_FAIL_INVALID_PASSWORD:
|
|
return "TOX_GROUP_JOIN_FAIL_INVALID_PASSWORD";
|
|
|
|
case TOX_GROUP_JOIN_FAIL_UNKNOWN:
|
|
return "TOX_GROUP_JOIN_FAIL_UNKNOWN";
|
|
}
|
|
|
|
return "<invalid Tox_Group_Join_Fail>";
|
|
}
|
|
const char *tox_err_group_set_password_to_string(Tox_Err_Group_Set_Password value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SET_PASSWORD_OK:
|
|
return "TOX_ERR_GROUP_SET_PASSWORD_OK";
|
|
|
|
case TOX_ERR_GROUP_SET_PASSWORD_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SET_PASSWORD_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SET_PASSWORD_PERMISSIONS:
|
|
return "TOX_ERR_GROUP_SET_PASSWORD_PERMISSIONS";
|
|
|
|
case TOX_ERR_GROUP_SET_PASSWORD_TOO_LONG:
|
|
return "TOX_ERR_GROUP_SET_PASSWORD_TOO_LONG";
|
|
|
|
case TOX_ERR_GROUP_SET_PASSWORD_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SET_PASSWORD_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_SET_PASSWORD_MALLOC:
|
|
return "TOX_ERR_GROUP_SET_PASSWORD_MALLOC";
|
|
|
|
case TOX_ERR_GROUP_SET_PASSWORD_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_SET_PASSWORD_DISCONNECTED";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Set_Password>";
|
|
}
|
|
const char *tox_err_group_set_topic_lock_to_string(Tox_Err_Group_Set_Topic_Lock value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SET_TOPIC_LOCK_OK:
|
|
return "TOX_ERR_GROUP_SET_TOPIC_LOCK_OK";
|
|
|
|
case TOX_ERR_GROUP_SET_TOPIC_LOCK_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SET_TOPIC_LOCK_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SET_TOPIC_LOCK_INVALID:
|
|
return "TOX_ERR_GROUP_SET_TOPIC_LOCK_INVALID";
|
|
|
|
case TOX_ERR_GROUP_SET_TOPIC_LOCK_PERMISSIONS:
|
|
return "TOX_ERR_GROUP_SET_TOPIC_LOCK_PERMISSIONS";
|
|
|
|
case TOX_ERR_GROUP_SET_TOPIC_LOCK_FAIL_SET:
|
|
return "TOX_ERR_GROUP_SET_TOPIC_LOCK_FAIL_SET";
|
|
|
|
case TOX_ERR_GROUP_SET_TOPIC_LOCK_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SET_TOPIC_LOCK_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_SET_TOPIC_LOCK_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_SET_TOPIC_LOCK_DISCONNECTED";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Set_Topic_Lock>";
|
|
}
|
|
const char *tox_err_group_set_voice_state_to_string(Tox_Err_Group_Set_Voice_State value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SET_VOICE_STATE_OK:
|
|
return "TOX_ERR_GROUP_SET_VOICE_STATE_OK";
|
|
|
|
case TOX_ERR_GROUP_SET_VOICE_STATE_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SET_VOICE_STATE_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SET_VOICE_STATE_PERMISSIONS:
|
|
return "TOX_ERR_GROUP_SET_VOICE_STATE_PERMISSIONS";
|
|
|
|
case TOX_ERR_GROUP_SET_VOICE_STATE_FAIL_SET:
|
|
return "TOX_ERR_GROUP_SET_VOICE_STATE_FAIL_SET";
|
|
|
|
case TOX_ERR_GROUP_SET_VOICE_STATE_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SET_VOICE_STATE_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_SET_VOICE_STATE_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_SET_VOICE_STATE_DISCONNECTED";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Set_Voice_State>";
|
|
}
|
|
const char *tox_err_group_set_privacy_state_to_string(Tox_Err_Group_Set_Privacy_State value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SET_PRIVACY_STATE_OK:
|
|
return "TOX_ERR_GROUP_SET_PRIVACY_STATE_OK";
|
|
|
|
case TOX_ERR_GROUP_SET_PRIVACY_STATE_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SET_PRIVACY_STATE_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SET_PRIVACY_STATE_PERMISSIONS:
|
|
return "TOX_ERR_GROUP_SET_PRIVACY_STATE_PERMISSIONS";
|
|
|
|
case TOX_ERR_GROUP_SET_PRIVACY_STATE_FAIL_SET:
|
|
return "TOX_ERR_GROUP_SET_PRIVACY_STATE_FAIL_SET";
|
|
|
|
case TOX_ERR_GROUP_SET_PRIVACY_STATE_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SET_PRIVACY_STATE_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_SET_PRIVACY_STATE_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_SET_PRIVACY_STATE_DISCONNECTED";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Set_Privacy_State>";
|
|
}
|
|
const char *tox_err_group_set_peer_limit_to_string(Tox_Err_Group_Set_Peer_Limit value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SET_PEER_LIMIT_OK:
|
|
return "TOX_ERR_GROUP_SET_PEER_LIMIT_OK";
|
|
|
|
case TOX_ERR_GROUP_SET_PEER_LIMIT_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SET_PEER_LIMIT_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SET_PEER_LIMIT_PERMISSIONS:
|
|
return "TOX_ERR_GROUP_SET_PEER_LIMIT_PERMISSIONS";
|
|
|
|
case TOX_ERR_GROUP_SET_PEER_LIMIT_FAIL_SET:
|
|
return "TOX_ERR_GROUP_SET_PEER_LIMIT_FAIL_SET";
|
|
|
|
case TOX_ERR_GROUP_SET_PEER_LIMIT_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_SET_PEER_LIMIT_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_SET_PEER_LIMIT_DISCONNECTED:
|
|
return "TOX_ERR_GROUP_SET_PEER_LIMIT_DISCONNECTED";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Set_Peer_Limit>";
|
|
}
|
|
const char *tox_err_group_set_ignore_to_string(Tox_Err_Group_Set_Ignore value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SET_IGNORE_OK:
|
|
return "TOX_ERR_GROUP_SET_IGNORE_OK";
|
|
|
|
case TOX_ERR_GROUP_SET_IGNORE_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SET_IGNORE_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SET_IGNORE_PEER_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SET_IGNORE_PEER_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SET_IGNORE_SELF:
|
|
return "TOX_ERR_GROUP_SET_IGNORE_SELF";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Set_Ignore>";
|
|
}
|
|
const char *tox_err_group_set_role_to_string(Tox_Err_Group_Set_Role value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_SET_ROLE_OK:
|
|
return "TOX_ERR_GROUP_SET_ROLE_OK";
|
|
|
|
case TOX_ERR_GROUP_SET_ROLE_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SET_ROLE_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SET_ROLE_PEER_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_SET_ROLE_PEER_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_SET_ROLE_PERMISSIONS:
|
|
return "TOX_ERR_GROUP_SET_ROLE_PERMISSIONS";
|
|
|
|
case TOX_ERR_GROUP_SET_ROLE_ASSIGNMENT:
|
|
return "TOX_ERR_GROUP_SET_ROLE_ASSIGNMENT";
|
|
|
|
case TOX_ERR_GROUP_SET_ROLE_FAIL_ACTION:
|
|
return "TOX_ERR_GROUP_SET_ROLE_FAIL_ACTION";
|
|
|
|
case TOX_ERR_GROUP_SET_ROLE_SELF:
|
|
return "TOX_ERR_GROUP_SET_ROLE_SELF";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Set_Role>";
|
|
}
|
|
const char *tox_err_group_kick_peer_to_string(Tox_Err_Group_Kick_Peer value)
|
|
{
|
|
switch (value) {
|
|
case TOX_ERR_GROUP_KICK_PEER_OK:
|
|
return "TOX_ERR_GROUP_KICK_PEER_OK";
|
|
|
|
case TOX_ERR_GROUP_KICK_PEER_GROUP_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_KICK_PEER_GROUP_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_KICK_PEER_PEER_NOT_FOUND:
|
|
return "TOX_ERR_GROUP_KICK_PEER_PEER_NOT_FOUND";
|
|
|
|
case TOX_ERR_GROUP_KICK_PEER_PERMISSIONS:
|
|
return "TOX_ERR_GROUP_KICK_PEER_PERMISSIONS";
|
|
|
|
case TOX_ERR_GROUP_KICK_PEER_FAIL_ACTION:
|
|
return "TOX_ERR_GROUP_KICK_PEER_FAIL_ACTION";
|
|
|
|
case TOX_ERR_GROUP_KICK_PEER_FAIL_SEND:
|
|
return "TOX_ERR_GROUP_KICK_PEER_FAIL_SEND";
|
|
|
|
case TOX_ERR_GROUP_KICK_PEER_SELF:
|
|
return "TOX_ERR_GROUP_KICK_PEER_SELF";
|
|
}
|
|
|
|
return "<invalid Tox_Err_Group_Kick_Peer>";
|
|
}
|
|
const char *tox_group_mod_event_to_string(Tox_Group_Mod_Event value)
|
|
{
|
|
switch (value) {
|
|
case TOX_GROUP_MOD_EVENT_KICK:
|
|
return "TOX_GROUP_MOD_EVENT_KICK";
|
|
|
|
case TOX_GROUP_MOD_EVENT_OBSERVER:
|
|
return "TOX_GROUP_MOD_EVENT_OBSERVER";
|
|
|
|
case TOX_GROUP_MOD_EVENT_USER:
|
|
return "TOX_GROUP_MOD_EVENT_USER";
|
|
|
|
case TOX_GROUP_MOD_EVENT_MODERATOR:
|
|
return "TOX_GROUP_MOD_EVENT_MODERATOR";
|
|
}
|
|
|
|
return "<invalid Tox_Group_Mod_Event>";
|
|
}
|