1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements.  See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership.  The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License.  You may obtain a copy of the License at
9  *
10  *  http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied.  See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  */
19 
20 #ifndef SMP_SVR_
21 #define SMP_SVR_
22 
23 #include <stdbool.h>
24 #include "nimble/ble.h"
25 #include "modlog/modlog.h"
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 struct ble_hs_cfg;
31 struct ble_gatt_register_ctxt;
32 
33 /** GATT server. */
34 #define GATT_SVR_SVC_ALERT_UUID               0x1811
35 #define GATT_SVR_CHR_SUP_NEW_ALERT_CAT_UUID   0x2A47
36 #define GATT_SVR_CHR_NEW_ALERT                0x2A46
37 #define GATT_SVR_CHR_SUP_UNR_ALERT_CAT_UUID   0x2A48
38 #define GATT_SVR_CHR_UNR_ALERT_STAT_UUID      0x2A45
39 #define GATT_SVR_CHR_ALERT_NOT_CTRL_PT        0x2A44
40 
41 void gatt_svr_register_cb(struct ble_gatt_register_ctxt *ctxt, void *arg);
42 int gatt_svr_init(void);
43 
44 /** Misc. */
45 void print_bytes(const uint8_t *bytes, int len);
46 void print_addr(const void *addr);
47 
48 #ifdef __cplusplus
49 }
50 #endif
51 
52 #endif
53