| /* |
| * Copyright (c) 2016 Intel Corporation. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /** |
| * @file |
| * @brief Disk Access layer API |
| * |
| * This file contains APIs for disk access. |
| */ |
| |
| #ifndef ZEPHYR_INCLUDE_STORAGE_DISK_ACCESS_H_ |
| #define ZEPHYR_INCLUDE_STORAGE_DISK_ACCESS_H_ |
| |
| /** |
| * @brief Disk Access APIs |
| * @defgroup disk_access_interface Disk Access Interface |
| * @{ |
| */ |
| |
| #include <drivers/disk.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * @brief perform any initialization |
| * |
| * This call is made by the consumer before doing any IO calls so that the |
| * disk or the backing device can do any initialization. |
| * |
| * @param[in] pdrv Disk name |
| * |
| * @return 0 on success, negative errno code on fail |
| */ |
| int disk_access_init(const char *pdrv); |
| |
| /** |
| * @brief Get the status of disk |
| * |
| * This call is used to get the status of the disk |
| * |
| * @param[in] pdrv Disk name |
| * |
| * @return DISK_STATUS_OK or other DISK_STATUS_*s |
| */ |
| int disk_access_status(const char *pdrv); |
| |
| /** |
| * @brief read data from disk |
| * |
| * Function to read data from disk to a memory buffer. |
| * |
| * @param[in] pdrv Disk name |
| * @param[in] data_buf Pointer to the memory buffer to put data. |
| * @param[in] start_sector Start disk sector to read from |
| * @param[in] num_sector Number of disk sectors to read |
| * |
| * @return 0 on success, negative errno code on fail |
| */ |
| int disk_access_read(const char *pdrv, uint8_t *data_buf, |
| uint32_t start_sector, uint32_t num_sector); |
| |
| /** |
| * @brief write data to disk |
| * |
| * Function write data from memory buffer to disk. |
| * |
| * @param[in] pdrv Disk name |
| * @param[in] data_buf Pointer to the memory buffer |
| * @param[in] start_sector Start disk sector to write to |
| * @param[in] num_sector Number of disk sectors to write |
| * |
| * @return 0 on success, negative errno code on fail |
| */ |
| int disk_access_write(const char *pdrv, const uint8_t *data_buf, |
| uint32_t start_sector, uint32_t num_sector); |
| |
| /** |
| * @brief Get/Configure disk parameters |
| * |
| * Function to get disk parameters and make any special device requests. |
| * |
| * @param[in] pdrv Disk name |
| * @param[in] cmd DISK_IOCTL_* code describing the request |
| * @param[in] buff Command data buffer |
| * |
| * @return 0 on success, negative errno code on fail |
| */ |
| int disk_access_ioctl(const char *pdrv, uint8_t cmd, void *buff); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| /** |
| * @} |
| */ |
| |
| #endif /* ZEPHYR_INCLUDE_STORAGE_DISK_ACCESS_H_ */ |