This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

can't find define for nrf_mesh_prov_ctx

Only find this in mesh 2.2 code:

typedef struct nrf_mesh_prov_ctx nrf_mesh_prov_ctx_t;

Parents
  • 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.

Reply Children
Related