seos_characteristic.h 949 B

123456789101112131415161718192021222324252627282930313233343536
  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.h"
  9. #include "seos_att.h"
  10. #include "keys.h"
  11. #define BLE_START 0xc0
  12. typedef struct {
  13. Seos* seos;
  14. SeosAtt* seos_att;
  15. uint16_t handle;
  16. SeosPhase phase;
  17. FlowMode flow_mode;
  18. AuthParameters params;
  19. SecureMessaging* secure_messaging;
  20. SeosCredential* credential;
  21. } SeosCharacteristic;
  22. SeosCharacteristic* seos_characteristic_alloc(Seos* seos);
  23. void seos_characteristic_free(SeosCharacteristic* seos_characteristic);
  24. void seos_characteristic_start(SeosCharacteristic* seos_characteristic, FlowMode mode);
  25. void seos_characteristic_stop(SeosCharacteristic* seos_characteristic);
  26. void seos_characteristic_write_request(void* context, BitBuffer* attribute_value);
  27. void seos_characteristic_on_subscribe(void* context, uint16_t handle);