| 
| #define  | BT_MESH_KEY_UNUSED_ELT_(IDX,  _)   BT_MESH_KEY_UNUSED | 
|   | 
| #define  | BT_MESH_ADDR_UNASSIGNED_ELT_(IDX,  _)   BT_MESH_ADDR_UNASSIGNED | 
|   | 
| #define  | BT_MESH_MODEL_KEYS_UNUSED(_keys)   	{ LISTIFY(_keys, BT_MESH_KEY_UNUSED_ELT_, (,)) } | 
|   | 
| #define  | BT_MESH_MODEL_GROUPS_UNASSIGNED(_grps)   	{ LISTIFY(_grps, BT_MESH_ADDR_UNASSIGNED_ELT_, (,)) } | 
|   | 
| #define  | BT_MESH_ADDR_UNASSIGNED   0x0000 | 
|   | 
| #define  | BT_MESH_ADDR_ALL_NODES   0xffff | 
|   | 
| #define  | BT_MESH_ADDR_PROXIES   0xfffc | 
|   | 
| #define  | BT_MESH_ADDR_FRIENDS   0xfffd | 
|   | 
| #define  | BT_MESH_ADDR_RELAYS   0xfffe | 
|   | 
| #define  | BT_MESH_KEY_UNUSED   0xffff | 
|   | 
| #define  | BT_MESH_KEY_ANY   0xffff | 
|   | 
| #define  | BT_MESH_KEY_DEV   0xfffe | 
|   | 
| #define  | BT_MESH_KEY_DEV_LOCAL   BT_MESH_KEY_DEV | 
|   | 
| #define  | BT_MESH_KEY_DEV_REMOTE   0xfffd | 
|   | 
| #define  | BT_MESH_KEY_DEV_ANY   0xfffc | 
|   | 
| #define  | BT_MESH_ADDR_IS_UNICAST(addr)   ((addr) && (addr) < 0x8000) | 
|   | 
| #define  | BT_MESH_ADDR_IS_GROUP(addr)   ((addr) >= 0xc000 && (addr) < 0xff00) | 
|   | 
| #define  | BT_MESH_ADDR_IS_FIXED_GROUP(addr)   ((addr) >= 0xff00 && (addr) < 0xffff) | 
|   | 
| #define  | BT_MESH_ADDR_IS_VIRTUAL(addr)   ((addr) >= 0x8000 && (addr) < 0xc000) | 
|   | 
| #define  | BT_MESH_ADDR_IS_RFU(addr)   ((addr) >= 0xff00 && (addr) <= 0xfffb) | 
|   | 
| #define  | BT_MESH_IS_DEV_KEY(key) | 
|   | 
| #define  | BT_MESH_APP_SEG_SDU_MAX   12 | 
|   | 
| #define  | BT_MESH_APP_UNSEG_SDU_MAX   15 | 
|   | 
| #define  | BT_MESH_RX_SEG_MAX   0 | 
|   | 
| #define  | BT_MESH_TX_SEG_MAX   0 | 
|   | 
| #define  | BT_MESH_TX_SDU_MAX | 
|   | 
| #define  | BT_MESH_RX_SDU_MAX | 
|   | 
| #define  | BT_MESH_ELEM(_loc,  _mods,  _vnd_mods) | 
|   | 
| #define  | BT_MESH_MODEL_ID_CFG_SRV   0x0000 | 
|   | 
| #define  | BT_MESH_MODEL_ID_CFG_CLI   0x0001 | 
|   | 
| #define  | BT_MESH_MODEL_ID_HEALTH_SRV   0x0002 | 
|   | 
| #define  | BT_MESH_MODEL_ID_HEALTH_CLI   0x0003 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_ONOFF_SRV   0x1000 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_ONOFF_CLI   0x1001 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_LEVEL_SRV   0x1002 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_LEVEL_CLI   0x1003 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_DEF_TRANS_TIME_SRV   0x1004 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_DEF_TRANS_TIME_CLI   0x1005 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_POWER_ONOFF_SRV   0x1006 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_POWER_ONOFF_SETUP_SRV   0x1007 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_POWER_ONOFF_CLI   0x1008 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_POWER_LEVEL_SRV   0x1009 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_POWER_LEVEL_SETUP_SRV   0x100a | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_POWER_LEVEL_CLI   0x100b | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_BATTERY_SRV   0x100c | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_BATTERY_CLI   0x100d | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_LOCATION_SRV   0x100e | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_LOCATION_SETUPSRV   0x100f | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_LOCATION_CLI   0x1010 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_ADMIN_PROP_SRV   0x1011 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_MANUFACTURER_PROP_SRV   0x1012 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_USER_PROP_SRV   0x1013 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_CLIENT_PROP_SRV   0x1014 | 
|   | 
| #define  | BT_MESH_MODEL_ID_GEN_PROP_CLI   0x1015 | 
|   | 
| #define  | BT_MESH_MODEL_ID_SENSOR_SRV   0x1100 | 
|   | 
| #define  | BT_MESH_MODEL_ID_SENSOR_SETUP_SRV   0x1101 | 
|   | 
| #define  | BT_MESH_MODEL_ID_SENSOR_CLI   0x1102 | 
|   | 
| #define  | BT_MESH_MODEL_ID_TIME_SRV   0x1200 | 
|   | 
| #define  | BT_MESH_MODEL_ID_TIME_SETUP_SRV   0x1201 | 
|   | 
| #define  | BT_MESH_MODEL_ID_TIME_CLI   0x1202 | 
|   | 
| #define  | BT_MESH_MODEL_ID_SCENE_SRV   0x1203 | 
|   | 
| #define  | BT_MESH_MODEL_ID_SCENE_SETUP_SRV   0x1204 | 
|   | 
| #define  | BT_MESH_MODEL_ID_SCENE_CLI   0x1205 | 
|   | 
| #define  | BT_MESH_MODEL_ID_SCHEDULER_SRV   0x1206 | 
|   | 
| #define  | BT_MESH_MODEL_ID_SCHEDULER_SETUP_SRV   0x1207 | 
|   | 
| #define  | BT_MESH_MODEL_ID_SCHEDULER_CLI   0x1208 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_LIGHTNESS_SRV   0x1300 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_LIGHTNESS_SETUP_SRV   0x1301 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_LIGHTNESS_CLI   0x1302 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_CTL_SRV   0x1303 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_CTL_SETUP_SRV   0x1304 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_CTL_CLI   0x1305 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_CTL_TEMP_SRV   0x1306 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_HSL_SRV   0x1307 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_HSL_SETUP_SRV   0x1308 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_HSL_CLI   0x1309 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_HSL_HUE_SRV   0x130a | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_HSL_SAT_SRV   0x130b | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_XYL_SRV   0x130c | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_XYL_SETUP_SRV   0x130d | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_XYL_CLI   0x130e | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_LC_SRV   0x130f | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_LC_SETUPSRV   0x1310 | 
|   | 
| #define  | BT_MESH_MODEL_ID_LIGHT_LC_CLI   0x1311 | 
|   | 
| #define  | BT_MESH_MODEL_OP_1(b0)   (b0) | 
|   | 
| #define  | BT_MESH_MODEL_OP_2(b0,  b1)   (((b0) << 8) | (b1)) | 
|   | 
| #define  | BT_MESH_MODEL_OP_3(b0,  cid)   ((((b0) << 16) | 0xc00000) | (cid)) | 
|   | 
| #define  | BT_MESH_LEN_EXACT(len)   (-len) | 
|   | 
| #define  | BT_MESH_LEN_MIN(len)   (len) | 
|   | 
| #define  | BT_MESH_MODEL_OP_END   { 0, 0, NULL } | 
|   | 
| #define  | BT_MESH_MODEL_NO_OPS | 
|   | 
| #define  | BT_MESH_MODEL_NONE   ((struct bt_mesh_model []){}) | 
|   | 
| #define  | BT_MESH_MODEL_CNT_CB(_id,  _op,  _pub,  _user_data,  _keys,  _grps,  _cb) | 
|   | Composition data SIG model entry with callback functions with specific number of keys & groups.  More...
  | 
