summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libc
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-10-12 19:26:37 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-10-12 19:26:37 +0000
commit51435fc7c56ed5b18e5e4ed294dac80b376a60f4 (patch)
treef94e2ebfbe0a441e3a7d86a8fa85e1eadc4bdef3 /c/src/lib/libc
parentAdded rtems_filesystem_freenode() macro and added calls at appropriate (diff)
downloadrtems-51435fc7c56ed5b18e5e4ed294dac80b376a60f4.tar.bz2
Split null handlers table to own file and renamed.
Renamed IMFS handler tables to include IMFS prefix.
Diffstat (limited to 'c/src/lib/libc')
-rw-r--r--c/src/lib/libc/fs_null_handlers.c66
-rw-r--r--c/src/lib/libc/imfs.h7
-rw-r--r--c/src/lib/libc/imfs_eval.c8
-rw-r--r--c/src/lib/libc/imfs_handlers.c6
-rw-r--r--c/src/lib/libc/imfs_init.c2
-rw-r--r--c/src/lib/libc/imfs_initsupp.c2
-rw-r--r--c/src/lib/libc/libio_.h3
7 files changed, 17 insertions, 77 deletions
diff --git a/c/src/lib/libc/fs_null_handlers.c b/c/src/lib/libc/fs_null_handlers.c
index e9ff4a578a..42bc146eb9 100644
--- a/c/src/lib/libc/fs_null_handlers.c
+++ b/c/src/lib/libc/fs_null_handlers.c
@@ -1,5 +1,5 @@
/*
- * Operations Tables for the IMFS
+ * Null Filesystem Operations Tables
*
* COPYRIGHT (c) 1989-1998.
* On-Line Applications Research Corporation (OAR).
@@ -14,73 +14,13 @@
#include <errno.h>
-#include "imfs.h"
-
-/*
- * Set of operations handlers for operations on memfile entities.
- */
-
-rtems_filesystem_file_handlers_r memfile_handlers = {
- memfile_open,
- memfile_close,
- memfile_read,
- memfile_write,
- memfile_ioctl,
- memfile_lseek,
- IMFS_stat,
- IMFS_fchmod,
- memfile_ftruncate,
- NULL, /* fpathconf */
- NULL, /* fsync */
- IMFS_fdatasync,
- IMFS_fcntl
-};
-
-/*
- * Set of operations handlers for operations on directories.
- */
-
-rtems_filesystem_file_handlers_r dir_handlers = {
- imfs_dir_open,
- imfs_dir_close,
- imfs_dir_read,
- NULL, /* write */
- NULL, /* ioctl */
- imfs_dir_lseek,
- imfs_dir_fstat,
- IMFS_fchmod,
- NULL, /* ftruncate */
- NULL, /* fpathconf */
- NULL, /* fsync */
- IMFS_fdatasync,
- IMFS_fcntl
-};
-
-/*
- * Handler table for IMFS device nodes
- */
-
-rtems_filesystem_file_handlers_r device_handlers = {
- device_open,
- device_close,
- device_read,
- device_write,
- device_ioctl,
- device_lseek,
- IMFS_stat,
- IMFS_fchmod,
- NULL, /* ftruncate */
- NULL, /* fpathconf */
- NULL, /* fsync */
- NULL, /* fdatasync */
- NULL /* fcntl */
-};
+#include <rtems/libio.h>
/*
* Set of null operations handlers.
*/
-rtems_filesystem_file_handlers_r null_handlers = {
+rtems_filesystem_file_handlers_r rtems_filesystem_null_handlers = {
NULL, /* open */
NULL, /* close */
NULL, /* read */
diff --git a/c/src/lib/libc/imfs.h b/c/src/lib/libc/imfs.h
index f5ea346b44..4aaa923982 100644
--- a/c/src/lib/libc/imfs.h
+++ b/c/src/lib/libc/imfs.h
@@ -210,10 +210,9 @@ typedef enum {
* Shared Data
*/
-extern rtems_filesystem_file_handlers_r device_handlers;
-extern rtems_filesystem_file_handlers_r memfile_handlers;
-extern rtems_filesystem_file_handlers_r dir_handlers;
-extern rtems_filesystem_file_handlers_r null_handlers;
+extern rtems_filesystem_file_handlers_r IMFS_device_handlers;
+extern rtems_filesystem_file_handlers_r IMFS_memfile_handlers;
+extern rtems_filesystem_file_handlers_r IMFS_directory_handlers;
extern rtems_filesystem_operations_table IMFS_ops;
extern rtems_filesystem_limits_and_options_t IMFS_LIMITS_AND_OPTIONS;
diff --git a/c/src/lib/libc/imfs_eval.c b/c/src/lib/libc/imfs_eval.c
index e7e2d47908..e06301029f 100644
--- a/c/src/lib/libc/imfs_eval.c
+++ b/c/src/lib/libc/imfs_eval.c
@@ -36,17 +36,17 @@ int IMFS_Set_handlers(
switch( node->type ) {
case IMFS_DIRECTORY:
- loc->handlers = &dir_handlers;
+ loc->handlers = &IMFS_directory_handlers;
break;
case IMFS_DEVICE:
- loc->handlers = &device_handlers;
+ loc->handlers = &IMFS_device_handlers;
break;
case IMFS_SYM_LINK:
case IMFS_HARD_LINK:
- loc->handlers = &null_handlers;
+ loc->handlers = &rtems_filesystem_null_handlers;
break;
case IMFS_MEMORY_FILE:
- loc->handlers = &memfile_handlers;
+ loc->handlers = &IMFS_memfile_handlers;
break;
}
diff --git a/c/src/lib/libc/imfs_handlers.c b/c/src/lib/libc/imfs_handlers.c
index 97e47fb8ea..b7466a5072 100644
--- a/c/src/lib/libc/imfs_handlers.c
+++ b/c/src/lib/libc/imfs_handlers.c
@@ -20,7 +20,7 @@
* Set of operations handlers for operations on memfile entities.
*/
-rtems_filesystem_file_handlers_r memfile_handlers = {
+rtems_filesystem_file_handlers_r IMFS_memfile_handlers = {
memfile_open,
memfile_close,
memfile_read,
@@ -40,7 +40,7 @@ rtems_filesystem_file_handlers_r memfile_handlers = {
* Set of operations handlers for operations on directories.
*/
-rtems_filesystem_file_handlers_r dir_handlers = {
+rtems_filesystem_file_handlers_r IMFS_directory_handlers = {
imfs_dir_open,
imfs_dir_close,
imfs_dir_read,
@@ -60,7 +60,7 @@ rtems_filesystem_file_handlers_r dir_handlers = {
* Handler table for IMFS device nodes
*/
-rtems_filesystem_file_handlers_r device_handlers = {
+rtems_filesystem_file_handlers_r IMFS_device_handlers = {
device_open,
device_close,
device_read,
diff --git a/c/src/lib/libc/imfs_init.c b/c/src/lib/libc/imfs_init.c
index bb3a0f9aea..a38fa89c33 100644
--- a/c/src/lib/libc/imfs_init.c
+++ b/c/src/lib/libc/imfs_init.c
@@ -73,7 +73,7 @@ int IMFS_initialize(
NULL
);
- temp_mt_entry->mt_fs_root.handlers = &dir_handlers;
+ temp_mt_entry->mt_fs_root.handlers = &IMFS_directory_handlers;
temp_mt_entry->mt_fs_root.ops = &IMFS_ops;
temp_mt_entry->pathconf_limits_and_options = IMFS_LIMITS_AND_OPTIONS;
diff --git a/c/src/lib/libc/imfs_initsupp.c b/c/src/lib/libc/imfs_initsupp.c
index bb3a0f9aea..a38fa89c33 100644
--- a/c/src/lib/libc/imfs_initsupp.c
+++ b/c/src/lib/libc/imfs_initsupp.c
@@ -73,7 +73,7 @@ int IMFS_initialize(
NULL
);
- temp_mt_entry->mt_fs_root.handlers = &dir_handlers;
+ temp_mt_entry->mt_fs_root.handlers = &IMFS_directory_handlers;
temp_mt_entry->mt_fs_root.ops = &IMFS_ops;
temp_mt_entry->pathconf_limits_and_options = IMFS_LIMITS_AND_OPTIONS;
diff --git a/c/src/lib/libc/libio_.h b/c/src/lib/libc/libio_.h
index 8c186278fa..e37dcbcc9f 100644
--- a/c/src/lib/libc/libio_.h
+++ b/c/src/lib/libc/libio_.h
@@ -53,7 +53,8 @@ extern "C" {
#define RTEMS_LIBIO_SEM rtems_build_name('L', 'B', 'I', 'O')
#define RTEMS_LIBIO_IOP_SEM(n) rtems_build_name('L', 'B', 'I', n)
-extern rtems_id rtems_libio_semaphore;
+extern rtems_id rtems_libio_semaphore;
+extern rtems_filesystem_file_handlers_r rtems_filesystem_null_handlers;
/*
* File descriptor Table Information