xref: /btstack/src/ble/gatt-service/ublox_spp_service_server.h (revision 67b65e8f108eb716cb65c6192e677b0f719b3e70)
1733ac1e8SMilanka Ringwald /*
2733ac1e8SMilanka Ringwald  * Copyright (C) 2018 BlueKitchen GmbH
3733ac1e8SMilanka Ringwald  *
4733ac1e8SMilanka Ringwald  * Redistribution and use in source and binary forms, with or without
5733ac1e8SMilanka Ringwald  * modification, are permitted provided that the following conditions
6733ac1e8SMilanka Ringwald  * are met:
7733ac1e8SMilanka Ringwald  *
8733ac1e8SMilanka Ringwald  * 1. Redistributions of source code must retain the above copyright
9733ac1e8SMilanka Ringwald  *    notice, this list of conditions and the following disclaimer.
10733ac1e8SMilanka Ringwald  * 2. Redistributions in binary form must reproduce the above copyright
11733ac1e8SMilanka Ringwald  *    notice, this list of conditions and the following disclaimer in the
12733ac1e8SMilanka Ringwald  *    documentation and/or other materials provided with the distribution.
13733ac1e8SMilanka Ringwald  * 3. Neither the name of the copyright holders nor the names of
14733ac1e8SMilanka Ringwald  *    contributors may be used to endorse or promote products derived
15733ac1e8SMilanka Ringwald  *    from this software without specific prior written permission.
16733ac1e8SMilanka Ringwald  * 4. Any redistribution, use, or modification is done solely for
17733ac1e8SMilanka Ringwald  *    personal benefit and not for any commercial purpose or for
18733ac1e8SMilanka Ringwald  *    monetary gain.
19733ac1e8SMilanka Ringwald  *
20733ac1e8SMilanka Ringwald  * THIS SOFTWARE IS PROVIDED BY BLUEKITCHEN GMBH AND CONTRIBUTORS
21733ac1e8SMilanka Ringwald  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22733ac1e8SMilanka Ringwald  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
232fca4dadSMilanka Ringwald  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BLUEKITCHEN
242fca4dadSMilanka Ringwald  * GMBH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
25733ac1e8SMilanka Ringwald  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
26733ac1e8SMilanka Ringwald  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
27733ac1e8SMilanka Ringwald  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
28733ac1e8SMilanka Ringwald  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29733ac1e8SMilanka Ringwald  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
30733ac1e8SMilanka Ringwald  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31733ac1e8SMilanka Ringwald  * SUCH DAMAGE.
32733ac1e8SMilanka Ringwald  *
33733ac1e8SMilanka Ringwald  * Please inquire about commercial licensing options at
34733ac1e8SMilanka Ringwald  * [email protected]
35733ac1e8SMilanka Ringwald  *
36733ac1e8SMilanka Ringwald  */
37fe5a6c4eSMilanka Ringwald 
38fe5a6c4eSMilanka Ringwald /**
39fe5a6c4eSMilanka Ringwald  * @title u-blox SPP Service Server
40fe5a6c4eSMilanka Ringwald  *
41fe5a6c4eSMilanka Ringwald  */
42fe5a6c4eSMilanka Ringwald 
4380e33422SMatthias Ringwald #ifndef UBLOX_SPP_H
4480e33422SMatthias Ringwald #define UBLOX_SPP_H
45733ac1e8SMilanka Ringwald 
46733ac1e8SMilanka Ringwald #include <stdint.h>
47733ac1e8SMilanka Ringwald #include "bluetooth.h"
48733ac1e8SMilanka Ringwald #include "btstack_defines.h"
49733ac1e8SMilanka Ringwald 
50733ac1e8SMilanka Ringwald #if defined __cplusplus
51733ac1e8SMilanka Ringwald extern "C" {
52733ac1e8SMilanka Ringwald #endif
53733ac1e8SMilanka Ringwald 
54733ac1e8SMilanka Ringwald /* API_START */
55733ac1e8SMilanka Ringwald 
56733ac1e8SMilanka Ringwald /**
571ea30d1bSMilanka Ringwald  * @text The u-blox SPP Service is implementation of the u-Blox SPP-like profile.
58733ac1e8SMilanka Ringwald  *
59*67b65e8fSChristian Erhardt  * To use with your application, add `#import <ublox_spp_service.gatt>` to your .gatt file
60733ac1e8SMilanka Ringwald  * and call all functions below. All strings and blobs need to stay valid after calling the functions.
61733ac1e8SMilanka Ringwald  */
62733ac1e8SMilanka Ringwald 
63733ac1e8SMilanka Ringwald /**
64733ac1e8SMilanka Ringwald  * @brief Init ublox SPP Service Server with ATT DB
65694f87bfSMatthias Ringwald  * @param packet_handler for events and tx data from peer as RFCOMM_DATA_PACKET
66733ac1e8SMilanka Ringwald  */
67694f87bfSMatthias Ringwald void ublox_spp_service_server_init(btstack_packet_handler_t packet_handler);
68733ac1e8SMilanka Ringwald 
69733ac1e8SMilanka Ringwald /**
70733ac1e8SMilanka Ringwald  * @brief Queue send request. When called, one packet can be send via ublox_spp_service_send below
71733ac1e8SMilanka Ringwald  * @param request
72733ac1e8SMilanka Ringwald  * @param con_handle
73733ac1e8SMilanka Ringwald  */
74733ac1e8SMilanka Ringwald void ublox_spp_service_server_request_can_send_now(btstack_context_callback_registration_t * request, hci_con_handle_t con_handle);
75733ac1e8SMilanka Ringwald 
76733ac1e8SMilanka Ringwald /**
77733ac1e8SMilanka Ringwald  * @brief Send data
78733ac1e8SMilanka Ringwald  * @param con_handle
79733ac1e8SMilanka Ringwald  * @param data
80733ac1e8SMilanka Ringwald  * @param size
81733ac1e8SMilanka Ringwald  */
82733ac1e8SMilanka Ringwald int ublox_spp_service_server_send(hci_con_handle_t con_handle, const uint8_t * data, uint16_t size);
83733ac1e8SMilanka Ringwald 
84733ac1e8SMilanka Ringwald /* API_END */
85733ac1e8SMilanka Ringwald 
86733ac1e8SMilanka Ringwald #if defined __cplusplus
87733ac1e8SMilanka Ringwald }
88733ac1e8SMilanka Ringwald #endif
89733ac1e8SMilanka Ringwald 
90733ac1e8SMilanka Ringwald #endif
91733ac1e8SMilanka Ringwald 
92