/*************************************************************************** * * 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 _PRF_UTILS_128_H_ #define _PRF_UTILS_128_H_ /** **************************************************************************************** * @addtogroup PRF_UTILS * @ingroup PROFILE * * @brief Definitions of shared profiles functions that can be used by several profiles * * @{ **************************************************************************************** */ /* * INCLUDE FILES **************************************************************************************** */ #if (BLE_CLIENT_PRF) #include "ke_msg.h" #include "prf.h" #include "prf_types.h" #include "gattc_task.h" #include "gapc.h" #include "gapc_task.h" #include "attm_db.h" #endif /* (BLE_CLIENT_PRF) */ /* * MACROS **************************************************************************************** */ /* * FUNCTION DECLARATIONS **************************************************************************************** */ #if (BLE_CLIENT_PRF) /// Characteristic definition struct prf_char_def_128 { /// Characteristic UUID uint8_t uuid[ATT_UUID_128_LEN]; /// Requirement Attribute Flag uint8_t req_flag; /// Mandatory Properties uint8_t prop_mand; }; /** **************************************************************************************** * @brief Request service discovery with 128-bit UUID on peer device. * * This request will be used to retrieve start and end handles of the service. * * @param con_info Pointer to connection information (connection handle, app task id, * profile task id) * * @param uuid_128 128-bit service UUID **************************************************************************************** */ void prf_disc_svc_send_128(prf_env_t *prf_env, uint8_t conidx, uint8_t *uuid_128); /** **************************************************************************************** * @brief Check validity for service characteristic with 128-bit UUID * * For each characteristic in service it verifies handles. * * If some handles are not present, it checks if they shall be present or they are optional. * * @param nb_chars Number of Characteristics in the service * @param chars Characteristics values (char handles, val handles, properties) * @param chars_req Characteristics requirements. * * @return 0x1 if service is valid, 0x00 else. **************************************************************************************** */ uint8_t prf_check_svc_char_validity_128(uint8_t nb_chars, const struct prf_char_inf* chars, const struct prf_char_def_128* chars_req); void prf_extract_svc_info_128(const struct gattc_sdp_svc_ind* param, uint8_t nb_chars, const struct prf_char_def_128* chars_req, struct prf_char_inf* chars, uint8_t nb_descs, const struct prf_char_desc_def* descs_req, struct prf_char_desc_inf* descs); #endif //(BLE_CLIENT_PRF) /// @} prf_utils #endif /* _PRF_UTILS_128_H_ */