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 H_BLEPRPH_ 21 #define H_BLEPRPH_ 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 /* PHY support */ 45 #if MYNEWT_VAL(BLEPRPH_LE_PHY_SUPPORT) 46 #define CONN_HANDLE_INVALID 0xffff 47 48 void phy_init(void); 49 void phy_conn_changed(uint16_t handle); 50 void phy_update(uint8_t phy); 51 #endif 52 53 /** Misc. */ 54 void print_bytes(const uint8_t *bytes, int len); 55 void print_addr(const void *addr); 56 57 #ifdef __cplusplus 58 } 59 #endif 60 61 #endif 62