summaryrefslogtreecommitdiff
path: root/toxcore/tox.c
diff options
context:
space:
mode:
authoriphydf <iphydf@users.noreply.github.com>2018-07-05 10:31:29 +0000
committeriphydf <iphydf@users.noreply.github.com>2018-07-05 23:09:28 +0000
commit8739f7fccb7cafc54ca0f5fa074c9a740f7048ba (patch)
tree88e9f53fa6e734cd8095487d1896c56f844c782c /toxcore/tox.c
parent64d0297acc7d6a1697683052e15cc76383312c38 (diff)
Make tox.c unambiguously parseable.
Rules: 1. Constants are uppercase names: THE_CONSTANT. 2. SUE[1] types start with an uppercase letter and have at least one lowercase letter in it: The_Type, THE_Type. 3. Function types end in "_cb": tox_friend_connection_cb. 4. Variable and function names are all lowercase: the_function. This makes it easier for humans reading the code to determine what an identifier means. I'm not convinced by the enum type name change, but I don't know a better rule. Currently, a lot of enum types are spelled like constants, which is confusing. [1] struct/union/enum
Diffstat (limited to 'toxcore/tox.c')
-rw-r--r--toxcore/tox.c164
1 files changed, 80 insertions, 84 deletions
diff --git a/toxcore/tox.c b/toxcore/tox.c
index f7613d4f..c121eb2e 100644
--- a/toxcore/tox.c
+++ b/toxcore/tox.c
@@ -40,38 +40,38 @@ typedef struct Messenger Tox;
40 40
41#include "../toxencryptsave/defines.h" 41#include "../toxencryptsave/defines.h"
42 42
43#define SET_ERROR_PARAMETER(param, x) {if(param) {*param = x;}} 43#define SET_ERROR_PARAMETER(param, x) do { if (param) { *param = x; } } while (0)
44 44
45#if TOX_HASH_LENGTH != CRYPTO_SHA256_SIZE 45#if TOX_HASH_LENGTH != CRYPTO_SHA256_SIZE
46#error TOX_HASH_LENGTH is assumed to be equal to CRYPTO_SHA256_SIZE 46#error "TOX_HASH_LENGTH is assumed to be equal to CRYPTO_SHA256_SIZE"
47#endif 47#endif
48 48
49#if FILE_ID_LENGTH != CRYPTO_SYMMETRIC_KEY_SIZE 49#if FILE_ID_LENGTH != CRYPTO_SYMMETRIC_KEY_SIZE
50#error FILE_ID_LENGTH is assumed to be equal to CRYPTO_SYMMETRIC_KEY_SIZE 50#error "FILE_ID_LENGTH is assumed to be equal to CRYPTO_SYMMETRIC_KEY_SIZE"
51#endif 51#endif
52 52
53#if TOX_FILE_ID_LENGTH != CRYPTO_SYMMETRIC_KEY_SIZE 53#if TOX_FILE_ID_LENGTH != CRYPTO_SYMMETRIC_KEY_SIZE
54#error TOX_FILE_ID_LENGTH is assumed to be equal to CRYPTO_SYMMETRIC_KEY_SIZE 54#error "TOX_FILE_ID_LENGTH is assumed to be equal to CRYPTO_SYMMETRIC_KEY_SIZE"
55#endif 55#endif
56 56
57#if TOX_FILE_ID_LENGTH != TOX_HASH_LENGTH 57#if TOX_FILE_ID_LENGTH != TOX_HASH_LENGTH
58#error TOX_FILE_ID_LENGTH is assumed to be equal to TOX_HASH_LENGTH 58#error "TOX_FILE_ID_LENGTH is assumed to be equal to TOX_HASH_LENGTH"
59#endif 59#endif
60 60
61#if TOX_PUBLIC_KEY_SIZE != CRYPTO_PUBLIC_KEY_SIZE 61#if TOX_PUBLIC_KEY_SIZE != CRYPTO_PUBLIC_KEY_SIZE
62#error TOX_PUBLIC_KEY_SIZE is assumed to be equal to CRYPTO_PUBLIC_KEY_SIZE 62#error "TOX_PUBLIC_KEY_SIZE is assumed to be equal to CRYPTO_PUBLIC_KEY_SIZE"
63#endif 63#endif
64 64
65#if TOX_SECRET_KEY_SIZE != CRYPTO_SECRET_KEY_SIZE 65#if TOX_SECRET_KEY_SIZE != CRYPTO_SECRET_KEY_SIZE
66#error TOX_SECRET_KEY_SIZE is assumed to be equal to CRYPTO_SECRET_KEY_SIZE 66#error "TOX_SECRET_KEY_SIZE is assumed to be equal to CRYPTO_SECRET_KEY_SIZE"
67#endif 67#endif
68 68
69#if TOX_MAX_NAME_LENGTH != MAX_NAME_LENGTH 69#if TOX_MAX_NAME_LENGTH != MAX_NAME_LENGTH
70#error TOX_MAX_NAME_LENGTH is assumed to be equal to MAX_NAME_LENGTH 70#error "TOX_MAX_NAME_LENGTH is assumed to be equal to MAX_NAME_LENGTH"
71#endif 71#endif
72 72
73#if TOX_MAX_STATUS_MESSAGE_LENGTH != MAX_STATUSMESSAGE_LENGTH 73#if TOX_MAX_STATUS_MESSAGE_LENGTH != MAX_STATUSMESSAGE_LENGTH
74#error TOX_MAX_STATUS_MESSAGE_LENGTH is assumed to be equal to MAX_STATUSMESSAGE_LENGTH 74#error "TOX_MAX_STATUS_MESSAGE_LENGTH is assumed to be equal to MAX_STATUSMESSAGE_LENGTH"
75#endif 75#endif
76 76
77 77
@@ -81,7 +81,7 @@ bool tox_version_is_compatible(uint32_t major, uint32_t minor, uint32_t patch)
81} 81}
82 82
83 83
84Tox *tox_new(const struct Tox_Options *options, TOX_ERR_NEW *error) 84Tox *tox_new(const struct Tox_Options *options, Tox_Err_New *error)
85{ 85{
86 Messenger_Options m_options = {0}; 86 Messenger_Options m_options = {0};
87 87
@@ -90,7 +90,7 @@ Tox *tox_new(const struct Tox_Options *options, TOX_ERR_NEW *error)
90 struct Tox_Options *default_options = nullptr; 90 struct Tox_Options *default_options = nullptr;
91 91
92 if (options == nullptr) { 92 if (options == nullptr) {
93 TOX_ERR_OPTIONS_NEW err; 93 Tox_Err_Options_New err;
94 default_options = tox_options_new(&err); 94 default_options = tox_options_new(&err);
95 95
96 switch (err) { 96 switch (err) {
@@ -248,7 +248,7 @@ void tox_get_savedata(const Tox *tox, uint8_t *savedata)
248 } 248 }
249} 249}
250 250
251bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key, TOX_ERR_BOOTSTRAP *error) 251bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key, Tox_Err_Bootstrap *error)
252{ 252{
253 if (!host || !public_key) { 253 if (!host || !public_key) {
254 SET_ERROR_PARAMETER(error, TOX_ERR_BOOTSTRAP_NULL); 254 SET_ERROR_PARAMETER(error, TOX_ERR_BOOTSTRAP_NULL);
@@ -272,12 +272,12 @@ bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t *pub
272 272
273 unsigned int i; 273 unsigned int i;
274 274
275 for (i = 0; i < count; i++) { 275 for (i = 0; i < count; ++i) {
276 root[i].port = net_htons(port); 276 root[i].port = net_htons(port);
277 277
278 Messenger *m = tox; 278 Messenger *m = tox;
279 onion_add_bs_path_node(m->onion_c, root[i], public_key); 279 onion_add_bs_path_node(m->onion_c, root[i], public_key);
280 DHT_bootstrap(m->dht, root[i], public_key); 280 dht_bootstrap(m->dht, root[i], public_key);
281 } 281 }
282 282
283 net_freeipport(root); 283 net_freeipport(root);
@@ -292,7 +292,7 @@ bool tox_bootstrap(Tox *tox, const char *host, uint16_t port, const uint8_t *pub
292} 292}
293 293
294bool tox_add_tcp_relay(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key, 294bool tox_add_tcp_relay(Tox *tox, const char *host, uint16_t port, const uint8_t *public_key,
295 TOX_ERR_BOOTSTRAP *error) 295 Tox_Err_Bootstrap *error)
296{ 296{
297 if (!host || !public_key) { 297 if (!host || !public_key) {
298 SET_ERROR_PARAMETER(error, TOX_ERR_BOOTSTRAP_NULL); 298 SET_ERROR_PARAMETER(error, TOX_ERR_BOOTSTRAP_NULL);
@@ -316,7 +316,7 @@ bool tox_add_tcp_relay(Tox *tox, const char *host, uint16_t port, const uint8_t
316 316
317 unsigned int i; 317 unsigned int i;
318 318
319 for (i = 0; i < count; i++) { 319 for (i = 0; i < count; ++i) {
320 root[i].port = net_htons(port); 320 root[i].port = net_htons(port);
321 321
322 Messenger *m = tox; 322 Messenger *m = tox;
@@ -334,7 +334,7 @@ bool tox_add_tcp_relay(Tox *tox, const char *host, uint16_t port, const uint8_t
334 return 0; 334 return 0;
335} 335}
336 336
337TOX_CONNECTION tox_self_get_connection_status(const Tox *tox) 337Tox_Connection tox_self_get_connection_status(const Tox *tox)
338{ 338{
339 const Messenger *m = tox; 339 const Messenger *m = tox;
340 340
@@ -355,7 +355,7 @@ TOX_CONNECTION tox_self_get_connection_status(const Tox *tox)
355void tox_callback_self_connection_status(Tox *tox, tox_self_connection_status_cb *callback) 355void tox_callback_self_connection_status(Tox *tox, tox_self_connection_status_cb *callback)
356{ 356{
357 Messenger *m = tox; 357 Messenger *m = tox;
358 m_callback_core_connection(m, (void (*)(Messenger *, unsigned int, void *))callback); 358 m_callback_core_connection(m, (m_self_connection_status_cb *)callback);
359} 359}
360 360
361uint32_t tox_iteration_interval(const Tox *tox) 361uint32_t tox_iteration_interval(const Tox *tox)
@@ -409,7 +409,7 @@ void tox_self_get_secret_key(const Tox *tox, uint8_t *secret_key)
409 } 409 }
410} 410}
411 411
412bool tox_self_set_name(Tox *tox, const uint8_t *name, size_t length, TOX_ERR_SET_INFO *error) 412bool tox_self_set_name(Tox *tox, const uint8_t *name, size_t length, Tox_Err_Set_Info *error)
413{ 413{
414 if (!name && length != 0) { 414 if (!name && length != 0) {
415 SET_ERROR_PARAMETER(error, TOX_ERR_SET_INFO_NULL); 415 SET_ERROR_PARAMETER(error, TOX_ERR_SET_INFO_NULL);
@@ -443,7 +443,7 @@ void tox_self_get_name(const Tox *tox, uint8_t *name)
443 } 443 }
444} 444}
445 445
446bool tox_self_set_status_message(Tox *tox, const uint8_t *status_message, size_t length, TOX_ERR_SET_INFO *error) 446bool tox_self_set_status_message(Tox *tox, const uint8_t *status_message, size_t length, Tox_Err_Set_Info *error)
447{ 447{
448 if (!status_message && length != 0) { 448 if (!status_message && length != 0) {
449 SET_ERROR_PARAMETER(error, TOX_ERR_SET_INFO_NULL); 449 SET_ERROR_PARAMETER(error, TOX_ERR_SET_INFO_NULL);
@@ -475,20 +475,20 @@ void tox_self_get_status_message(const Tox *tox, uint8_t *status_message)
475 } 475 }
476} 476}
477 477
478void tox_self_set_status(Tox *tox, TOX_USER_STATUS status) 478void tox_self_set_status(Tox *tox, Tox_User_Status status)
479{ 479{
480 Messenger *m = tox; 480 Messenger *m = tox;
481 m_set_userstatus(m, status); 481 m_set_userstatus(m, status);
482} 482}
483 483
484TOX_USER_STATUS tox_self_get_status(const Tox *tox) 484Tox_User_Status tox_self_get_status(const Tox *tox)
485{ 485{
486 const Messenger *m = tox; 486 const Messenger *m = tox;
487 const uint8_t status = m_get_self_userstatus(m); 487 const uint8_t status = m_get_self_userstatus(m);
488 return (TOX_USER_STATUS)status; 488 return (Tox_User_Status)status;
489} 489}
490 490
491static void set_friend_error(int32_t ret, TOX_ERR_FRIEND_ADD *error) 491static void set_friend_error(int32_t ret, Tox_Err_Friend_Add *error)
492{ 492{
493 switch (ret) { 493 switch (ret) {
494 case FAERR_TOOLONG: 494 case FAERR_TOOLONG:
@@ -522,7 +522,7 @@ static void set_friend_error(int32_t ret, TOX_ERR_FRIEND_ADD *error)
522} 522}
523 523
524uint32_t tox_friend_add(Tox *tox, const uint8_t *address, const uint8_t *message, size_t length, 524uint32_t tox_friend_add(Tox *tox, const uint8_t *address, const uint8_t *message, size_t length,
525 TOX_ERR_FRIEND_ADD *error) 525 Tox_Err_Friend_Add *error)
526{ 526{
527 if (!address || !message) { 527 if (!address || !message) {
528 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_ADD_NULL); 528 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_ADD_NULL);
@@ -541,7 +541,7 @@ uint32_t tox_friend_add(Tox *tox, const uint8_t *address, const uint8_t *message
541 return UINT32_MAX; 541 return UINT32_MAX;
542} 542}
543 543
544uint32_t tox_friend_add_norequest(Tox *tox, const uint8_t *public_key, TOX_ERR_FRIEND_ADD *error) 544uint32_t tox_friend_add_norequest(Tox *tox, const uint8_t *public_key, Tox_Err_Friend_Add *error)
545{ 545{
546 if (!public_key) { 546 if (!public_key) {
547 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_ADD_NULL); 547 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_ADD_NULL);
@@ -560,7 +560,7 @@ uint32_t tox_friend_add_norequest(Tox *tox, const uint8_t *public_key, TOX_ERR_F
560 return UINT32_MAX; 560 return UINT32_MAX;
561} 561}
562 562
563bool tox_friend_delete(Tox *tox, uint32_t friend_number, TOX_ERR_FRIEND_DELETE *error) 563bool tox_friend_delete(Tox *tox, uint32_t friend_number, Tox_Err_Friend_Delete *error)
564{ 564{
565 Messenger *m = tox; 565 Messenger *m = tox;
566 int ret = m_delfriend(m, friend_number); 566 int ret = m_delfriend(m, friend_number);
@@ -575,7 +575,7 @@ bool tox_friend_delete(Tox *tox, uint32_t friend_number, TOX_ERR_FRIEND_DELETE *
575 return 1; 575 return 1;
576} 576}
577 577
578uint32_t tox_friend_by_public_key(const Tox *tox, const uint8_t *public_key, TOX_ERR_FRIEND_BY_PUBLIC_KEY *error) 578uint32_t tox_friend_by_public_key(const Tox *tox, const uint8_t *public_key, Tox_Err_Friend_By_Public_Key *error)
579{ 579{
580 if (!public_key) { 580 if (!public_key) {
581 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_BY_PUBLIC_KEY_NULL); 581 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_BY_PUBLIC_KEY_NULL);
@@ -595,7 +595,7 @@ uint32_t tox_friend_by_public_key(const Tox *tox, const uint8_t *public_key, TOX
595} 595}
596 596
597bool tox_friend_get_public_key(const Tox *tox, uint32_t friend_number, uint8_t *public_key, 597bool tox_friend_get_public_key(const Tox *tox, uint32_t friend_number, uint8_t *public_key,
598 TOX_ERR_FRIEND_GET_PUBLIC_KEY *error) 598 Tox_Err_Friend_Get_Public_Key *error)
599{ 599{
600 if (!public_key) { 600 if (!public_key) {
601 return 0; 601 return 0;
@@ -618,13 +618,13 @@ bool tox_friend_exists(const Tox *tox, uint32_t friend_number)
618 return m_friend_exists(m, friend_number); 618 return m_friend_exists(m, friend_number);
619} 619}
620 620
621uint64_t tox_friend_get_last_online(const Tox *tox, uint32_t friend_number, TOX_ERR_FRIEND_GET_LAST_ONLINE *error) 621uint64_t tox_friend_get_last_online(const Tox *tox, uint32_t friend_number, Tox_Err_Friend_Get_Last_Online *error)
622{ 622{
623 const Messenger *m = tox; 623 const Messenger *m = tox;
624 uint64_t timestamp = m_get_last_online(m, friend_number); 624 uint64_t timestamp = m_get_last_online(m, friend_number);
625 625
626 if (timestamp == UINT64_MAX) { 626 if (timestamp == UINT64_MAX) {
627 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_GET_LAST_ONLINE_FRIEND_NOT_FOUND) 627 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_GET_LAST_ONLINE_FRIEND_NOT_FOUND);
628 return UINT64_MAX; 628 return UINT64_MAX;
629 } 629 }
630 630
@@ -647,7 +647,7 @@ void tox_self_get_friend_list(const Tox *tox, uint32_t *friend_list)
647 } 647 }
648} 648}
649 649
650size_t tox_friend_get_name_size(const Tox *tox, uint32_t friend_number, TOX_ERR_FRIEND_QUERY *error) 650size_t tox_friend_get_name_size(const Tox *tox, uint32_t friend_number, Tox_Err_Friend_Query *error)
651{ 651{
652 const Messenger *m = tox; 652 const Messenger *m = tox;
653 int ret = m_get_name_size(m, friend_number); 653 int ret = m_get_name_size(m, friend_number);
@@ -661,7 +661,7 @@ size_t tox_friend_get_name_size(const Tox *tox, uint32_t friend_number, TOX_ERR_
661 return ret; 661 return ret;
662} 662}
663 663
664bool tox_friend_get_name(const Tox *tox, uint32_t friend_number, uint8_t *name, TOX_ERR_FRIEND_QUERY *error) 664bool tox_friend_get_name(const Tox *tox, uint32_t friend_number, uint8_t *name, Tox_Err_Friend_Query *error)
665{ 665{
666 if (!name) { 666 if (!name) {
667 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_QUERY_NULL); 667 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_QUERY_NULL);
@@ -686,7 +686,7 @@ void tox_callback_friend_name(Tox *tox, tox_friend_name_cb *callback)
686 m_callback_namechange(m, callback); 686 m_callback_namechange(m, callback);
687} 687}
688 688
689size_t tox_friend_get_status_message_size(const Tox *tox, uint32_t friend_number, TOX_ERR_FRIEND_QUERY *error) 689size_t tox_friend_get_status_message_size(const Tox *tox, uint32_t friend_number, Tox_Err_Friend_Query *error)
690{ 690{
691 const Messenger *m = tox; 691 const Messenger *m = tox;
692 int ret = m_get_statusmessage_size(m, friend_number); 692 int ret = m_get_statusmessage_size(m, friend_number);
@@ -701,7 +701,7 @@ size_t tox_friend_get_status_message_size(const Tox *tox, uint32_t friend_number
701} 701}
702 702
703bool tox_friend_get_status_message(const Tox *tox, uint32_t friend_number, uint8_t *status_message, 703bool tox_friend_get_status_message(const Tox *tox, uint32_t friend_number, uint8_t *status_message,
704 TOX_ERR_FRIEND_QUERY *error) 704 Tox_Err_Friend_Query *error)
705{ 705{
706 if (!status_message) { 706 if (!status_message) {
707 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_QUERY_NULL); 707 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_QUERY_NULL);
@@ -727,7 +727,7 @@ void tox_callback_friend_status_message(Tox *tox, tox_friend_status_message_cb *
727 m_callback_statusmessage(m, callback); 727 m_callback_statusmessage(m, callback);
728} 728}
729 729
730TOX_USER_STATUS tox_friend_get_status(const Tox *tox, uint32_t friend_number, TOX_ERR_FRIEND_QUERY *error) 730Tox_User_Status tox_friend_get_status(const Tox *tox, uint32_t friend_number, Tox_Err_Friend_Query *error)
731{ 731{
732 const Messenger *m = tox; 732 const Messenger *m = tox;
733 733
@@ -735,20 +735,20 @@ TOX_USER_STATUS tox_friend_get_status(const Tox *tox, uint32_t friend_number, TO
735 735
736 if (ret == USERSTATUS_INVALID) { 736 if (ret == USERSTATUS_INVALID) {
737 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_QUERY_FRIEND_NOT_FOUND); 737 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_QUERY_FRIEND_NOT_FOUND);
738 return (TOX_USER_STATUS)(TOX_USER_STATUS_BUSY + 1); 738 return (Tox_User_Status)(TOX_USER_STATUS_BUSY + 1);
739 } 739 }
740 740
741 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_QUERY_OK); 741 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_QUERY_OK);
742 return (TOX_USER_STATUS)ret; 742 return (Tox_User_Status)ret;
743} 743}
744 744
745void tox_callback_friend_status(Tox *tox, tox_friend_status_cb *callback) 745void tox_callback_friend_status(Tox *tox, tox_friend_status_cb *callback)
746{ 746{
747 Messenger *m = tox; 747 Messenger *m = tox;
748 m_callback_userstatus(m, (void (*)(Messenger *, uint32_t, unsigned int, void *))callback); 748 m_callback_userstatus(m, (m_friend_status_cb *)callback);
749} 749}
750 750
751TOX_CONNECTION tox_friend_get_connection_status(const Tox *tox, uint32_t friend_number, TOX_ERR_FRIEND_QUERY *error) 751Tox_Connection tox_friend_get_connection_status(const Tox *tox, uint32_t friend_number, Tox_Err_Friend_Query *error)
752{ 752{
753 const Messenger *m = tox; 753 const Messenger *m = tox;
754 754
@@ -760,16 +760,16 @@ TOX_CONNECTION tox_friend_get_connection_status(const Tox *tox, uint32_t friend_
760 } 760 }
761 761
762 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_QUERY_OK); 762 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_QUERY_OK);
763 return (TOX_CONNECTION)ret; 763 return (Tox_Connection)ret;
764} 764}
765 765
766void tox_callback_friend_connection_status(Tox *tox, tox_friend_connection_status_cb *callback) 766void tox_callback_friend_connection_status(Tox *tox, tox_friend_connection_status_cb *callback)
767{ 767{
768 Messenger *m = tox; 768 Messenger *m = tox;
769 m_callback_connectionstatus(m, (void (*)(Messenger *, uint32_t, unsigned int, void *))callback); 769 m_callback_connectionstatus(m, (m_friend_connection_status_cb *)callback);
770} 770}
771 771
772bool tox_friend_get_typing(const Tox *tox, uint32_t friend_number, TOX_ERR_FRIEND_QUERY *error) 772bool tox_friend_get_typing(const Tox *tox, uint32_t friend_number, Tox_Err_Friend_Query *error)
773{ 773{
774 const Messenger *m = tox; 774 const Messenger *m = tox;
775 int ret = m_get_istyping(m, friend_number); 775 int ret = m_get_istyping(m, friend_number);
@@ -789,7 +789,7 @@ void tox_callback_friend_typing(Tox *tox, tox_friend_typing_cb *callback)
789 m_callback_typingchange(m, callback); 789 m_callback_typingchange(m, callback);
790} 790}
791 791
792bool tox_self_set_typing(Tox *tox, uint32_t friend_number, bool typing, TOX_ERR_SET_TYPING *error) 792bool tox_self_set_typing(Tox *tox, uint32_t friend_number, bool typing, Tox_Err_Set_Typing *error)
793{ 793{
794 Messenger *m = tox; 794 Messenger *m = tox;
795 795
@@ -802,7 +802,7 @@ bool tox_self_set_typing(Tox *tox, uint32_t friend_number, bool typing, TOX_ERR_
802 return 1; 802 return 1;
803} 803}
804 804
805static void set_message_error(int ret, TOX_ERR_FRIEND_SEND_MESSAGE *error) 805static void set_message_error(int ret, Tox_Err_Friend_Send_Message *error)
806{ 806{
807 switch (ret) { 807 switch (ret) {
808 case 0: 808 case 0:
@@ -831,8 +831,8 @@ static void set_message_error(int ret, TOX_ERR_FRIEND_SEND_MESSAGE *error)
831 } 831 }
832} 832}
833 833
834uint32_t tox_friend_send_message(Tox *tox, uint32_t friend_number, TOX_MESSAGE_TYPE type, const uint8_t *message, 834uint32_t tox_friend_send_message(Tox *tox, uint32_t friend_number, Tox_Message_Type type, const uint8_t *message,
835 size_t length, TOX_ERR_FRIEND_SEND_MESSAGE *error) 835 size_t length, Tox_Err_Friend_Send_Message *error)
836{ 836{
837 if (!message) { 837 if (!message) {
838 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_SEND_MESSAGE_NULL); 838 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_SEND_MESSAGE_NULL);
@@ -865,7 +865,7 @@ void tox_callback_friend_request(Tox *tox, tox_friend_request_cb *callback)
865void tox_callback_friend_message(Tox *tox, tox_friend_message_cb *callback) 865void tox_callback_friend_message(Tox *tox, tox_friend_message_cb *callback)
866{ 866{
867 Messenger *m = tox; 867 Messenger *m = tox;
868 m_callback_friendmessage(m, (void (*)(Messenger *, uint32_t, unsigned int, const uint8_t *, size_t, void *))callback); 868 m_callback_friendmessage(m, (m_friend_message_cb *)callback);
869} 869}
870 870
871bool tox_hash(uint8_t *hash, const uint8_t *data, size_t length) 871bool tox_hash(uint8_t *hash, const uint8_t *data, size_t length)
@@ -878,8 +878,8 @@ bool tox_hash(uint8_t *hash, const uint8_t *data, size_t length)
878 return 1; 878 return 1;
879} 879}
880 880
881bool tox_file_control(Tox *tox, uint32_t friend_number, uint32_t file_number, TOX_FILE_CONTROL control, 881bool tox_file_control(Tox *tox, uint32_t friend_number, uint32_t file_number, Tox_File_Control control,
882 TOX_ERR_FILE_CONTROL *error) 882 Tox_Err_File_Control *error)
883{ 883{
884 Messenger *m = tox; 884 Messenger *m = tox;
885 int ret = file_control(m, friend_number, file_number, control); 885 int ret = file_control(m, friend_number, file_number, control);
@@ -928,7 +928,7 @@ bool tox_file_control(Tox *tox, uint32_t friend_number, uint32_t file_number, TO
928} 928}
929 929
930bool tox_file_seek(Tox *tox, uint32_t friend_number, uint32_t file_number, uint64_t position, 930bool tox_file_seek(Tox *tox, uint32_t friend_number, uint32_t file_number, uint64_t position,
931 TOX_ERR_FILE_SEEK *error) 931 Tox_Err_File_Seek *error)
932{ 932{
933 Messenger *m = tox; 933 Messenger *m = tox;
934 int ret = file_seek(m, friend_number, file_number, position); 934 int ret = file_seek(m, friend_number, file_number, position);
@@ -972,11 +972,11 @@ bool tox_file_seek(Tox *tox, uint32_t friend_number, uint32_t file_number, uint6
972void tox_callback_file_recv_control(Tox *tox, tox_file_recv_control_cb *callback) 972void tox_callback_file_recv_control(Tox *tox, tox_file_recv_control_cb *callback)
973{ 973{
974 Messenger *m = tox; 974 Messenger *m = tox;
975 callback_file_control(m, (void (*)(Messenger *, uint32_t, uint32_t, unsigned int, void *))callback); 975 callback_file_control(m, (m_file_recv_control_cb *)callback);
976} 976}
977 977
978bool tox_file_get_file_id(const Tox *tox, uint32_t friend_number, uint32_t file_number, uint8_t *file_id, 978bool tox_file_get_file_id(const Tox *tox, uint32_t friend_number, uint32_t file_number, uint8_t *file_id,
979 TOX_ERR_FILE_GET *error) 979 Tox_Err_File_Get *error)
980{ 980{
981 if (!file_id) { 981 if (!file_id) {
982 SET_ERROR_PARAMETER(error, TOX_ERR_FILE_GET_NULL); 982 SET_ERROR_PARAMETER(error, TOX_ERR_FILE_GET_NULL);
@@ -1001,7 +1001,7 @@ bool tox_file_get_file_id(const Tox *tox, uint32_t friend_number, uint32_t file_
1001} 1001}
1002 1002
1003uint32_t tox_file_send(Tox *tox, uint32_t friend_number, uint32_t kind, uint64_t file_size, const uint8_t *file_id, 1003uint32_t tox_file_send(Tox *tox, uint32_t friend_number, uint32_t kind, uint64_t file_size, const uint8_t *file_id,
1004 const uint8_t *filename, size_t filename_length, TOX_ERR_FILE_SEND *error) 1004 const uint8_t *filename, size_t filename_length, Tox_Err_File_Send *error)
1005{ 1005{
1006 if (filename_length && !filename) { 1006 if (filename_length && !filename) {
1007 SET_ERROR_PARAMETER(error, TOX_ERR_FILE_SEND_NULL); 1007 SET_ERROR_PARAMETER(error, TOX_ERR_FILE_SEND_NULL);
@@ -1047,7 +1047,7 @@ uint32_t tox_file_send(Tox *tox, uint32_t friend_number, uint32_t kind, uint64_t
1047} 1047}
1048 1048
1049bool tox_file_send_chunk(Tox *tox, uint32_t friend_number, uint32_t file_number, uint64_t position, const uint8_t *data, 1049bool tox_file_send_chunk(Tox *tox, uint32_t friend_number, uint32_t file_number, uint64_t position, const uint8_t *data,
1050 size_t length, TOX_ERR_FILE_SEND_CHUNK *error) 1050 size_t length, Tox_Err_File_Send_Chunk *error)
1051{ 1051{
1052 Messenger *m = tox; 1052 Messenger *m = tox;
1053 int ret = file_data(m, friend_number, file_number, position, data, length); 1053 int ret = file_data(m, friend_number, file_number, position, data, length);
@@ -1112,17 +1112,13 @@ void tox_callback_file_recv_chunk(Tox *tox, tox_file_recv_chunk_cb *callback)
1112void tox_callback_conference_invite(Tox *tox, tox_conference_invite_cb *callback) 1112void tox_callback_conference_invite(Tox *tox, tox_conference_invite_cb *callback)
1113{ 1113{
1114 Messenger *m = tox; 1114 Messenger *m = tox;
1115 g_callback_group_invite((Group_Chats *)m->conferences_object, (void (*)(Messenger * m, uint32_t, int, const uint8_t *, 1115 g_callback_group_invite((Group_Chats *)m->conferences_object, (g_conference_invite_cb *)callback);
1116 size_t,
1117 void *))callback);
1118} 1116}
1119 1117
1120void tox_callback_conference_message(Tox *tox, tox_conference_message_cb *callback) 1118void tox_callback_conference_message(Tox *tox, tox_conference_message_cb *callback)
1121{ 1119{
1122 Messenger *m = tox; 1120 Messenger *m = tox;
1123 g_callback_group_message((Group_Chats *)m->conferences_object, (void (*)(Messenger * m, uint32_t, uint32_t, int, 1121 g_callback_group_message((Group_Chats *)m->conferences_object, (g_conference_message_cb *)callback);
1124 const uint8_t *,
1125 size_t, void *))callback);
1126} 1122}
1127 1123
1128void tox_callback_conference_title(Tox *tox, tox_conference_title_cb *callback) 1124void tox_callback_conference_title(Tox *tox, tox_conference_title_cb *callback)
@@ -1143,7 +1139,7 @@ void tox_callback_conference_peer_list_changed(Tox *tox, tox_conference_peer_lis
1143 g_callback_peer_list_changed((Group_Chats *)m->conferences_object, callback); 1139 g_callback_peer_list_changed((Group_Chats *)m->conferences_object, callback);
1144} 1140}
1145 1141
1146uint32_t tox_conference_new(Tox *tox, TOX_ERR_CONFERENCE_NEW *error) 1142uint32_t tox_conference_new(Tox *tox, Tox_Err_Conference_New *error)
1147{ 1143{
1148 Messenger *m = tox; 1144 Messenger *m = tox;
1149 int ret = add_groupchat((Group_Chats *)m->conferences_object, GROUPCHAT_TYPE_TEXT); 1145 int ret = add_groupchat((Group_Chats *)m->conferences_object, GROUPCHAT_TYPE_TEXT);
@@ -1157,7 +1153,7 @@ uint32_t tox_conference_new(Tox *tox, TOX_ERR_CONFERENCE_NEW *error)
1157 return ret; 1153 return ret;
1158} 1154}
1159 1155
1160bool tox_conference_delete(Tox *tox, uint32_t conference_number, TOX_ERR_CONFERENCE_DELETE *error) 1156bool tox_conference_delete(Tox *tox, uint32_t conference_number, Tox_Err_Conference_Delete *error)
1161{ 1157{
1162 Messenger *m = tox; 1158 Messenger *m = tox;
1163 int ret = del_groupchat((Group_Chats *)m->conferences_object, conference_number); 1159 int ret = del_groupchat((Group_Chats *)m->conferences_object, conference_number);
@@ -1171,7 +1167,7 @@ bool tox_conference_delete(Tox *tox, uint32_t conference_number, TOX_ERR_CONFERE
1171 return true; 1167 return true;
1172} 1168}
1173 1169
1174uint32_t tox_conference_peer_count(const Tox *tox, uint32_t conference_number, TOX_ERR_CONFERENCE_PEER_QUERY *error) 1170uint32_t tox_conference_peer_count(const Tox *tox, uint32_t conference_number, Tox_Err_Conference_Peer_Query *error)
1175{ 1171{
1176 const Messenger *m = tox; 1172 const Messenger *m = tox;
1177 int ret = group_number_peers((Group_Chats *)m->conferences_object, conference_number); 1173 int ret = group_number_peers((Group_Chats *)m->conferences_object, conference_number);
@@ -1186,7 +1182,7 @@ uint32_t tox_conference_peer_count(const Tox *tox, uint32_t conference_number, T
1186} 1182}
1187 1183
1188size_t tox_conference_peer_get_name_size(const Tox *tox, uint32_t conference_number, uint32_t peer_number, 1184size_t tox_conference_peer_get_name_size(const Tox *tox, uint32_t conference_number, uint32_t peer_number,
1189 TOX_ERR_CONFERENCE_PEER_QUERY *error) 1185 Tox_Err_Conference_Peer_Query *error)
1190{ 1186{
1191 const Messenger *m = tox; 1187 const Messenger *m = tox;
1192 int ret = group_peername_size((Group_Chats *)m->conferences_object, conference_number, peer_number); 1188 int ret = group_peername_size((Group_Chats *)m->conferences_object, conference_number, peer_number);
@@ -1206,7 +1202,7 @@ size_t tox_conference_peer_get_name_size(const Tox *tox, uint32_t conference_num
1206} 1202}
1207 1203
1208bool tox_conference_peer_get_name(const Tox *tox, uint32_t conference_number, uint32_t peer_number, uint8_t *name, 1204bool tox_conference_peer_get_name(const Tox *tox, uint32_t conference_number, uint32_t peer_number, uint8_t *name,
1209 TOX_ERR_CONFERENCE_PEER_QUERY *error) 1205 Tox_Err_Conference_Peer_Query *error)
1210{ 1206{
1211 const Messenger *m = tox; 1207 const Messenger *m = tox;
1212 int ret = group_peername((Group_Chats *)m->conferences_object, conference_number, peer_number, name); 1208 int ret = group_peername((Group_Chats *)m->conferences_object, conference_number, peer_number, name);
@@ -1226,7 +1222,7 @@ bool tox_conference_peer_get_name(const Tox *tox, uint32_t conference_number, ui
1226} 1222}
1227 1223
1228bool tox_conference_peer_get_public_key(const Tox *tox, uint32_t conference_number, uint32_t peer_number, 1224bool tox_conference_peer_get_public_key(const Tox *tox, uint32_t conference_number, uint32_t peer_number,
1229 uint8_t *public_key, TOX_ERR_CONFERENCE_PEER_QUERY *error) 1225 uint8_t *public_key, Tox_Err_Conference_Peer_Query *error)
1230{ 1226{
1231 const Messenger *m = tox; 1227 const Messenger *m = tox;
1232 int ret = group_peer_pubkey((Group_Chats *)m->conferences_object, conference_number, peer_number, public_key); 1228 int ret = group_peer_pubkey((Group_Chats *)m->conferences_object, conference_number, peer_number, public_key);
@@ -1246,7 +1242,7 @@ bool tox_conference_peer_get_public_key(const Tox *tox, uint32_t conference_numb
1246} 1242}
1247 1243
1248bool tox_conference_peer_number_is_ours(const Tox *tox, uint32_t conference_number, uint32_t peer_number, 1244bool tox_conference_peer_number_is_ours(const Tox *tox, uint32_t conference_number, uint32_t peer_number,
1249 TOX_ERR_CONFERENCE_PEER_QUERY *error) 1245 Tox_Err_Conference_Peer_Query *error)
1250{ 1246{
1251 const Messenger *m = tox; 1247 const Messenger *m = tox;
1252 int ret = group_peernumber_is_ours((Group_Chats *)m->conferences_object, conference_number, peer_number); 1248 int ret = group_peernumber_is_ours((Group_Chats *)m->conferences_object, conference_number, peer_number);
@@ -1270,7 +1266,7 @@ bool tox_conference_peer_number_is_ours(const Tox *tox, uint32_t conference_numb
1270} 1266}
1271 1267
1272bool tox_conference_invite(Tox *tox, uint32_t friend_number, uint32_t conference_number, 1268bool tox_conference_invite(Tox *tox, uint32_t friend_number, uint32_t conference_number,
1273 TOX_ERR_CONFERENCE_INVITE *error) 1269 Tox_Err_Conference_Invite *error)
1274{ 1270{
1275 Messenger *m = tox; 1271 Messenger *m = tox;
1276 int ret = invite_friend((Group_Chats *)m->conferences_object, friend_number, conference_number); 1272 int ret = invite_friend((Group_Chats *)m->conferences_object, friend_number, conference_number);
@@ -1290,7 +1286,7 @@ bool tox_conference_invite(Tox *tox, uint32_t friend_number, uint32_t conference
1290} 1286}
1291 1287
1292uint32_t tox_conference_join(Tox *tox, uint32_t friend_number, const uint8_t *cookie, size_t length, 1288uint32_t tox_conference_join(Tox *tox, uint32_t friend_number, const uint8_t *cookie, size_t length,
1293 TOX_ERR_CONFERENCE_JOIN *error) 1289 Tox_Err_Conference_Join *error)
1294{ 1290{
1295 Messenger *m = tox; 1291 Messenger *m = tox;
1296 int ret = join_groupchat((Group_Chats *)m->conferences_object, friend_number, GROUPCHAT_TYPE_TEXT, cookie, length); 1292 int ret = join_groupchat((Group_Chats *)m->conferences_object, friend_number, GROUPCHAT_TYPE_TEXT, cookie, length);
@@ -1325,8 +1321,8 @@ uint32_t tox_conference_join(Tox *tox, uint32_t friend_number, const uint8_t *co
1325 return ret; 1321 return ret;
1326} 1322}
1327 1323
1328bool tox_conference_send_message(Tox *tox, uint32_t conference_number, TOX_MESSAGE_TYPE type, const uint8_t *message, 1324bool tox_conference_send_message(Tox *tox, uint32_t conference_number, Tox_Message_Type type, const uint8_t *message,
1329 size_t length, TOX_ERR_CONFERENCE_SEND_MESSAGE *error) 1325 size_t length, Tox_Err_Conference_Send_Message *error)
1330{ 1326{
1331 Messenger *m = tox; 1327 Messenger *m = tox;
1332 int ret = 0; 1328 int ret = 0;
@@ -1359,7 +1355,7 @@ bool tox_conference_send_message(Tox *tox, uint32_t conference_number, TOX_MESSA
1359 return true; 1355 return true;
1360} 1356}
1361 1357
1362size_t tox_conference_get_title_size(const Tox *tox, uint32_t conference_number, TOX_ERR_CONFERENCE_TITLE *error) 1358size_t tox_conference_get_title_size(const Tox *tox, uint32_t conference_number, Tox_Err_Conference_Title *error)
1363{ 1359{
1364 const Messenger *m = tox; 1360 const Messenger *m = tox;
1365 int ret = group_title_get_size((Group_Chats *)m->conferences_object, conference_number); 1361 int ret = group_title_get_size((Group_Chats *)m->conferences_object, conference_number);
@@ -1379,7 +1375,7 @@ size_t tox_conference_get_title_size(const Tox *tox, uint32_t conference_number,
1379} 1375}
1380 1376
1381bool tox_conference_get_title(const Tox *tox, uint32_t conference_number, uint8_t *title, 1377bool tox_conference_get_title(const Tox *tox, uint32_t conference_number, uint8_t *title,
1382 TOX_ERR_CONFERENCE_TITLE *error) 1378 Tox_Err_Conference_Title *error)
1383{ 1379{
1384 const Messenger *m = tox; 1380 const Messenger *m = tox;
1385 int ret = group_title_get((Group_Chats *)m->conferences_object, conference_number, title); 1381 int ret = group_title_get((Group_Chats *)m->conferences_object, conference_number, title);
@@ -1399,7 +1395,7 @@ bool tox_conference_get_title(const Tox *tox, uint32_t conference_number, uint8_
1399} 1395}
1400 1396
1401bool tox_conference_set_title(Tox *tox, uint32_t conference_number, const uint8_t *title, size_t length, 1397bool tox_conference_set_title(Tox *tox, uint32_t conference_number, const uint8_t *title, size_t length,
1402 TOX_ERR_CONFERENCE_TITLE *error) 1398 Tox_Err_Conference_Title *error)
1403{ 1399{
1404 Messenger *m = tox; 1400 Messenger *m = tox;
1405 int ret = group_title_send((Group_Chats *)m->conferences_object, conference_number, title, length); 1401 int ret = group_title_send((Group_Chats *)m->conferences_object, conference_number, title, length);
@@ -1435,22 +1431,22 @@ void tox_conference_get_chatlist(const Tox *tox, uint32_t *chatlist)
1435 copy_chatlist((Group_Chats *)m->conferences_object, chatlist, list_size); 1431 copy_chatlist((Group_Chats *)m->conferences_object, chatlist, list_size);
1436} 1432}
1437 1433
1438TOX_CONFERENCE_TYPE tox_conference_get_type(const Tox *tox, uint32_t conference_number, 1434Tox_Conference_Type tox_conference_get_type(const Tox *tox, uint32_t conference_number,
1439 TOX_ERR_CONFERENCE_GET_TYPE *error) 1435 Tox_Err_Conference_Get_Type *error)
1440{ 1436{
1441 const Messenger *m = tox; 1437 const Messenger *m = tox;
1442 int ret = group_get_type((Group_Chats *)m->conferences_object, conference_number); 1438 int ret = group_get_type((Group_Chats *)m->conferences_object, conference_number);
1443 1439
1444 if (ret == -1) { 1440 if (ret == -1) {
1445 SET_ERROR_PARAMETER(error, TOX_ERR_CONFERENCE_GET_TYPE_CONFERENCE_NOT_FOUND); 1441 SET_ERROR_PARAMETER(error, TOX_ERR_CONFERENCE_GET_TYPE_CONFERENCE_NOT_FOUND);
1446 return (TOX_CONFERENCE_TYPE)ret; 1442 return (Tox_Conference_Type)ret;
1447 } 1443 }
1448 1444
1449 SET_ERROR_PARAMETER(error, TOX_ERR_CONFERENCE_GET_TYPE_OK); 1445 SET_ERROR_PARAMETER(error, TOX_ERR_CONFERENCE_GET_TYPE_OK);
1450 return (TOX_CONFERENCE_TYPE)ret; 1446 return (Tox_Conference_Type)ret;
1451} 1447}
1452 1448
1453static void set_custom_packet_error(int ret, TOX_ERR_FRIEND_CUSTOM_PACKET *error) 1449static void set_custom_packet_error(int ret, Tox_Err_Friend_Custom_Packet *error)
1454{ 1450{
1455 switch (ret) { 1451 switch (ret) {
1456 case 0: 1452 case 0:
@@ -1480,7 +1476,7 @@ static void set_custom_packet_error(int ret, TOX_ERR_FRIEND_CUSTOM_PACKET *error
1480} 1476}
1481 1477
1482bool tox_friend_send_lossy_packet(Tox *tox, uint32_t friend_number, const uint8_t *data, size_t length, 1478bool tox_friend_send_lossy_packet(Tox *tox, uint32_t friend_number, const uint8_t *data, size_t length,
1483 TOX_ERR_FRIEND_CUSTOM_PACKET *error) 1479 Tox_Err_Friend_Custom_Packet *error)
1484{ 1480{
1485 if (!data) { 1481 if (!data) {
1486 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_CUSTOM_PACKET_NULL); 1482 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_CUSTOM_PACKET_NULL);
@@ -1517,7 +1513,7 @@ void tox_callback_friend_lossy_packet(Tox *tox, tox_friend_lossy_packet_cb *call
1517} 1513}
1518 1514
1519bool tox_friend_send_lossless_packet(Tox *tox, uint32_t friend_number, const uint8_t *data, size_t length, 1515bool tox_friend_send_lossless_packet(Tox *tox, uint32_t friend_number, const uint8_t *data, size_t length,
1520 TOX_ERR_FRIEND_CUSTOM_PACKET *error) 1516 Tox_Err_Friend_Custom_Packet *error)
1521{ 1517{
1522 if (!data) { 1518 if (!data) {
1523 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_CUSTOM_PACKET_NULL); 1519 SET_ERROR_PARAMETER(error, TOX_ERR_FRIEND_CUSTOM_PACKET_NULL);
@@ -1556,7 +1552,7 @@ void tox_self_get_dht_id(const Tox *tox, uint8_t *dht_id)
1556 } 1552 }
1557} 1553}
1558 1554
1559uint16_t tox_self_get_udp_port(const Tox *tox, TOX_ERR_GET_PORT *error) 1555uint16_t tox_self_get_udp_port(const Tox *tox, Tox_Err_Get_Port *error)
1560{ 1556{
1561 const Messenger *m = tox; 1557 const Messenger *m = tox;
1562 uint16_t port = net_htons(net_port(m->net)); 1558 uint16_t port = net_htons(net_port(m->net));
@@ -1570,7 +1566,7 @@ uint16_t tox_self_get_udp_port(const Tox *tox, TOX_ERR_GET_PORT *error)
1570 return port; 1566 return port;
1571} 1567}
1572 1568
1573uint16_t tox_self_get_tcp_port(const Tox *tox, TOX_ERR_GET_PORT *error) 1569uint16_t tox_self_get_tcp_port(const Tox *tox, Tox_Err_Get_Port *error)
1574{ 1570{
1575 const Messenger *m = tox; 1571 const Messenger *m = tox;
1576 1572