Represents all encryption keys and settings within the codeplug on the device.
More...
|
|
| EncryptionElement (uint8_t *ptr) |
| | Constructor.
|
| |
|
virtual | ~EncryptionElement () |
| | Destructor.
|
| |
| void | clear () |
| | Abstract method to reset the element within the codeplug.
|
| |
|
virtual PrivacyType | privacyType () const |
| | Returns the privacy type set.
|
| |
|
virtual void | setPrivacyType (PrivacyType type) |
| | Sets the privacy type.
|
| |
| virtual bool | isBasicKeySet (unsigned n) const |
| | Returns true if the n-th "basic" key (32bit) is set.
|
| |
| virtual QByteArray | basicKey (unsigned n) const |
| | Returns the n-th "basic" key (32bit).
|
| |
| virtual void | setBasicKey (unsigned n, const QByteArray &key) |
| | Sets the n-th "basic" key (32bit).
|
| |
|
virtual void | clearBasicKey (unsigned n) |
| | Resets the n-th basic key.
|
| |
|
virtual bool | fromCommercialExt (CommercialExtension *ext, Context &ctx, const ErrorStack &err=ErrorStack()) |
| | Encodes given encryption extension.
|
| |
|
virtual bool | updateCommercialExt (Context &ctx, const ErrorStack &err=ErrorStack()) |
| | Constructs the encryption extension.
|
| |
|
virtual bool | linkCommercialExt (CommercialExtension *ext, Context &ctx, const ErrorStack &err=ErrorStack()) |
| | Links the given encryption extension.
|
| |
|
| Element (const Element &other) |
| | Copy constructor.
|
| |
|
virtual | ~Element () |
| | Destructor.
|
| |
|
Element & | operator= (const Element &other) |
| | Copy assignment.
|
| |
| virtual bool | isValid () const |
| | Returns true if the pointer is not null.
|
| |
|
bool | fill (uint8_t value, unsigned offset=0, int size=-1) |
| | Fills the memsets the entire element to the given value.
|
| |
|
bool | getBit (const Offset::Bit &offset) const |
| | Reads a specific bit at the given byte-offset.
|
| |
|
bool | getBit (unsigned offset, unsigned bit) const |
| | Reads a specific bit at the given byte-offset.
|
| |
|
void | setBit (const Offset::Bit &offset, bool value=true) |
| | Sets a specific bit at the given byte-offset.
|
| |
|
void | setBit (unsigned offset, unsigned bit, bool value=true) |
| | Sets a specific bit at the given byte-offset.
|
| |
|
void | clearBit (unsigned offset, unsigned bit) |
| | Clears a specific bit at the given byte-offset.
|
| |
|
void | clearBit (const Offset::Bit &offset) |
| | Clears a specific bit.
|
| |
|
uint8_t | getUInt2 (const Offset::Bit &offset) const |
| | Reads a 2bit unsigned integer at the given bit-offset.
|
| |
|
uint8_t | getUInt2 (unsigned offset, unsigned bit) const |
| | Reads a 2bit unsigned integer at the given byte- and bit-offset.
|
| |
|
void | setUInt2 (const Offset::Bit &offset, uint8_t value) |
| | Stores a 2bit unsigned integer at the given bit-offset.
|
| |
|
void | setUInt2 (unsigned offset, unsigned bit, uint8_t value) |
| | Stores a 2bit unsigned integer at the given byte- and bit-offset.
|
| |
|
uint8_t | getUInt3 (const Offset::Bit &offset) const |
| | Reads a 3bit unsigned integer at the given bit-offset.
|
| |
|
uint8_t | getUInt3 (unsigned offset, unsigned bit) const |
| | Reads a 3bit unsigned integer at the given byte- and bit-offset.
|
| |
|
void | setUInt3 (const Offset::Bit &offset, uint8_t value) |
| | Stores a 3bit unsigned integer at the given bit-offset.
|
| |
|
void | setUInt3 (unsigned offset, unsigned bit, uint8_t value) |
| | Stores a 3bit unsigned integer at the given byte- and bit-offset.
|
| |
|
uint8_t | getUInt4 (const Offset::Bit &offset) const |
| | Reads a 4bit unsigned integer at the given bit-offset.
|
| |
|
uint8_t | getUInt4 (unsigned offset, unsigned bit) const |
| | Reads a 4bit unsigned integer at the given byte- and bit-offset.
|
| |
|
void | setUInt4 (const Offset::Bit &offset, uint8_t value) |
| | Stores a 4bit unsigned integer at the given bit-offset.
|
| |
|
void | setUInt4 (unsigned offset, unsigned bit, uint8_t value) |
| | Stores a 4bit unsigned integer at the given byte- and bit-offset.
|
| |
|
uint8_t | getUInt5 (const Offset::Bit &offset) const |
| | Reads a 5bit unsigned integer at the given byte- and bit-offset.
|
| |
|
uint8_t | getUInt5 (unsigned offset, unsigned bit) const |
| | Reads a 5bit unsigned integer at the given byte- and bit-offset.
|
| |
|
void | setUInt5 (const Offset::Bit &offset, uint8_t value) |
| | Stores a 5bit unsigned integer at the given byte- and bit-offset.
|
| |
|
void | setUInt5 (unsigned offset, unsigned bit, uint8_t value) |
| | Stores a 5bit unsigned integer at the given byte- and bit-offset.
|
| |
|
uint8_t | getUInt6 (const Offset::Bit &offset) const |
| | Reads a 6bit unsigned integer at the given byte- and bit-offset.
|
| |
|
uint8_t | getUInt6 (unsigned offset, unsigned bit) const |
| | Reads a 6bit unsigned integer at the given byte- and bit-offset.
|
| |
|
void | setUInt6 (const Offset::Bit &offset, uint8_t value) |
| | Stores a 6bit unsigned integer at the given byte- and bit-offset.
|
| |
|
void | setUInt6 (unsigned offset, unsigned bit, uint8_t value) |
| | Stores a 6bit unsigned integer at the given byte- and bit-offset.
|
| |
|
uint8_t | getUInt8 (unsigned offset) const |
| | Reads a 8bit unsigned integer at the given byte- and bit-offset.
|
| |
|
void | setUInt8 (unsigned offset, uint8_t value) |
| | Reads a 8bit unsigned integer at the given byte- and bit-offset.
|
| |
|
int8_t | getInt8 (unsigned offset) const |
| | Reads a 8bit signed integer at the given byte- and bit-offset.
|
| |
|
void | setInt8 (unsigned offset, int8_t value) |
| | Reads a 8bit signed integer at the given byte- and bit-offset.
|
| |
|
uint16_t | getUInt16_be (unsigned offset) const |
| | Reads a 16bit big-endian unsigned integer at the given byte-offset.
|
| |
|
uint16_t | getUInt16_le (unsigned offset) const |
| | Reads a 16bit little-endian unsigned integer at the given byte-offset.
|
| |
|
void | setUInt16_be (unsigned offset, uint16_t value) |
| | Stores a 16bit big-endian unsigned integer at the given byte-offset.
|
| |
|
void | setUInt16_le (unsigned offset, uint16_t value) |
| | Stores a 16bit little-endian unsigned integer at the given byte-offset.
|
| |
|
uint32_t | getUInt24_be (unsigned offset) const |
| | Reads a 24bit big-endian unsigned integer at the given byte-offset.
|
| |
|
uint32_t | getUInt24_le (unsigned offset) const |
| | Reads a 24bit little-endian unsigned integer at the given byte-offset.
|
| |
|
void | setUInt24_be (unsigned offset, uint32_t value) |
| | Stores a 24bit big-endian unsigned integer at the given byte-offset.
|
| |
|
void | setUInt24_le (unsigned offset, uint32_t value) |
| | Stores a 24bit little-endian unsigned integer at the given byte-offset.
|
| |
|
uint32_t | getUInt32_be (unsigned offset) const |
| | Reads a 32bit big-endian unsigned integer at the given byte-offset.
|
| |
|
uint32_t | getUInt32_le (unsigned offset) const |
| | Reads a 32bit little-endian unsigned integer at the given byte-offset.
|
| |
|
void | setUInt32_be (unsigned offset, uint32_t value) |
| | Stores a 32bit big-endian unsigned integer at the given byte-offset.
|
| |
|
void | setUInt32_le (unsigned offset, uint32_t value) |
| | Stores a 32bit little-endian unsigned integer at the given byte-offset.
|
| |
|
uint64_t | getUInt64_be (unsigned offset) const |
| | Reads a 64bit big-endian unsigned integer at the given byte-offset.
|
| |
|
uint64_t | getUInt64_le (unsigned offset) const |
| | Reads a 64bit little-endian unsigned integer at the given byte-offset.
|
| |
|
void | setUInt64_be (unsigned offset, uint64_t value) |
| | Stores a 64bit big-endian unsigned integer at the given byte-offset.
|
| |
|
void | setUInt64_le (unsigned offset, uint64_t value) |
| | Stores a 64bit little-endian unsigned integer at the given byte-offset.
|
| |
|
uint8_t | getBCD2 (unsigned offset) const |
| | Reads a 2-digit (1-byte/8bit) BDC value in big-endian at the given byte-offset.
|
| |
|
void | setBCD2 (unsigned offset, uint8_t value) |
| | Stores a 2-digit (1-byte/8bit) BDC value in big-endian at the given byte-offset.
|
| |
|
uint16_t | getBCD4_be (unsigned offset) const |
| | Reads a 4-digit (2-byte/16bit) BDC value in big-endian at the given byte-offset.
|
| |
|
void | setBCD4_be (unsigned offset, uint16_t value) |
| | Stores a 4-digit (2-byte/16bit) BDC value in big-endian at the given byte-offset.
|
| |
|
uint16_t | getBCD4_le (unsigned offset) const |
| | Reads a 4-digit (2-byte/16bit) BDC value in little-endian at the given byte-offset.
|
| |
|
void | setBCD4_le (unsigned offset, uint16_t value) |
| | Stores a 4-digit (1-byte/16bit) BDC value in little-endian at the given byte-offset.
|
| |
|
uint32_t | getBCD8_be (unsigned offset) const |
| | Reads a 8-digit (4-byte/32bit) BDC value in big-endian at the given byte-offset.
|
| |
|
void | setBCD8_be (unsigned offset, uint32_t value) |
| | Stores a 8-digit (4-byte/32bit) BDC value in big-endian at the given byte-offset.
|
| |
|
uint32_t | getBCD8_le (unsigned offset) const |
| | Reads a 8-digit (4-byte/32bit) BDC value in little-endian at the given byte-offset.
|
| |
|
void | setBCD8_le (unsigned offset, uint32_t value) |
| | Stores a 8-digit (4-byte/32bit) BDC value in little-endian at the given byte-offset.
|
| |
|
QString | readASCII (unsigned offset, unsigned maxlen, uint8_t eos=0x00) const |
| | Reads up to maxlen ASCII chars at the given byte-offset using eos as the string termination char.
|
| |
| void | writeASCII (unsigned offset, const QString &txt, unsigned maxlen, uint8_t eos=0x00) |
| | Stores up to maxlen ASCII chars at the given byte-offset using eos as the string termination char.
|
| |
|
QString | readUnicode (unsigned offset, unsigned maxlen, uint16_t eos=0x0000) const |
| | Reads up to maxlen unicode chars at the given byte-offset using eos as the string termination char.
|
| |
| void | writeUnicode (unsigned offset, const QString &txt, unsigned maxlen, uint16_t eos=0x0000) |
| | Stores up to maxlen unicode chars at the given byte-offset using eos as the string termination char.
|
| |
Represents all encryption keys and settings within the codeplug on the device.
Memory representation of encryption settings:
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0000 | Privacy Type, 0=None, 1=basic | Unused, set to 0x00 | Key bitmap |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0004 | Unused set to 0x00000000 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0008 | Key 01, 32bit, 0xffff=off |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000c | Key 01 copy, 32bit, 0xffff=off |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0008 | Key 02, 32bit, 0xffff=off |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000c | Key 02 copy, 32bit, 0xffff=off |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
... ...
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0080 | Key 16, 32bit, 0xffff=off |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0084 | Key 16 copy, 32bit, 0xffff=off |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+