|   | 
| #define  | BT_MESH_MODEL_CNT_VND_CB(_company,  _id,  _op,  _pub,  _user_data,  _keys,  _grps,  _cb) | 
|   | Composition data vendor model entry with callback functions with specific number of keys & groups.  More...
  | 
|   | 
| #define  | BT_MESH_MODEL_CB(_id,  _op,  _pub,  _user_data,  _cb) | 
|   | Composition data SIG model entry with callback functions.  More...
  | 
|   | 
| #define  | BT_MESH_MODEL_VND_CB(_company,  _id,  _op,  _pub,  _user_data,  _cb) | 
|   | Composition data vendor model entry with callback functions.  More...
  | 
|   | 
| #define  | BT_MESH_MODEL(_id,  _op,  _pub,  _user_data)   	BT_MESH_MODEL_CB(_id, _op, _pub, _user_data, NULL) | 
|   | Composition data SIG model entry.  More...
  | 
|   | 
| #define  | BT_MESH_MODEL_VND(_company,  _id,  _op,  _pub,  _user_data)   	BT_MESH_MODEL_VND_CB(_company, _id, _op, _pub, _user_data, NULL) | 
|   | Composition data vendor model entry.  More...
  | 
|   | 
| #define  | BT_MESH_TRANSMIT(count,  int_ms)   ((count) | (((int_ms / 10) - 1) << 3)) | 
|   | Encode transmission count & interval steps.  More...
  | 
