Lines Matching full:model
212 * @name Models from the Mesh Model Specification
324 * @name Models from the Mesh Binary Large Object Transfer Model Specification
336 * @name Models from the Mesh Device Firmware Update Model Specification
351 /** Model opcode handler. */
366 * @param model Model instance receiving the message.
373 int (*const func)(struct bt_mesh_model *model,
401 * @brief Helper to define an empty model array
409 * @brief Composition data SIG model entry with callback functions
415 * @param _id Model ID.
416 * @param _op Array of model opcode handlers.
417 * @param _pub Model publish parameters.
418 * @param _user_data User data for the model.
419 * @param _keys Number of keys that can be bound to the model.
421 * @param _grps Number of addresses that the model can be subscribed to.
440 * @brief Composition data vendor model entry with callback functions
447 * @param _id Model ID.
448 * @param _op Array of model opcode handlers.
449 * @param _pub Model publish parameters.
450 * @param _user_data User data for the model.
451 * @param _keys Number of keys that can be bound to the model.
453 * @param _grps Number of addresses that the model can be subscribed to.
473 * @brief Composition data SIG model entry with callback functions.
478 * @param _id Model ID.
479 * @param _op Array of model opcode handlers.
480 * @param _pub Model publish parameters.
481 * @param _user_data User data for the model.
492 * @brief Composition data SIG model entry with callback functions and metadata.
497 * @param _id Model ID.
498 * @param _op Array of model opcode handlers.
499 * @param _pub Model publish parameters.
500 * @param _user_data User data for the model.
526 * @brief Composition data vendor model entry with callback functions.
532 * @param _id Model ID.
533 * @param _op Array of model opcode handlers.
534 * @param _pub Model publish parameters.
535 * @param _user_data User data for the model.
545 * @brief Composition data vendor model entry with callback functions and metadata.
551 * @param _id Model ID.
552 * @param _op Array of model opcode handlers.
553 * @param _pub Model publish parameters.
554 * @param _user_data User data for the model.
575 * @brief Composition data SIG model entry.
580 * @param _id Model ID.
581 * @param _op Array of model opcode handlers.
582 * @param _pub Model publish parameters.
583 * @param _user_data User data for the model.
589 * @brief Composition data vendor model entry.
595 * @param _id Model ID.
596 * @param _op Array of model opcode handlers.
597 * @param _pub Model publish parameters.
598 * @param _user_data User data for the model.
612 * values of the configuration model data.
642 * values of the configuration model data.
669 * @param pub Model publication context.
680 * @param pub Model publication context.
686 /** Model publication context.
692 /** The model the context belongs to. Initialized by the stack. */
722 * When set to NULL, the model is assumed not to support
734 * @param mod The Model the Publication Context belongs to.
745 * Define a model publication context.
793 /** Model callback functions. */
795 /** @brief Set value handler of user data tied to the model.
799 * @param model Model to set the persistent data of.
808 int (*const settings_set)(struct bt_mesh_model *model,
817 * When this callback fires, the mesh model may start its behavior,
820 * @param model Model this callback belongs to.
824 int (*const start)(struct bt_mesh_model *model);
826 /** @brief Model init callback.
828 * Called on every model instance during mesh initialization.
830 * If any of the model init callbacks return an error, the Mesh
834 * @param model Model to be initialized.
838 int (*const init)(struct bt_mesh_model *model);
840 /** @brief Model reset callback.
842 * Called when the mesh node is reset. All model data is deleted on
843 * reset, and the model should clear its state.
845 * @note If the model stores any persistent data, this needs to be
848 * @param model Model this callback belongs to.
850 void (*const reset)(struct bt_mesh_model *model);
852 /** @brief Callback used to store pending model's user data.
858 * @param model Model this callback belongs to.
860 void (*const pending_store)(struct bt_mesh_model *model);
863 /** Vendor model ID */
867 /** Model ID */
871 /** Abstraction that describes a Mesh Model instance */
874 /** SIG model ID */
876 /** Vendor model ID */
882 uint8_t mod_idx; /* Is the Nth model in the element */
883 uint16_t flags; /* Model flags for internal bookkeeping */
885 /** Model Publication */
897 /** List of Label UUIDs the model is subscribed to. */
904 /** Model callback structure. */
908 /* Pointer to the next model in a model extension list. */
913 /* Pointer to the array of model metadata entries. */
917 /** Model-specific user data */
921 /** Callback structure for monitoring model message sending */
947 * @param model Mesh (client) Model that the message belongs to.
955 int bt_mesh_model_send(struct bt_mesh_model *model,
961 /** @brief Send a model publication message.
963 * Before calling this function, the user needs to ensure that the model
970 * @param model Mesh (client) Model that's publishing the message.
974 int bt_mesh_model_publish(struct bt_mesh_model *model);
980 * @param model Mesh Model that supports publication.
984 static inline bool bt_mesh_model_pub_is_retransmission(const struct bt_mesh_model *model) in bt_mesh_model_pub_is_retransmission() argument
986 return model->pub->count != BT_MESH_PUB_TRANSMIT_COUNT(model->pub->retransmit); in bt_mesh_model_pub_is_retransmission()
989 /** @brief Get the element that a model belongs to.
991 * @param mod Mesh model.
993 * @return Pointer to the element that the given model belongs to.
997 /** @brief Find a SIG model.
999 * @param elem Element to search for the model in.
1000 * @param id Model ID of the model.
1002 * @return A pointer to the Mesh model matching the given parameters, or NULL
1003 * if no SIG model with the given ID exists in the given element.
1008 /** @brief Find a vendor model.
1010 * @param elem Element to search for the model in.
1011 * @param company Company ID of the model.
1012 * @param id Model ID of the model.
1014 * @return A pointer to the Mesh model matching the given parameters, or NULL
1015 * if no vendor model with the given ID exists in the given element.
1020 /** @brief Get whether the model is in the primary element of the device.
1022 * @param mod Mesh model.
1024 * @return true if the model is on the primary element, false otherwise.
1031 /** @brief Immediately store the model's user data in persistent storage.
1033 * @param mod Mesh model.
1034 * @param vnd This is a vendor model.
1037 * @param data Model data to store, or NULL to delete any model data.
1038 * @param data_len Length of the model data.
1046 /** @brief Schedule the model's user data store in persistent storage.
1049 * for the corresponding model after delay defined by
1055 * @param mod Mesh model.
1059 /** @brief Let a model extend another.
1062 * complex model. A Mesh model may extend any number of models, in any element.
1063 * The extensions may also be nested, ie a model that extends another may
1066 * A set of models that extend each other form a model extension list.
1077 * @param extending_mod Mesh model that is extending the base model.
1078 * @param base_mod The model being extended.
1080 * @retval 0 Successfully extended the base_mod model.
1085 /** @brief Let a model correspond to another.
1088 * other must be present too. A Mesh model may correspond to any number of models,
1097 * @param corresponding_mod Mesh model that is corresponding to the base model.
1098 * @param base_mod The model being corresponded to.
1100 * @retval 0 Successfully saved correspondence to the base_mod model.
1108 /** @brief Check if model is extended by another model.
1110 * @param model The model to check.
1112 * @retval true If model is extended by another model, otherwise false
1114 bool bt_mesh_model_is_extended(struct bt_mesh_model *model);