seos_characteristic.h 978 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <furi.h>
  3. #include <lib/toolbox/bit_buffer.h>
  4. #include <mbedtls/des.h>
  5. #include <mbedtls/aes.h>
  6. #include "secure_messaging.h"
  7. #include "seos_common.h"
  8. #include "seos_credential.h"
  9. #include "seos.h"
  10. #include "seos_att.h"
  11. #include "keys.h"
  12. #define BLE_START 0xc0
  13. typedef struct {
  14. Seos* seos;
  15. SeosAtt* seos_att;
  16. uint16_t handle;
  17. SeosPhase phase;
  18. FlowMode flow_mode;
  19. AuthParameters params;
  20. SecureMessaging* secure_messaging;
  21. SeosCredential* credential;
  22. } SeosCharacteristic;
  23. SeosCharacteristic* seos_characteristic_alloc(Seos* seos);
  24. void seos_characteristic_free(SeosCharacteristic* seos_characteristic);
  25. void seos_characteristic_start(SeosCharacteristic* seos_characteristic, FlowMode mode);
  26. void seos_characteristic_stop(SeosCharacteristic* seos_characteristic);
  27. void seos_characteristic_write_request(void* context, BitBuffer* attribute_value);
  28. void seos_characteristic_on_subscribe(void* context, uint16_t handle);