1*654724deSMilanka Ringwald /* 2*654724deSMilanka Ringwald * Copyright (C) 2016 BlueKitchen GmbH 3*654724deSMilanka Ringwald * 4*654724deSMilanka Ringwald * Redistribution and use in source and binary forms, with or without 5*654724deSMilanka Ringwald * modification, are permitted provided that the following conditions 6*654724deSMilanka Ringwald * are met: 7*654724deSMilanka Ringwald * 8*654724deSMilanka Ringwald * 1. Redistributions of source code must retain the above copyright 9*654724deSMilanka Ringwald * notice, this list of conditions and the following disclaimer. 10*654724deSMilanka Ringwald * 2. Redistributions in binary form must reproduce the above copyright 11*654724deSMilanka Ringwald * notice, this list of conditions and the following disclaimer in the 12*654724deSMilanka Ringwald * documentation and/or other materials provided with the distribution. 13*654724deSMilanka Ringwald * 3. Neither the name of the copyright holders nor the names of 14*654724deSMilanka Ringwald * contributors may be used to endorse or promote products derived 15*654724deSMilanka Ringwald * from this software without specific prior written permission. 16*654724deSMilanka Ringwald * 4. Any redistribution, use, or modification is done solely for 17*654724deSMilanka Ringwald * personal benefit and not for any commercial purpose or for 18*654724deSMilanka Ringwald * monetary gain. 19*654724deSMilanka Ringwald * 20*654724deSMilanka Ringwald * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS 21*654724deSMilanka Ringwald * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 22*654724deSMilanka Ringwald * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 23*654724deSMilanka Ringwald * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MATTHIAS 24*654724deSMilanka Ringwald * RINGWALD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 25*654724deSMilanka Ringwald * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 26*654724deSMilanka Ringwald * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 27*654724deSMilanka Ringwald * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 28*654724deSMilanka Ringwald * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29*654724deSMilanka Ringwald * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF 30*654724deSMilanka Ringwald * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31*654724deSMilanka Ringwald * SUCH DAMAGE. 32*654724deSMilanka Ringwald * 33*654724deSMilanka Ringwald * Please inquire about commercial licensing options at 34*654724deSMilanka Ringwald * [email protected] 35*654724deSMilanka Ringwald * 36*654724deSMilanka Ringwald */ 37*654724deSMilanka Ringwald 38*654724deSMilanka Ringwald /* 39*654724deSMilanka Ringwald * avrcp_browsing_controller.h 40*654724deSMilanka Ringwald * 41*654724deSMilanka Ringwald * Audio/Video Remote Control Profile Browsing 42*654724deSMilanka Ringwald * 43*654724deSMilanka Ringwald */ 44*654724deSMilanka Ringwald 45*654724deSMilanka Ringwald #ifndef __AVRCP_BROWSING_TARGET_H 46*654724deSMilanka Ringwald #define __AVRCP_BROWSING_TARGET_H 47*654724deSMilanka Ringwald 48*654724deSMilanka Ringwald #include <stdint.h> 49*654724deSMilanka Ringwald #include "avrcp.h" 50*654724deSMilanka Ringwald 51*654724deSMilanka Ringwald #if defined __cplusplus 52*654724deSMilanka Ringwald extern "C" { 53*654724deSMilanka Ringwald #endif 54*654724deSMilanka Ringwald 55*654724deSMilanka Ringwald 56*654724deSMilanka Ringwald /* API_START */ 57*654724deSMilanka Ringwald 58*654724deSMilanka Ringwald /** 59*654724deSMilanka Ringwald * @brief Set up AVRCP Browsing Controller device. 60*654724deSMilanka Ringwald */ 61*654724deSMilanka Ringwald void avrcp_browsing_target_init(void); 62*654724deSMilanka Ringwald 63*654724deSMilanka Ringwald /** 64*654724deSMilanka Ringwald * @brief Register callback for the AVRCP Browsing Controller client. 65*654724deSMilanka Ringwald * @param callback 66*654724deSMilanka Ringwald */ 67*654724deSMilanka Ringwald void avrcp_browsing_target_register_packet_handler(btstack_packet_handler_t callback); 68*654724deSMilanka Ringwald 69*654724deSMilanka Ringwald /** 70*654724deSMilanka Ringwald * @brief Connect to device with a Bluetooth address. 71*654724deSMilanka Ringwald * @param bd_addr 72*654724deSMilanka Ringwald * @param ertm_buffer 73*654724deSMilanka Ringwald * @param ertm_buffer_size 74*654724deSMilanka Ringwald * @param ertm_config 75*654724deSMilanka Ringwald * @param avrcp_browsing_cid 76*654724deSMilanka Ringwald * @returns status 77*654724deSMilanka Ringwald */ 78*654724deSMilanka Ringwald uint8_t avrcp_browsing_target_connect(bd_addr_t bd_addr, uint8_t * ertm_buffer, uint32_t size, l2cap_ertm_config_t * ertm_config, uint16_t * avrcp_browsing_cid); 79*654724deSMilanka Ringwald 80*654724deSMilanka Ringwald /** 81*654724deSMilanka Ringwald * @brief Configure incoming connection. 82*654724deSMilanka Ringwald * @param avrcp_browsing_cid 83*654724deSMilanka Ringwald * @param ertm_buffer 84*654724deSMilanka Ringwald * @param ertm_buffer_size 85*654724deSMilanka Ringwald * @param ertm_config 86*654724deSMilanka Ringwald * @returns status 87*654724deSMilanka Ringwald */ 88*654724deSMilanka Ringwald uint8_t avrcp_browsing_target_configure_incoming_connection(uint16_t avrcp_browsing_cid, uint8_t * ertm_buffer, uint32_t size, l2cap_ertm_config_t * ertm_config); 89*654724deSMilanka Ringwald 90*654724deSMilanka Ringwald /** 91*654724deSMilanka Ringwald * @brief Decline incoming connection. 92*654724deSMilanka Ringwald * @param avrcp_browsing_cid 93*654724deSMilanka Ringwald * @returns status 94*654724deSMilanka Ringwald */ 95*654724deSMilanka Ringwald uint8_t avrcp_browsing_target_decline_incoming_connection(uint16_t avrcp_browsing_cid); 96*654724deSMilanka Ringwald 97*654724deSMilanka Ringwald 98*654724deSMilanka Ringwald /** 99*654724deSMilanka Ringwald * @brief Disconnect from AVRCP target 100*654724deSMilanka Ringwald * @param avrcp_browsing_cid 101*654724deSMilanka Ringwald * @returns status 102*654724deSMilanka Ringwald */ 103*654724deSMilanka Ringwald uint8_t avrcp_browsing_target_disconnect(uint16_t avrcp_browsing_cid); 104*654724deSMilanka Ringwald 105*654724deSMilanka Ringwald /* API_END */ 106*654724deSMilanka Ringwald 107*654724deSMilanka Ringwald #if defined __cplusplus 108*654724deSMilanka Ringwald } 109*654724deSMilanka Ringwald #endif 110*654724deSMilanka Ringwald 111*654724deSMilanka Ringwald #endif // __AVRCP_BROWSING_TARGET_H