Only find this in mesh 2.2 code:
typedef struct nrf_mesh_prov_ctx nrf_mesh_prov_ctx_t;
Only find this in mesh 2.2 code:
typedef struct nrf_mesh_prov_ctx nrf_mesh_prov_ctx_t;
Hi Bob,
Isn't it defined in nrf_mesh_prov.h ?
struct nrf_mesh_prov_ctx { list_node_t * p_bearers; /**< Bearer linked list head pointer. */ uint32_t supported_bearers; /**< Supported bearer types bitfield, @ref nrf_mesh_prov_bearer_type_t. */ prov_bearer_t * p_active_bearer; /**< Pointer to the currently active bearer (valid when ) */ nrf_mesh_prov_evt_handler_cb_t event_handler; /**< Application event handler callback function. */ const uint8_t * p_public_key; /**< Public key of this node. */ const uint8_t * p_private_key; /**< Private key of this node. */ uint8_t peer_public_key[NRF_MESH_PROV_PUBKEY_SIZE]; /**< Public key of the peer node. */ uint8_t shared_secret[NRF_MESH_PROV_ECDHSECRET_SIZE]; /**< ECDH shared secret: P-256(private key, peer public key). */ uint8_t device_key[NRF_MESH_KEY_SIZE]; /**< Node device key. */ uint8_t session_key[NRF_MESH_KEY_SIZE]; /**< Provisioning session key. */ uint8_t data_nonce[PROV_NONCE_LEN]; /**< Provisioning data nonce. Only 13 bytes are used. */ uint8_t node_random[PROV_RANDOM_LEN]; /**< Random number for the current node. */ uint8_t peer_random[PROV_RANDOM_LEN]; /**< Random number for the peer node. */ uint8_t auth_value[PROV_AUTH_LEN]; /**< Authentication value. */ uint8_t confirmation_salt[PROV_SALT_LEN]; /**< Confirmation salt value. */ uint8_t peer_confirmation[PROV_CONFIRMATION_LEN]; /**< Confirmation value for the peer node. */ uint8_t confirmation_inputs[PROV_CONFIRMATION_INPUT_LEN]; /**< Confirmation inputs, used to calculate the confirmation key. */ uint8_t oob_size; /**< Size of the chosen OOB authentication data. */ uint8_t oob_action; /**< Chosen OOB action. */ bool pubkey_oob; /**< Uses out-of-band public key. */ nrf_mesh_prov_role_t role; /**< Provisioning role, provisioner or provisionee. */ nrf_mesh_prov_failure_code_t failure_code; /**< Error code sent with the previous provisioning failed packet. */ nrf_mesh_prov_state_t state; /**< Provisioning state machine state. */ nrf_mesh_prov_oob_method_t oob_method; /**< Chosen OOB authentication method. */ nrf_mesh_prov_oob_caps_t capabilities; /**< Node OOB and authentication capabilities. */ nrf_mesh_prov_provisioning_data_t data; /**< Provisioning data to send to the provisionee or received from the provisioner. */ };
Hi, Hung,
You are right.
Though, in segger embedded studio, if you right click "nrf_mesh_prov_ctx" then click "go to definition", you'll get nothing, that's why I thought there's no define.
So, seems it's a segger embedded studio project setting issue.
Thank you so much for the help, Hung.
Hi, Hung,
You are right.
Though, in segger embedded studio, if you right click "nrf_mesh_prov_ctx" then click "go to definition", you'll get nothing, that's why I thought there's no define.
So, seems it's a segger embedded studio project setting issue.
Thank you so much for the help, Hung.
It's true, I also had to do a full search (Ctrl+Shift+F) instead. I guess sometimes because of macro define, SES thinks that the definition is commented and would not look for when we do right click -> go to definition.