summaryrefslogtreecommitdiff
path: root/toxcore/Messenger.h
diff options
context:
space:
mode:
Diffstat (limited to 'toxcore/Messenger.h')
-rw-r--r--toxcore/Messenger.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/toxcore/Messenger.h b/toxcore/Messenger.h
index 65fa19a5..f03a7478 100644
--- a/toxcore/Messenger.h
+++ b/toxcore/Messenger.h
@@ -44,6 +44,7 @@
44#define PACKET_ID_RECEIPT 65 44#define PACKET_ID_RECEIPT 65
45#define PACKET_ID_MESSAGE 64 45#define PACKET_ID_MESSAGE 64
46#define PACKET_ID_ACTION 63 46#define PACKET_ID_ACTION 63
47#define PACKET_ID_MSI 69
47#define PACKET_ID_FILE_SENDREQUEST 80 48#define PACKET_ID_FILE_SENDREQUEST 80
48#define PACKET_ID_FILE_CONTROL 81 49#define PACKET_ID_FILE_CONTROL 81
49#define PACKET_ID_FILE_DATA 82 50#define PACKET_ID_FILE_DATA 82
@@ -198,6 +199,9 @@ typedef struct Messenger {
198 void (*file_filedata)(struct Messenger *m, int, uint8_t, uint8_t *, uint16_t length, void *); 199 void (*file_filedata)(struct Messenger *m, int, uint8_t, uint8_t *, uint16_t length, void *);
199 void *file_filedata_userdata; 200 void *file_filedata_userdata;
200 201
202 void (*msi_packet)(struct Messenger *m, int, uint8_t *, uint16_t, void *);
203 void *msi_packet_userdata;
204
201} Messenger; 205} Messenger;
202 206
203/* Format: [client_id (32 bytes)][nospam number (4 bytes)][checksum (2 bytes)] 207/* Format: [client_id (32 bytes)][nospam number (4 bytes)][checksum (2 bytes)]
@@ -327,6 +331,11 @@ uint16_t getself_name(Messenger *m, uint8_t *name, uint16_t nlen);
327 */ 331 */
328int getname(Messenger *m, int friendnumber, uint8_t *name); 332int getname(Messenger *m, int friendnumber, uint8_t *name);
329 333
334/* returns valid ip port of connected friend on success
335 * returns zeroed out IP_Port on failure
336 */
337IP_Port get_friend_ipport(Messenger *m, int friendnumber);
338
330/* Set our user status. 339/* Set our user status.
331 * You are responsible for freeing status after. 340 * You are responsible for freeing status after.
332 * 341 *
@@ -547,7 +556,23 @@ int file_data(Messenger *m, int friendnumber, uint8_t filenumber, uint8_t *data,
547 */ 556 */
548uint64_t file_dataremaining(Messenger *m, int friendnumber, uint8_t filenumber, uint8_t send_receive); 557uint64_t file_dataremaining(Messenger *m, int friendnumber, uint8_t filenumber, uint8_t send_receive);
549 558
550/*********************************/ 559/*************** A/V related ******************/
560
561/* Set the callback for msi packets.
562 *
563 * Function(Messenger *m, int friendnumber, uint8_t *data, uint16_t length, void *userdata)
564 */
565void m_callback_msi_packet(Messenger *m, void (*function)(Messenger *m, int, uint8_t *, uint16_t, void *),
566 void *userdata);
567
568/* Send an msi packet.
569 *
570 * return 1 on success
571 * return 0 on failure
572 */
573int m_msi_packet(Messenger *m, int friendnumber, uint8_t *data, uint16_t length);
574
575/**********************************************/
551 576
552/* Run this at startup. 577/* Run this at startup.
553 * return allocated instance of Messenger on success. 578 * return allocated instance of Messenger on success.