summaryrefslogtreecommitdiff
path: root/toxcore/Messenger.h
diff options
context:
space:
mode:
Diffstat (limited to 'toxcore/Messenger.h')
-rw-r--r--toxcore/Messenger.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/toxcore/Messenger.h b/toxcore/Messenger.h
index fd4646e9..2d31f0b9 100644
--- a/toxcore/Messenger.h
+++ b/toxcore/Messenger.h
@@ -189,6 +189,8 @@ enum {
189 FILECONTROL_RESUME_BROKEN 189 FILECONTROL_RESUME_BROKEN
190}; 190};
191 191
192typedef struct Messenger Messenger;
193
192typedef struct { 194typedef struct {
193 uint8_t client_id[crypto_box_PUBLICKEYBYTES]; 195 uint8_t client_id[crypto_box_PUBLICKEYBYTES];
194 int friendcon_id; 196 int friendcon_id;
@@ -222,18 +224,18 @@ typedef struct {
222 AVATAR_RECEIVEDATA *avatar_recv_data; // We are receiving avatar data from this friend. 224 AVATAR_RECEIVEDATA *avatar_recv_data; // We are receiving avatar data from this friend.
223 225
224 struct { 226 struct {
225 int (*function)(void *object, const uint8_t *data, uint32_t len); 227 int (*function)(Messenger *m, int32_t friendnumber, const uint8_t *data, uint32_t len, void *object);
226 void *object; 228 void *object;
227 } lossy_packethandlers[PACKET_ID_LOSSY_RANGE_SIZE]; 229 } lossy_packethandlers[PACKET_ID_LOSSY_RANGE_SIZE];
228 230
229 struct { 231 struct {
230 int (*function)(void *object, const uint8_t *data, uint32_t len); 232 int (*function)(Messenger *m, int32_t friendnumber, const uint8_t *data, uint32_t len, void *object);
231 void *object; 233 void *object;
232 } lossless_packethandlers[PACKET_ID_LOSSLESS_RANGE_SIZE]; 234 } lossless_packethandlers[PACKET_ID_LOSSLESS_RANGE_SIZE];
233} Friend; 235} Friend;
234 236
235 237
236typedef struct Messenger { 238struct Messenger {
237 239
238 Networking_Core *net; 240 Networking_Core *net;
239 Net_Crypto *net_crypto; 241 Net_Crypto *net_crypto;
@@ -310,7 +312,7 @@ typedef struct Messenger {
310 void *msi_packet_userdata; 312 void *msi_packet_userdata;
311 313
312 Messenger_Options options; 314 Messenger_Options options;
313} Messenger; 315};
314 316
315/* Format: [client_id (32 bytes)][nospam number (4 bytes)][checksum (2 bytes)] 317/* Format: [client_id (32 bytes)][nospam number (4 bytes)][checksum (2 bytes)]
316 * 318 *
@@ -841,7 +843,7 @@ int m_msi_packet(const Messenger *m, int32_t friendnumber, const uint8_t *data,
841 * return 0 on success. 843 * return 0 on success.
842 */ 844 */
843int custom_lossy_packet_registerhandler(Messenger *m, int32_t friendnumber, uint8_t byte, 845int custom_lossy_packet_registerhandler(Messenger *m, int32_t friendnumber, uint8_t byte,
844 int (*packet_handler_callback)(void *object, const uint8_t *data, uint32_t len), void *object); 846 int (*packet_handler_callback)(Messenger *m, int32_t friendnumber, const uint8_t *data, uint32_t len, void *object), void *object);
845 847
846/* High level function to send custom lossy packets. 848/* High level function to send custom lossy packets.
847 * 849 *
@@ -859,7 +861,7 @@ int send_custom_lossy_packet(const Messenger *m, int32_t friendnumber, const uin
859 * return 0 on success. 861 * return 0 on success.
860 */ 862 */
861int custom_lossless_packet_registerhandler(Messenger *m, int32_t friendnumber, uint8_t byte, 863int custom_lossless_packet_registerhandler(Messenger *m, int32_t friendnumber, uint8_t byte,
862 int (*packet_handler_callback)(void *object, const uint8_t *data, uint32_t len), void *object); 864 int (*packet_handler_callback)(Messenger *m, int32_t friendnumber, const uint8_t *data, uint32_t len, void *object), void *object);
863 865
864/* High level function to send custom lossless packets. 866/* High level function to send custom lossless packets.
865 * 867 *