103 lines
2.1 KiB
C
103 lines
2.1 KiB
C
#ifndef _PACS_CLIENT_H_
|
|
#define _PACS_CLIENT_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
typedef enum
|
|
{
|
|
PACS_OP_SINK,
|
|
PACS_OP_SOURCE,
|
|
PACS_OP_ALL
|
|
} T_PACS_CCCD_OP_TYPE;
|
|
|
|
typedef enum
|
|
{
|
|
PACS_AUDIO_AVAILABLE_CONTEXTS,
|
|
PACS_AUDIO_SUPPORTED_CONTEXTS,
|
|
PACS_SINK_AUDIO_LOC,
|
|
PACS_SINK_PAC,
|
|
PACS_SOURCE_AUDIO_LOC,
|
|
PACS_SOURCE_PAC,
|
|
} T_PACS_TYPE;
|
|
|
|
//LE_AUDIO_MSG_PACS_CLIENT_DIS_DONE
|
|
typedef struct
|
|
{
|
|
uint16_t conn_handle;
|
|
bool is_found;
|
|
bool load_form_ftl;
|
|
uint8_t sink_pac_num;
|
|
uint8_t source_pac_num;
|
|
bool sink_loc_writable;
|
|
bool sink_loc_exist;
|
|
bool source_loc_writable;
|
|
bool source_loc_exist;
|
|
} T_PACS_CLIENT_DIS_DONE;
|
|
|
|
//LE_AUDIO_MSG_PACS_CLIENT_CCCD
|
|
typedef struct
|
|
{
|
|
uint16_t conn_handle;
|
|
T_PACS_CCCD_OP_TYPE type;
|
|
uint16_t cause;
|
|
} T_PACS_CLIENT_CCCD;
|
|
|
|
//LE_AUDIO_MSG_PACS_CLIENT_WRITE_SINK_LOC_RESULT
|
|
//LE_AUDIO_MSG_PACS_CLIENT_WRITE_SOURCE_LOC_RESULT
|
|
typedef struct
|
|
{
|
|
uint16_t conn_handle;
|
|
uint16_t cause;
|
|
} T_PACS_CLIENT_WRITE_RESULT;
|
|
|
|
typedef struct
|
|
{
|
|
bool is_complete;
|
|
uint16_t handle;
|
|
uint16_t pac_record_len;
|
|
uint8_t *p_record;
|
|
} T_PAC_CHAR_DATA;
|
|
|
|
typedef struct
|
|
{
|
|
uint16_t sink_contexts;
|
|
uint16_t source_contexts;
|
|
} T_AUDIO_CONTEXTS_DATA;
|
|
|
|
typedef union
|
|
{
|
|
T_AUDIO_CONTEXTS_DATA contexts_data;
|
|
uint32_t audio_locations;
|
|
T_PAC_CHAR_DATA pac_data;
|
|
} T_PACS_DATA;
|
|
|
|
//LE_AUDIO_MSG_PACS_CLIENT_READ_RESULT
|
|
typedef struct
|
|
{
|
|
uint16_t conn_handle;
|
|
T_PACS_TYPE type;
|
|
uint16_t cause;
|
|
T_PACS_DATA data;
|
|
} T_PACS_CLIENT_READ_RESULT;
|
|
|
|
//LE_AUDIO_MSG_PACS_CLIENT_NOTIFY
|
|
typedef struct
|
|
{
|
|
uint16_t conn_handle;
|
|
T_PACS_TYPE type;
|
|
T_PACS_DATA data;
|
|
} T_PACS_CLIENT_NOTIFY;
|
|
|
|
bool pacs_read_char_value(uint16_t conn_handle, T_PACS_TYPE type);
|
|
bool pacs_enable_cccd(uint16_t conn_handle, T_PACS_CCCD_OP_TYPE type);
|
|
bool pacs_write_sink_audio_locations(uint16_t conn_handle, uint32_t sink_audio_location);
|
|
bool pacs_write_source_audio_locations(uint16_t conn_handle, uint32_t source_audio_location);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif
|