git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@3902 35acf78f-673a-0410-8e92-d51de3d6d3f4
parent
faeafd8a6c
commit
aef4a4f4a8
|
@ -39,6 +39,11 @@
|
|||
#ifndef _CHFILES_H_
|
||||
#define _CHFILES_H_
|
||||
|
||||
/**
|
||||
* @brief No error return code.
|
||||
*/
|
||||
#define FILE_OK 0
|
||||
|
||||
/**
|
||||
* @brief Error code from the file stream methods.
|
||||
*/
|
||||
|
@ -63,7 +68,7 @@ typedef uint32_t fileoffset_t;
|
|||
/* File get current position method.*/ \
|
||||
fileoffset_t (*getposition)(void *instance); \
|
||||
/* File seek method.*/ \
|
||||
fileoffset_t (*lseek)(void *instance, fileoffset_t offset);
|
||||
uint32_t (*lseek)(void *instance, fileoffset_t offset);
|
||||
|
||||
/**
|
||||
* @brief @p BaseFileStream specific data.
|
||||
|
@ -103,6 +108,9 @@ typedef struct {
|
|||
* @details The function closes a file stream.
|
||||
*
|
||||
* @param[in] ip pointer to a @p BaseFileStream or derived class
|
||||
* @return The operation status.
|
||||
* @retval FILE_OK no error.
|
||||
* @retval FILE_ERROR operation failed.
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
|
@ -112,38 +120,44 @@ typedef struct {
|
|||
* @brief Returns an implementation dependent error code.
|
||||
*
|
||||
* @param[in] ip pointer to a @p BaseFileStream or derived class
|
||||
* @return Implementation dependent error code.
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
#define chFileStreamGetError ((ip)->vmt->geterror(ip))
|
||||
#define chFileStreamGetError(ip) ((ip)->vmt->geterror(ip))
|
||||
|
||||
/**
|
||||
* @brief Returns the current file size.
|
||||
*
|
||||
* @param[in] ip pointer to a @p BaseFileStream or derived class
|
||||
* @return The file size.
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
#define chFileStreamGetSize ((ip)->vmt->getposition(ip))
|
||||
#define chFileStreamGetSize(ip) ((ip)->vmt->getposition(ip))
|
||||
|
||||
/**
|
||||
* @brief Returns the current file pointer position.
|
||||
*
|
||||
* @param[in] ip pointer to a @p BaseFileStream or derived class
|
||||
* @return The current position inside the file.
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
#define chFileStreamGetPosition ((ip)->vmt->getposition(ip))
|
||||
#define chFileStreamGetPosition(ip) ((ip)->vmt->getposition(ip))
|
||||
|
||||
/**
|
||||
* @brief Moves the file current pointer to an absolute position.
|
||||
*
|
||||
* @param[in] ip pointer to a @p BaseFileStream or derived class
|
||||
* @param[in] offset new absolute position
|
||||
* @return The operation status.
|
||||
* @retval FILE_OK no error.
|
||||
* @retval FILE_ERROR operation failed.
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
#define chFileStreamSeek ((ip)->vmt->lseek(ip, offset))
|
||||
#define chFileStreamSeek(ip) ((ip)->vmt->lseek(ip, offset))
|
||||
/** @} */
|
||||
|
||||
#endif /* _CHFILES_H_ */
|
||||
|
|
Loading…
Reference in New Issue