mirror of https://github.com/rusefi/ChibiOS.git
Added missing methods.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15262 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
22e97bb323
commit
472e68054c
|
@ -45,6 +45,8 @@
|
||||||
/* Module local variables. */
|
/* Module local variables. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
static msg_t drv_set_cwd(void *instance, const char *path);
|
||||||
|
static msg_t drv_get_cwd(void *instance, char *buf, size_t size);
|
||||||
static msg_t drv_open_dir(void *instance,
|
static msg_t drv_open_dir(void *instance,
|
||||||
const char *path,
|
const char *path,
|
||||||
vfs_directory_node_c **vdnpp);
|
vfs_directory_node_c **vdnpp);
|
||||||
|
@ -54,6 +56,8 @@ static msg_t drv_open_file(void *instance,
|
||||||
vfs_file_node_c **vfnpp);
|
vfs_file_node_c **vfnpp);
|
||||||
|
|
||||||
static const struct vfs_sfs_driver_vmt driver_vmt = {
|
static const struct vfs_sfs_driver_vmt driver_vmt = {
|
||||||
|
.set_cwd = drv_set_cwd,
|
||||||
|
.get_cwd = drv_get_cwd,
|
||||||
.open_dir = drv_open_dir,
|
.open_dir = drv_open_dir,
|
||||||
.open_file = drv_open_file
|
.open_file = drv_open_file
|
||||||
};
|
};
|
||||||
|
@ -133,6 +137,31 @@ static struct {
|
||||||
/* Module local functions. */
|
/* Module local functions. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
static msg_t drv_set_cwd(void *instance, const char *path) {
|
||||||
|
|
||||||
|
(void)instance;
|
||||||
|
|
||||||
|
if (strcmp(path, "/") != 0) {
|
||||||
|
return VFS_RET_ENOENT;
|
||||||
|
}
|
||||||
|
|
||||||
|
return VFS_RET_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
static msg_t drv_get_cwd(void *instance, char *buf, size_t size) {
|
||||||
|
|
||||||
|
(void)instance;
|
||||||
|
|
||||||
|
if (size < 2) {
|
||||||
|
return VFS_RET_ERANGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
buf[0] = '/';
|
||||||
|
buf[1] = '\0';
|
||||||
|
|
||||||
|
return VFS_RET_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
static msg_t drv_open_dir(void *instance,
|
static msg_t drv_open_dir(void *instance,
|
||||||
const char *path,
|
const char *path,
|
||||||
vfs_directory_node_c **vdnpp) {
|
vfs_directory_node_c **vdnpp) {
|
||||||
|
@ -362,11 +391,9 @@ void __drv_sfs_init(void) {
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
vfs_driver_c *drvSFSObjectInit(vfs_sfs_driver_c *drvp,
|
vfs_driver_c *drvSFSObjectInit(vfs_sfs_driver_c *drvp) {
|
||||||
const char *rootname) {
|
|
||||||
|
|
||||||
__base_object_objinit_impl(drvp, &driver_vmt);
|
__base_object_objinit_impl(drvp, &driver_vmt);
|
||||||
drvp->rootname = rootname;
|
|
||||||
|
|
||||||
return (vfs_driver_c *)drvp;
|
return (vfs_driver_c *)drvp;
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,8 +166,7 @@ typedef struct vfs_sfs_driver {
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
void __drv_sfs_init(void);
|
void __drv_sfs_init(void);
|
||||||
vfs_driver_c *drvSFSObjectInit(vfs_sfs_driver_c *drvp,
|
vfs_driver_c *drvSFSObjectInit(vfs_sfs_driver_c *drvp);
|
||||||
const char *rootname);
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -45,6 +45,8 @@
|
||||||
/* Module local variables. */
|
/* Module local variables. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
static msg_t drv_set_cwd(void *instance, const char *path);
|
||||||
|
static msg_t drv_get_cwd(void *instance, char *buf, size_t size);
|
||||||
static msg_t drv_open_dir(void *instance,
|
static msg_t drv_open_dir(void *instance,
|
||||||
const char *path,
|
const char *path,
|
||||||
vfs_directory_node_c **vdnpp);
|
vfs_directory_node_c **vdnpp);
|
||||||
|
@ -54,6 +56,8 @@ static msg_t drv_open_file(void *instance,
|
||||||
vfs_file_node_c **vfnpp);
|
vfs_file_node_c **vfnpp);
|
||||||
|
|
||||||
static const struct vfs_streams_driver_vmt driver_vmt = {
|
static const struct vfs_streams_driver_vmt driver_vmt = {
|
||||||
|
.set_cwd = drv_set_cwd,
|
||||||
|
.get_cwd = drv_get_cwd,
|
||||||
.open_dir = drv_open_dir,
|
.open_dir = drv_open_dir,
|
||||||
.open_file = drv_open_file
|
.open_file = drv_open_file
|
||||||
};
|
};
|
||||||
|
@ -112,6 +116,31 @@ static struct {
|
||||||
/* Module local functions. */
|
/* Module local functions. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
static msg_t drv_set_cwd(void *instance, const char *path) {
|
||||||
|
|
||||||
|
(void)instance;
|
||||||
|
|
||||||
|
if (strcmp(path, "/") != 0) {
|
||||||
|
return VFS_RET_ENOENT;
|
||||||
|
}
|
||||||
|
|
||||||
|
return VFS_RET_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
static msg_t drv_get_cwd(void *instance, char *buf, size_t size) {
|
||||||
|
|
||||||
|
(void)instance;
|
||||||
|
|
||||||
|
if (size < 2) {
|
||||||
|
return VFS_RET_ERANGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
buf[0] = '/';
|
||||||
|
buf[1] = '\0';
|
||||||
|
|
||||||
|
return VFS_RET_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
static msg_t drv_open_dir(void *instance,
|
static msg_t drv_open_dir(void *instance,
|
||||||
const char *path,
|
const char *path,
|
||||||
vfs_directory_node_c **vdnpp) {
|
vfs_directory_node_c **vdnpp) {
|
||||||
|
|
|
@ -45,6 +45,8 @@
|
||||||
/* Module local variables. */
|
/* Module local variables. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
static msg_t drv_set_cwd(void *instance, const char *path);
|
||||||
|
static msg_t drv_get_cwd(void *instance, char *buf, size_t size);
|
||||||
static msg_t drv_open_dir(void *instance,
|
static msg_t drv_open_dir(void *instance,
|
||||||
const char *path,
|
const char *path,
|
||||||
vfs_directory_node_c **vdnpp);
|
vfs_directory_node_c **vdnpp);
|
||||||
|
@ -54,6 +56,8 @@ static msg_t drv_open_file(void *instance,
|
||||||
vfs_file_node_c **vfnpp);
|
vfs_file_node_c **vfnpp);
|
||||||
|
|
||||||
static const struct vfs_template_driver_vmt driver_vmt = {
|
static const struct vfs_template_driver_vmt driver_vmt = {
|
||||||
|
.set_cwd = drv_set_cwd,
|
||||||
|
.get_cwd = drv_get_cwd,
|
||||||
.open_dir = drv_open_dir,
|
.open_dir = drv_open_dir,
|
||||||
.open_file = drv_open_file
|
.open_file = drv_open_file
|
||||||
};
|
};
|
||||||
|
@ -133,6 +137,31 @@ static struct {
|
||||||
/* Module local functions. */
|
/* Module local functions. */
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
static msg_t drv_set_cwd(void *instance, const char *path) {
|
||||||
|
|
||||||
|
(void)instance;
|
||||||
|
|
||||||
|
if (strcmp(path, "/") != 0) {
|
||||||
|
return VFS_RET_ENOENT;
|
||||||
|
}
|
||||||
|
|
||||||
|
return VFS_RET_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
static msg_t drv_get_cwd(void *instance, char *buf, size_t size) {
|
||||||
|
|
||||||
|
(void)instance;
|
||||||
|
|
||||||
|
if (size < 2) {
|
||||||
|
return VFS_RET_ERANGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
buf[0] = '/';
|
||||||
|
buf[1] = '\0';
|
||||||
|
|
||||||
|
return VFS_RET_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
static msg_t drv_open_dir(void *instance,
|
static msg_t drv_open_dir(void *instance,
|
||||||
const char *path,
|
const char *path,
|
||||||
vfs_directory_node_c **vdnpp) {
|
vfs_directory_node_c **vdnpp) {
|
||||||
|
@ -362,11 +391,9 @@ void __drv_template_init(void) {
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
vfs_driver_c *drvTEMPLATEObjectInit(vfs_template_driver_c *drvp,
|
vfs_driver_c *drvTEMPLATEObjectInit(vfs_template_driver_c *drvp) {
|
||||||
const char *rootname) {
|
|
||||||
|
|
||||||
__base_object_objinit_impl(drvp, &driver_vmt);
|
__base_object_objinit_impl(drvp, &driver_vmt);
|
||||||
drvp->rootname = rootname;
|
|
||||||
|
|
||||||
return (vfs_driver_c *)drvp;
|
return (vfs_driver_c *)drvp;
|
||||||
}
|
}
|
||||||
|
|
|
@ -166,8 +166,7 @@ typedef struct vfs_template_driver {
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
void __drv_template_init(void);
|
void __drv_template_init(void);
|
||||||
vfs_driver_c *drvTEMPLATEObjectInit(vfs_template_driver_c *drvp,
|
vfs_driver_c *drvTEMPLATEObjectInit(vfs_template_driver_c *drvp);
|
||||||
const char *rootname);
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue