pinebuds/services/ble_profiles/anc/ancc/ancc_task.h

122 lines
2.9 KiB
C

/***************************************************************************
*
* Copyright 2015-2019 BES.
* All rights reserved. All unpublished rights reserved.
*
* No part of this work may be used or reproduced in any form or by any
* means, or stored in a database or retrieval system, without prior written
* permission of BES.
*
* Use of this work is governed by a license granted by BES.
* This work contains confidential and proprietary information of
* BES. which is protected by copyright, trade secret,
* trademark and other intellectual property rights.
*
****************************************************************************/
#ifndef _ANCC_TASK_H_
#define _ANCC_TASK_H_
/**
****************************************************************************************
* @addtogroup ANCCTASK ANCS Client Task
* @ingroup ANCC
* @brief ANCS Client Task
* @{
****************************************************************************************
*/
/*
* INCLUDE FILES
****************************************************************************************
*/
#include "anc_common.h"
#if (BLE_ANC_CLIENT)
#include "ke_task.h"
#include "gattm_task.h"
#include "ancc.h"
#include "prf_types.h"
#include "prf_utils.h"
#include "prf_utils_128.h"
/// Message IDs
enum
{
/// Enable the ANCS Client task - at connection
ANCC_ENABLE_REQ = TASK_FIRST_MSG(TASK_ID_ANCC),
/// Enable the ANCS Client task - at connection
ANCC_ENABLE_RSP,
/// Disable Indication
ANCC_DISABLE_IND,
/// Read the value of a Client Characteristic Configuration Descriptor in the peer device database
ANCC_READ_CMD,
/// Write the value of a Client Characteristic Configuration Descriptor in the peer device database
ANCC_WRITE_CMD,
/// Procedure Timeout Timer
ANCC_TIMEOUT_TIMER_IND,
};
/// Operation Codes
enum
{
/// Reserved operation code
ANCC_RESERVED_OP_CODE = 0x00,
/// Discovery Procedure
ANCC_ENABLE_OP_CODE,
};
/*
* API MESSAGE STRUCTURES
****************************************************************************************
*/
/// Parameters of the @ref ANCC_ENABLE_REQ message
struct ancc_enable_req
{
uint8_t conidx;
};
/// Parameters of the @ref ANCC_ENABLE_RSP message
struct ancc_enable_rsp
{
/// status
uint8_t status;
/// Existing handle values ANC
struct ancc_anc_content anc;
};
/// Parameters of the @ref ANCC_DISABLE_IND message
struct ancc_disable_ind
{
/// Connection handle
uint16_t conhdl;
/// Operation Code
uint8_t status;
};
/*
* TASK DESCRIPTOR DECLARATIONS
****************************************************************************************
*/
//extern const struct ke_state_handler ancc_state_handler[ANCC_STATE_MAX];
//extern const struct ke_state_handler ancc_default_handler;
//extern ke_state_t ancc_state[ANCC_IDX_MAX];
#endif //(BLE_ANC_CLIENT)
/// @} ANCCTASK
#endif //(_ANCC_TASK_H_)