From 79f55bd06a2f075737b4a9fd5b14aa0dac9d5cf8 Mon Sep 17 00:00:00 2001 From: iphydf Date: Thu, 4 Jan 2024 14:16:27 +0000 Subject: [PATCH] cleanup: Put the size of fixed arrays into the API types. These are ignored by C compilers, but can be used as documentation and by bindings generators. --- toxcore/tox.c | 50 +++++----- toxcore/tox.h | 252 +++++++++++++++++++++++++++++++------------------- 2 files changed, 182 insertions(+), 120 deletions(-) diff --git a/toxcore/tox.c b/toxcore/tox.c index d5b75176..d638b08e 100644 --- a/toxcore/tox.c +++ b/toxcore/tox.c @@ -171,7 +171,7 @@ static void tox_friend_read_receipt_handler(Messenger *m, uint32_t friend_number static m_friend_request_cb tox_friend_request_handler; non_null(1, 2, 3) nullable(5) -static void tox_friend_request_handler(Messenger *m, const uint8_t *public_key, const uint8_t *message, size_t length, +static void tox_friend_request_handler(Messenger *m, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], const uint8_t *message, size_t length, void *user_data) { struct Tox_Userdata *tox_data = (struct Tox_Userdata *)user_data; @@ -1013,7 +1013,7 @@ void tox_get_savedata(const Tox *tox, uint8_t *savedata) } non_null(5) nullable(1, 2, 4, 6) -static int32_t resolve_bootstrap_node(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key, +static int32_t resolve_bootstrap_node(Tox *tox, const char *host, uint16_t port, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], IP_Port **root, Tox_Err_Bootstrap *error) { assert(tox != nullptr); @@ -1042,7 +1042,7 @@ static int32_t resolve_bootstrap_node(Tox *tox, const char *host, uint16_t port, return count; } -bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key, Tox_Err_Bootstrap *error) +bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Bootstrap *error) { IP_Port *root; const int32_t count = resolve_bootstrap_node(tox, host, port, public_key, &root, error); @@ -1093,7 +1093,7 @@ bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t *pub return true; } -bool tox_add_tcp_relay(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key, +bool tox_add_tcp_relay(Tox *tox, const char *host, uint16_t port, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Bootstrap *error) { IP_Port *root; @@ -1182,7 +1182,7 @@ void tox_iterate(Tox *tox, void *user_data) tox_unlock(tox); } -void tox_self_get_address(const Tox *tox, uint8_t *address) +void tox_self_get_address(const Tox *tox, uint8_t address[TOX_ADDRESS_SIZE]) { assert(tox != nullptr); @@ -1210,7 +1210,7 @@ uint32_t tox_self_get_nospam(const Tox *tox) return ret; } -void tox_self_get_public_key(const Tox *tox, uint8_t *public_key) +void tox_self_get_public_key(const Tox *tox, uint8_t public_key[TOX_PUBLIC_KEY_SIZE]) { assert(tox != nullptr); @@ -1221,7 +1221,7 @@ void tox_self_get_public_key(const Tox *tox, uint8_t *public_key) } } -void tox_self_get_secret_key(const Tox *tox, uint8_t *secret_key) +void tox_self_get_secret_key(const Tox *tox, uint8_t secret_key[TOX_SECRET_KEY_SIZE]) { assert(tox != nullptr); @@ -1382,7 +1382,7 @@ static void set_friend_error(const Logger *log, int32_t ret, Tox_Err_Friend_Add } } -uint32_t tox_friend_add(Tox *tox, const uint8_t *address, const uint8_t *message, size_t length, +uint32_t tox_friend_add(Tox *tox, const uint8_t address[TOX_ADDRESS_SIZE], const uint8_t *message, size_t length, Tox_Err_Friend_Add *error) { assert(tox != nullptr); @@ -1406,7 +1406,7 @@ uint32_t tox_friend_add(Tox *tox, const uint8_t *address, const uint8_t *message return UINT32_MAX; } -uint32_t tox_friend_add_norequest(Tox *tox, const uint8_t *public_key, Tox_Err_Friend_Add *error) +uint32_t tox_friend_add_norequest(Tox *tox, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Friend_Add *error) { assert(tox != nullptr); @@ -1446,7 +1446,7 @@ bool tox_friend_delete(Tox *tox, uint32_t friend_number, Tox_Err_Friend_Delete * return true; } -uint32_t tox_friend_by_public_key(const Tox *tox, const uint8_t *public_key, Tox_Err_Friend_By_Public_Key *error) +uint32_t tox_friend_by_public_key(const Tox *tox, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Friend_By_Public_Key *error) { assert(tox != nullptr); @@ -1469,7 +1469,7 @@ uint32_t tox_friend_by_public_key(const Tox *tox, const uint8_t *public_key, Tox return (uint32_t)ret; } -bool tox_friend_get_public_key(const Tox *tox, uint32_t friend_number, uint8_t *public_key, +bool tox_friend_get_public_key(const Tox *tox, uint32_t friend_number, uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Friend_Get_Public_Key *error) { assert(tox != nullptr); @@ -1795,7 +1795,7 @@ void tox_callback_friend_message(Tox *tox, tox_friend_message_cb *callback) tox->friend_message_callback = callback; } -bool tox_hash(uint8_t *hash, const uint8_t *data, size_t length) +bool tox_hash(uint8_t hash[TOX_HASH_LENGTH], const uint8_t *data, size_t length) { if (hash == nullptr || (data == nullptr && length != 0)) { return false; @@ -1925,7 +1925,7 @@ void tox_callback_file_recv_control(Tox *tox, tox_file_recv_control_cb *callback tox->file_recv_control_callback = callback; } -bool tox_file_get_file_id(const Tox *tox, uint32_t friend_number, uint32_t file_number, uint8_t *file_id, +bool tox_file_get_file_id(const Tox *tox, uint32_t friend_number, uint32_t file_number, uint8_t file_id[TOX_FILE_ID_LENGTH], Tox_Err_File_Get *error) { assert(tox != nullptr); @@ -1953,7 +1953,7 @@ bool tox_file_get_file_id(const Tox *tox, uint32_t friend_number, uint32_t file_ return false; } -uint32_t tox_file_send(Tox *tox, uint32_t friend_number, uint32_t kind, uint64_t file_size, const uint8_t *file_id, +uint32_t tox_file_send(Tox *tox, uint32_t friend_number, uint32_t kind, uint64_t file_size, const uint8_t file_id[TOX_FILE_ID_LENGTH], const uint8_t *filename, size_t filename_length, Tox_Err_File_Send *error) { assert(tox != nullptr); @@ -2215,7 +2215,7 @@ bool tox_conference_peer_get_name(const Tox *tox, uint32_t conference_number, ui } bool tox_conference_peer_get_public_key(const Tox *tox, uint32_t conference_number, uint32_t peer_number, - uint8_t *public_key, Tox_Err_Conference_Peer_Query *error) + uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Conference_Peer_Query *error) { assert(tox != nullptr); tox_lock(tox); @@ -2336,7 +2336,7 @@ bool tox_conference_offline_peer_get_name(const Tox *tox, uint32_t conference_nu bool tox_conference_offline_peer_get_public_key(const Tox *tox, uint32_t conference_number, uint32_t offline_peer_number, - uint8_t *public_key, Tox_Err_Conference_Peer_Query *error) + uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Conference_Peer_Query *error) { assert(tox != nullptr); tox_lock(tox); @@ -2629,7 +2629,7 @@ Tox_Conference_Type tox_conference_get_type(const Tox *tox, uint32_t conference_ return (Tox_Conference_Type)ret; } -bool tox_conference_get_id(const Tox *tox, uint32_t conference_number, uint8_t *id) +bool tox_conference_get_id(const Tox *tox, uint32_t conference_number, uint8_t id[TOX_CONFERENCE_ID_SIZE]) { assert(tox != nullptr); tox_lock(tox); @@ -2639,13 +2639,13 @@ bool tox_conference_get_id(const Tox *tox, uint32_t conference_number, uint8_t * } // TODO(iphydf): Delete in 0.3.0. -bool tox_conference_get_uid(const Tox *tox, uint32_t conference_number, uint8_t *uid) +bool tox_conference_get_uid(const Tox *tox, uint32_t conference_number, uint8_t uid[TOX_CONFERENCE_UID_SIZE]) { assert(tox != nullptr); return tox_conference_get_id(tox, conference_number, uid); } -uint32_t tox_conference_by_id(const Tox *tox, const uint8_t *id, Tox_Err_Conference_By_Id *error) +uint32_t tox_conference_by_id(const Tox *tox, const uint8_t id[TOX_CONFERENCE_ID_SIZE], Tox_Err_Conference_By_Id *error) { assert(tox != nullptr); @@ -2669,7 +2669,7 @@ uint32_t tox_conference_by_id(const Tox *tox, const uint8_t *id, Tox_Err_Confere } // TODO(iphydf): Delete in 0.3.0. -uint32_t tox_conference_by_uid(const Tox *tox, const uint8_t *uid, Tox_Err_Conference_By_Uid *error) +uint32_t tox_conference_by_uid(const Tox *tox, const uint8_t uid[TOX_CONFERENCE_UID_SIZE], Tox_Err_Conference_By_Uid *error) { assert(tox != nullptr); Tox_Err_Conference_By_Id id_error; @@ -2805,7 +2805,7 @@ void tox_callback_friend_lossless_packet(Tox *tox, tox_friend_lossless_packet_cb } } -void tox_self_get_dht_id(const Tox *tox, uint8_t *dht_id) +void tox_self_get_dht_id(const Tox *tox, uint8_t dht_id[TOX_PUBLIC_KEY_SIZE]) { assert(tox != nullptr); @@ -3007,7 +3007,7 @@ uint32_t tox_group_new(Tox *tox, Tox_Group_Privacy_State privacy_state, const ui return UINT32_MAX; } -uint32_t tox_group_join(Tox *tox, const uint8_t *chat_id, const uint8_t *name, size_t name_length, +uint32_t tox_group_join(Tox *tox, const uint8_t chat_id[TOX_GROUP_CHAT_ID_SIZE], const uint8_t *name, size_t name_length, const uint8_t *password, size_t password_length, Tox_Err_Group_Join *error) { assert(tox != nullptr); @@ -3372,7 +3372,7 @@ uint32_t tox_group_self_get_peer_id(const Tox *tox, uint32_t group_number, Tox_E return ret; } -bool tox_group_self_get_public_key(const Tox *tox, uint32_t group_number, uint8_t *public_key, +bool tox_group_self_get_public_key(const Tox *tox, uint32_t group_number, uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Group_Self_Query *error) { assert(tox != nullptr); @@ -3498,7 +3498,7 @@ Tox_Group_Role tox_group_peer_get_role(const Tox *tox, uint32_t group_number, ui return (Tox_Group_Role)ret; } -bool tox_group_peer_get_public_key(const Tox *tox, uint32_t group_number, uint32_t peer_id, uint8_t *public_key, +bool tox_group_peer_get_public_key(const Tox *tox, uint32_t group_number, uint32_t peer_id, uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Group_Peer_Query *error) { assert(tox != nullptr); @@ -3689,7 +3689,7 @@ bool tox_group_get_name(const Tox *tox, uint32_t group_number, uint8_t *group_na return true; } -bool tox_group_get_chat_id(const Tox *tox, uint32_t group_number, uint8_t *chat_id, Tox_Err_Group_State_Queries *error) +bool tox_group_get_chat_id(const Tox *tox, uint32_t group_number, uint8_t chat_id[TOX_GROUP_CHAT_ID_SIZE], Tox_Err_Group_State_Queries *error) { assert(tox != nullptr); diff --git a/toxcore/tox.h b/toxcore/tox.h index 0ef5c4b6..2a472da7 100644 --- a/toxcore/tox.h +++ b/toxcore/tox.h @@ -994,7 +994,7 @@ const char *tox_err_bootstrap_to_string(Tox_Err_Bootstrap value); * (TOX_PUBLIC_KEY_SIZE bytes). * @return true on success. */ -bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key, Tox_Err_Bootstrap *error); +bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Bootstrap *error); /** * @brief Adds additional host:port pair as TCP relay. @@ -1010,7 +1010,7 @@ bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t *pub * (TOX_PUBLIC_KEY_SIZE bytes). * @return true on success. */ -bool tox_add_tcp_relay(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key, Tox_Err_Bootstrap *error); +bool tox_add_tcp_relay(Tox *tox, const char *host, uint16_t port, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Bootstrap *error); /** * @brief Protocols that can be used to connect to the network or friends. @@ -1108,7 +1108,7 @@ void tox_iterate(Tox *tox, void *user_data); * parameter is NULL, this function has no effect. * @see TOX_ADDRESS_SIZE for the address format. */ -void tox_self_get_address(const Tox *tox, uint8_t *address); +void tox_self_get_address(const Tox *tox, uint8_t address[TOX_ADDRESS_SIZE]); /** * @brief Set the 4-byte nospam part of the address. @@ -1133,7 +1133,7 @@ uint32_t tox_self_get_nospam(const Tox *tox); * @param public_key A memory region of at least TOX_PUBLIC_KEY_SIZE bytes. If * this parameter is NULL, this function has no effect. */ -void tox_self_get_public_key(const Tox *tox, uint8_t *public_key); +void tox_self_get_public_key(const Tox *tox, uint8_t public_key[TOX_PUBLIC_KEY_SIZE]); /** * @brief Copy the Tox Secret Key from the Tox object. @@ -1141,7 +1141,7 @@ void tox_self_get_public_key(const Tox *tox, uint8_t *public_key); * @param secret_key A memory region of at least TOX_SECRET_KEY_SIZE bytes. If * this parameter is NULL, this function has no effect. */ -void tox_self_get_secret_key(const Tox *tox, uint8_t *secret_key); +void tox_self_get_secret_key(const Tox *tox, uint8_t secret_key[TOX_SECRET_KEY_SIZE]); /** @} */ @@ -1220,7 +1220,8 @@ void tox_self_get_name(const Tox *tox, uint8_t *name); * length is 0, the status parameter is ignored (it can be NULL), and the * user status is set back to empty. */ -bool tox_self_set_status_message(Tox *tox, const uint8_t *status_message, size_t length, Tox_Err_Set_Info *error); +bool tox_self_set_status_message( + Tox *tox, const uint8_t *status_message, size_t length, Tox_Err_Set_Info *error); /** * @brief Return the length of the current status message as passed to tox_self_set_status_message. @@ -1346,7 +1347,8 @@ const char *tox_err_friend_add_to_string(Tox_Err_Friend_Add value); * @return the friend number on success, an unspecified value on failure. */ Tox_Friend_Number tox_friend_add( - Tox *tox, const uint8_t *address, const uint8_t *message, size_t length, + Tox *tox, const uint8_t address[TOX_ADDRESS_SIZE], + const uint8_t *message, size_t length, Tox_Err_Friend_Add *error); /** @@ -1368,7 +1370,7 @@ Tox_Friend_Number tox_friend_add( * @see tox_friend_add for a more detailed description of friend numbers. */ Tox_Friend_Number tox_friend_add_norequest( - Tox *tox, const uint8_t *public_key, Tox_Err_Friend_Add *error); + Tox *tox, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Friend_Add *error); typedef enum Tox_Err_Friend_Delete { @@ -1435,7 +1437,7 @@ const char *tox_err_friend_by_public_key_to_string(Tox_Err_Friend_By_Public_Key * @return the friend number on success, an unspecified value on failure. * @param public_key A byte array containing the Public Key. */ -Tox_Friend_Number tox_friend_by_public_key(const Tox *tox, const uint8_t *public_key, Tox_Err_Friend_By_Public_Key *error); +Tox_Friend_Number tox_friend_by_public_key(const Tox *tox, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Friend_By_Public_Key *error); /** * @brief Checks if a friend with the given friend number exists and returns true if @@ -1488,7 +1490,7 @@ const char *tox_err_friend_get_public_key_to_string(Tox_Err_Friend_Get_Public_Ke * @return true on success. */ bool tox_friend_get_public_key( - const Tox *tox, Tox_Friend_Number friend_number, uint8_t *public_key, + const Tox *tox, Tox_Friend_Number friend_number, uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Friend_Get_Public_Key *error); typedef enum Tox_Err_Friend_Get_Last_Online { @@ -1589,7 +1591,8 @@ bool tox_friend_get_name( * tox_friend_get_name_size. */ typedef void tox_friend_name_cb( - Tox *tox, Tox_Friend_Number friend_number, const uint8_t *name, size_t length, void *user_data); + Tox *tox, Tox_Friend_Number friend_number, + const uint8_t *name, size_t length, void *user_data); /** @@ -1634,7 +1637,8 @@ bool tox_friend_get_status_message( * tox_friend_get_status_message_size. */ typedef void tox_friend_status_message_cb( - Tox *tox, Tox_Friend_Number friend_number, const uint8_t *message, size_t length, void *user_data); + Tox *tox, Tox_Friend_Number friend_number, + const uint8_t *message, size_t length, void *user_data); /** @@ -1857,8 +1861,8 @@ typedef uint32_t Tox_Friend_Message_Id; * @param length Length of the message to be sent. */ Tox_Friend_Message_Id tox_friend_send_message( - Tox *tox, Tox_Friend_Number friend_number, Tox_Message_Type type, const uint8_t *message, - size_t length, Tox_Err_Friend_Send_Message *error); + Tox *tox, Tox_Friend_Number friend_number, Tox_Message_Type type, + const uint8_t *message, size_t length, Tox_Err_Friend_Send_Message *error); /** * @param friend_number The friend number of the friend who received the message. @@ -1891,8 +1895,10 @@ void tox_callback_friend_read_receipt(Tox *tox, tox_friend_read_receipt_cb *call * @param message The message they sent along with the request. * @param length The size of the message byte array. */ -typedef void tox_friend_request_cb(Tox *tox, const uint8_t *public_key, const uint8_t *message, size_t length, - void *user_data); +typedef void tox_friend_request_cb( + Tox *tox, const uint8_t public_key[TOX_PUBLIC_KEY_SIZE], + const uint8_t *message, size_t length, + void *user_data); /** @@ -1910,8 +1916,8 @@ void tox_callback_friend_request(Tox *tox, tox_friend_request_cb *callback); * @param length The size of the message byte array. */ typedef void tox_friend_message_cb( - Tox *tox, Tox_Friend_Number friend_number, Tox_Message_Type type, const uint8_t *message, - size_t length, void *user_data); + Tox *tox, Tox_Friend_Number friend_number, Tox_Message_Type type, + const uint8_t *message, size_t length, void *user_data); /** @@ -1951,7 +1957,7 @@ typedef uint32_t Tox_File_Number; * * @return true if hash was not NULL. */ -bool tox_hash(uint8_t *hash, const uint8_t *data, size_t length); +bool tox_hash(uint8_t hash[TOX_HASH_LENGTH], const uint8_t *data, size_t length); /** * @brief A list of pre-defined file kinds. @@ -2203,7 +2209,8 @@ const char *tox_err_file_get_to_string(Tox_Err_File_Get value); * @return true on success. */ bool tox_file_get_file_id( - const Tox *tox, Tox_Friend_Number friend_number, Tox_File_Number file_number, uint8_t *file_id, + const Tox *tox, Tox_Friend_Number friend_number, Tox_File_Number file_number, + uint8_t file_id[TOX_FILE_ID_LENGTH], Tox_Err_File_Get *error); /** @} */ @@ -2310,8 +2317,9 @@ const char *tox_err_file_send_to_string(Tox_Err_File_Send value); * should not be relied on. */ Tox_File_Number tox_file_send( - Tox *tox, Tox_Friend_Number friend_number, uint32_t kind, uint64_t file_size, const uint8_t *file_id, - const uint8_t *filename, size_t filename_length, Tox_Err_File_Send *error); + Tox *tox, Tox_Friend_Number friend_number, uint32_t kind, uint64_t file_size, + const uint8_t file_id[TOX_FILE_ID_LENGTH], const uint8_t *filename, size_t filename_length, + Tox_Err_File_Send *error); typedef enum Tox_Err_File_Send_Chunk { @@ -2385,8 +2393,8 @@ const char *tox_err_file_send_chunk_to_string(Tox_Err_File_Send_Chunk value); * @return true on success. */ bool tox_file_send_chunk( - Tox *tox, Tox_Friend_Number friend_number, Tox_File_Number file_number, uint64_t position, const uint8_t *data, - size_t length, Tox_Err_File_Send_Chunk *error); + Tox *tox, Tox_Friend_Number friend_number, Tox_File_Number file_number, uint64_t position, + const uint8_t *data, size_t length, Tox_Err_File_Send_Chunk *error); /** * If the length parameter is 0, the file transfer is finished, and the client's @@ -2535,8 +2543,8 @@ const char *tox_conference_type_to_string(Tox_Conference_Type value); * @param length The length of the cookie. */ typedef void tox_conference_invite_cb( - Tox *tox, Tox_Friend_Number friend_number, Tox_Conference_Type type, const uint8_t *cookie, - size_t length, void *user_data); + Tox *tox, Tox_Friend_Number friend_number, Tox_Conference_Type type, + const uint8_t *cookie, size_t length, void *user_data); /** @@ -2594,8 +2602,8 @@ void tox_callback_conference_message(Tox *tox, tox_conference_message_cb *callba * @param length The title length. */ typedef void tox_conference_title_cb( - Tox *tox, Tox_Conference_Number conference_number, Tox_Conference_Peer_Number peer_number, const uint8_t *title, - size_t length, void *user_data); + Tox *tox, Tox_Conference_Number conference_number, Tox_Conference_Peer_Number peer_number, + const uint8_t *title, size_t length, void *user_data); /** @@ -2759,8 +2767,8 @@ size_t tox_conference_peer_get_name_size( * @return true on success. */ bool tox_conference_peer_get_name( - const Tox *tox, Tox_Conference_Number conference_number, Tox_Conference_Peer_Number peer_number, uint8_t *name, - Tox_Err_Conference_Peer_Query *error); + const Tox *tox, Tox_Conference_Number conference_number, Tox_Conference_Peer_Number peer_number, + uint8_t *name, Tox_Err_Conference_Peer_Query *error); /** * @brief Copy the public key of peer_number who is in conference_number to public_key. @@ -2771,7 +2779,7 @@ bool tox_conference_peer_get_name( */ bool tox_conference_peer_get_public_key( const Tox *tox, Tox_Conference_Number conference_number, Tox_Conference_Peer_Number peer_number, - uint8_t *public_key, Tox_Err_Conference_Peer_Query *error); + uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Conference_Peer_Query *error); /** * @brief Return true if passed peer_number corresponds to our own. @@ -2824,7 +2832,7 @@ bool tox_conference_offline_peer_get_name( */ bool tox_conference_offline_peer_get_public_key( const Tox *tox, Tox_Conference_Number conference_number, - Tox_Conference_Peer_Number offline_peer_number, uint8_t *public_key, Tox_Err_Conference_Peer_Query *error); + Tox_Conference_Peer_Number offline_peer_number, uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Conference_Peer_Query *error); /** * @brief Return a unix-time timestamp of the last time offline_peer_number was seen to be active. @@ -2956,7 +2964,8 @@ const char *tox_err_conference_join_to_string(Tox_Err_Conference_Join value); * @return conference number on success, an unspecified value on failure. */ Tox_Conference_Number tox_conference_join( - Tox *tox, Tox_Friend_Number friend_number, const uint8_t *cookie, size_t length, + Tox *tox, Tox_Friend_Number friend_number, + const uint8_t *cookie, size_t length, Tox_Err_Conference_Join *error); typedef enum Tox_Err_Conference_Send_Message { @@ -3011,8 +3020,9 @@ const char *tox_err_conference_send_message_to_string(Tox_Err_Conference_Send_Me * @return true on success. */ bool tox_conference_send_message( - Tox *tox, Tox_Conference_Number conference_number, Tox_Message_Type type, const uint8_t *message, - size_t length, Tox_Err_Conference_Send_Message *error); + Tox *tox, Tox_Conference_Number conference_number, Tox_Message_Type type, + const uint8_t *message, size_t length, + Tox_Err_Conference_Send_Message *error); typedef enum Tox_Err_Conference_Title { @@ -3066,7 +3076,8 @@ size_t tox_conference_get_title_size( * @return true on success. */ bool tox_conference_get_title( - const Tox *tox, Tox_Conference_Number conference_number, uint8_t *title, + const Tox *tox, Tox_Conference_Number conference_number, + uint8_t *title, Tox_Err_Conference_Title *error); /** @@ -3077,7 +3088,8 @@ bool tox_conference_get_title( * @return true on success. */ bool tox_conference_set_title( - Tox *tox, Tox_Conference_Number conference_number, const uint8_t *title, size_t length, + Tox *tox, Tox_Conference_Number conference_number, + const uint8_t *title, size_t length, Tox_Err_Conference_Title *error); /** @@ -3141,7 +3153,8 @@ Tox_Conference_Type tox_conference_get_type( * * @return true on success. */ -bool tox_conference_get_id(const Tox *tox, Tox_Conference_Number conference_number, uint8_t *id); +bool tox_conference_get_id( + const Tox *tox, Tox_Conference_Number conference_number, uint8_t id[TOX_CONFERENCE_ID_SIZE]); typedef enum Tox_Err_Conference_By_Id { @@ -3172,7 +3185,8 @@ const char *tox_err_conference_by_id_to_string(Tox_Err_Conference_By_Id value); * * @return the conference number on success, an unspecified value on failure. */ -Tox_Conference_Number tox_conference_by_id(const Tox *tox, const uint8_t *id, Tox_Err_Conference_By_Id *error); +Tox_Conference_Number tox_conference_by_id( + const Tox *tox, const uint8_t id[TOX_CONFERENCE_ID_SIZE], Tox_Err_Conference_By_Id *error); /** * @brief Get the conference unique ID. @@ -3184,7 +3198,8 @@ Tox_Conference_Number tox_conference_by_id(const Tox *tox, const uint8_t *id, To * @return true on success. * @deprecated use tox_conference_get_id instead (exactly the same function, just renamed). */ -bool tox_conference_get_uid(const Tox *tox, Tox_Conference_Number conference_number, uint8_t *uid); +bool tox_conference_get_uid( + const Tox *tox, Tox_Conference_Number conference_number, uint8_t uid[TOX_CONFERENCE_UID_SIZE]); typedef enum Tox_Err_Conference_By_Uid { @@ -3216,7 +3231,8 @@ const char *tox_err_conference_by_uid_to_string(Tox_Err_Conference_By_Uid value) * @return the conference number on success, an unspecified value on failure. * @deprecated use tox_conference_by_id instead (exactly the same function, just renamed). */ -Tox_Conference_Number tox_conference_by_uid(const Tox *tox, const uint8_t *uid, Tox_Err_Conference_By_Uid *error); +Tox_Conference_Number tox_conference_by_uid( + const Tox *tox, const uint8_t uid[TOX_CONFERENCE_UID_SIZE], Tox_Err_Conference_By_Uid *error); /** @} */ @@ -3294,7 +3310,8 @@ const char *tox_err_friend_custom_packet_to_string(Tox_Err_Friend_Custom_Packet * @return true on success. */ bool tox_friend_send_lossy_packet( - Tox *tox, Tox_Friend_Number friend_number, const uint8_t *data, size_t length, + Tox *tox, Tox_Friend_Number friend_number, + const uint8_t *data, size_t length, Tox_Err_Friend_Custom_Packet *error); /** @@ -3314,7 +3331,8 @@ bool tox_friend_send_lossy_packet( * @return true on success. */ bool tox_friend_send_lossless_packet( - Tox *tox, Tox_Friend_Number friend_number, const uint8_t *data, size_t length, + Tox *tox, Tox_Friend_Number friend_number, + const uint8_t *data, size_t length, Tox_Err_Friend_Custom_Packet *error); /** @@ -3323,7 +3341,8 @@ bool tox_friend_send_lossless_packet( * @param length The length of the packet data byte array. */ typedef void tox_friend_lossy_packet_cb( - Tox *tox, Tox_Friend_Number friend_number, const uint8_t *data, size_t length, + Tox *tox, Tox_Friend_Number friend_number, + const uint8_t *data, size_t length, void *user_data); @@ -3340,7 +3359,8 @@ void tox_callback_friend_lossy_packet(Tox *tox, tox_friend_lossy_packet_cb *call * @param length The length of the packet data byte array. */ typedef void tox_friend_lossless_packet_cb( - Tox *tox, Tox_Friend_Number friend_number, const uint8_t *data, size_t length, + Tox *tox, Tox_Friend_Number friend_number, + const uint8_t *data, size_t length, void *user_data); @@ -3387,7 +3407,7 @@ const char *tox_err_get_port_to_string(Tox_Err_Get_Port value); * @param dht_id A memory region of at least TOX_PUBLIC_KEY_SIZE bytes. If this * parameter is NULL, this function has no effect. */ -void tox_self_get_dht_id(const Tox *tox, uint8_t *dht_id); +void tox_self_get_dht_id(const Tox *tox, uint8_t dht_id[TOX_PUBLIC_KEY_SIZE]); /** * @brief Return the UDP port this Tox instance is bound to. @@ -3670,8 +3690,9 @@ const char *tox_err_group_new_to_string(Tox_Err_Group_New value); * @return group_number on success, UINT32_MAX on failure. */ Tox_Group_Number tox_group_new( - Tox *tox, Tox_Group_Privacy_State privacy_state, const uint8_t *group_name, - size_t group_name_length, const uint8_t *name, size_t name_length, Tox_Err_Group_New *error); + Tox *tox, Tox_Group_Privacy_State privacy_state, + const uint8_t *group_name, size_t group_name_length, + const uint8_t *name, size_t name_length, Tox_Err_Group_New *error); typedef enum Tox_Err_Group_Join { @@ -3734,8 +3755,10 @@ const char *tox_err_group_join_to_string(Tox_Err_Group_Join value); * @return group_number on success, UINT32_MAX on failure. */ Tox_Group_Number tox_group_join( - Tox *tox, const uint8_t *chat_id, const uint8_t *name, size_t name_length, - const uint8_t *password, size_t password_length, Tox_Err_Group_Join *error); + Tox *tox, const uint8_t chat_id[TOX_GROUP_CHAT_ID_SIZE], + const uint8_t *name, size_t name_length, + const uint8_t *password, size_t password_length, + Tox_Err_Group_Join *error); typedef enum Tox_Err_Group_Is_Connected { @@ -3866,8 +3889,10 @@ const char *tox_err_group_leave_to_string(Tox_Err_Group_Leave value); * * @return true if the group chat instance is successfully deleted. */ -bool tox_group_leave(Tox *tox, Tox_Group_Number group_number, const uint8_t *part_message, size_t length, - Tox_Err_Group_Leave *error); +bool tox_group_leave( + Tox *tox, Tox_Group_Number group_number, + const uint8_t *part_message, size_t length, + Tox_Err_Group_Leave *error); /******************************************************************************* @@ -3944,8 +3969,10 @@ const char *tox_err_group_self_name_set_to_string(Tox_Err_Group_Self_Name_Set va * * @return true on success. */ -bool tox_group_self_set_name(const Tox *tox, Tox_Group_Number group_number, const uint8_t *name, size_t length, - Tox_Err_Group_Self_Name_Set *error); +bool tox_group_self_set_name( + const Tox *tox, Tox_Group_Number group_number, + const uint8_t *name, size_t length, + Tox_Err_Group_Self_Name_Set *error); /** * Return the length of the client's current nickname for the group instance designated @@ -3971,7 +3998,9 @@ size_t tox_group_self_get_name_size(const Tox *tox, Tox_Group_Number group_numbe * * @return true on success. */ -bool tox_group_self_get_name(const Tox *tox, Tox_Group_Number group_number, uint8_t *name, Tox_Err_Group_Self_Query *error); +bool tox_group_self_get_name( + const Tox *tox, Tox_Group_Number group_number, + uint8_t *name, Tox_Err_Group_Self_Query *error); /** * Error codes for self status setting. @@ -4038,7 +4067,7 @@ Tox_Group_Peer_Number tox_group_self_get_peer_id(const Tox *tox, Tox_Group_Numbe * * @return true on success. */ -bool tox_group_self_get_public_key(const Tox *tox, Tox_Group_Number group_number, uint8_t *public_key, +bool tox_group_self_get_public_key(const Tox *tox, Tox_Group_Number group_number, uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Group_Self_Query *error); @@ -4103,8 +4132,9 @@ size_t tox_group_peer_get_name_size(const Tox *tox, Tox_Group_Number group_numbe * * @return true on success. */ -bool tox_group_peer_get_name(const Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, uint8_t *name, - Tox_Err_Group_Peer_Query *error); +bool tox_group_peer_get_name( + const Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, + uint8_t *name, Tox_Err_Group_Peer_Query *error); /** * Return the peer's user status (away/busy/...). If the ID or group number is @@ -4160,8 +4190,9 @@ Tox_Connection tox_group_peer_get_connection_status(const Tox *tox, Tox_Group_Nu * * @return true on success. */ -bool tox_group_peer_get_public_key(const Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, uint8_t *public_key, - Tox_Err_Group_Peer_Query *error); +bool tox_group_peer_get_public_key( + const Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, + uint8_t public_key[TOX_PUBLIC_KEY_SIZE], Tox_Err_Group_Peer_Query *error); /** * @param group_number The group number of the group the name change is intended for. @@ -4169,8 +4200,9 @@ bool tox_group_peer_get_public_key(const Tox *tox, Tox_Group_Number group_number * @param name The name data. * @param length The length of the name. */ -typedef void tox_group_peer_name_cb(Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, const uint8_t *name, - size_t length, void *user_data); +typedef void tox_group_peer_name_cb( + Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, + const uint8_t *name, size_t length, void *user_data); /** @@ -4278,8 +4310,10 @@ const char *tox_err_group_topic_set_to_string(Tox_Err_Group_Topic_Set value); * * @return true on success. */ -bool tox_group_set_topic(const Tox *tox, Tox_Group_Number group_number, const uint8_t *topic, size_t length, - Tox_Err_Group_Topic_Set *error); +bool tox_group_set_topic( + const Tox *tox, Tox_Group_Number group_number, + const uint8_t *topic, size_t length, + Tox_Err_Group_Topic_Set *error); /** * Return the length of the group topic. If the group number is invalid, the @@ -4303,7 +4337,9 @@ size_t tox_group_get_topic_size(const Tox *tox, Tox_Group_Number group_number, T * * @return true on success. */ -bool tox_group_get_topic(const Tox *tox, Tox_Group_Number group_number, uint8_t *topic, Tox_Err_Group_State_Queries *error); +bool tox_group_get_topic( + const Tox *tox, Tox_Group_Number group_number, + uint8_t *topic, Tox_Err_Group_State_Queries *error); /** * @param group_number The group number of the group the topic change is intended for. @@ -4312,8 +4348,10 @@ bool tox_group_get_topic(const Tox *tox, Tox_Group_Number group_number, uint8_t * @param topic The topic data. * @param length The topic length. */ -typedef void tox_group_topic_cb(Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, const uint8_t *topic, size_t length, - void *user_data); +typedef void tox_group_topic_cb( + Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, + const uint8_t *topic, size_t length, + void *user_data); /** @@ -4339,7 +4377,9 @@ size_t tox_group_get_name_size(const Tox *tox, Tox_Group_Number group_number, To * * @return true on success. */ -bool tox_group_get_name(const Tox *tox, Tox_Group_Number group_number, uint8_t *group_name, Tox_Err_Group_State_Queries *error); +bool tox_group_get_name( + const Tox *tox, Tox_Group_Number group_number, + uint8_t *group_name, Tox_Err_Group_State_Queries *error); /** * Write the Chat ID designated by the given group number to a byte array. @@ -4351,7 +4391,9 @@ bool tox_group_get_name(const Tox *tox, Tox_Group_Number group_number, uint8_t * * * @return true on success. */ -bool tox_group_get_chat_id(const Tox *tox, Tox_Group_Number group_number, uint8_t *chat_id, Tox_Err_Group_State_Queries *error); +bool tox_group_get_chat_id( + const Tox *tox, Tox_Group_Number group_number, uint8_t chat_id[TOX_GROUP_CHAT_ID_SIZE], + Tox_Err_Group_State_Queries *error); /** * Return the number of groups in the Tox chats array. @@ -4484,16 +4526,19 @@ size_t tox_group_get_password_size(const Tox *tox, Tox_Group_Number group_number * * @return true on success. */ -bool tox_group_get_password(const Tox *tox, Tox_Group_Number group_number, uint8_t *password, - Tox_Err_Group_State_Queries *error); +bool tox_group_get_password( + const Tox *tox, Tox_Group_Number group_number, uint8_t *password, + Tox_Err_Group_State_Queries *error); /** * @param group_number The group number of the group for which the password has changed. * @param password The new group password. * @param length The length of the password. */ -typedef void tox_group_password_cb(Tox *tox, Tox_Group_Number group_number, const uint8_t *password, size_t length, - void *user_data); +typedef void tox_group_password_cb( + Tox *tox, Tox_Group_Number group_number, + const uint8_t *password, size_t length, + void *user_data); /** @@ -4580,8 +4625,10 @@ const char *tox_err_group_send_message_to_string(Tox_Err_Group_Send_Message valu * * @return true on success. */ -bool tox_group_send_message(const Tox *tox, Tox_Group_Number group_number, Tox_Message_Type type, const uint8_t *message, - size_t length, Tox_Group_Message_Id *message_id, Tox_Err_Group_Send_Message *error); +bool tox_group_send_message( + const Tox *tox, Tox_Group_Number group_number, Tox_Message_Type type, + const uint8_t *message, size_t length, Tox_Group_Message_Id *message_id, + Tox_Err_Group_Send_Message *error); typedef enum Tox_Err_Group_Send_Private_Message { @@ -4653,8 +4700,10 @@ const char *tox_err_group_send_private_message_to_string(Tox_Err_Group_Send_Priv * * @return true on success. */ -bool tox_group_send_private_message(const Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, Tox_Message_Type type, - const uint8_t *message, size_t length, Tox_Err_Group_Send_Private_Message *error); +bool tox_group_send_private_message( + const Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, Tox_Message_Type type, + const uint8_t *message, size_t length, + Tox_Err_Group_Send_Private_Message *error); typedef enum Tox_Err_Group_Send_Custom_Packet { @@ -4719,9 +4768,10 @@ const char *tox_err_group_send_custom_packet_to_string(Tox_Err_Group_Send_Custom * * @return true on success. */ -bool tox_group_send_custom_packet(const Tox *tox, Tox_Group_Number group_number, bool lossless, const uint8_t *data, - size_t length, - Tox_Err_Group_Send_Custom_Packet *error); +bool tox_group_send_custom_packet( + const Tox *tox, Tox_Group_Number group_number, bool lossless, + const uint8_t *data, size_t length, + Tox_Err_Group_Send_Custom_Packet *error); typedef enum Tox_Err_Group_Send_Custom_Private_Packet { @@ -4818,8 +4868,9 @@ bool tox_group_send_custom_private_packet(const Tox *tox, Tox_Group_Number group * @param message_id A pseudo message id that clients can use to uniquely identify this group message. * @param length The length of the message. */ -typedef void tox_group_message_cb(Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, Tox_Message_Type type, - const uint8_t *message, size_t length, Tox_Group_Message_Id message_id, void *user_data); +typedef void tox_group_message_cb( + Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, Tox_Message_Type type, + const uint8_t *message, size_t length, Tox_Group_Message_Id message_id, void *user_data); /** @@ -4835,7 +4886,8 @@ void tox_callback_group_message(Tox *tox, tox_group_message_cb *callback); * @param message The message data. * @param length The length of the message. */ -typedef void tox_group_private_message_cb(Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, Tox_Message_Type type, +typedef void tox_group_private_message_cb( + Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, Tox_Message_Type type, const uint8_t *message, size_t length, void *user_data); @@ -4852,8 +4904,9 @@ void tox_callback_group_private_message(Tox *tox, tox_group_private_message_cb * * @param data The packet data. * @param length The length of the data. */ -typedef void tox_group_custom_packet_cb(Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, const uint8_t *data, - size_t length, void *user_data); +typedef void tox_group_custom_packet_cb( + Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, + const uint8_t *data, size_t length, void *user_data); /** @@ -4869,8 +4922,9 @@ void tox_callback_group_custom_packet(Tox *tox, tox_group_custom_packet_cb *call * @param data The packet data. * @param length The length of the data. */ -typedef void tox_group_custom_private_packet_cb(Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, const uint8_t *data, - size_t length, void *user_data); +typedef void tox_group_custom_private_packet_cb( + Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, + const uint8_t *data, size_t length, void *user_data); /** @@ -5003,8 +5057,10 @@ const char *tox_err_group_invite_accept_to_string(Tox_Err_Group_Invite_Accept va * @return the group_number on success, UINT32_MAX on failure. */ Tox_Group_Number tox_group_invite_accept( - Tox *tox, Tox_Friend_Number friend_number, const uint8_t *invite_data, size_t length, - const uint8_t *name, size_t name_length, const uint8_t *password, size_t password_length, + Tox *tox, Tox_Friend_Number friend_number, + const uint8_t *invite_data, size_t length, + const uint8_t *name, size_t name_length, + const uint8_t *password, size_t password_length, Tox_Err_Group_Invite_Accept *error); /** @@ -5013,8 +5069,10 @@ Tox_Group_Number tox_group_invite_accept( * @param length The length of invite_data. */ typedef void tox_group_invite_cb( - Tox *tox, Tox_Friend_Number friend_number, const uint8_t *invite_data, size_t length, - const uint8_t *group_name, size_t group_name_length, void *user_data); + Tox *tox, Tox_Friend_Number friend_number, + const uint8_t *invite_data, size_t length, + const uint8_t *group_name, size_t group_name_length, + void *user_data); /** @@ -5091,8 +5149,10 @@ const char *tox_group_exit_type_to_string(Tox_Group_Exit_Type value); * @param part_message The parting message data. * @param part_message_length The length of the parting message. */ -typedef void tox_group_peer_exit_cb(Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, Tox_Group_Exit_Type exit_type, - const uint8_t *name, size_t name_length, const uint8_t *part_message, size_t part_message_length, void *user_data); +typedef void tox_group_peer_exit_cb( + Tox *tox, Tox_Group_Number group_number, Tox_Group_Peer_Number peer_id, Tox_Group_Exit_Type exit_type, + const uint8_t *name, size_t name_length, + const uint8_t *part_message, size_t part_message_length, void *user_data); /** @@ -5220,8 +5280,10 @@ const char *tox_err_group_founder_set_password_to_string(Tox_Err_Group_Founder_S * * @return true on success. */ -bool tox_group_founder_set_password(const Tox *tox, Tox_Group_Number group_number, const uint8_t *password, size_t length, - Tox_Err_Group_Founder_Set_Password *error); +bool tox_group_founder_set_password( + const Tox *tox, Tox_Group_Number group_number, + const uint8_t *password, size_t length, + Tox_Err_Group_Founder_Set_Password *error); typedef enum Tox_Err_Group_Founder_Set_Topic_Lock {