mesh.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* Bluetooth Mesh */
  2. /*
  3. * SPDX-FileCopyrightText: 2017 Intel Corporation
  4. * SPDX-FileContributor: 2020-2021 Espressif Systems (Shanghai) CO LTD
  5. *
  6. * SPDX-License-Identifier: Apache-2.0
  7. */
  8. #ifndef _MESH_H_
  9. #define _MESH_H_
  10. #include "net.h"
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. #define BLE_MESH_KEY_PRIMARY 0x0000
  15. #define BLE_MESH_KEY_ANY 0xFFFF
  16. #define BLE_MESH_ADDR_IS_UNICAST(addr) ((addr) && (addr) < 0x8000)
  17. #define BLE_MESH_ADDR_IS_VIRTUAL(addr) ((addr) >= 0x8000 && (addr) < 0xC000)
  18. #define BLE_MESH_ADDR_IS_GROUP(addr) ((addr) >= 0xC000 && (addr) < 0xFF00)
  19. /* Currently not including all-ipt-nodes & all-ipt-border-routers in RFU & fixed group */
  20. #define BLE_MESH_ADDR_IS_RFU(addr) ((addr) >= 0xFF00 && (addr) <= 0xFFFA)
  21. #define BLE_MESH_ADDR_IS_FIXED_GROUP(addr) ((addr) >= 0xFFFB && ((addr) < 0xFFFF || (addr) == 0xFFFF))
  22. #define BLE_MESH_SUPPORTING_TYPE_FRIEND 1
  23. #define BLE_MESH_SUPPORTING_TYPE_PROXY 2
  24. #define BLE_MESH_SUPPORTING_TYPE_SBR 3
  25. struct bt_mesh_net;
  26. #ifdef __cplusplus
  27. }
  28. #endif
  29. #endif /* _MESH_H_ */