+/* Structure that contains identifier details used in example */\r
+struct identifier\r
+{\r
+ /* Variable to hold device address */\r
+ uint8_t dev_addr;\r
+\r
+ /* Variable that contains file descriptor */\r
+ int8_t fd;\r
+};\r
+\r
+/******************************************************************************/\r
+/*! Functions */\r
+\r
+/*!\r
+ * @brief Function for reading the sensor's registers through I2C bus.\r
+ *\r
+ * @param[in] reg_addr : Register address.\r
+ * @param[out] data : Pointer to the data buffer to store the read data.\r
+ * @param[in] len : No of bytes to read.\r
+ * @param[in, out] intf_ptr : Void pointer that can enable the linking of descriptors\r
+ * for interface related call backs.\r
+ *\r
+ * @return Status of execution\r
+ *\r
+ * @retval 0 -> Success\r
+ * @retval > 0 -> Failure Info\r
+ *\r
+ */\r
+int8_t user_i2c_read(uint8_t reg_addr, uint8_t *data, uint32_t len, void *intf_ptr);\r
+\r
+/*!\r
+ * @brief Function that creates a mandatory delay required in some of the APIs.\r
+ *\r
+ * @param[in] period : Delay in microseconds.\r
+ * @param[in, out] intf_ptr : Void pointer that can enable the linking of descriptors\r
+ * for interface related call backs\r
+ * @return void.\r
+ *\r
+ */\r
+void user_delay_us(uint32_t period, void *intf_ptr);\r
+\r
+/*!\r
+ * @brief Function for writing the sensor's registers through I2C bus.\r
+ *\r
+ * @param[in] reg_addr : Register address.\r
+ * @param[in] data : Pointer to the data buffer whose value is to be written.\r
+ * @param[in] len : No of bytes to write.\r
+ * @param[in, out] intf_ptr : Void pointer that can enable the linking of descriptors\r
+ * for interface related call backs\r
+ *\r
+ * @return Status of execution\r
+ *\r
+ * @retval BME280_OK -> Success\r
+ * @retval BME280_E_COMM_FAIL -> Communication failure.\r
+ *\r
+ */\r
+int8_t user_i2c_write(uint8_t reg_addr, const uint8_t *data, uint32_t len, void *intf_ptr);\r
+\r
+/*!\r
+ * @brief Function for print the temperature, humidity and pressure data.\r
+ *\r
+ * @param[out] comp_data : Structure instance of bme280_data\r
+ *\r
+ * @note Sensor data whose can be read\r
+ *\r
+ * sens_list\r
+ * --------------\r
+ * Pressure\r
+ * Temperature\r
+ * Humidity\r
+ *\r
+ */\r
+static void print_sensor_data(struct bme280_data *comp_data);\r
+\r
+/*!\r
+ * @brief Function reads temperature, humidity and pressure data in forced mode.\r
+ *\r
+ * @param[in] dev : Structure instance of bme280_dev.\r
+ *\r
+ * @return Result of API execution status\r
+ *\r
+ * @retval BME280_OK - Success.\r
+ * @retval BME280_E_NULL_PTR - Error: Null pointer error\r
+ * @retval BME280_E_COMM_FAIL - Error: Communication fail error\r
+ * @retval BME280_E_NVM_COPY_FAILED - Error: NVM copy failed\r
+ *\r
+ */\r
+static int8_t stream_sensor_data_forced_mode(struct bme280_dev *dev);\r