summaryrefslogtreecommitdiff
path: root/src/components/ble/FSService.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/ble/FSService.h')
-rw-r--r--src/components/ble/FSService.h27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/components/ble/FSService.h b/src/components/ble/FSService.h
index 85b484a3..eb4b34d7 100644
--- a/src/components/ble/FSService.h
+++ b/src/components/ble/FSService.h
@@ -4,6 +4,7 @@
#include <host/ble_gap.h>
#undef max
#undef min
+
#include "components/fs/FS.h"
namespace Pinetime {
@@ -42,8 +43,26 @@ namespace Pinetime {
struct ble_gatt_chr_def characteristicDefinition[3];
struct ble_gatt_svc_def serviceDefinition[2];
uint16_t versionCharacteristicHandle;
+ uint16_t transferCharacteristicHandle;
+ typedef struct __attribute__((packed)) {
+ uint8_t command;
+ uint8_t padding;
+ uint16_t pathlen;
+ char pathstr[70];
+ } ListDirHeader;
+ typedef struct __attribute__((packed)) {
+ uint8_t command;
+ uint8_t status;
+ uint16_t path_length;
+ uint32_t entry;
+ uint32_t totalentries;
+ uint32_t flags;
+ uint32_t modification_time;
+ uint32_t file_size;
+ char path[70];
+ } ListDirResponse;
- enum class commands {
+ enum class commands : uint8_t {
INVALID = 0x00,
READ = 0x10,
READ_DATA = 0x11,
@@ -58,8 +77,10 @@ namespace Pinetime {
LISTDIR = 0x50,
LISTDIR_ENTRY = 0x51,
MOVE = 0x60,
- MOVE_STATUS = 0x61,
- }
+ MOVE_STATUS = 0x61
+ };
+
+ int FSCommandHandler(uint16_t connectionHandle, os_mbuf* om);
};
}
}