forked from Imagelibrary/rtems
Moved the rmnod callback from the operations table to the handler table.
This commit is contained in:
@@ -121,6 +121,10 @@ typedef int (*rtems_filesystem_fcntl_t)(
|
||||
rtems_libio_t *iop
|
||||
);
|
||||
|
||||
typedef int (*rtems_filesystem_rmnod_t)(
|
||||
rtems_filesystem_location_info_t *pathloc /* IN */
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
rtems_filesystem_open_t open;
|
||||
rtems_filesystem_close_t close;
|
||||
@@ -135,6 +139,7 @@ typedef struct {
|
||||
rtems_filesystem_fsync_t fsync;
|
||||
rtems_filesystem_fdatasync_t fdatasync;
|
||||
rtems_filesystem_fcntl_t fcntl;
|
||||
rtems_filesystem_rmnod_t rmnod;
|
||||
} rtems_filesystem_file_handlers_r;
|
||||
|
||||
/*
|
||||
@@ -193,10 +198,6 @@ typedef int (*rtems_filesystem_freenode_t)(
|
||||
rtems_filesystem_location_info_t *pathloc /* IN */
|
||||
);
|
||||
|
||||
typedef int (*rtems_filesystem_rmnod_t)(
|
||||
rtems_filesystem_location_info_t *pathloc /* IN */
|
||||
);
|
||||
|
||||
typedef int (* rtems_filesystem_mount_t ) (
|
||||
rtems_filesystem_mount_table_entry_t *mt_entry /* in */
|
||||
);
|
||||
@@ -254,7 +255,6 @@ typedef struct {
|
||||
rtems_filesystem_unlink_t unlink;
|
||||
rtems_filesystem_node_type_t node_type;
|
||||
rtems_filesystem_mknod_t mknod;
|
||||
rtems_filesystem_rmnod_t rmnod;
|
||||
rtems_filesystem_chown_t chown;
|
||||
rtems_filesystem_freenode_t freenod;
|
||||
rtems_filesystem_mount_t mount;
|
||||
|
||||
@@ -33,5 +33,6 @@ rtems_filesystem_file_handlers_r IMFS_device_handlers = {
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
NULL, /* fdatasync */
|
||||
NULL /* fcntl */
|
||||
NULL, /* fcntl */
|
||||
IMFS_rmnod
|
||||
};
|
||||
|
||||
@@ -33,5 +33,14 @@ rtems_filesystem_file_handlers_r IMFS_directory_handlers = {
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
IMFS_fdatasync,
|
||||
IMFS_fcntl
|
||||
IMFS_fcntl,
|
||||
IMFS_rmnod
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -33,5 +33,6 @@ rtems_filesystem_file_handlers_r IMFS_memfile_handlers = {
|
||||
NULL, /* fpathconf */
|
||||
NULL, /* fsync */
|
||||
IMFS_fdatasync,
|
||||
IMFS_fcntl
|
||||
IMFS_fcntl,
|
||||
IMFS_rmnod
|
||||
};
|
||||
|
||||
@@ -37,7 +37,6 @@ rtems_filesystem_operations_table IMFS_ops = {
|
||||
IMFS_unlink,
|
||||
IMFS_node_type,
|
||||
IMFS_mknod,
|
||||
IMFS_rmnod,
|
||||
IMFS_chown,
|
||||
IMFS_freenodinfo,
|
||||
IMFS_mount,
|
||||
|
||||
@@ -121,6 +121,10 @@ typedef int (*rtems_filesystem_fcntl_t)(
|
||||
rtems_libio_t *iop
|
||||
);
|
||||
|
||||
typedef int (*rtems_filesystem_rmnod_t)(
|
||||
rtems_filesystem_location_info_t *pathloc /* IN */
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
rtems_filesystem_open_t open;
|
||||
rtems_filesystem_close_t close;
|
||||
@@ -135,6 +139,7 @@ typedef struct {
|
||||
rtems_filesystem_fsync_t fsync;
|
||||
rtems_filesystem_fdatasync_t fdatasync;
|
||||
rtems_filesystem_fcntl_t fcntl;
|
||||
rtems_filesystem_rmnod_t rmnod;
|
||||
} rtems_filesystem_file_handlers_r;
|
||||
|
||||
/*
|
||||
@@ -193,10 +198,6 @@ typedef int (*rtems_filesystem_freenode_t)(
|
||||
rtems_filesystem_location_info_t *pathloc /* IN */
|
||||
);
|
||||
|
||||
typedef int (*rtems_filesystem_rmnod_t)(
|
||||
rtems_filesystem_location_info_t *pathloc /* IN */
|
||||
);
|
||||
|
||||
typedef int (* rtems_filesystem_mount_t ) (
|
||||
rtems_filesystem_mount_table_entry_t *mt_entry /* in */
|
||||
);
|
||||
@@ -254,7 +255,6 @@ typedef struct {
|
||||
rtems_filesystem_unlink_t unlink;
|
||||
rtems_filesystem_node_type_t node_type;
|
||||
rtems_filesystem_mknod_t mknod;
|
||||
rtems_filesystem_rmnod_t rmnod;
|
||||
rtems_filesystem_chown_t chown;
|
||||
rtems_filesystem_freenode_t freenod;
|
||||
rtems_filesystem_mount_t mount;
|
||||
|
||||
@@ -53,12 +53,12 @@ int rmdir(
|
||||
* Use the filesystems rmnod to remove the node.
|
||||
*/
|
||||
|
||||
if ( !loc.ops->rmnod ){
|
||||
if ( !loc.handlers->rmnod ){
|
||||
rtems_filesystem_freenode( &loc );
|
||||
set_errno_and_return_minus_one( ENOTSUP );
|
||||
}
|
||||
|
||||
result = (*loc.ops->rmnod)( &loc );
|
||||
result = (*loc.handlers->rmnod)( &loc );
|
||||
|
||||
rtems_filesystem_freenode( &loc );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user