git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15127 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
8be0e6d9ae
commit
6c1ff11e02
|
@ -64,11 +64,12 @@
|
|||
#define CH_VFS_PATCH 0
|
||||
/** @} */
|
||||
|
||||
#include <stddef.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* Dependencies.*/
|
||||
#include "osal.h"
|
||||
#include "hal_objects.h"
|
||||
#include "hal_streams.h"
|
||||
|
||||
/* License.*/
|
||||
#include "chlicense.h"
|
||||
|
|
|
@ -36,13 +36,13 @@
|
|||
* @name Error codes compatible with HAL streams
|
||||
* @{
|
||||
*/
|
||||
#define VFS_RET_SUCCESS STM_OK
|
||||
#define VFS_RET_TIMEOUT STM_TIMEOUT
|
||||
#define VFS_RET_EOF STM_RESET
|
||||
#define VFS_RET_NO_RESOURCE (msg_t)-3
|
||||
#define VFS_RET_NO_DRIVER (msg_t)-4
|
||||
#define VFS_RET_INVALID_PATH (msg_t)-5
|
||||
#define VFS_RET_NOT_FOUND (msg_t)-6
|
||||
#define VFS_RET_SUCCESS 0
|
||||
#define VFS_RET_TIMEOUT -1
|
||||
#define VFS_RET_EOF -2
|
||||
#define VFS_RET_PAST_LIMIT -3
|
||||
#define VFS_RET_NO_DRIVER -4
|
||||
#define VFS_RET_INVALID_PATH -5
|
||||
#define VFS_RET_NOT_FOUND -6
|
||||
/** @} */
|
||||
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -175,8 +175,9 @@ typedef struct vfs_file_node vfs_file_node_t;
|
|||
*/
|
||||
#define __vfs_file_node_methods \
|
||||
__vfs_node_methods \
|
||||
msg_t (*file_read)(void *instance, uint8_t *buf, size_t n); \
|
||||
msg_t (*file_write)(void *instance, const uint8_t *buf, size_t n); \
|
||||
BaseSequentialStream (*get_stream)(void *instance); \
|
||||
ssize_t (*file_read)(void *instance, uint8_t *buf, size_t n); \
|
||||
ssize_t (*file_write)(void *instance, const uint8_t *buf, size_t n); \
|
||||
msg_t (*file_setpos)(void *instance, vfs_offset_t offset); \
|
||||
vfs_offset_t (*file_getpos)(void *instance); \
|
||||
vfs_offset_t (*file_getsize)(void *instance);
|
||||
|
|
|
@ -121,8 +121,8 @@ extern "C" {
|
|||
void vfsCloseDirectory(vfs_directory_node_t *vdnp);
|
||||
msg_t vfsOpenFile(const char *name, vfs_file_node_t **vfnpp);
|
||||
void vfsCloseFile(vfs_file_node_t *vfnp);
|
||||
msg_t vfsReadFile(vfs_file_node_t *vfnp, uint8_t *buf, size_t n);
|
||||
msg_t vfsWriteFile(vfs_file_node_t *vfnp, const uint8_t *buf, size_t n);
|
||||
ssize_t vfsReadFile(vfs_file_node_t *vfnp, uint8_t *buf, size_t n);
|
||||
ssize_t vfsWriteFile(vfs_file_node_t *vfnp, const uint8_t *buf, size_t n);
|
||||
msg_t vfsSetFilePosition(vfs_file_node_t *vfnp, vfs_offset_t offset);
|
||||
vfs_offset_t vfsGetFilePosition(vfs_file_node_t *vfnp);
|
||||
vfs_offset_t vfsGetFileSize(vfs_file_node_t *vfnp);
|
||||
|
|
|
@ -117,7 +117,7 @@ msg_t vfsRegisterDriver(vfs_driver_t *vdp) {
|
|||
VFS_LOCK();
|
||||
|
||||
if (vfs.next_driver >= &vfs.drivers[VFS_CFG_MAX_DRIVERS]) {
|
||||
err = VFS_RET_NO_RESOURCE;
|
||||
err = VFS_RET_PAST_LIMIT;
|
||||
}
|
||||
else {
|
||||
*vfs.next_driver++ = vdp;
|
||||
|
@ -248,14 +248,9 @@ void vfsCloseFile(vfs_file_node_t *vfnp) {
|
|||
*
|
||||
* @api
|
||||
*/
|
||||
msg_t vfsReadFile(vfs_file_node_t *vfnp, uint8_t *buf, size_t n) {
|
||||
msg_t err = VFS_RET_SUCCESS;
|
||||
ssize_t vfsReadFile(vfs_file_node_t *vfnp, uint8_t *buf, size_t n) {
|
||||
|
||||
(void)vfnp;
|
||||
(void)buf;
|
||||
(void)n;
|
||||
|
||||
return err;
|
||||
return vfnp->vmt->file_read((void *)vfnp, buf, n);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -269,14 +264,9 @@ msg_t vfsReadFile(vfs_file_node_t *vfnp, uint8_t *buf, size_t n) {
|
|||
*
|
||||
* @api
|
||||
*/
|
||||
msg_t vfsWriteFile(vfs_file_node_t *vfnp, const uint8_t *buf, size_t n) {
|
||||
msg_t err = VFS_RET_SUCCESS;
|
||||
ssize_t vfsWriteFile(vfs_file_node_t *vfnp, const uint8_t *buf, size_t n) {
|
||||
|
||||
(void)vfnp;
|
||||
(void)buf;
|
||||
(void)n;
|
||||
|
||||
return err;
|
||||
return vfnp->vmt->file_write((void *)vfnp, buf, n);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -289,12 +279,8 @@ msg_t vfsWriteFile(vfs_file_node_t *vfnp, const uint8_t *buf, size_t n) {
|
|||
* @api
|
||||
*/
|
||||
msg_t vfsSetFilePosition(vfs_file_node_t *vfnp, vfs_offset_t offset) {
|
||||
msg_t err = VFS_RET_SUCCESS;
|
||||
|
||||
(void)vfnp;
|
||||
(void)offset;
|
||||
|
||||
return err;
|
||||
return vfnp->vmt->file_setpos((void *)vfnp, offset);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -307,9 +293,7 @@ msg_t vfsSetFilePosition(vfs_file_node_t *vfnp, vfs_offset_t offset) {
|
|||
*/
|
||||
vfs_offset_t vfsGetFilePosition(vfs_file_node_t *vfnp) {
|
||||
|
||||
(void)vfnp;
|
||||
|
||||
return 0;
|
||||
return vfnp->vmt->file_getpos((void *)vfnp);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -322,9 +306,7 @@ vfs_offset_t vfsGetFilePosition(vfs_file_node_t *vfnp) {
|
|||
*/
|
||||
vfs_offset_t vfsGetFileSize(vfs_file_node_t *vfnp) {
|
||||
|
||||
(void)vfnp;
|
||||
|
||||
return 0;
|
||||
return vfnp->vmt->file_getsize((void *)vfnp);
|
||||
}
|
||||
|
||||
/** @} */
|
||||
|
|
Loading…
Reference in New Issue