X-Git-Url: https://gitweb.ps.run/matrix_esp_thesis/blobdiff_plain/8d8ae609f0201ec4640738ff49b768e899695423..504241758d7b832af61939beaf61b0e0574174c4:/src/matrix.h diff --git a/src/matrix.h b/src/matrix.h index b51d0e9..da0e859 100644 --- a/src/matrix.h +++ b/src/matrix.h @@ -17,7 +17,7 @@ #define DEVICE_ID_SIZE 20 #define EXPIRE_MS_SIZE 20 #define REFRESH_TOKEN_SIZE 20 -#define MAX_URL_LEN 128 +#define MAX_URL_LEN 1024 #define OLM_IDENTITY_KEYS_JSON_SIZE 128 #define DEVICE_KEY_SIZE 44 @@ -119,6 +119,13 @@ MatrixOlmSessionEncrypt( const char * plaintext, char * outBuffer, int outBufferCap); +bool +MatrixOlmSessionDecrypt( + MatrixOlmSession * session, + size_t messageType, + char * encrypted, + char * outBuffer, int outBufferCap); + // Matrix Megolm Session @@ -126,6 +133,12 @@ typedef struct MatrixMegolmInSession { OlmInboundGroupSession * session; } MatrixMegolmInSession; +bool +MatrixMegolmInSessionDecrypt( + MatrixMegolmInSession * megolmInSession, + const char * encrypted, + char * outDecrypted, int outDecryptedCap); + typedef struct MatrixMegolmOutSession { char roomId[ROOM_ID_SIZE]; @@ -262,7 +275,15 @@ MatrixClientSendEventEncrypted( bool MatrixClientSync( MatrixClient * client, - char * outSync, int outSyncCap); + char * outSync, int outSyncCap, + const char * nextBatch); + +bool +MatrixClientGetRoomEvent( + MatrixClient * client, + const char * roomId, + const char * eventId, + char * outEvent, int outEventCap); bool MatrixClientShareMegolmOutSession( @@ -294,6 +315,16 @@ bool MatrixClientInitMegolmOutSession( MatrixClient * client, const char * roomId); + +bool +MatrixClientRequestMegolmInSession( + MatrixClient * client, + const char * roomId, + const char * sessionId, + const char * senderKey, + const char * userId, + const char * deviceId, // TODO: remove deviceId (query all devices) + MatrixMegolmInSession * outMegolmInSession); bool MatrixClientGetOlmSession( @@ -318,6 +349,12 @@ MatrixClientSendToDeviceEncrypted( const char * message, const char * msgType); +bool +MatrixClientSendDummy( + MatrixClient * client, + const char * userId, + const char * deviceId); + bool MatrixClientRequestDeviceKey( MatrixClient * client,