forked from Imagelibrary/rtems
2000-09-28 Joel Sherrill <joel@OARcorp.com>
* libc/libio.h (rtems_filesystem_file_handlers_r, rtems_filesystem_operations_table): Added _h to all structure fields to indicate they are "handlers". * libc/libio_.h, libc/chdir.c, libc/chmod.c, libc/chown.c, libc/close.c, libc/eval.c, libc/fchdir.c, libc/fchmod.c, libc/fcntl.c, libc/fdatasync.c, libc/fstat.c, libc/fsync.c, libc/ftruncate.c, libc/getdents.c, libc/imfs_eval.c, libc/imfs_unlink.c, libc/ioctl.c, libc/ioman.c, libc/link.c, libc/lseek.c, libc/mknod.c, libc/mount.c, libc/open.c, libc/read.c, libc/readlink.c, libc/rmdir.c, libc/stat.c, libc/symlink.c, libc/unlink.c, libc/unmount.c, libc/utime.c, libc/write.c: Modified to reflect above name change.
This commit is contained in:
@@ -168,8 +168,8 @@ extern mode_t rtems_filesystem_umask;
|
|||||||
|
|
||||||
#define rtems_filesystem_freenode( _node ) \
|
#define rtems_filesystem_freenode( _node ) \
|
||||||
do { \
|
do { \
|
||||||
if ( (_node)->ops->freenod ) \
|
if ( (_node)->ops->freenod_h ) \
|
||||||
(*(_node)->ops->freenod)( (_node) ); \
|
(*(_node)->ops->freenod_h)( (_node) ); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -126,20 +126,20 @@ typedef int (*rtems_filesystem_rmnod_t)(
|
|||||||
);
|
);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rtems_filesystem_open_t open;
|
rtems_filesystem_open_t open_h;
|
||||||
rtems_filesystem_close_t close;
|
rtems_filesystem_close_t close_h;
|
||||||
rtems_filesystem_read_t read;
|
rtems_filesystem_read_t read_h;
|
||||||
rtems_filesystem_write_t write;
|
rtems_filesystem_write_t write_h;
|
||||||
rtems_filesystem_ioctl_t ioctl;
|
rtems_filesystem_ioctl_t ioctl_h;
|
||||||
rtems_filesystem_lseek_t lseek;
|
rtems_filesystem_lseek_t lseek_h;
|
||||||
rtems_filesystem_fstat_t fstat;
|
rtems_filesystem_fstat_t fstat_h;
|
||||||
rtems_filesystem_fchmod_t fchmod;
|
rtems_filesystem_fchmod_t fchmod_h;
|
||||||
rtems_filesystem_ftruncate_t ftruncate;
|
rtems_filesystem_ftruncate_t ftruncate_h;
|
||||||
rtems_filesystem_fpathconf_t fpathconf;
|
rtems_filesystem_fpathconf_t fpathconf_h;
|
||||||
rtems_filesystem_fsync_t fsync;
|
rtems_filesystem_fsync_t fsync_h;
|
||||||
rtems_filesystem_fdatasync_t fdatasync;
|
rtems_filesystem_fdatasync_t fdatasync_h;
|
||||||
rtems_filesystem_fcntl_t fcntl;
|
rtems_filesystem_fcntl_t fcntl_h;
|
||||||
rtems_filesystem_rmnod_t rmnod;
|
rtems_filesystem_rmnod_t rmnod_h;
|
||||||
} rtems_filesystem_file_handlers_r;
|
} rtems_filesystem_file_handlers_r;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -249,22 +249,22 @@ typedef int (*rtems_filesystem_readlink_t)(
|
|||||||
* File system types
|
* File system types
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rtems_filesystem_evalpath_t evalpath;
|
rtems_filesystem_evalpath_t evalpath_h;
|
||||||
rtems_filesystem_evalmake_t evalformake;
|
rtems_filesystem_evalmake_t evalformake_h;
|
||||||
rtems_filesystem_link_t link;
|
rtems_filesystem_link_t link_h;
|
||||||
rtems_filesystem_unlink_t unlink;
|
rtems_filesystem_unlink_t unlink_h;
|
||||||
rtems_filesystem_node_type_t node_type;
|
rtems_filesystem_node_type_t node_type_h;
|
||||||
rtems_filesystem_mknod_t mknod;
|
rtems_filesystem_mknod_t mknod_h;
|
||||||
rtems_filesystem_chown_t chown;
|
rtems_filesystem_chown_t chown_h;
|
||||||
rtems_filesystem_freenode_t freenod;
|
rtems_filesystem_freenode_t freenod_h;
|
||||||
rtems_filesystem_mount_t mount;
|
rtems_filesystem_mount_t mount_h;
|
||||||
rtems_filesystem_fsmount_me_t fsmount_me;
|
rtems_filesystem_fsmount_me_t fsmount_me_h;
|
||||||
rtems_filesystem_unmount_t unmount;
|
rtems_filesystem_unmount_t unmount_h;
|
||||||
rtems_filesystem_fsunmount_me_t fsunmount_me;
|
rtems_filesystem_fsunmount_me_t fsunmount_me_h;
|
||||||
rtems_filesystem_utime_t utime;
|
rtems_filesystem_utime_t utime_h;
|
||||||
rtems_filesystem_evaluate_link_t eval_link;
|
rtems_filesystem_evaluate_link_t eval_link_h;
|
||||||
rtems_filesystem_symlink_t symlink;
|
rtems_filesystem_symlink_t symlink_h;
|
||||||
rtems_filesystem_readlink_t readlink;
|
rtems_filesystem_readlink_t readlink_h;
|
||||||
} rtems_filesystem_operations_table;
|
} rtems_filesystem_operations_table;
|
||||||
|
|
||||||
#define IMFS_FILE_SYSTEM IMFS_ops
|
#define IMFS_FILE_SYSTEM IMFS_ops
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ extern mode_t rtems_filesystem_umask;
|
|||||||
|
|
||||||
#define rtems_filesystem_freenode( _node ) \
|
#define rtems_filesystem_freenode( _node ) \
|
||||||
do { \
|
do { \
|
||||||
if ( (_node)->ops->freenod ) \
|
if ( (_node)->ops->freenod_h ) \
|
||||||
(*(_node)->ops->freenod)( (_node) ); \
|
(*(_node)->ops->freenod_h)( (_node) ); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -37,12 +37,12 @@ int chdir(
|
|||||||
* Verify you can change directory into this node.
|
* Verify you can change directory into this node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.ops->node_type ) {
|
if ( !loc.ops->node_type_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,12 +38,12 @@ int chmod(
|
|||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !loc.handlers->fchmod ){
|
if ( !loc.handlers->fchmod_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.handlers->fchmod)( &loc, mode );
|
result = (*loc.handlers->fchmod_h)( &loc, mode );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -31,12 +31,12 @@ int chown(
|
|||||||
if ( rtems_filesystem_evaluate_path( path, 0x00, &loc, TRUE ) )
|
if ( rtems_filesystem_evaluate_path( path, 0x00, &loc, TRUE ) )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->chown ) {
|
if ( !loc.ops->chown_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->chown)( &loc, owner, group );
|
result = (*loc.ops->chown_h)( &loc, owner, group );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ int close(
|
|||||||
rtems_libio_check_is_open(iop);
|
rtems_libio_check_is_open(iop);
|
||||||
|
|
||||||
rc = RTEMS_SUCCESSFUL;
|
rc = RTEMS_SUCCESSFUL;
|
||||||
if ( iop->handlers->close )
|
if ( iop->handlers->close_h )
|
||||||
rc = (*iop->handlers->close)( iop );
|
rc = (*iop->handlers->close_h)( iop );
|
||||||
|
|
||||||
rtems_libio_free( iop );
|
rtems_libio_free( iop );
|
||||||
|
|
||||||
|
|||||||
@@ -43,10 +43,10 @@ int rtems_filesystem_evaluate_path(
|
|||||||
|
|
||||||
rtems_filesystem_get_start_loc( pathname, &i, pathloc );
|
rtems_filesystem_get_start_loc( pathname, &i, pathloc );
|
||||||
|
|
||||||
if ( !pathloc->ops->evalpath )
|
if ( !pathloc->ops->evalpath_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
result = (*pathloc->ops->evalpath)( &pathname[i], flags, pathloc );
|
result = (*pathloc->ops->evalpath_h)( &pathname[i], flags, pathloc );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the Node type and determine if you need to follow the link or
|
* Get the Node type and determine if you need to follow the link or
|
||||||
@@ -55,18 +55,18 @@ int rtems_filesystem_evaluate_path(
|
|||||||
|
|
||||||
if ( (result == 0) && follow_link ) {
|
if ( (result == 0) && follow_link ) {
|
||||||
|
|
||||||
if ( !pathloc->ops->node_type )
|
if ( !pathloc->ops->node_type_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
type = (*pathloc->ops->node_type)( pathloc );
|
type = (*pathloc->ops->node_type_h)( pathloc );
|
||||||
|
|
||||||
if ( ( type == RTEMS_FILESYSTEM_HARD_LINK ) ||
|
if ( ( type == RTEMS_FILESYSTEM_HARD_LINK ) ||
|
||||||
( type == RTEMS_FILESYSTEM_SYM_LINK ) ) {
|
( type == RTEMS_FILESYSTEM_SYM_LINK ) ) {
|
||||||
|
|
||||||
if ( !pathloc->ops->eval_link )
|
if ( !pathloc->ops->eval_link_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
result = (*pathloc->ops->eval_link)( pathloc, flags );
|
result = (*pathloc->ops->eval_link_h)( pathloc, flags );
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,11 +43,11 @@ int fchdir(
|
|||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !iop->pathinfo.ops->node_type ) {
|
if ( !iop->pathinfo.ops->node_type_h ) {
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*iop->pathinfo.ops->node_type)( &iop->pathinfo ) !=
|
if ( (*iop->pathinfo.ops->node_type_h)( &iop->pathinfo ) !=
|
||||||
RTEMS_FILESYSTEM_DIRECTORY ) {
|
RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,9 +36,9 @@ int fchmod(
|
|||||||
|
|
||||||
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
||||||
|
|
||||||
if ( !iop->handlers->fchmod )
|
if ( !iop->handlers->fchmod_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->pathinfo.handlers->fchmod)( &iop->pathinfo, mode );
|
return (*iop->pathinfo.handlers->fchmod_h)( &iop->pathinfo, mode );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -132,8 +132,8 @@ int fcntl(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
if (iop->handlers->fcntl) {
|
if (iop->handlers->fcntl_h) {
|
||||||
int err = (*iop->handlers->fcntl)( cmd, iop );
|
int err = (*iop->handlers->fcntl_h)( cmd, iop );
|
||||||
if (err) {
|
if (err) {
|
||||||
errno = err;
|
errno = err;
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ int fdatasync(
|
|||||||
* Now process the fdatasync().
|
* Now process the fdatasync().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->fdatasync )
|
if ( !iop->handlers->fdatasync_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->fdatasync)( iop );
|
return (*iop->handlers->fdatasync_h)( iop );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ int fstat(
|
|||||||
if ( !iop->handlers )
|
if ( !iop->handlers )
|
||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
|
|
||||||
if ( !iop->handlers->fstat )
|
if ( !iop->handlers->fstat_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -51,7 +51,7 @@ int fstat(
|
|||||||
*/
|
*/
|
||||||
memset( sbuf, 0, sizeof(struct stat) );
|
memset( sbuf, 0, sizeof(struct stat) );
|
||||||
|
|
||||||
return (*iop->handlers->fstat)( &iop->pathinfo, sbuf );
|
return (*iop->handlers->fstat_h)( &iop->pathinfo, sbuf );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ int fsync(
|
|||||||
if ( !iop->handlers )
|
if ( !iop->handlers )
|
||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
|
|
||||||
if ( !iop->handlers->fsync )
|
if ( !iop->handlers->fsync_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->fsync)( iop );
|
return (*iop->handlers->fsync_h)( iop );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,17 +37,17 @@ int ftruncate(
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
loc = iop->pathinfo;
|
loc = iop->pathinfo;
|
||||||
if ( !loc.ops->node_type )
|
if ( !loc.ops->node_type_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY )
|
if ( (*loc.ops->node_type_h)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY )
|
||||||
set_errno_and_return_minus_one( EISDIR );
|
set_errno_and_return_minus_one( EISDIR );
|
||||||
|
|
||||||
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
||||||
|
|
||||||
if ( !iop->handlers->ftruncate )
|
if ( !iop->handlers->ftruncate_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->ftruncate)( iop, length );
|
return (*iop->handlers->ftruncate_h)( iop, length );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,10 +40,10 @@ int getdents(
|
|||||||
* Make sure we are working on a directory
|
* Make sure we are working on a directory
|
||||||
*/
|
*/
|
||||||
loc = iop->pathinfo;
|
loc = iop->pathinfo;
|
||||||
if ( !loc.ops->node_type )
|
if ( !loc.ops->node_type_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY )
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY )
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -51,8 +51,8 @@ int getdents(
|
|||||||
* of the read attempt.
|
* of the read attempt.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->read )
|
if ( !iop->handlers->read_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->read)( iop, dd_buf, dd_len );
|
return (*iop->handlers->read_h)( iop, dd_buf, dd_len );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,10 +44,10 @@ int ioctl(
|
|||||||
if ( !iop->handlers )
|
if ( !iop->handlers )
|
||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
|
|
||||||
if ( !iop->handlers->ioctl )
|
if ( !iop->handlers->ioctl_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
rc = (*iop->handlers->ioctl)( iop, command, buffer );
|
rc = (*iop->handlers->ioctl_h)( iop, command, buffer );
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,13 +42,13 @@ int link(
|
|||||||
|
|
||||||
rtems_filesystem_get_start_loc( new, &i, &parent_loc );
|
rtems_filesystem_get_start_loc( new, &i, &parent_loc );
|
||||||
|
|
||||||
if ( !parent_loc.ops->evalformake ) {
|
if ( !parent_loc.ops->evalformake_h ) {
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*parent_loc.ops->evalformake)( &new[i], &parent_loc, &name_start );
|
result = (*parent_loc.ops->evalformake_h)( &new[i], &parent_loc, &name_start );
|
||||||
if ( result != 0 ) {
|
if ( result != 0 ) {
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
@@ -66,13 +66,13 @@ int link(
|
|||||||
set_errno_and_return_minus_one( EXDEV );
|
set_errno_and_return_minus_one( EXDEV );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !parent_loc.ops->link ) {
|
if ( !parent_loc.ops->link_h ) {
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*parent_loc.ops->link)( &existing_loc, &parent_loc, name_start );
|
result = (*parent_loc.ops->link_h)( &existing_loc, &parent_loc, name_start );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
|
|||||||
@@ -49,10 +49,10 @@ off_t lseek(
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !iop->handlers->lseek )
|
if ( !iop->handlers->lseek_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->lseek)( iop, offset, whence );
|
return (*iop->handlers->lseek_h)( iop, offset, whence );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -43,12 +43,12 @@ int mknod(
|
|||||||
|
|
||||||
rtems_filesystem_get_start_loc( pathname, &i, &temp_loc );
|
rtems_filesystem_get_start_loc( pathname, &i, &temp_loc );
|
||||||
|
|
||||||
if ( !temp_loc.ops->evalformake ) {
|
if ( !temp_loc.ops->evalformake_h ) {
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*temp_loc.ops->evalformake)(
|
result = (*temp_loc.ops->evalformake_h)(
|
||||||
&pathname[i],
|
&pathname[i],
|
||||||
&temp_loc,
|
&temp_loc,
|
||||||
&name_start
|
&name_start
|
||||||
@@ -56,12 +56,12 @@ int mknod(
|
|||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !temp_loc.ops->mknod ) {
|
if ( !temp_loc.ops->mknod_h ) {
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*temp_loc.ops->mknod)( name_start, mode, dev, &temp_loc );
|
result = (*temp_loc.ops->mknod_h)( name_start, mode, dev, &temp_loc );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
|
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ int mount(
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
loc_to_free = &loc;
|
loc_to_free = &loc;
|
||||||
if ( loc.ops->node_type( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
if ( loc.ops->node_type_h( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
errno = ENOTDIR;
|
errno = ENOTDIR;
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
@@ -183,12 +183,12 @@ int mount(
|
|||||||
* below the base file system
|
* below the base file system
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.ops->mount ){
|
if ( !loc.ops->mount_h ){
|
||||||
errno = ENOTSUP;
|
errno = ENOTSUP;
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( loc.ops->mount( temp_mt_entry ) ) {
|
if ( loc.ops->mount_h( temp_mt_entry ) ) {
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -209,12 +209,12 @@ int mount(
|
|||||||
temp_mt_entry->mt_point_node.mt_entry = NULL;
|
temp_mt_entry->mt_point_node.mt_entry = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !fs_ops->fsmount_me ) {
|
if ( !fs_ops->fsmount_me_h ) {
|
||||||
errno = ENOTSUP;
|
errno = ENOTSUP;
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( fs_ops->fsmount_me( temp_mt_entry ) )
|
if ( fs_ops->fsmount_me_h( temp_mt_entry ) )
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -148,12 +148,12 @@ int open(
|
|||||||
iop->flags |= rtems_libio_fcntl_flags( flags );
|
iop->flags |= rtems_libio_fcntl_flags( flags );
|
||||||
iop->pathinfo = loc;
|
iop->pathinfo = loc;
|
||||||
|
|
||||||
if ( !iop->handlers->open ) {
|
if ( !iop->handlers->open_h ) {
|
||||||
rc = ENOTSUP;
|
rc = ENOTSUP;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = (*iop->handlers->open)( iop, pathname, flags, mode );
|
rc = (*iop->handlers->open_h)( iop, pathname, flags, mode );
|
||||||
if ( rc )
|
if ( rc )
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ ssize_t read(
|
|||||||
* Now process the read().
|
* Now process the read().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->read )
|
if ( !iop->handlers->read_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
rc = (*iop->handlers->read)( iop, buffer, count );
|
rc = (*iop->handlers->read_h)( iop, buffer, count );
|
||||||
|
|
||||||
if ( rc > 0 )
|
if ( rc > 0 )
|
||||||
iop->offset += rc;
|
iop->offset += rc;
|
||||||
|
|||||||
@@ -29,22 +29,22 @@ int readlink(
|
|||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->node_type ){
|
if ( !loc.ops->node_type_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_SYM_LINK ){
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_SYM_LINK ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( EINVAL );
|
set_errno_and_return_minus_one( EINVAL );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !loc.ops->readlink ){
|
if ( !loc.ops->readlink_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->readlink)( &loc, buf, bufsize );
|
result = (*loc.ops->readlink_h)( &loc, buf, bufsize );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -38,12 +38,12 @@ int rmdir(
|
|||||||
* Verify you can remove this node as a directory.
|
* Verify you can remove this node as a directory.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.ops->node_type ){
|
if ( !loc.ops->node_type_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ){
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
}
|
}
|
||||||
@@ -52,12 +52,12 @@ int rmdir(
|
|||||||
* Use the filesystems rmnod to remove the node.
|
* Use the filesystems rmnod to remove the node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.handlers->rmnod ){
|
if ( !loc.handlers->rmnod_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.handlers->rmnod)( &loc );
|
result = (*loc.handlers->rmnod_h)( &loc );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ int _STAT_NAME(
|
|||||||
if ( status != 0 )
|
if ( status != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.handlers->fstat ){
|
if ( !loc.handlers->fstat_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
@@ -69,7 +69,7 @@ int _STAT_NAME(
|
|||||||
|
|
||||||
memset( buf, 0, sizeof(struct stat) );
|
memset( buf, 0, sizeof(struct stat) );
|
||||||
|
|
||||||
status = (*loc.handlers->fstat)( &loc, buf );
|
status = (*loc.handlers->fstat_h)( &loc, buf );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -24,16 +24,16 @@ int symlink(
|
|||||||
int result;
|
int result;
|
||||||
|
|
||||||
rtems_filesystem_get_start_loc( sympath, &i, &loc );
|
rtems_filesystem_get_start_loc( sympath, &i, &loc );
|
||||||
result = (*loc.ops->evalformake)( &sympath[i], &loc, &name_start );
|
result = (*loc.ops->evalformake_h)( &sympath[i], &loc, &name_start );
|
||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->symlink ) {
|
if ( !loc.ops->symlink_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->symlink)( &loc, actualpath, name_start);
|
result = (*loc.ops->symlink_h)( &loc, actualpath, name_start);
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -30,22 +30,22 @@ int unlink(
|
|||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->node_type ) {
|
if ( !loc.ops->node_type_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY ) {
|
if ( (*loc.ops->node_type_h)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( EISDIR );
|
set_errno_and_return_minus_one( EISDIR );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !loc.ops->unlink ) {
|
if ( !loc.ops->unlink_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->unlink)( &loc );
|
result = (*loc.ops->unlink_h)( &loc );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ int unmount(
|
|||||||
* XXX I will step off in space when evaluating past the end of the node.
|
* XXX I will step off in space when evaluating past the end of the node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ((temp_mt_entry.mt_point_node.ops->unmount )( temp_loc.mt_entry ) != 0 ) {
|
if ((temp_mt_entry.mt_point_node.ops->unmount_h )( temp_loc.mt_entry ) != 0 ) {
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -114,7 +114,7 @@ int unmount(
|
|||||||
* Run the unmount function for the subordinate file system.
|
* Run the unmount function for the subordinate file system.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ((temp_mt_entry.mt_fs_root.ops->fsunmount_me )( temp_loc.mt_entry ) != 0){
|
if ((temp_mt_entry.mt_fs_root.ops->fsunmount_me_h )( temp_loc.mt_entry ) != 0){
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,10 +28,10 @@ int utime(
|
|||||||
if ( rtems_filesystem_evaluate_path( path, 0x00, &temp_loc, TRUE ) )
|
if ( rtems_filesystem_evaluate_path( path, 0x00, &temp_loc, TRUE ) )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !temp_loc.ops->utime )
|
if ( !temp_loc.ops->utime_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
result = (*temp_loc.ops->utime)( &temp_loc, times->actime, times->modtime );
|
result = (*temp_loc.ops->utime_h)( &temp_loc, times->actime, times->modtime );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
|
|
||||||
|
|||||||
@@ -41,10 +41,10 @@ ssize_t write(
|
|||||||
* Now process the write() request.
|
* Now process the write() request.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->write )
|
if ( !iop->handlers->write_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
rc = (*iop->handlers->write)( iop, buffer, count );
|
rc = (*iop->handlers->write_h)( iop, buffer, count );
|
||||||
|
|
||||||
if ( rc > 0 )
|
if ( rc > 0 )
|
||||||
iop->offset += rc;
|
iop->offset += rc;
|
||||||
|
|||||||
@@ -333,7 +333,7 @@ int IMFS_evaluate_for_make(
|
|||||||
} else {
|
} else {
|
||||||
newloc = pathloc->mt_entry->mt_point_node;
|
newloc = pathloc->mt_entry->mt_point_node;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalformake)( &path[i-len], pathloc, name );
|
return (*pathloc->ops->evalformake_h)( &path[i-len], pathloc, name );
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@@ -381,7 +381,7 @@ int IMFS_evaluate_for_make(
|
|||||||
if ( node->info.directory.mt_fs != NULL ) {
|
if ( node->info.directory.mt_fs != NULL ) {
|
||||||
newloc = node->info.directory.mt_fs->mt_fs_root;
|
newloc = node->info.directory.mt_fs->mt_fs_root;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalformake)( &path[i-len], pathloc, name );
|
return (*pathloc->ops->evalformake_h)( &path[i-len], pathloc, name );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -526,7 +526,7 @@ int IMFS_eval_path(
|
|||||||
} else {
|
} else {
|
||||||
newloc = pathloc->mt_entry->mt_point_node;
|
newloc = pathloc->mt_entry->mt_point_node;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalpath)(&(pathname[i-len]),flags,pathloc);
|
return (*pathloc->ops->evalpath_h)(&(pathname[i-len]),flags,pathloc);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@@ -578,7 +578,7 @@ int IMFS_eval_path(
|
|||||||
if ( node->info.directory.mt_fs != NULL ) {
|
if ( node->info.directory.mt_fs != NULL ) {
|
||||||
newloc = node->info.directory.mt_fs->mt_fs_root;
|
newloc = node->info.directory.mt_fs->mt_fs_root;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalpath)( &pathname[i-len], flags, pathloc );
|
return (*pathloc->ops->evalpath_h)( &pathname[i-len], flags, pathloc );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ int IMFS_unlink(
|
|||||||
{
|
{
|
||||||
IMFS_jnode_t *node;
|
IMFS_jnode_t *node;
|
||||||
rtems_filesystem_location_info_t the_link;
|
rtems_filesystem_location_info_t the_link;
|
||||||
int result;
|
int result = 0;
|
||||||
|
|
||||||
node = loc->node_access;
|
node = loc->node_access;
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ int IMFS_unlink(
|
|||||||
node->info.hard_link.link_node->st_nlink --;
|
node->info.hard_link.link_node->st_nlink --;
|
||||||
IMFS_update_ctime( node->info.hard_link.link_node );
|
IMFS_update_ctime( node->info.hard_link.link_node );
|
||||||
if ( node->info.hard_link.link_node->st_nlink < 1) {
|
if ( node->info.hard_link.link_node->st_nlink < 1) {
|
||||||
result = (*the_link.handlers->rmnod)( &the_link );
|
result = (*the_link.handlers->rmnod_h)( &the_link );
|
||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -66,7 +66,7 @@ int IMFS_unlink(
|
|||||||
* Now actually free the node we were asked to free.
|
* Now actually free the node we were asked to free.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
result = (*loc->handlers->rmnod)( loc );
|
result = (*loc->handlers->rmnod_h)( loc );
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,12 +80,12 @@ rtems_status_code rtems_io_lookup_name(
|
|||||||
result = rtems_filesystem_evaluate_path( name, 0x00, &loc, TRUE );
|
result = rtems_filesystem_evaluate_path( name, 0x00, &loc, TRUE );
|
||||||
the_jnode = loc.node_access;
|
the_jnode = loc.node_access;
|
||||||
|
|
||||||
if ( !loc.ops->node_type ) {
|
if ( !loc.ops->node_type_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
node_type = (*loc.ops->node_type)( &loc );
|
node_type = (*loc.ops->node_type_h)( &loc );
|
||||||
|
|
||||||
if ( (result != 0) || node_type != RTEMS_FILESYSTEM_DEVICE ) {
|
if ( (result != 0) || node_type != RTEMS_FILESYSTEM_DEVICE ) {
|
||||||
*device_info = 0;
|
*device_info = 0;
|
||||||
|
|||||||
@@ -1,4 +1,19 @@
|
|||||||
|
|
||||||
|
2000-09-28 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
|
* libc/libio.h (rtems_filesystem_file_handlers_r,
|
||||||
|
rtems_filesystem_operations_table): Added _h to all structure
|
||||||
|
fields to indicate they are "handlers".
|
||||||
|
* libc/libio_.h, libc/chdir.c, libc/chmod.c, libc/chown.c,
|
||||||
|
libc/close.c, libc/eval.c, libc/fchdir.c, libc/fchmod.c,
|
||||||
|
libc/fcntl.c, libc/fdatasync.c, libc/fstat.c, libc/fsync.c,
|
||||||
|
libc/ftruncate.c, libc/getdents.c, libc/imfs_eval.c,
|
||||||
|
libc/imfs_unlink.c, libc/ioctl.c, libc/ioman.c, libc/link.c,
|
||||||
|
libc/lseek.c, libc/mknod.c, libc/mount.c, libc/open.c, libc/read.c,
|
||||||
|
libc/readlink.c, libc/rmdir.c, libc/stat.c, libc/symlink.c,
|
||||||
|
libc/unlink.c, libc/unmount.c, libc/utime.c, libc/write.c:
|
||||||
|
Modified to reflect above name change.
|
||||||
|
|
||||||
2000-09-22 Joel Sherrill <joel@OARcorp.com>
|
2000-09-22 Joel Sherrill <joel@OARcorp.com>
|
||||||
|
|
||||||
* libc/newlibc.c: Removed _A29K specific ifdef.
|
* libc/newlibc.c: Removed _A29K specific ifdef.
|
||||||
|
|||||||
@@ -126,20 +126,20 @@ typedef int (*rtems_filesystem_rmnod_t)(
|
|||||||
);
|
);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rtems_filesystem_open_t open;
|
rtems_filesystem_open_t open_h;
|
||||||
rtems_filesystem_close_t close;
|
rtems_filesystem_close_t close_h;
|
||||||
rtems_filesystem_read_t read;
|
rtems_filesystem_read_t read_h;
|
||||||
rtems_filesystem_write_t write;
|
rtems_filesystem_write_t write_h;
|
||||||
rtems_filesystem_ioctl_t ioctl;
|
rtems_filesystem_ioctl_t ioctl_h;
|
||||||
rtems_filesystem_lseek_t lseek;
|
rtems_filesystem_lseek_t lseek_h;
|
||||||
rtems_filesystem_fstat_t fstat;
|
rtems_filesystem_fstat_t fstat_h;
|
||||||
rtems_filesystem_fchmod_t fchmod;
|
rtems_filesystem_fchmod_t fchmod_h;
|
||||||
rtems_filesystem_ftruncate_t ftruncate;
|
rtems_filesystem_ftruncate_t ftruncate_h;
|
||||||
rtems_filesystem_fpathconf_t fpathconf;
|
rtems_filesystem_fpathconf_t fpathconf_h;
|
||||||
rtems_filesystem_fsync_t fsync;
|
rtems_filesystem_fsync_t fsync_h;
|
||||||
rtems_filesystem_fdatasync_t fdatasync;
|
rtems_filesystem_fdatasync_t fdatasync_h;
|
||||||
rtems_filesystem_fcntl_t fcntl;
|
rtems_filesystem_fcntl_t fcntl_h;
|
||||||
rtems_filesystem_rmnod_t rmnod;
|
rtems_filesystem_rmnod_t rmnod_h;
|
||||||
} rtems_filesystem_file_handlers_r;
|
} rtems_filesystem_file_handlers_r;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -249,22 +249,22 @@ typedef int (*rtems_filesystem_readlink_t)(
|
|||||||
* File system types
|
* File system types
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rtems_filesystem_evalpath_t evalpath;
|
rtems_filesystem_evalpath_t evalpath_h;
|
||||||
rtems_filesystem_evalmake_t evalformake;
|
rtems_filesystem_evalmake_t evalformake_h;
|
||||||
rtems_filesystem_link_t link;
|
rtems_filesystem_link_t link_h;
|
||||||
rtems_filesystem_unlink_t unlink;
|
rtems_filesystem_unlink_t unlink_h;
|
||||||
rtems_filesystem_node_type_t node_type;
|
rtems_filesystem_node_type_t node_type_h;
|
||||||
rtems_filesystem_mknod_t mknod;
|
rtems_filesystem_mknod_t mknod_h;
|
||||||
rtems_filesystem_chown_t chown;
|
rtems_filesystem_chown_t chown_h;
|
||||||
rtems_filesystem_freenode_t freenod;
|
rtems_filesystem_freenode_t freenod_h;
|
||||||
rtems_filesystem_mount_t mount;
|
rtems_filesystem_mount_t mount_h;
|
||||||
rtems_filesystem_fsmount_me_t fsmount_me;
|
rtems_filesystem_fsmount_me_t fsmount_me_h;
|
||||||
rtems_filesystem_unmount_t unmount;
|
rtems_filesystem_unmount_t unmount_h;
|
||||||
rtems_filesystem_fsunmount_me_t fsunmount_me;
|
rtems_filesystem_fsunmount_me_t fsunmount_me_h;
|
||||||
rtems_filesystem_utime_t utime;
|
rtems_filesystem_utime_t utime_h;
|
||||||
rtems_filesystem_evaluate_link_t eval_link;
|
rtems_filesystem_evaluate_link_t eval_link_h;
|
||||||
rtems_filesystem_symlink_t symlink;
|
rtems_filesystem_symlink_t symlink_h;
|
||||||
rtems_filesystem_readlink_t readlink;
|
rtems_filesystem_readlink_t readlink_h;
|
||||||
} rtems_filesystem_operations_table;
|
} rtems_filesystem_operations_table;
|
||||||
|
|
||||||
#define IMFS_FILE_SYSTEM IMFS_ops
|
#define IMFS_FILE_SYSTEM IMFS_ops
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ extern mode_t rtems_filesystem_umask;
|
|||||||
|
|
||||||
#define rtems_filesystem_freenode( _node ) \
|
#define rtems_filesystem_freenode( _node ) \
|
||||||
do { \
|
do { \
|
||||||
if ( (_node)->ops->freenod ) \
|
if ( (_node)->ops->freenod_h ) \
|
||||||
(*(_node)->ops->freenod)( (_node) ); \
|
(*(_node)->ops->freenod_h)( (_node) ); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -37,12 +37,12 @@ int chdir(
|
|||||||
* Verify you can change directory into this node.
|
* Verify you can change directory into this node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.ops->node_type ) {
|
if ( !loc.ops->node_type_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,12 +38,12 @@ int chmod(
|
|||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !loc.handlers->fchmod ){
|
if ( !loc.handlers->fchmod_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.handlers->fchmod)( &loc, mode );
|
result = (*loc.handlers->fchmod_h)( &loc, mode );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -31,12 +31,12 @@ int chown(
|
|||||||
if ( rtems_filesystem_evaluate_path( path, 0x00, &loc, TRUE ) )
|
if ( rtems_filesystem_evaluate_path( path, 0x00, &loc, TRUE ) )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->chown ) {
|
if ( !loc.ops->chown_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->chown)( &loc, owner, group );
|
result = (*loc.ops->chown_h)( &loc, owner, group );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ int close(
|
|||||||
rtems_libio_check_is_open(iop);
|
rtems_libio_check_is_open(iop);
|
||||||
|
|
||||||
rc = RTEMS_SUCCESSFUL;
|
rc = RTEMS_SUCCESSFUL;
|
||||||
if ( iop->handlers->close )
|
if ( iop->handlers->close_h )
|
||||||
rc = (*iop->handlers->close)( iop );
|
rc = (*iop->handlers->close_h)( iop );
|
||||||
|
|
||||||
rtems_libio_free( iop );
|
rtems_libio_free( iop );
|
||||||
|
|
||||||
|
|||||||
@@ -43,10 +43,10 @@ int rtems_filesystem_evaluate_path(
|
|||||||
|
|
||||||
rtems_filesystem_get_start_loc( pathname, &i, pathloc );
|
rtems_filesystem_get_start_loc( pathname, &i, pathloc );
|
||||||
|
|
||||||
if ( !pathloc->ops->evalpath )
|
if ( !pathloc->ops->evalpath_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
result = (*pathloc->ops->evalpath)( &pathname[i], flags, pathloc );
|
result = (*pathloc->ops->evalpath_h)( &pathname[i], flags, pathloc );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the Node type and determine if you need to follow the link or
|
* Get the Node type and determine if you need to follow the link or
|
||||||
@@ -55,18 +55,18 @@ int rtems_filesystem_evaluate_path(
|
|||||||
|
|
||||||
if ( (result == 0) && follow_link ) {
|
if ( (result == 0) && follow_link ) {
|
||||||
|
|
||||||
if ( !pathloc->ops->node_type )
|
if ( !pathloc->ops->node_type_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
type = (*pathloc->ops->node_type)( pathloc );
|
type = (*pathloc->ops->node_type_h)( pathloc );
|
||||||
|
|
||||||
if ( ( type == RTEMS_FILESYSTEM_HARD_LINK ) ||
|
if ( ( type == RTEMS_FILESYSTEM_HARD_LINK ) ||
|
||||||
( type == RTEMS_FILESYSTEM_SYM_LINK ) ) {
|
( type == RTEMS_FILESYSTEM_SYM_LINK ) ) {
|
||||||
|
|
||||||
if ( !pathloc->ops->eval_link )
|
if ( !pathloc->ops->eval_link_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
result = (*pathloc->ops->eval_link)( pathloc, flags );
|
result = (*pathloc->ops->eval_link_h)( pathloc, flags );
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,11 +43,11 @@ int fchdir(
|
|||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !iop->pathinfo.ops->node_type ) {
|
if ( !iop->pathinfo.ops->node_type_h ) {
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*iop->pathinfo.ops->node_type)( &iop->pathinfo ) !=
|
if ( (*iop->pathinfo.ops->node_type_h)( &iop->pathinfo ) !=
|
||||||
RTEMS_FILESYSTEM_DIRECTORY ) {
|
RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,9 +36,9 @@ int fchmod(
|
|||||||
|
|
||||||
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
||||||
|
|
||||||
if ( !iop->handlers->fchmod )
|
if ( !iop->handlers->fchmod_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->pathinfo.handlers->fchmod)( &iop->pathinfo, mode );
|
return (*iop->pathinfo.handlers->fchmod_h)( &iop->pathinfo, mode );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -132,8 +132,8 @@ int fcntl(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
if (iop->handlers->fcntl) {
|
if (iop->handlers->fcntl_h) {
|
||||||
int err = (*iop->handlers->fcntl)( cmd, iop );
|
int err = (*iop->handlers->fcntl_h)( cmd, iop );
|
||||||
if (err) {
|
if (err) {
|
||||||
errno = err;
|
errno = err;
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ int fdatasync(
|
|||||||
* Now process the fdatasync().
|
* Now process the fdatasync().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->fdatasync )
|
if ( !iop->handlers->fdatasync_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->fdatasync)( iop );
|
return (*iop->handlers->fdatasync_h)( iop );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ int fstat(
|
|||||||
if ( !iop->handlers )
|
if ( !iop->handlers )
|
||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
|
|
||||||
if ( !iop->handlers->fstat )
|
if ( !iop->handlers->fstat_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -51,7 +51,7 @@ int fstat(
|
|||||||
*/
|
*/
|
||||||
memset( sbuf, 0, sizeof(struct stat) );
|
memset( sbuf, 0, sizeof(struct stat) );
|
||||||
|
|
||||||
return (*iop->handlers->fstat)( &iop->pathinfo, sbuf );
|
return (*iop->handlers->fstat_h)( &iop->pathinfo, sbuf );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ int fsync(
|
|||||||
if ( !iop->handlers )
|
if ( !iop->handlers )
|
||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
|
|
||||||
if ( !iop->handlers->fsync )
|
if ( !iop->handlers->fsync_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->fsync)( iop );
|
return (*iop->handlers->fsync_h)( iop );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,17 +37,17 @@ int ftruncate(
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
loc = iop->pathinfo;
|
loc = iop->pathinfo;
|
||||||
if ( !loc.ops->node_type )
|
if ( !loc.ops->node_type_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY )
|
if ( (*loc.ops->node_type_h)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY )
|
||||||
set_errno_and_return_minus_one( EISDIR );
|
set_errno_and_return_minus_one( EISDIR );
|
||||||
|
|
||||||
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
||||||
|
|
||||||
if ( !iop->handlers->ftruncate )
|
if ( !iop->handlers->ftruncate_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->ftruncate)( iop, length );
|
return (*iop->handlers->ftruncate_h)( iop, length );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,10 +40,10 @@ int getdents(
|
|||||||
* Make sure we are working on a directory
|
* Make sure we are working on a directory
|
||||||
*/
|
*/
|
||||||
loc = iop->pathinfo;
|
loc = iop->pathinfo;
|
||||||
if ( !loc.ops->node_type )
|
if ( !loc.ops->node_type_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY )
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY )
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -51,8 +51,8 @@ int getdents(
|
|||||||
* of the read attempt.
|
* of the read attempt.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->read )
|
if ( !iop->handlers->read_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->read)( iop, dd_buf, dd_len );
|
return (*iop->handlers->read_h)( iop, dd_buf, dd_len );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -333,7 +333,7 @@ int IMFS_evaluate_for_make(
|
|||||||
} else {
|
} else {
|
||||||
newloc = pathloc->mt_entry->mt_point_node;
|
newloc = pathloc->mt_entry->mt_point_node;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalformake)( &path[i-len], pathloc, name );
|
return (*pathloc->ops->evalformake_h)( &path[i-len], pathloc, name );
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@@ -381,7 +381,7 @@ int IMFS_evaluate_for_make(
|
|||||||
if ( node->info.directory.mt_fs != NULL ) {
|
if ( node->info.directory.mt_fs != NULL ) {
|
||||||
newloc = node->info.directory.mt_fs->mt_fs_root;
|
newloc = node->info.directory.mt_fs->mt_fs_root;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalformake)( &path[i-len], pathloc, name );
|
return (*pathloc->ops->evalformake_h)( &path[i-len], pathloc, name );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -526,7 +526,7 @@ int IMFS_eval_path(
|
|||||||
} else {
|
} else {
|
||||||
newloc = pathloc->mt_entry->mt_point_node;
|
newloc = pathloc->mt_entry->mt_point_node;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalpath)(&(pathname[i-len]),flags,pathloc);
|
return (*pathloc->ops->evalpath_h)(&(pathname[i-len]),flags,pathloc);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@@ -578,7 +578,7 @@ int IMFS_eval_path(
|
|||||||
if ( node->info.directory.mt_fs != NULL ) {
|
if ( node->info.directory.mt_fs != NULL ) {
|
||||||
newloc = node->info.directory.mt_fs->mt_fs_root;
|
newloc = node->info.directory.mt_fs->mt_fs_root;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalpath)( &pathname[i-len], flags, pathloc );
|
return (*pathloc->ops->evalpath_h)( &pathname[i-len], flags, pathloc );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ int IMFS_unlink(
|
|||||||
{
|
{
|
||||||
IMFS_jnode_t *node;
|
IMFS_jnode_t *node;
|
||||||
rtems_filesystem_location_info_t the_link;
|
rtems_filesystem_location_info_t the_link;
|
||||||
int result;
|
int result = 0;
|
||||||
|
|
||||||
node = loc->node_access;
|
node = loc->node_access;
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ int IMFS_unlink(
|
|||||||
node->info.hard_link.link_node->st_nlink --;
|
node->info.hard_link.link_node->st_nlink --;
|
||||||
IMFS_update_ctime( node->info.hard_link.link_node );
|
IMFS_update_ctime( node->info.hard_link.link_node );
|
||||||
if ( node->info.hard_link.link_node->st_nlink < 1) {
|
if ( node->info.hard_link.link_node->st_nlink < 1) {
|
||||||
result = (*the_link.handlers->rmnod)( &the_link );
|
result = (*the_link.handlers->rmnod_h)( &the_link );
|
||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -66,7 +66,7 @@ int IMFS_unlink(
|
|||||||
* Now actually free the node we were asked to free.
|
* Now actually free the node we were asked to free.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
result = (*loc->handlers->rmnod)( loc );
|
result = (*loc->handlers->rmnod_h)( loc );
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,10 +44,10 @@ int ioctl(
|
|||||||
if ( !iop->handlers )
|
if ( !iop->handlers )
|
||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
|
|
||||||
if ( !iop->handlers->ioctl )
|
if ( !iop->handlers->ioctl_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
rc = (*iop->handlers->ioctl)( iop, command, buffer );
|
rc = (*iop->handlers->ioctl_h)( iop, command, buffer );
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,12 +80,12 @@ rtems_status_code rtems_io_lookup_name(
|
|||||||
result = rtems_filesystem_evaluate_path( name, 0x00, &loc, TRUE );
|
result = rtems_filesystem_evaluate_path( name, 0x00, &loc, TRUE );
|
||||||
the_jnode = loc.node_access;
|
the_jnode = loc.node_access;
|
||||||
|
|
||||||
if ( !loc.ops->node_type ) {
|
if ( !loc.ops->node_type_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
node_type = (*loc.ops->node_type)( &loc );
|
node_type = (*loc.ops->node_type_h)( &loc );
|
||||||
|
|
||||||
if ( (result != 0) || node_type != RTEMS_FILESYSTEM_DEVICE ) {
|
if ( (result != 0) || node_type != RTEMS_FILESYSTEM_DEVICE ) {
|
||||||
*device_info = 0;
|
*device_info = 0;
|
||||||
|
|||||||
@@ -126,20 +126,20 @@ typedef int (*rtems_filesystem_rmnod_t)(
|
|||||||
);
|
);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rtems_filesystem_open_t open;
|
rtems_filesystem_open_t open_h;
|
||||||
rtems_filesystem_close_t close;
|
rtems_filesystem_close_t close_h;
|
||||||
rtems_filesystem_read_t read;
|
rtems_filesystem_read_t read_h;
|
||||||
rtems_filesystem_write_t write;
|
rtems_filesystem_write_t write_h;
|
||||||
rtems_filesystem_ioctl_t ioctl;
|
rtems_filesystem_ioctl_t ioctl_h;
|
||||||
rtems_filesystem_lseek_t lseek;
|
rtems_filesystem_lseek_t lseek_h;
|
||||||
rtems_filesystem_fstat_t fstat;
|
rtems_filesystem_fstat_t fstat_h;
|
||||||
rtems_filesystem_fchmod_t fchmod;
|
rtems_filesystem_fchmod_t fchmod_h;
|
||||||
rtems_filesystem_ftruncate_t ftruncate;
|
rtems_filesystem_ftruncate_t ftruncate_h;
|
||||||
rtems_filesystem_fpathconf_t fpathconf;
|
rtems_filesystem_fpathconf_t fpathconf_h;
|
||||||
rtems_filesystem_fsync_t fsync;
|
rtems_filesystem_fsync_t fsync_h;
|
||||||
rtems_filesystem_fdatasync_t fdatasync;
|
rtems_filesystem_fdatasync_t fdatasync_h;
|
||||||
rtems_filesystem_fcntl_t fcntl;
|
rtems_filesystem_fcntl_t fcntl_h;
|
||||||
rtems_filesystem_rmnod_t rmnod;
|
rtems_filesystem_rmnod_t rmnod_h;
|
||||||
} rtems_filesystem_file_handlers_r;
|
} rtems_filesystem_file_handlers_r;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -249,22 +249,22 @@ typedef int (*rtems_filesystem_readlink_t)(
|
|||||||
* File system types
|
* File system types
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rtems_filesystem_evalpath_t evalpath;
|
rtems_filesystem_evalpath_t evalpath_h;
|
||||||
rtems_filesystem_evalmake_t evalformake;
|
rtems_filesystem_evalmake_t evalformake_h;
|
||||||
rtems_filesystem_link_t link;
|
rtems_filesystem_link_t link_h;
|
||||||
rtems_filesystem_unlink_t unlink;
|
rtems_filesystem_unlink_t unlink_h;
|
||||||
rtems_filesystem_node_type_t node_type;
|
rtems_filesystem_node_type_t node_type_h;
|
||||||
rtems_filesystem_mknod_t mknod;
|
rtems_filesystem_mknod_t mknod_h;
|
||||||
rtems_filesystem_chown_t chown;
|
rtems_filesystem_chown_t chown_h;
|
||||||
rtems_filesystem_freenode_t freenod;
|
rtems_filesystem_freenode_t freenod_h;
|
||||||
rtems_filesystem_mount_t mount;
|
rtems_filesystem_mount_t mount_h;
|
||||||
rtems_filesystem_fsmount_me_t fsmount_me;
|
rtems_filesystem_fsmount_me_t fsmount_me_h;
|
||||||
rtems_filesystem_unmount_t unmount;
|
rtems_filesystem_unmount_t unmount_h;
|
||||||
rtems_filesystem_fsunmount_me_t fsunmount_me;
|
rtems_filesystem_fsunmount_me_t fsunmount_me_h;
|
||||||
rtems_filesystem_utime_t utime;
|
rtems_filesystem_utime_t utime_h;
|
||||||
rtems_filesystem_evaluate_link_t eval_link;
|
rtems_filesystem_evaluate_link_t eval_link_h;
|
||||||
rtems_filesystem_symlink_t symlink;
|
rtems_filesystem_symlink_t symlink_h;
|
||||||
rtems_filesystem_readlink_t readlink;
|
rtems_filesystem_readlink_t readlink_h;
|
||||||
} rtems_filesystem_operations_table;
|
} rtems_filesystem_operations_table;
|
||||||
|
|
||||||
#define IMFS_FILE_SYSTEM IMFS_ops
|
#define IMFS_FILE_SYSTEM IMFS_ops
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ extern mode_t rtems_filesystem_umask;
|
|||||||
|
|
||||||
#define rtems_filesystem_freenode( _node ) \
|
#define rtems_filesystem_freenode( _node ) \
|
||||||
do { \
|
do { \
|
||||||
if ( (_node)->ops->freenod ) \
|
if ( (_node)->ops->freenod_h ) \
|
||||||
(*(_node)->ops->freenod)( (_node) ); \
|
(*(_node)->ops->freenod_h)( (_node) ); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -42,13 +42,13 @@ int link(
|
|||||||
|
|
||||||
rtems_filesystem_get_start_loc( new, &i, &parent_loc );
|
rtems_filesystem_get_start_loc( new, &i, &parent_loc );
|
||||||
|
|
||||||
if ( !parent_loc.ops->evalformake ) {
|
if ( !parent_loc.ops->evalformake_h ) {
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*parent_loc.ops->evalformake)( &new[i], &parent_loc, &name_start );
|
result = (*parent_loc.ops->evalformake_h)( &new[i], &parent_loc, &name_start );
|
||||||
if ( result != 0 ) {
|
if ( result != 0 ) {
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
@@ -66,13 +66,13 @@ int link(
|
|||||||
set_errno_and_return_minus_one( EXDEV );
|
set_errno_and_return_minus_one( EXDEV );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !parent_loc.ops->link ) {
|
if ( !parent_loc.ops->link_h ) {
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*parent_loc.ops->link)( &existing_loc, &parent_loc, name_start );
|
result = (*parent_loc.ops->link_h)( &existing_loc, &parent_loc, name_start );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
|
|||||||
@@ -49,10 +49,10 @@ off_t lseek(
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !iop->handlers->lseek )
|
if ( !iop->handlers->lseek_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->lseek)( iop, offset, whence );
|
return (*iop->handlers->lseek_h)( iop, offset, whence );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -43,12 +43,12 @@ int mknod(
|
|||||||
|
|
||||||
rtems_filesystem_get_start_loc( pathname, &i, &temp_loc );
|
rtems_filesystem_get_start_loc( pathname, &i, &temp_loc );
|
||||||
|
|
||||||
if ( !temp_loc.ops->evalformake ) {
|
if ( !temp_loc.ops->evalformake_h ) {
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*temp_loc.ops->evalformake)(
|
result = (*temp_loc.ops->evalformake_h)(
|
||||||
&pathname[i],
|
&pathname[i],
|
||||||
&temp_loc,
|
&temp_loc,
|
||||||
&name_start
|
&name_start
|
||||||
@@ -56,12 +56,12 @@ int mknod(
|
|||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !temp_loc.ops->mknod ) {
|
if ( !temp_loc.ops->mknod_h ) {
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*temp_loc.ops->mknod)( name_start, mode, dev, &temp_loc );
|
result = (*temp_loc.ops->mknod_h)( name_start, mode, dev, &temp_loc );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
|
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ int mount(
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
loc_to_free = &loc;
|
loc_to_free = &loc;
|
||||||
if ( loc.ops->node_type( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
if ( loc.ops->node_type_h( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
errno = ENOTDIR;
|
errno = ENOTDIR;
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
@@ -183,12 +183,12 @@ int mount(
|
|||||||
* below the base file system
|
* below the base file system
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.ops->mount ){
|
if ( !loc.ops->mount_h ){
|
||||||
errno = ENOTSUP;
|
errno = ENOTSUP;
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( loc.ops->mount( temp_mt_entry ) ) {
|
if ( loc.ops->mount_h( temp_mt_entry ) ) {
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -209,12 +209,12 @@ int mount(
|
|||||||
temp_mt_entry->mt_point_node.mt_entry = NULL;
|
temp_mt_entry->mt_point_node.mt_entry = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !fs_ops->fsmount_me ) {
|
if ( !fs_ops->fsmount_me_h ) {
|
||||||
errno = ENOTSUP;
|
errno = ENOTSUP;
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( fs_ops->fsmount_me( temp_mt_entry ) )
|
if ( fs_ops->fsmount_me_h( temp_mt_entry ) )
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -148,12 +148,12 @@ int open(
|
|||||||
iop->flags |= rtems_libio_fcntl_flags( flags );
|
iop->flags |= rtems_libio_fcntl_flags( flags );
|
||||||
iop->pathinfo = loc;
|
iop->pathinfo = loc;
|
||||||
|
|
||||||
if ( !iop->handlers->open ) {
|
if ( !iop->handlers->open_h ) {
|
||||||
rc = ENOTSUP;
|
rc = ENOTSUP;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = (*iop->handlers->open)( iop, pathname, flags, mode );
|
rc = (*iop->handlers->open_h)( iop, pathname, flags, mode );
|
||||||
if ( rc )
|
if ( rc )
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ ssize_t read(
|
|||||||
* Now process the read().
|
* Now process the read().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->read )
|
if ( !iop->handlers->read_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
rc = (*iop->handlers->read)( iop, buffer, count );
|
rc = (*iop->handlers->read_h)( iop, buffer, count );
|
||||||
|
|
||||||
if ( rc > 0 )
|
if ( rc > 0 )
|
||||||
iop->offset += rc;
|
iop->offset += rc;
|
||||||
|
|||||||
@@ -29,22 +29,22 @@ int readlink(
|
|||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->node_type ){
|
if ( !loc.ops->node_type_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_SYM_LINK ){
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_SYM_LINK ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( EINVAL );
|
set_errno_and_return_minus_one( EINVAL );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !loc.ops->readlink ){
|
if ( !loc.ops->readlink_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->readlink)( &loc, buf, bufsize );
|
result = (*loc.ops->readlink_h)( &loc, buf, bufsize );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -38,12 +38,12 @@ int rmdir(
|
|||||||
* Verify you can remove this node as a directory.
|
* Verify you can remove this node as a directory.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.ops->node_type ){
|
if ( !loc.ops->node_type_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ){
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
}
|
}
|
||||||
@@ -52,12 +52,12 @@ int rmdir(
|
|||||||
* Use the filesystems rmnod to remove the node.
|
* Use the filesystems rmnod to remove the node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.handlers->rmnod ){
|
if ( !loc.handlers->rmnod_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.handlers->rmnod)( &loc );
|
result = (*loc.handlers->rmnod_h)( &loc );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ int _STAT_NAME(
|
|||||||
if ( status != 0 )
|
if ( status != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.handlers->fstat ){
|
if ( !loc.handlers->fstat_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
@@ -69,7 +69,7 @@ int _STAT_NAME(
|
|||||||
|
|
||||||
memset( buf, 0, sizeof(struct stat) );
|
memset( buf, 0, sizeof(struct stat) );
|
||||||
|
|
||||||
status = (*loc.handlers->fstat)( &loc, buf );
|
status = (*loc.handlers->fstat_h)( &loc, buf );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -24,16 +24,16 @@ int symlink(
|
|||||||
int result;
|
int result;
|
||||||
|
|
||||||
rtems_filesystem_get_start_loc( sympath, &i, &loc );
|
rtems_filesystem_get_start_loc( sympath, &i, &loc );
|
||||||
result = (*loc.ops->evalformake)( &sympath[i], &loc, &name_start );
|
result = (*loc.ops->evalformake_h)( &sympath[i], &loc, &name_start );
|
||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->symlink ) {
|
if ( !loc.ops->symlink_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->symlink)( &loc, actualpath, name_start);
|
result = (*loc.ops->symlink_h)( &loc, actualpath, name_start);
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -30,22 +30,22 @@ int unlink(
|
|||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->node_type ) {
|
if ( !loc.ops->node_type_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY ) {
|
if ( (*loc.ops->node_type_h)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( EISDIR );
|
set_errno_and_return_minus_one( EISDIR );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !loc.ops->unlink ) {
|
if ( !loc.ops->unlink_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->unlink)( &loc );
|
result = (*loc.ops->unlink_h)( &loc );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ int unmount(
|
|||||||
* XXX I will step off in space when evaluating past the end of the node.
|
* XXX I will step off in space when evaluating past the end of the node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ((temp_mt_entry.mt_point_node.ops->unmount )( temp_loc.mt_entry ) != 0 ) {
|
if ((temp_mt_entry.mt_point_node.ops->unmount_h )( temp_loc.mt_entry ) != 0 ) {
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -114,7 +114,7 @@ int unmount(
|
|||||||
* Run the unmount function for the subordinate file system.
|
* Run the unmount function for the subordinate file system.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ((temp_mt_entry.mt_fs_root.ops->fsunmount_me )( temp_loc.mt_entry ) != 0){
|
if ((temp_mt_entry.mt_fs_root.ops->fsunmount_me_h )( temp_loc.mt_entry ) != 0){
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,10 +28,10 @@ int utime(
|
|||||||
if ( rtems_filesystem_evaluate_path( path, 0x00, &temp_loc, TRUE ) )
|
if ( rtems_filesystem_evaluate_path( path, 0x00, &temp_loc, TRUE ) )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !temp_loc.ops->utime )
|
if ( !temp_loc.ops->utime_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
result = (*temp_loc.ops->utime)( &temp_loc, times->actime, times->modtime );
|
result = (*temp_loc.ops->utime_h)( &temp_loc, times->actime, times->modtime );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
|
|
||||||
|
|||||||
@@ -41,10 +41,10 @@ ssize_t write(
|
|||||||
* Now process the write() request.
|
* Now process the write() request.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->write )
|
if ( !iop->handlers->write_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
rc = (*iop->handlers->write)( iop, buffer, count );
|
rc = (*iop->handlers->write_h)( iop, buffer, count );
|
||||||
|
|
||||||
if ( rc > 0 )
|
if ( rc > 0 )
|
||||||
iop->offset += rc;
|
iop->offset += rc;
|
||||||
|
|||||||
@@ -333,7 +333,7 @@ int IMFS_evaluate_for_make(
|
|||||||
} else {
|
} else {
|
||||||
newloc = pathloc->mt_entry->mt_point_node;
|
newloc = pathloc->mt_entry->mt_point_node;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalformake)( &path[i-len], pathloc, name );
|
return (*pathloc->ops->evalformake_h)( &path[i-len], pathloc, name );
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@@ -381,7 +381,7 @@ int IMFS_evaluate_for_make(
|
|||||||
if ( node->info.directory.mt_fs != NULL ) {
|
if ( node->info.directory.mt_fs != NULL ) {
|
||||||
newloc = node->info.directory.mt_fs->mt_fs_root;
|
newloc = node->info.directory.mt_fs->mt_fs_root;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalformake)( &path[i-len], pathloc, name );
|
return (*pathloc->ops->evalformake_h)( &path[i-len], pathloc, name );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -526,7 +526,7 @@ int IMFS_eval_path(
|
|||||||
} else {
|
} else {
|
||||||
newloc = pathloc->mt_entry->mt_point_node;
|
newloc = pathloc->mt_entry->mt_point_node;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalpath)(&(pathname[i-len]),flags,pathloc);
|
return (*pathloc->ops->evalpath_h)(&(pathname[i-len]),flags,pathloc);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@@ -578,7 +578,7 @@ int IMFS_eval_path(
|
|||||||
if ( node->info.directory.mt_fs != NULL ) {
|
if ( node->info.directory.mt_fs != NULL ) {
|
||||||
newloc = node->info.directory.mt_fs->mt_fs_root;
|
newloc = node->info.directory.mt_fs->mt_fs_root;
|
||||||
*pathloc = newloc;
|
*pathloc = newloc;
|
||||||
return (*pathloc->ops->evalpath)( &pathname[i-len], flags, pathloc );
|
return (*pathloc->ops->evalpath_h)( &pathname[i-len], flags, pathloc );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ int IMFS_unlink(
|
|||||||
{
|
{
|
||||||
IMFS_jnode_t *node;
|
IMFS_jnode_t *node;
|
||||||
rtems_filesystem_location_info_t the_link;
|
rtems_filesystem_location_info_t the_link;
|
||||||
int result;
|
int result = 0;
|
||||||
|
|
||||||
node = loc->node_access;
|
node = loc->node_access;
|
||||||
|
|
||||||
@@ -56,7 +56,7 @@ int IMFS_unlink(
|
|||||||
node->info.hard_link.link_node->st_nlink --;
|
node->info.hard_link.link_node->st_nlink --;
|
||||||
IMFS_update_ctime( node->info.hard_link.link_node );
|
IMFS_update_ctime( node->info.hard_link.link_node );
|
||||||
if ( node->info.hard_link.link_node->st_nlink < 1) {
|
if ( node->info.hard_link.link_node->st_nlink < 1) {
|
||||||
result = (*the_link.handlers->rmnod)( &the_link );
|
result = (*the_link.handlers->rmnod_h)( &the_link );
|
||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@@ -66,7 +66,7 @@ int IMFS_unlink(
|
|||||||
* Now actually free the node we were asked to free.
|
* Now actually free the node we were asked to free.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
result = (*loc->handlers->rmnod)( loc );
|
result = (*loc->handlers->rmnod_h)( loc );
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,12 +80,12 @@ rtems_status_code rtems_io_lookup_name(
|
|||||||
result = rtems_filesystem_evaluate_path( name, 0x00, &loc, TRUE );
|
result = rtems_filesystem_evaluate_path( name, 0x00, &loc, TRUE );
|
||||||
the_jnode = loc.node_access;
|
the_jnode = loc.node_access;
|
||||||
|
|
||||||
if ( !loc.ops->node_type ) {
|
if ( !loc.ops->node_type_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
node_type = (*loc.ops->node_type)( &loc );
|
node_type = (*loc.ops->node_type_h)( &loc );
|
||||||
|
|
||||||
if ( (result != 0) || node_type != RTEMS_FILESYSTEM_DEVICE ) {
|
if ( (result != 0) || node_type != RTEMS_FILESYSTEM_DEVICE ) {
|
||||||
*device_info = 0;
|
*device_info = 0;
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ extern mode_t rtems_filesystem_umask;
|
|||||||
|
|
||||||
#define rtems_filesystem_freenode( _node ) \
|
#define rtems_filesystem_freenode( _node ) \
|
||||||
do { \
|
do { \
|
||||||
if ( (_node)->ops->freenod ) \
|
if ( (_node)->ops->freenod_h ) \
|
||||||
(*(_node)->ops->freenod)( (_node) ); \
|
(*(_node)->ops->freenod_h)( (_node) ); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -126,20 +126,20 @@ typedef int (*rtems_filesystem_rmnod_t)(
|
|||||||
);
|
);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rtems_filesystem_open_t open;
|
rtems_filesystem_open_t open_h;
|
||||||
rtems_filesystem_close_t close;
|
rtems_filesystem_close_t close_h;
|
||||||
rtems_filesystem_read_t read;
|
rtems_filesystem_read_t read_h;
|
||||||
rtems_filesystem_write_t write;
|
rtems_filesystem_write_t write_h;
|
||||||
rtems_filesystem_ioctl_t ioctl;
|
rtems_filesystem_ioctl_t ioctl_h;
|
||||||
rtems_filesystem_lseek_t lseek;
|
rtems_filesystem_lseek_t lseek_h;
|
||||||
rtems_filesystem_fstat_t fstat;
|
rtems_filesystem_fstat_t fstat_h;
|
||||||
rtems_filesystem_fchmod_t fchmod;
|
rtems_filesystem_fchmod_t fchmod_h;
|
||||||
rtems_filesystem_ftruncate_t ftruncate;
|
rtems_filesystem_ftruncate_t ftruncate_h;
|
||||||
rtems_filesystem_fpathconf_t fpathconf;
|
rtems_filesystem_fpathconf_t fpathconf_h;
|
||||||
rtems_filesystem_fsync_t fsync;
|
rtems_filesystem_fsync_t fsync_h;
|
||||||
rtems_filesystem_fdatasync_t fdatasync;
|
rtems_filesystem_fdatasync_t fdatasync_h;
|
||||||
rtems_filesystem_fcntl_t fcntl;
|
rtems_filesystem_fcntl_t fcntl_h;
|
||||||
rtems_filesystem_rmnod_t rmnod;
|
rtems_filesystem_rmnod_t rmnod_h;
|
||||||
} rtems_filesystem_file_handlers_r;
|
} rtems_filesystem_file_handlers_r;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -249,22 +249,22 @@ typedef int (*rtems_filesystem_readlink_t)(
|
|||||||
* File system types
|
* File system types
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
rtems_filesystem_evalpath_t evalpath;
|
rtems_filesystem_evalpath_t evalpath_h;
|
||||||
rtems_filesystem_evalmake_t evalformake;
|
rtems_filesystem_evalmake_t evalformake_h;
|
||||||
rtems_filesystem_link_t link;
|
rtems_filesystem_link_t link_h;
|
||||||
rtems_filesystem_unlink_t unlink;
|
rtems_filesystem_unlink_t unlink_h;
|
||||||
rtems_filesystem_node_type_t node_type;
|
rtems_filesystem_node_type_t node_type_h;
|
||||||
rtems_filesystem_mknod_t mknod;
|
rtems_filesystem_mknod_t mknod_h;
|
||||||
rtems_filesystem_chown_t chown;
|
rtems_filesystem_chown_t chown_h;
|
||||||
rtems_filesystem_freenode_t freenod;
|
rtems_filesystem_freenode_t freenod_h;
|
||||||
rtems_filesystem_mount_t mount;
|
rtems_filesystem_mount_t mount_h;
|
||||||
rtems_filesystem_fsmount_me_t fsmount_me;
|
rtems_filesystem_fsmount_me_t fsmount_me_h;
|
||||||
rtems_filesystem_unmount_t unmount;
|
rtems_filesystem_unmount_t unmount_h;
|
||||||
rtems_filesystem_fsunmount_me_t fsunmount_me;
|
rtems_filesystem_fsunmount_me_t fsunmount_me_h;
|
||||||
rtems_filesystem_utime_t utime;
|
rtems_filesystem_utime_t utime_h;
|
||||||
rtems_filesystem_evaluate_link_t eval_link;
|
rtems_filesystem_evaluate_link_t eval_link_h;
|
||||||
rtems_filesystem_symlink_t symlink;
|
rtems_filesystem_symlink_t symlink_h;
|
||||||
rtems_filesystem_readlink_t readlink;
|
rtems_filesystem_readlink_t readlink_h;
|
||||||
} rtems_filesystem_operations_table;
|
} rtems_filesystem_operations_table;
|
||||||
|
|
||||||
#define IMFS_FILE_SYSTEM IMFS_ops
|
#define IMFS_FILE_SYSTEM IMFS_ops
|
||||||
|
|||||||
@@ -168,8 +168,8 @@ extern mode_t rtems_filesystem_umask;
|
|||||||
|
|
||||||
#define rtems_filesystem_freenode( _node ) \
|
#define rtems_filesystem_freenode( _node ) \
|
||||||
do { \
|
do { \
|
||||||
if ( (_node)->ops->freenod ) \
|
if ( (_node)->ops->freenod_h ) \
|
||||||
(*(_node)->ops->freenod)( (_node) ); \
|
(*(_node)->ops->freenod_h)( (_node) ); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -37,12 +37,12 @@ int chdir(
|
|||||||
* Verify you can change directory into this node.
|
* Verify you can change directory into this node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.ops->node_type ) {
|
if ( !loc.ops->node_type_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,12 +38,12 @@ int chmod(
|
|||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !loc.handlers->fchmod ){
|
if ( !loc.handlers->fchmod_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.handlers->fchmod)( &loc, mode );
|
result = (*loc.handlers->fchmod_h)( &loc, mode );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -31,12 +31,12 @@ int chown(
|
|||||||
if ( rtems_filesystem_evaluate_path( path, 0x00, &loc, TRUE ) )
|
if ( rtems_filesystem_evaluate_path( path, 0x00, &loc, TRUE ) )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->chown ) {
|
if ( !loc.ops->chown_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->chown)( &loc, owner, group );
|
result = (*loc.ops->chown_h)( &loc, owner, group );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ int close(
|
|||||||
rtems_libio_check_is_open(iop);
|
rtems_libio_check_is_open(iop);
|
||||||
|
|
||||||
rc = RTEMS_SUCCESSFUL;
|
rc = RTEMS_SUCCESSFUL;
|
||||||
if ( iop->handlers->close )
|
if ( iop->handlers->close_h )
|
||||||
rc = (*iop->handlers->close)( iop );
|
rc = (*iop->handlers->close_h)( iop );
|
||||||
|
|
||||||
rtems_libio_free( iop );
|
rtems_libio_free( iop );
|
||||||
|
|
||||||
|
|||||||
@@ -43,10 +43,10 @@ int rtems_filesystem_evaluate_path(
|
|||||||
|
|
||||||
rtems_filesystem_get_start_loc( pathname, &i, pathloc );
|
rtems_filesystem_get_start_loc( pathname, &i, pathloc );
|
||||||
|
|
||||||
if ( !pathloc->ops->evalpath )
|
if ( !pathloc->ops->evalpath_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
result = (*pathloc->ops->evalpath)( &pathname[i], flags, pathloc );
|
result = (*pathloc->ops->evalpath_h)( &pathname[i], flags, pathloc );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get the Node type and determine if you need to follow the link or
|
* Get the Node type and determine if you need to follow the link or
|
||||||
@@ -55,18 +55,18 @@ int rtems_filesystem_evaluate_path(
|
|||||||
|
|
||||||
if ( (result == 0) && follow_link ) {
|
if ( (result == 0) && follow_link ) {
|
||||||
|
|
||||||
if ( !pathloc->ops->node_type )
|
if ( !pathloc->ops->node_type_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
type = (*pathloc->ops->node_type)( pathloc );
|
type = (*pathloc->ops->node_type_h)( pathloc );
|
||||||
|
|
||||||
if ( ( type == RTEMS_FILESYSTEM_HARD_LINK ) ||
|
if ( ( type == RTEMS_FILESYSTEM_HARD_LINK ) ||
|
||||||
( type == RTEMS_FILESYSTEM_SYM_LINK ) ) {
|
( type == RTEMS_FILESYSTEM_SYM_LINK ) ) {
|
||||||
|
|
||||||
if ( !pathloc->ops->eval_link )
|
if ( !pathloc->ops->eval_link_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
result = (*pathloc->ops->eval_link)( pathloc, flags );
|
result = (*pathloc->ops->eval_link_h)( pathloc, flags );
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,11 +43,11 @@ int fchdir(
|
|||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !iop->pathinfo.ops->node_type ) {
|
if ( !iop->pathinfo.ops->node_type_h ) {
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*iop->pathinfo.ops->node_type)( &iop->pathinfo ) !=
|
if ( (*iop->pathinfo.ops->node_type_h)( &iop->pathinfo ) !=
|
||||||
RTEMS_FILESYSTEM_DIRECTORY ) {
|
RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,9 +36,9 @@ int fchmod(
|
|||||||
|
|
||||||
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
||||||
|
|
||||||
if ( !iop->handlers->fchmod )
|
if ( !iop->handlers->fchmod_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->pathinfo.handlers->fchmod)( &iop->pathinfo, mode );
|
return (*iop->pathinfo.handlers->fchmod_h)( &iop->pathinfo, mode );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -132,8 +132,8 @@ int fcntl(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
if (iop->handlers->fcntl) {
|
if (iop->handlers->fcntl_h) {
|
||||||
int err = (*iop->handlers->fcntl)( cmd, iop );
|
int err = (*iop->handlers->fcntl_h)( cmd, iop );
|
||||||
if (err) {
|
if (err) {
|
||||||
errno = err;
|
errno = err;
|
||||||
ret = -1;
|
ret = -1;
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ int fdatasync(
|
|||||||
* Now process the fdatasync().
|
* Now process the fdatasync().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->fdatasync )
|
if ( !iop->handlers->fdatasync_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->fdatasync)( iop );
|
return (*iop->handlers->fdatasync_h)( iop );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ int fstat(
|
|||||||
if ( !iop->handlers )
|
if ( !iop->handlers )
|
||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
|
|
||||||
if ( !iop->handlers->fstat )
|
if ( !iop->handlers->fstat_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -51,7 +51,7 @@ int fstat(
|
|||||||
*/
|
*/
|
||||||
memset( sbuf, 0, sizeof(struct stat) );
|
memset( sbuf, 0, sizeof(struct stat) );
|
||||||
|
|
||||||
return (*iop->handlers->fstat)( &iop->pathinfo, sbuf );
|
return (*iop->handlers->fstat_h)( &iop->pathinfo, sbuf );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ int fsync(
|
|||||||
if ( !iop->handlers )
|
if ( !iop->handlers )
|
||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
|
|
||||||
if ( !iop->handlers->fsync )
|
if ( !iop->handlers->fsync_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->fsync)( iop );
|
return (*iop->handlers->fsync_h)( iop );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,17 +37,17 @@ int ftruncate(
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
loc = iop->pathinfo;
|
loc = iop->pathinfo;
|
||||||
if ( !loc.ops->node_type )
|
if ( !loc.ops->node_type_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY )
|
if ( (*loc.ops->node_type_h)( &loc ) == RTEMS_FILESYSTEM_DIRECTORY )
|
||||||
set_errno_and_return_minus_one( EISDIR );
|
set_errno_and_return_minus_one( EISDIR );
|
||||||
|
|
||||||
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
rtems_libio_check_permissions( iop, LIBIO_FLAGS_WRITE );
|
||||||
|
|
||||||
if ( !iop->handlers->ftruncate )
|
if ( !iop->handlers->ftruncate_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->ftruncate)( iop, length );
|
return (*iop->handlers->ftruncate_h)( iop, length );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,10 +40,10 @@ int getdents(
|
|||||||
* Make sure we are working on a directory
|
* Make sure we are working on a directory
|
||||||
*/
|
*/
|
||||||
loc = iop->pathinfo;
|
loc = iop->pathinfo;
|
||||||
if ( !loc.ops->node_type )
|
if ( !loc.ops->node_type_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY )
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY )
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -51,8 +51,8 @@ int getdents(
|
|||||||
* of the read attempt.
|
* of the read attempt.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->read )
|
if ( !iop->handlers->read_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->read)( iop, dd_buf, dd_len );
|
return (*iop->handlers->read_h)( iop, dd_buf, dd_len );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,10 +44,10 @@ int ioctl(
|
|||||||
if ( !iop->handlers )
|
if ( !iop->handlers )
|
||||||
set_errno_and_return_minus_one( EBADF );
|
set_errno_and_return_minus_one( EBADF );
|
||||||
|
|
||||||
if ( !iop->handlers->ioctl )
|
if ( !iop->handlers->ioctl_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
rc = (*iop->handlers->ioctl)( iop, command, buffer );
|
rc = (*iop->handlers->ioctl_h)( iop, command, buffer );
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,13 +42,13 @@ int link(
|
|||||||
|
|
||||||
rtems_filesystem_get_start_loc( new, &i, &parent_loc );
|
rtems_filesystem_get_start_loc( new, &i, &parent_loc );
|
||||||
|
|
||||||
if ( !parent_loc.ops->evalformake ) {
|
if ( !parent_loc.ops->evalformake_h ) {
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*parent_loc.ops->evalformake)( &new[i], &parent_loc, &name_start );
|
result = (*parent_loc.ops->evalformake_h)( &new[i], &parent_loc, &name_start );
|
||||||
if ( result != 0 ) {
|
if ( result != 0 ) {
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
@@ -66,13 +66,13 @@ int link(
|
|||||||
set_errno_and_return_minus_one( EXDEV );
|
set_errno_and_return_minus_one( EXDEV );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !parent_loc.ops->link ) {
|
if ( !parent_loc.ops->link_h ) {
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*parent_loc.ops->link)( &existing_loc, &parent_loc, name_start );
|
result = (*parent_loc.ops->link_h)( &existing_loc, &parent_loc, name_start );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &existing_loc );
|
rtems_filesystem_freenode( &existing_loc );
|
||||||
rtems_filesystem_freenode( &parent_loc );
|
rtems_filesystem_freenode( &parent_loc );
|
||||||
|
|||||||
@@ -49,10 +49,10 @@ off_t lseek(
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !iop->handlers->lseek )
|
if ( !iop->handlers->lseek_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
return (*iop->handlers->lseek)( iop, offset, whence );
|
return (*iop->handlers->lseek_h)( iop, offset, whence );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -43,12 +43,12 @@ int mknod(
|
|||||||
|
|
||||||
rtems_filesystem_get_start_loc( pathname, &i, &temp_loc );
|
rtems_filesystem_get_start_loc( pathname, &i, &temp_loc );
|
||||||
|
|
||||||
if ( !temp_loc.ops->evalformake ) {
|
if ( !temp_loc.ops->evalformake_h ) {
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*temp_loc.ops->evalformake)(
|
result = (*temp_loc.ops->evalformake_h)(
|
||||||
&pathname[i],
|
&pathname[i],
|
||||||
&temp_loc,
|
&temp_loc,
|
||||||
&name_start
|
&name_start
|
||||||
@@ -56,12 +56,12 @@ int mknod(
|
|||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !temp_loc.ops->mknod ) {
|
if ( !temp_loc.ops->mknod_h ) {
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*temp_loc.ops->mknod)( name_start, mode, dev, &temp_loc );
|
result = (*temp_loc.ops->mknod_h)( name_start, mode, dev, &temp_loc );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &temp_loc );
|
rtems_filesystem_freenode( &temp_loc );
|
||||||
|
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ int mount(
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
loc_to_free = &loc;
|
loc_to_free = &loc;
|
||||||
if ( loc.ops->node_type( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
if ( loc.ops->node_type_h( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ) {
|
||||||
errno = ENOTDIR;
|
errno = ENOTDIR;
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
@@ -183,12 +183,12 @@ int mount(
|
|||||||
* below the base file system
|
* below the base file system
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.ops->mount ){
|
if ( !loc.ops->mount_h ){
|
||||||
errno = ENOTSUP;
|
errno = ENOTSUP;
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( loc.ops->mount( temp_mt_entry ) ) {
|
if ( loc.ops->mount_h( temp_mt_entry ) ) {
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -209,12 +209,12 @@ int mount(
|
|||||||
temp_mt_entry->mt_point_node.mt_entry = NULL;
|
temp_mt_entry->mt_point_node.mt_entry = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !fs_ops->fsmount_me ) {
|
if ( !fs_ops->fsmount_me_h ) {
|
||||||
errno = ENOTSUP;
|
errno = ENOTSUP;
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( fs_ops->fsmount_me( temp_mt_entry ) )
|
if ( fs_ops->fsmount_me_h( temp_mt_entry ) )
|
||||||
goto cleanup_and_bail;
|
goto cleanup_and_bail;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -148,12 +148,12 @@ int open(
|
|||||||
iop->flags |= rtems_libio_fcntl_flags( flags );
|
iop->flags |= rtems_libio_fcntl_flags( flags );
|
||||||
iop->pathinfo = loc;
|
iop->pathinfo = loc;
|
||||||
|
|
||||||
if ( !iop->handlers->open ) {
|
if ( !iop->handlers->open_h ) {
|
||||||
rc = ENOTSUP;
|
rc = ENOTSUP;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = (*iop->handlers->open)( iop, pathname, flags, mode );
|
rc = (*iop->handlers->open_h)( iop, pathname, flags, mode );
|
||||||
if ( rc )
|
if ( rc )
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ ssize_t read(
|
|||||||
* Now process the read().
|
* Now process the read().
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !iop->handlers->read )
|
if ( !iop->handlers->read_h )
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
|
|
||||||
rc = (*iop->handlers->read)( iop, buffer, count );
|
rc = (*iop->handlers->read_h)( iop, buffer, count );
|
||||||
|
|
||||||
if ( rc > 0 )
|
if ( rc > 0 )
|
||||||
iop->offset += rc;
|
iop->offset += rc;
|
||||||
|
|||||||
@@ -29,22 +29,22 @@ int readlink(
|
|||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->node_type ){
|
if ( !loc.ops->node_type_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_SYM_LINK ){
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_SYM_LINK ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( EINVAL );
|
set_errno_and_return_minus_one( EINVAL );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !loc.ops->readlink ){
|
if ( !loc.ops->readlink_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->readlink)( &loc, buf, bufsize );
|
result = (*loc.ops->readlink_h)( &loc, buf, bufsize );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -38,12 +38,12 @@ int rmdir(
|
|||||||
* Verify you can remove this node as a directory.
|
* Verify you can remove this node as a directory.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.ops->node_type ){
|
if ( !loc.ops->node_type_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( (*loc.ops->node_type)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ){
|
if ( (*loc.ops->node_type_h)( &loc ) != RTEMS_FILESYSTEM_DIRECTORY ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTDIR );
|
set_errno_and_return_minus_one( ENOTDIR );
|
||||||
}
|
}
|
||||||
@@ -52,12 +52,12 @@ int rmdir(
|
|||||||
* Use the filesystems rmnod to remove the node.
|
* Use the filesystems rmnod to remove the node.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if ( !loc.handlers->rmnod ){
|
if ( !loc.handlers->rmnod_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.handlers->rmnod)( &loc );
|
result = (*loc.handlers->rmnod_h)( &loc );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ int _STAT_NAME(
|
|||||||
if ( status != 0 )
|
if ( status != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.handlers->fstat ){
|
if ( !loc.handlers->fstat_h ){
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
@@ -69,7 +69,7 @@ int _STAT_NAME(
|
|||||||
|
|
||||||
memset( buf, 0, sizeof(struct stat) );
|
memset( buf, 0, sizeof(struct stat) );
|
||||||
|
|
||||||
status = (*loc.handlers->fstat)( &loc, buf );
|
status = (*loc.handlers->fstat_h)( &loc, buf );
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
@@ -24,16 +24,16 @@ int symlink(
|
|||||||
int result;
|
int result;
|
||||||
|
|
||||||
rtems_filesystem_get_start_loc( sympath, &i, &loc );
|
rtems_filesystem_get_start_loc( sympath, &i, &loc );
|
||||||
result = (*loc.ops->evalformake)( &sympath[i], &loc, &name_start );
|
result = (*loc.ops->evalformake_h)( &sympath[i], &loc, &name_start );
|
||||||
if ( result != 0 )
|
if ( result != 0 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if ( !loc.ops->symlink ) {
|
if ( !loc.ops->symlink_h ) {
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
set_errno_and_return_minus_one( ENOTSUP );
|
set_errno_and_return_minus_one( ENOTSUP );
|
||||||
}
|
}
|
||||||
|
|
||||||
result = (*loc.ops->symlink)( &loc, actualpath, name_start);
|
result = (*loc.ops->symlink_h)( &loc, actualpath, name_start);
|
||||||
|
|
||||||
rtems_filesystem_freenode( &loc );
|
rtems_filesystem_freenode( &loc );
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user