|   | 
| #define  | BT_MESH_TRANSMIT_COUNT(transmit)   (((transmit) & (uint8_t)BIT_MASK(3))) | 
|   | Decode transmit count from a transmit value.  More...
  | 
|   | 
| #define  | BT_MESH_TRANSMIT_INT(transmit)   ((((transmit) >> 3) + 1) * 10) | 
|   | Decode transmit interval from a transmit value.  More...
  | 
|   | 
| #define  | BT_MESH_PUB_TRANSMIT(count,  int_ms) | 
|   | Encode Publish Retransmit count & interval steps.  More...
  | 
|   | 
| #define  | BT_MESH_PUB_TRANSMIT_COUNT(transmit)   BT_MESH_TRANSMIT_COUNT(transmit) | 
|   | Decode Publish Retransmit count from a given value.  More...
  | 
|   | 
| #define  | BT_MESH_PUB_TRANSMIT_INT(transmit)   ((((transmit) >> 3) + 1) * 50) | 
|   | Decode Publish Retransmit interval from a given value.  More...
  | 
|   | 
| #define  | BT_MESH_PUB_MSG_TOTAL(pub)   (BT_MESH_PUB_TRANSMIT_COUNT((pub)->retransmit) + 1) | 
|   | Get total number of messages within one publication interval including initial publication.  More...
  | 
|   | 
| #define  | BT_MESH_PUB_MSG_NUM(pub)   (BT_MESH_PUB_TRANSMIT_COUNT((pub)->retransmit) + 1 - (pub)->count) | 
|   | Get message number within one publication interval.  More...
  | 
|   | 
| #define  | BT_MESH_MODEL_PUB_DEFINE(_name,  _update,  _msg_len) | 
|   | 
| #define  | BT_MESH_TTL_DEFAULT   0xff | 
|   | 
| #define  | BT_MESH_TTL_MAX   0x7f | 
|   | 
 | 
| int  | bt_mesh_model_send (struct bt_mesh_model *model, struct bt_mesh_msg_ctx *ctx, struct net_buf_simple *msg, const struct bt_mesh_send_cb *cb, void *cb_data) | 
|   | Send an Access Layer message.  More...
  | 
|   | 
| int  | bt_mesh_model_publish (struct bt_mesh_model *model) | 
|   | Send a model publication message.  More...
  | 
|   | 
| static bool  | bt_mesh_model_pub_is_retransmission (const struct bt_mesh_model *model) | 
|   | Check if a message is being retransmitted.  More...
  | 
|   | 
| struct bt_mesh_elem *  | bt_mesh_model_elem (struct bt_mesh_model *mod) | 
|   | Get the element that a model belongs to.  More...
  | 
|   | 
| struct bt_mesh_model *  | bt_mesh_model_find (const struct bt_mesh_elem *elem, uint16_t id) | 
|   | Find a SIG model.  More...
  | 
|   | 
| struct bt_mesh_model *  | bt_mesh_model_find_vnd (const struct bt_mesh_elem *elem, uint16_t company, uint16_t id) | 
|   | Find a vendor model.  More...
  | 
|   | 
| static bool  | bt_mesh_model_in_primary (const struct bt_mesh_model *mod) | 
|   | Get whether the model is in the primary element of the device.  More...
  | 
|   | 
| int  | bt_mesh_model_data_store (struct bt_mesh_model *mod, bool vnd, const char *name, const void *data, size_t data_len) | 
|   | Immediately store the model's user data in persistent storage.  More...
  | 
|   | 
| int  | bt_mesh_model_extend (struct bt_mesh_model *extending_mod, struct bt_mesh_model *base_mod) | 
|   | Let a model extend another.  More...
  | 
|   | 
| bool  | bt_mesh_model_is_extended (struct bt_mesh_model *model) | 
|   | Check if model is extended by another model.  More...
  | 
|   |