mirror of
https://github.com/AlexandreRouma/SDRPlusPlus.git
synced 2025-02-18 19:18:43 +01:00
42 lines
884 B
C
42 lines
884 B
C
|
#pragma once
|
||
|
#include <string>
|
||
|
#include <stdint.h>
|
||
|
|
||
|
enum M17DataType {
|
||
|
M17_DATATYPE_UNKNOWN = 0b00,
|
||
|
M17_DATATYPE_DATA = 0b01,
|
||
|
M17_DATATYPE_VOICE = 0b10,
|
||
|
M17_DATATYPE_DATA_VOICE = 0b11
|
||
|
};
|
||
|
|
||
|
enum M17EncryptionType {
|
||
|
M17_ENCRYPTION_NONE = 0b00,
|
||
|
M17_ENCRYPTION_AES = 0b01,
|
||
|
M17_ENCRYPTION_SCRAMBLE = 0b10,
|
||
|
M17_ENCRYPTION_UNKNOWN = 0b11
|
||
|
};
|
||
|
|
||
|
extern const char* M17DataTypesTxt[4];
|
||
|
extern const char* M17EncryptionTypesTxt[4];
|
||
|
|
||
|
struct M17LSF {
|
||
|
uint64_t rawDst;
|
||
|
uint64_t rawSrc;
|
||
|
uint16_t rawType;
|
||
|
uint8_t meta[14];
|
||
|
uint16_t rawCRC;
|
||
|
|
||
|
std::string dst;
|
||
|
std::string src;
|
||
|
bool isStream;
|
||
|
M17DataType dataType;
|
||
|
M17EncryptionType encryptionType;
|
||
|
uint8_t encryptionSubType;
|
||
|
uint8_t channelAccessNum;
|
||
|
|
||
|
bool valid;
|
||
|
};
|
||
|
|
||
|
bool M17CheckCRC(uint8_t* data, int len);
|
||
|
|
||
|
M17LSF M17DecodeLSF(uint8_t* _lsf);
|