32 #ifndef IOT_BLE_DATA_TRANSFER_H 33 #define IOT_BLE_DATA_TRANSFER_H 42 typedef enum IotBleDataTransferChannelEvent
44 IOT_BLE_DATA_TRANSFER_CHANNEL_OPENED = 0,
45 IOT_BLE_DATA_TRANSFER_CHANNEL_DATA_RECEIVED,
46 IOT_BLE_DATA_TRANSFER_CHANNEL_DATA_SENT,
47 IOT_BLE_DATA_TRANSFER_CHANNEL_CLOSED
48 } IotBleDataTransferChannelEvent_t;
53 typedef struct IotBleDataTransferChannel IotBleDataTransferChannel_t;
58 typedef void ( * IotBleDataTransferChannelCallback_t ) ( IotBleDataTransferChannelEvent_t event,
59 IotBleDataTransferChannel_t * pChannel,
69 bool IotBleDataTransfer_Init(
void );
78 IotBleDataTransferChannel_t * IotBleDataTransfer_Open( uint8_t channelIdentifier );
89 bool IotBleDataTransfer_SetCallback( IotBleDataTransferChannel_t * pChannel,
90 const IotBleDataTransferChannelCallback_t callback,
102 size_t IotBleDataTransfer_Send( IotBleDataTransferChannel_t * pChannel,
103 const uint8_t *
const pMessage,
104 size_t messageLength );
116 size_t IotBleDataTransfer_Receive( IotBleDataTransferChannel_t * pChannel,
118 size_t bytesRequested );
129 void IotBleDataTransfer_PeekReceiveBuffer( IotBleDataTransferChannel_t * pChannel,
130 const uint8_t ** pBuffer,
131 size_t * pBufferLength );
140 void IotBleDataTransfer_Close( IotBleDataTransferChannel_t * pChannel );
151 void IotBleDataTransfer_Reset( IotBleDataTransferChannel_t * pChannel );
159 bool IotBleDataTransfer_Cleanup(
void );