Fixed bug 3482776.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_2.2.x@3933 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
gdisirio 2012-02-07 18:48:20 +00:00
parent 017c51cdd1
commit cf939786af
4 changed files with 37 additions and 11 deletions

View File

@ -31,7 +31,7 @@ PROJECT_NAME = ChibiOS/RT
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 2.2.8
PROJECT_NUMBER = 2.2.9
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.

View File

@ -46,7 +46,7 @@
/**
* @brief Kernel version string.
*/
#define CH_KERNEL_VERSION "2.2.8"
#define CH_KERNEL_VERSION "2.2.9"
/**
* @brief Kernel version major number.
@ -61,7 +61,7 @@
/**
* @brief Kernel version patch number.
*/
#define CH_KERNEL_PATCH 8
#define CH_KERNEL_PATCH 9
/*
* Common values.

View File

@ -45,6 +45,11 @@
#ifndef _CHFILES_H_
#define _CHFILES_H_
/**
* @brief No error return code.
*/
#define FILE_OK 0
/**
* @brief Error code from the file stream methods.
*/
@ -69,7 +74,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.
@ -80,9 +85,11 @@ typedef uint32_t fileoffset_t;
_base_sequential_stream_data
/**
* @extends BaseSequentialStreamVMT
*
* @brief @p BaseFileStream virtual methods table.
*/
struct BaseFilelStreamVMT {
struct BaseFileStreamVMT {
_base_file_stream_methods
};
@ -94,15 +101,22 @@ struct BaseFilelStreamVMT {
*/
typedef struct {
/** @brief Virtual Methods Table.*/
const struct FileStreamVMT *vmt;
const struct BaseFileStreamVMT *vmt;
_base_file_stream_data
} BaseFileStream;
/**
* @name Macro Functions (BaseFileStream)
* @{
*/
/**
* @brief Base file Stream close.
* @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 +126,45 @@ 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, offset) ((ip)->vmt->lseek(ip, offset))
/** @} */
#endif /* _CHFILES_H_ */

View File

@ -63,11 +63,16 @@
+--testhal/ - HAL integration test demos.
+--STM32/ - STM32 HAL demos.
+--STM8S/ - STM8S HAL demos.
+--tools - Various tools.
+--eclipse - Eclipse enhancements.
*****************************************************************************
*** Releases ***
*****************************************************************************
*** 2.2.9 ***
- FIX: Fixed Error in the BaseFileStream interface (bug 3482776).
*** 2.2.8 ***
- NEW: Added new API chThdExitS() in order to allow atomic operations on
thead exit.