104 lines
2.4 KiB
C
104 lines
2.4 KiB
C
/*
|
|
* 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_ */
|