#pragma once /* SPDX-License-Identifier: GPL-3.0-or-later * Copyright © 2016-2018 The TokTok team. * Copyright © 2013 Tox project. */ // this file contains extracts from c-toxcore tox.h to use in tox_interface.hpp interface // this is temporary until proper replacements have been put in place // only define if primary h not included first #ifndef C_TOXCORE_TOXCORE_TOX_H // TODO: replace all types // TODO: replace all errors with custom enum Tox_Connection { TOX_CONNECTION_NONE, TOX_CONNECTION_TCP, TOX_CONNECTION_UDP, }; enum Tox_Err_Set_Info { TOX_ERR_SET_INFO_OK, TOX_ERR_SET_INFO_NULL, TOX_ERR_SET_INFO_TOO_LONG, }; enum Tox_User_Status { TOX_USER_STATUS_NONE, TOX_USER_STATUS_AWAY, TOX_USER_STATUS_BUSY, }; enum Tox_Err_Friend_Add { TOX_ERR_FRIEND_ADD_OK, TOX_ERR_FRIEND_ADD_NULL, TOX_ERR_FRIEND_ADD_TOO_LONG, TOX_ERR_FRIEND_ADD_NO_MESSAGE, TOX_ERR_FRIEND_ADD_OWN_KEY, TOX_ERR_FRIEND_ADD_ALREADY_SENT, TOX_ERR_FRIEND_ADD_BAD_CHECKSUM, TOX_ERR_FRIEND_ADD_SET_NEW_NOSPAM, TOX_ERR_FRIEND_ADD_MALLOC, }; enum Tox_Err_Friend_Delete { TOX_ERR_FRIEND_DELETE_OK, TOX_ERR_FRIEND_DELETE_FRIEND_NOT_FOUND, }; enum Tox_Err_Friend_By_Public_Key { TOX_ERR_FRIEND_BY_PUBLIC_KEY_OK, TOX_ERR_FRIEND_BY_PUBLIC_KEY_NULL, TOX_ERR_FRIEND_BY_PUBLIC_KEY_NOT_FOUND, }; enum Tox_Err_Set_Typing { TOX_ERR_SET_TYPING_OK, TOX_ERR_SET_TYPING_FRIEND_NOT_FOUND, }; enum Tox_Err_Friend_Send_Message { TOX_ERR_FRIEND_SEND_MESSAGE_OK, TOX_ERR_FRIEND_SEND_MESSAGE_NULL, TOX_ERR_FRIEND_SEND_MESSAGE_FRIEND_NOT_FOUND, TOX_ERR_FRIEND_SEND_MESSAGE_FRIEND_NOT_CONNECTED, TOX_ERR_FRIEND_SEND_MESSAGE_SENDQ, TOX_ERR_FRIEND_SEND_MESSAGE_TOO_LONG, TOX_ERR_FRIEND_SEND_MESSAGE_EMPTY, }; enum Tox_Message_Type { TOX_MESSAGE_TYPE_NORMAL, TOX_MESSAGE_TYPE_ACTION, }; enum Tox_Err_File_Control { TOX_ERR_FILE_CONTROL_OK, TOX_ERR_FILE_CONTROL_FRIEND_NOT_FOUND, TOX_ERR_FILE_CONTROL_FRIEND_NOT_CONNECTED, TOX_ERR_FILE_CONTROL_NOT_FOUND, TOX_ERR_FILE_CONTROL_NOT_PAUSED, TOX_ERR_FILE_CONTROL_DENIED, TOX_ERR_FILE_CONTROL_ALREADY_PAUSED, TOX_ERR_FILE_CONTROL_SENDQ, }; enum Tox_File_Control { TOX_FILE_CONTROL_RESUME, TOX_FILE_CONTROL_PAUSE, TOX_FILE_CONTROL_CANCEL, }; enum Tox_Err_File_Seek { TOX_ERR_FILE_SEEK_OK, TOX_ERR_FILE_SEEK_FRIEND_NOT_FOUND, TOX_ERR_FILE_SEEK_FRIEND_NOT_CONNECTED, TOX_ERR_FILE_SEEK_NOT_FOUND, TOX_ERR_FILE_SEEK_DENIED, TOX_ERR_FILE_SEEK_INVALID_POSITION, TOX_ERR_FILE_SEEK_SENDQ, }; enum Tox_Err_File_Get { TOX_ERR_FILE_GET_OK, TOX_ERR_FILE_GET_NULL, TOX_ERR_FILE_GET_FRIEND_NOT_FOUND, TOX_ERR_FILE_GET_NOT_FOUND, }; enum Tox_Err_File_Send { TOX_ERR_FILE_SEND_OK, TOX_ERR_FILE_SEND_NULL, TOX_ERR_FILE_SEND_FRIEND_NOT_FOUND, TOX_ERR_FILE_SEND_FRIEND_NOT_CONNECTED, TOX_ERR_FILE_SEND_NAME_TOO_LONG, TOX_ERR_FILE_SEND_TOO_MANY, }; enum Tox_Err_File_Send_Chunk { TOX_ERR_FILE_SEND_CHUNK_OK, TOX_ERR_FILE_SEND_CHUNK_NULL, TOX_ERR_FILE_SEND_CHUNK_FRIEND_NOT_FOUND, TOX_ERR_FILE_SEND_CHUNK_FRIEND_NOT_CONNECTED, TOX_ERR_FILE_SEND_CHUNK_NOT_FOUND, TOX_ERR_FILE_SEND_CHUNK_NOT_TRANSFERRING, TOX_ERR_FILE_SEND_CHUNK_INVALID_LENGTH, TOX_ERR_FILE_SEND_CHUNK_SENDQ, TOX_ERR_FILE_SEND_CHUNK_WRONG_POSITION, }; enum Tox_Err_Conference_Join { TOX_ERR_CONFERENCE_JOIN_OK, TOX_ERR_CONFERENCE_JOIN_INVALID_LENGTH, TOX_ERR_CONFERENCE_JOIN_WRONG_TYPE, TOX_ERR_CONFERENCE_JOIN_FRIEND_NOT_FOUND, TOX_ERR_CONFERENCE_JOIN_DUPLICATE, TOX_ERR_CONFERENCE_JOIN_INIT_FAIL, TOX_ERR_CONFERENCE_JOIN_FAIL_SEND, }; enum Tox_Err_Conference_Send_Message { TOX_ERR_CONFERENCE_SEND_MESSAGE_OK, TOX_ERR_CONFERENCE_SEND_MESSAGE_CONFERENCE_NOT_FOUND, TOX_ERR_CONFERENCE_SEND_MESSAGE_TOO_LONG, TOX_ERR_CONFERENCE_SEND_MESSAGE_NO_CONNECTION, TOX_ERR_CONFERENCE_SEND_MESSAGE_FAIL_SEND, }; enum Tox_Err_Friend_Custom_Packet { TOX_ERR_FRIEND_CUSTOM_PACKET_OK, TOX_ERR_FRIEND_CUSTOM_PACKET_NULL, TOX_ERR_FRIEND_CUSTOM_PACKET_FRIEND_NOT_FOUND, TOX_ERR_FRIEND_CUSTOM_PACKET_FRIEND_NOT_CONNECTED, TOX_ERR_FRIEND_CUSTOM_PACKET_INVALID, TOX_ERR_FRIEND_CUSTOM_PACKET_EMPTY, TOX_ERR_FRIEND_CUSTOM_PACKET_TOO_LONG, TOX_ERR_FRIEND_CUSTOM_PACKET_SENDQ, }; enum Tox_Err_Group_New { TOX_ERR_GROUP_NEW_OK, TOX_ERR_GROUP_NEW_TOO_LONG, TOX_ERR_GROUP_NEW_EMPTY, TOX_ERR_GROUP_NEW_INIT, TOX_ERR_GROUP_NEW_STATE, TOX_ERR_GROUP_NEW_ANNOUNCE, }; enum Tox_Group_Privacy_State { TOX_GROUP_PRIVACY_STATE_PUBLIC, TOX_GROUP_PRIVACY_STATE_PRIVATE, }; enum Tox_Err_Group_Join { TOX_ERR_GROUP_JOIN_OK, TOX_ERR_GROUP_JOIN_INIT, TOX_ERR_GROUP_JOIN_BAD_CHAT_ID, TOX_ERR_GROUP_JOIN_EMPTY, TOX_ERR_GROUP_JOIN_TOO_LONG, TOX_ERR_GROUP_JOIN_PASSWORD, TOX_ERR_GROUP_JOIN_CORE, }; enum Tox_Err_Group_Disconnect { TOX_ERR_GROUP_DISCONNECT_OK, TOX_ERR_GROUP_DISCONNECT_GROUP_NOT_FOUND, TOX_ERR_GROUP_DISCONNECT_ALREADY_DISCONNECTED, }; enum Tox_Err_Group_Reconnect { TOX_ERR_GROUP_RECONNECT_OK, TOX_ERR_GROUP_RECONNECT_GROUP_NOT_FOUND, TOX_ERR_GROUP_RECONNECT_CORE, }; enum Tox_Err_Group_Leave { TOX_ERR_GROUP_LEAVE_OK, TOX_ERR_GROUP_LEAVE_GROUP_NOT_FOUND, TOX_ERR_GROUP_LEAVE_TOO_LONG, TOX_ERR_GROUP_LEAVE_FAIL_SEND, }; enum Tox_Err_Group_Self_Name_Set { TOX_ERR_GROUP_SELF_NAME_SET_OK, TOX_ERR_GROUP_SELF_NAME_SET_GROUP_NOT_FOUND, TOX_ERR_GROUP_SELF_NAME_SET_TOO_LONG, TOX_ERR_GROUP_SELF_NAME_SET_INVALID, TOX_ERR_GROUP_SELF_NAME_SET_FAIL_SEND, }; enum Tox_Group_Role { TOX_GROUP_ROLE_FOUNDER, TOX_GROUP_ROLE_MODERATOR, TOX_GROUP_ROLE_USER, TOX_GROUP_ROLE_OBSERVER, }; enum Tox_Err_Group_Peer_Query { TOX_ERR_GROUP_PEER_QUERY_OK, TOX_ERR_GROUP_PEER_QUERY_GROUP_NOT_FOUND, TOX_ERR_GROUP_PEER_QUERY_PEER_NOT_FOUND, }; enum Tox_Err_Group_Topic_Set { TOX_ERR_GROUP_TOPIC_SET_OK, TOX_ERR_GROUP_TOPIC_SET_GROUP_NOT_FOUND, TOX_ERR_GROUP_TOPIC_SET_TOO_LONG, TOX_ERR_GROUP_TOPIC_SET_PERMISSIONS, TOX_ERR_GROUP_TOPIC_SET_FAIL_CREATE, TOX_ERR_GROUP_TOPIC_SET_FAIL_SEND, TOX_ERR_GROUP_TOPIC_SET_DISCONNECTED, }; enum Tox_Err_Group_Send_Message { TOX_ERR_GROUP_SEND_MESSAGE_OK, TOX_ERR_GROUP_SEND_MESSAGE_GROUP_NOT_FOUND, TOX_ERR_GROUP_SEND_MESSAGE_TOO_LONG, TOX_ERR_GROUP_SEND_MESSAGE_EMPTY, TOX_ERR_GROUP_SEND_MESSAGE_BAD_TYPE, TOX_ERR_GROUP_SEND_MESSAGE_PERMISSIONS, TOX_ERR_GROUP_SEND_MESSAGE_FAIL_SEND, TOX_ERR_GROUP_SEND_MESSAGE_DISCONNECTED, }; enum Tox_Err_Group_Send_Private_Message { TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_OK, TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_GROUP_NOT_FOUND, TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_PEER_NOT_FOUND, TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_TOO_LONG, TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_EMPTY, TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_PERMISSIONS, TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_FAIL_SEND, TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_DISCONNECTED, TOX_ERR_GROUP_SEND_PRIVATE_MESSAGE_BAD_TYPE, }; enum Tox_Err_Group_Self_Status_Set { TOX_ERR_GROUP_SELF_STATUS_SET_OK, TOX_ERR_GROUP_SELF_STATUS_SET_GROUP_NOT_FOUND, TOX_ERR_GROUP_SELF_STATUS_SET_FAIL_SEND, }; enum Tox_Err_Group_Send_Custom_Packet { TOX_ERR_GROUP_SEND_CUSTOM_PACKET_OK, TOX_ERR_GROUP_SEND_CUSTOM_PACKET_GROUP_NOT_FOUND, TOX_ERR_GROUP_SEND_CUSTOM_PACKET_TOO_LONG, TOX_ERR_GROUP_SEND_CUSTOM_PACKET_EMPTY, TOX_ERR_GROUP_SEND_CUSTOM_PACKET_PERMISSIONS, TOX_ERR_GROUP_SEND_CUSTOM_PACKET_DISCONNECTED, }; enum Tox_Err_Group_Send_Custom_Private_Packet { TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_OK, TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_GROUP_NOT_FOUND, TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_TOO_LONG, TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_EMPTY, TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_PEER_NOT_FOUND, TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_PERMISSIONS, TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_FAIL_SEND, TOX_ERR_GROUP_SEND_CUSTOM_PRIVATE_PACKET_DISCONNECTED, }; enum Tox_Err_Group_Invite_Friend { TOX_ERR_GROUP_INVITE_FRIEND_OK, TOX_ERR_GROUP_INVITE_FRIEND_GROUP_NOT_FOUND, TOX_ERR_GROUP_INVITE_FRIEND_FRIEND_NOT_FOUND, TOX_ERR_GROUP_INVITE_FRIEND_INVITE_FAIL, TOX_ERR_GROUP_INVITE_FRIEND_FAIL_SEND, TOX_ERR_GROUP_INVITE_FRIEND_DISCONNECTED, }; enum Tox_Err_Group_Invite_Accept { TOX_ERR_GROUP_INVITE_ACCEPT_OK, TOX_ERR_GROUP_INVITE_ACCEPT_BAD_INVITE, TOX_ERR_GROUP_INVITE_ACCEPT_INIT_FAILED, TOX_ERR_GROUP_INVITE_ACCEPT_TOO_LONG, TOX_ERR_GROUP_INVITE_ACCEPT_EMPTY, TOX_ERR_GROUP_INVITE_ACCEPT_PASSWORD, TOX_ERR_GROUP_INVITE_ACCEPT_CORE, TOX_ERR_GROUP_INVITE_ACCEPT_FAIL_SEND, }; #endif // C_TOXCORE_TOXCORE_TOX_H