forked from Imagelibrary/rtems
2010-06-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libcsupport/src/unmount.c: Removed obsolete declarations. Fixed invalid memory free. 2010-06-10 Sebastian Huber <sebastian.huber@embedded-brains.de> * libnetworking/rtems/ftpfs.h, libnetworking/lib/ftpfs.c: Removed rtems_ftpfs_mount(). 2010-06-10 Sebastian Huber <sebastian.huber@embedded-brains.de> * libcsupport/src/mount-mktgt.c: New file. * libcsupport/Makefile.am: Reflect change above. * libcsupport/include/rtems/libio.h: Declare mount_and_make_target_path(). 2010-06-09 Sebastian Huber <sebastian.huber@embedded-brains.de> * libnetworking/rtems/ftpfs.h, libnetworking/lib/ftpfs.c: Added rtems_ftpfs_mount() again. Documentation. 2010-06-09 Sebastian Huber <sebastian.huber@embedded-brains.de> * libcsupport/include/rtems/libio.h, sapi/include/confdefs.h: Added and use defines for file system types. 2010-06-09 Sebastian Huber <sebastian.huber@embedded-brains.de> * libcsupport/src/mount.c: Fixed NULL pointer access.
This commit is contained in:
@@ -197,6 +197,37 @@
|
|||||||
libfs/src/rfs/rtems-rfs-group.h, libfs/src/rfs/rtems-rfs-inode.h:
|
libfs/src/rfs/rtems-rfs-group.h, libfs/src/rfs/rtems-rfs-inode.h:
|
||||||
Fix broken doxygen commands.
|
Fix broken doxygen commands.
|
||||||
|
|
||||||
|
2010-06-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||||
|
|
||||||
|
* libcsupport/src/unmount.c: Removed obsolete declarations. Fixed
|
||||||
|
invalid memory free.
|
||||||
|
|
||||||
|
2010-06-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||||
|
|
||||||
|
* libnetworking/rtems/ftpfs.h, libnetworking/lib/ftpfs.c: Removed
|
||||||
|
rtems_ftpfs_mount().
|
||||||
|
|
||||||
|
2010-06-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||||
|
|
||||||
|
* libcsupport/src/mount-mktgt.c: New file.
|
||||||
|
* libcsupport/Makefile.am: Reflect change above.
|
||||||
|
* libcsupport/include/rtems/libio.h: Declare
|
||||||
|
mount_and_make_target_path().
|
||||||
|
|
||||||
|
2010-06-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||||
|
|
||||||
|
* libnetworking/rtems/ftpfs.h, libnetworking/lib/ftpfs.c: Added
|
||||||
|
rtems_ftpfs_mount() again. Documentation.
|
||||||
|
|
||||||
|
2010-06-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||||
|
|
||||||
|
* libcsupport/include/rtems/libio.h, sapi/include/confdefs.h: Added
|
||||||
|
and use defines for file system types.
|
||||||
|
|
||||||
|
2010-06-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||||
|
|
||||||
|
* libcsupport/src/mount.c: Fixed NULL pointer access.
|
||||||
|
|
||||||
2010-06-09 Ralf Corsépius <ralf.corsepius@rtems.org>
|
2010-06-09 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||||
|
|
||||||
* configure.ac: Remove nios2 (unsupported, no toolchain).
|
* configure.ac: Remove nios2 (unsupported, no toolchain).
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ ASSOCIATION_C_FILES = src/assoclocalbyname.c \
|
|||||||
src/assocremotebylocal.c src/assocremotebyname.c
|
src/assocremotebylocal.c src/assocremotebyname.c
|
||||||
|
|
||||||
BASE_FS_C_FILES = src/base_fs.c src/mount.c src/unmount.c src/libio.c \
|
BASE_FS_C_FILES = src/base_fs.c src/mount.c src/unmount.c src/libio.c \
|
||||||
src/mount-mgr.c src/libio_init.c \
|
src/mount-mgr.c src/mount-mktgt.c src/libio_init.c \
|
||||||
src/libio_sockets.c src/eval.c src/fs_null_handlers.c src/privateenv.c \
|
src/libio_sockets.c src/eval.c src/fs_null_handlers.c src/privateenv.c \
|
||||||
src/open_dev_console.c src/__usrenv.c src/rtems_mkdir.c
|
src/open_dev_console.c src/__usrenv.c src/rtems_mkdir.c
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ extern "C" {
|
|||||||
typedef _off64_t rtems_off64_t;
|
typedef _off64_t rtems_off64_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @name File system node types.
|
* @name File System Node Types
|
||||||
*
|
*
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
@@ -669,6 +669,23 @@ static inline rtems_device_minor_number rtems_filesystem_dev_minor_t(
|
|||||||
#define rtems_libio_is_valid_perms( _perm ) \
|
#define rtems_libio_is_valid_perms( _perm ) \
|
||||||
(~ ((~RTEMS_LIBIO_PERMS_RWX) & _perm ))
|
(~ ((~RTEMS_LIBIO_PERMS_RWX) & _perm ))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @name File System Types
|
||||||
|
*
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define RTEMS_FILESYSTEM_TYPE_IMFS "imfs"
|
||||||
|
#define RTEMS_FILESYSTEM_TYPE_MINIIMFS "mimfs"
|
||||||
|
#define RTEMS_FILESYSTEM_TYPE_DEVFS "devfs"
|
||||||
|
#define RTEMS_FILESYSTEM_TYPE_FTPFS "ftpfs"
|
||||||
|
#define RTEMS_FILESYSTEM_TYPE_TFTPFS "tftpfs"
|
||||||
|
#define RTEMS_FILESYSTEM_TYPE_NFS "nfs"
|
||||||
|
#define RTEMS_FILESYSTEM_TYPE_DOSFS "dosfs"
|
||||||
|
#define RTEMS_FILESYSTEM_TYPE_RFS "rfs"
|
||||||
|
|
||||||
|
/** @} */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Prototypes for filesystem
|
* Prototypes for filesystem
|
||||||
*/
|
*/
|
||||||
@@ -687,6 +704,25 @@ int mount(
|
|||||||
const void *data
|
const void *data
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Mounts a file system and makes the @a target path.
|
||||||
|
*
|
||||||
|
* The @a target path will be created with rtems_mkdir() and must not be
|
||||||
|
* @c NULL.
|
||||||
|
*
|
||||||
|
* @see mount().
|
||||||
|
*
|
||||||
|
* @retval 0 Successful operation.
|
||||||
|
* @retval -1 An error occured. The @c errno indicates the error.
|
||||||
|
*/
|
||||||
|
int mount_and_make_target_path(
|
||||||
|
const char *source,
|
||||||
|
const char *target,
|
||||||
|
const char *filesystemtype,
|
||||||
|
rtems_filesystem_options_t options,
|
||||||
|
const void *data
|
||||||
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Boot Time Mount Table Structure
|
* Boot Time Mount Table Structure
|
||||||
*/
|
*/
|
||||||
@@ -719,7 +755,7 @@ extern rtems_fs_init_functions_t rtems_fs_init_helper;
|
|||||||
* The @a mode value selects the access permissions of the directory.
|
* The @a mode value selects the access permissions of the directory.
|
||||||
*
|
*
|
||||||
* @retval 0 Successful operation.
|
* @retval 0 Successful operation.
|
||||||
* @retval -1 An error occured. @c errno indicates the error.
|
* @retval -1 An error occured. The @c errno indicates the error.
|
||||||
*/
|
*/
|
||||||
extern int rtems_mkdir(const char *path, mode_t mode);
|
extern int rtems_mkdir(const char *path, mode_t mode);
|
||||||
|
|
||||||
|
|||||||
56
cpukit/libcsupport/src/mount-mktgt.c
Normal file
56
cpukit/libcsupport/src/mount-mktgt.c
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
/**
|
||||||
|
* @file
|
||||||
|
*
|
||||||
|
* @ingroup LibIO
|
||||||
|
*
|
||||||
|
* @brief mount_and_make_target_path() implementation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2010
|
||||||
|
* embedded brains GmbH
|
||||||
|
* Obere Lagerstr. 30
|
||||||
|
* D-82178 Puchheim
|
||||||
|
* Germany
|
||||||
|
* <rtems@embedded-brains.de>
|
||||||
|
*
|
||||||
|
* The license and distribution terms for this file may be
|
||||||
|
* found in the file LICENSE in this distribution or at
|
||||||
|
* http://www.rtems.com/license/LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
#include <rtems/libio.h>
|
||||||
|
|
||||||
|
int mount_and_make_target_path(
|
||||||
|
const char *source,
|
||||||
|
const char *target,
|
||||||
|
const char *filesystemtype,
|
||||||
|
rtems_filesystem_options_t options,
|
||||||
|
const void *data
|
||||||
|
)
|
||||||
|
{
|
||||||
|
int rv = -1;
|
||||||
|
|
||||||
|
if (target != NULL) {
|
||||||
|
rv = rtems_mkdir(target, S_IRWXU | S_IRWXG | S_IRWXO);
|
||||||
|
if (rv == 0) {
|
||||||
|
rv = mount(
|
||||||
|
source,
|
||||||
|
target,
|
||||||
|
filesystemtype,
|
||||||
|
options,
|
||||||
|
data
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
errno = EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
@@ -93,30 +93,31 @@ static bool Is_node_fs_root(
|
|||||||
}
|
}
|
||||||
|
|
||||||
static rtems_filesystem_mount_table_entry_t *alloc_mount_table_entry(
|
static rtems_filesystem_mount_table_entry_t *alloc_mount_table_entry(
|
||||||
const char *source,
|
const char *source_or_null,
|
||||||
const char *target,
|
const char *target_or_null,
|
||||||
const char *filesystemtype,
|
const char *filesystemtype,
|
||||||
size_t *target_length_ptr
|
size_t *target_length_ptr
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
const char *target_str = target ? target : "/";
|
const char *target = target_or_null != NULL ? target_or_null : "/";
|
||||||
size_t filesystemtype_size = strlen( filesystemtype ) + 1;
|
size_t filesystemtype_size = strlen( filesystemtype ) + 1;
|
||||||
size_t source_size = source ? strlen( source ) + 1 : 0;
|
size_t source_size = source_or_null != NULL ?
|
||||||
size_t target_length = strlen( target_str );
|
strlen( source_or_null ) + 1 : 0;
|
||||||
|
size_t target_length = strlen( target );
|
||||||
size_t size = sizeof( rtems_filesystem_mount_table_entry_t )
|
size_t size = sizeof( rtems_filesystem_mount_table_entry_t )
|
||||||
+ filesystemtype_size + source_size + target_length + 1;
|
+ filesystemtype_size + source_size + target_length + 1;
|
||||||
rtems_filesystem_mount_table_entry_t *mt_entry = calloc( 1, size );
|
rtems_filesystem_mount_table_entry_t *mt_entry = calloc( 1, size );
|
||||||
|
|
||||||
if ( mt_entry ) {
|
if ( mt_entry != NULL ) {
|
||||||
char *str = (char *) mt_entry + sizeof( *mt_entry );
|
char *str = (char *) mt_entry + sizeof( *mt_entry );
|
||||||
|
|
||||||
mt_entry->type = str;
|
mt_entry->type = str;
|
||||||
strcpy( str, filesystemtype );
|
strcpy( str, filesystemtype );
|
||||||
|
|
||||||
if ( source ) {
|
if ( source_or_null != NULL ) {
|
||||||
str += filesystemtype_size;
|
str += filesystemtype_size;
|
||||||
mt_entry->dev = str;
|
mt_entry->dev = str;
|
||||||
strcpy( str, source );
|
strcpy( str, source_or_null );
|
||||||
}
|
}
|
||||||
|
|
||||||
str += source_size;
|
str += source_size;
|
||||||
|
|||||||
@@ -33,16 +33,6 @@
|
|||||||
#include <rtems/libio_.h>
|
#include <rtems/libio_.h>
|
||||||
#include <rtems/seterr.h>
|
#include <rtems/seterr.h>
|
||||||
|
|
||||||
/*
|
|
||||||
* Data structures and routines private to mount/unmount pair.
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern rtems_chain_control rtems_filesystem_mount_table_control;
|
|
||||||
|
|
||||||
int search_mt_for_mount_point(
|
|
||||||
rtems_filesystem_location_info_t *location_of_mount_point
|
|
||||||
);
|
|
||||||
|
|
||||||
bool rtems_filesystem_nodes_equal(
|
bool rtems_filesystem_nodes_equal(
|
||||||
const rtems_filesystem_location_info_t *loc1,
|
const rtems_filesystem_location_info_t *loc1,
|
||||||
const rtems_filesystem_location_info_t *loc2
|
const rtems_filesystem_location_info_t *loc2
|
||||||
@@ -213,7 +203,6 @@ int unmount(
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
rtems_filesystem_freenode( fs_mount_loc );
|
rtems_filesystem_freenode( fs_mount_loc );
|
||||||
free( (void*) mt_entry->target );
|
|
||||||
free( mt_entry );
|
free( mt_entry );
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -99,6 +99,8 @@ typedef struct {
|
|||||||
struct timeval timeout;
|
struct timeval timeout;
|
||||||
} rtems_ftpfs_mount_entry;
|
} rtems_ftpfs_mount_entry;
|
||||||
|
|
||||||
|
static const rtems_filesystem_operations_table rtems_ftpfs_ops;
|
||||||
|
|
||||||
static const rtems_filesystem_file_handlers_r rtems_ftpfs_handlers;
|
static const rtems_filesystem_file_handlers_r rtems_ftpfs_handlers;
|
||||||
|
|
||||||
static const rtems_filesystem_file_handlers_r rtems_ftpfs_root_handlers;
|
static const rtems_filesystem_file_handlers_r rtems_ftpfs_root_handlers;
|
||||||
@@ -130,36 +132,6 @@ static int rtems_ftpfs_set_connection_timeout(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
CCJ_REMOVE_MOUNT
|
|
||||||
rtems_status_code rtems_ftpfs_mount(const char *mount_point)
|
|
||||||
{
|
|
||||||
int rv = 0;
|
|
||||||
|
|
||||||
if (mount_point == NULL) {
|
|
||||||
mount_point = RTEMS_FTPFS_MOUNT_POINT_DEFAULT;
|
|
||||||
}
|
|
||||||
|
|
||||||
rv = mkdir(mount_point, S_IRWXU | S_IRWXG | S_IRWXO);
|
|
||||||
if (rv != 0) {
|
|
||||||
return RTEMS_IO_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
rv = mount(
|
|
||||||
NULL,
|
|
||||||
&rtems_ftpfs_ops,
|
|
||||||
RTEMS_FILESYSTEM_READ_WRITE,
|
|
||||||
NULL,
|
|
||||||
mount_point
|
|
||||||
);
|
|
||||||
if (rv != 0) {
|
|
||||||
return RTEMS_IO_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
return RTEMS_SUCCESSFUL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static rtems_status_code rtems_ftpfs_do_ioctl(
|
static rtems_status_code rtems_ftpfs_do_ioctl(
|
||||||
const char *mount_point,
|
const char *mount_point,
|
||||||
ioctl_command_t req,
|
ioctl_command_t req,
|
||||||
@@ -1318,7 +1290,7 @@ static int rtems_ftpfs_fstat(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const rtems_filesystem_operations_table rtems_ftpfs_ops = {
|
static const rtems_filesystem_operations_table rtems_ftpfs_ops = {
|
||||||
.evalpath_h = rtems_ftpfs_eval_path,
|
.evalpath_h = rtems_ftpfs_eval_path,
|
||||||
.evalformake_h = NULL,
|
.evalformake_h = NULL,
|
||||||
.link_h = NULL,
|
.link_h = NULL,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/**
|
/**
|
||||||
* @file
|
* @file
|
||||||
*
|
*
|
||||||
* File Transfer Protocol file system (FTP client).
|
* @brief File Transfer Protocol file system (FTP client).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -46,12 +46,15 @@ extern "C" {
|
|||||||
/**
|
/**
|
||||||
* @defgroup rtems_ftpfs File Transfer Protocol File System
|
* @defgroup rtems_ftpfs File Transfer Protocol File System
|
||||||
*
|
*
|
||||||
* The FTP file system (FTP client) can be used to transfer files from or to
|
* @brief The FTP file system (FTP client) can be used to transfer files from
|
||||||
* remote hosts.
|
* or to remote hosts.
|
||||||
*
|
*
|
||||||
* You can mount the FTP file system with a call to rtems_ftpfs_mount().
|
* You can mount the FTP file system with a call to mount() or
|
||||||
* Alternatively you can use mount() with the @ref rtems_ftpfs_ops operations
|
* mount_and_make_target_path() with the @ref RTEMS_FILESYSTEM_TYPE_FTPFS file
|
||||||
* table.
|
* system type.
|
||||||
|
*
|
||||||
|
* You have to add @ref CONFIGURE_FILESYSTEM_FTPFS to your application
|
||||||
|
* configuration.
|
||||||
*
|
*
|
||||||
* You can open files either read-only or write-only. A seek is not allowed.
|
* You can open files either read-only or write-only. A seek is not allowed.
|
||||||
* A close terminates the control and data connections.
|
* A close terminates the control and data connections.
|
||||||
@@ -74,17 +77,17 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Well-known port number for FTP control connection.
|
* @brief Well-known port number for FTP control connection.
|
||||||
*/
|
*/
|
||||||
#define RTEMS_FTPFS_CTRL_PORT 21
|
#define RTEMS_FTPFS_CTRL_PORT 21
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default mount point for FTP file system.
|
* @brief Default mount point for FTP file system.
|
||||||
*/
|
*/
|
||||||
#define RTEMS_FTPFS_MOUNT_POINT_DEFAULT "/FTP"
|
#define RTEMS_FTPFS_MOUNT_POINT_DEFAULT "/FTP"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FTP file system IO control requests.
|
* @brief FTP file system IO control requests.
|
||||||
*/
|
*/
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RTEMS_FTPFS_IOCTL_GET_VERBOSE = _IOR( 'd', 1, bool *),
|
RTEMS_FTPFS_IOCTL_GET_VERBOSE = _IOR( 'd', 1, bool *),
|
||||||
@@ -94,13 +97,8 @@ typedef enum {
|
|||||||
} rtems_ftpfs_ioctl_numbers;
|
} rtems_ftpfs_ioctl_numbers;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* FTP file system operations table.
|
* @brief Returns in @a verbose if the verbose mode is enabled or disabled for
|
||||||
*/
|
* the file system at @a mount_point.
|
||||||
extern const rtems_filesystem_operations_table rtems_ftpfs_ops;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns in @a verbose if the verbose mode is enabled or disabled for the
|
|
||||||
* file system at @a mount_point.
|
|
||||||
*
|
*
|
||||||
* If @a mount_point is @c NULL the default mount point
|
* If @a mount_point is @c NULL the default mount point
|
||||||
* @ref RTEMS_FTPFS_MOUNT_POINT_DEFAULT will be used.
|
* @ref RTEMS_FTPFS_MOUNT_POINT_DEFAULT will be used.
|
||||||
@@ -108,7 +106,7 @@ extern const rtems_filesystem_operations_table rtems_ftpfs_ops;
|
|||||||
rtems_status_code rtems_ftpfs_get_verbose( const char *mount_point, bool *verbose);
|
rtems_status_code rtems_ftpfs_get_verbose( const char *mount_point, bool *verbose);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables or disables the verbose mode if @a verbose is @c true or
|
* @brief Enables or disables the verbose mode if @a verbose is @c true or
|
||||||
* @c false respectively for the file system at @a mount_point.
|
* @c false respectively for the file system at @a mount_point.
|
||||||
*
|
*
|
||||||
* In the enabled verbose mode the commands and replies of the FTP control
|
* In the enabled verbose mode the commands and replies of the FTP control
|
||||||
@@ -120,8 +118,8 @@ rtems_status_code rtems_ftpfs_get_verbose( const char *mount_point, bool *verbos
|
|||||||
rtems_status_code rtems_ftpfs_set_verbose( const char *mount_point, bool verbose);
|
rtems_status_code rtems_ftpfs_set_verbose( const char *mount_point, bool verbose);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current timeout value in @a timeout for the file system at
|
* @brief Returns the current timeout value in @a timeout for the file system
|
||||||
* @a mount_point.
|
* at @a mount_point.
|
||||||
*
|
*
|
||||||
* If @a mount_point is @c NULL the default mount point
|
* If @a mount_point is @c NULL the default mount point
|
||||||
* @ref RTEMS_FTPFS_MOUNT_POINT_DEFAULT will be used.
|
* @ref RTEMS_FTPFS_MOUNT_POINT_DEFAULT will be used.
|
||||||
@@ -132,7 +130,8 @@ rtems_status_code rtems_ftpfs_get_timeout(
|
|||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the timeout value to @a timeout for the file system at @a mount_point.
|
* @brief Sets the timeout value to @a timeout for the file system at
|
||||||
|
* @a mount_point.
|
||||||
*
|
*
|
||||||
* The timeout value will be used during connection establishment of active
|
* The timeout value will be used during connection establishment of active
|
||||||
* data connections. It will be also used for send and receive operations on
|
* data connections. It will be also used for send and receive operations on
|
||||||
@@ -149,13 +148,12 @@ rtems_status_code rtems_ftpfs_set_timeout(
|
|||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates the default mount point @ref RTEMS_FTPFS_MOUNT_POINT_DEFAULT and
|
* @brief Do not call directly, use mount().
|
||||||
* mounts the FTP file system. Do not call directly, use mount.xs
|
|
||||||
*
|
|
||||||
* It is mounted with read and write access.
|
|
||||||
*/
|
*/
|
||||||
int rtems_ftpfs_initialize(rtems_filesystem_mount_table_entry_t *e,
|
int rtems_ftpfs_initialize(
|
||||||
const void *d);
|
rtems_filesystem_mount_table_entry_t *mt_entry,
|
||||||
|
const void *data
|
||||||
|
);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -284,7 +284,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
|||||||
*/
|
*/
|
||||||
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_miniIMFS) && \
|
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_miniIMFS) && \
|
||||||
defined(CONFIGURE_FILESYSTEM_miniIMFS)
|
defined(CONFIGURE_FILESYSTEM_miniIMFS)
|
||||||
#define CONFIGURE_FILESYSTEM_ENTRY_miniIMFS { "mimfs", miniIMFS_initialize }
|
#define CONFIGURE_FILESYSTEM_ENTRY_miniIMFS \
|
||||||
|
{ RTEMS_FILESYSTEM_TYPE_MINIIMFS, miniIMFS_initialize }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -301,7 +302,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
|||||||
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_DEVFS) && \
|
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_DEVFS) && \
|
||||||
defined(CONFIGURE_FILESYSTEM_DEVFS)
|
defined(CONFIGURE_FILESYSTEM_DEVFS)
|
||||||
#include <rtems/devfs.h>
|
#include <rtems/devfs.h>
|
||||||
#define CONFIGURE_FILESYSTEM_ENTRY_DEVFS { "devfs", devFS_initialize }
|
#define CONFIGURE_FILESYSTEM_ENTRY_DEVFS \
|
||||||
|
{ RTEMS_FILESYSTEM_TYPE_DEVFS, devFS_initialize }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef RTEMS_NETWORKING
|
#ifdef RTEMS_NETWORKING
|
||||||
@@ -311,7 +313,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
|||||||
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_FTPFS) && \
|
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_FTPFS) && \
|
||||||
defined(CONFIGURE_FILESYSTEM_FTPFS)
|
defined(CONFIGURE_FILESYSTEM_FTPFS)
|
||||||
#include <rtems/ftpfs.h>
|
#include <rtems/ftpfs.h>
|
||||||
#define CONFIGURE_FILESYSTEM_ENTRY_FTPFS { "ftpfs", rtems_ftpfs_initialize }
|
#define CONFIGURE_FILESYSTEM_ENTRY_FTPFS \
|
||||||
|
{ RTEMS_FILESYSTEM_TYPE_FTPFS, rtems_ftpfs_initialize }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -320,7 +323,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
|||||||
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_TFTPFS) && \
|
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_TFTPFS) && \
|
||||||
defined(CONFIGURE_FILESYSTEM_TFTPFS)
|
defined(CONFIGURE_FILESYSTEM_TFTPFS)
|
||||||
#include <rtems/tftp.h>
|
#include <rtems/tftp.h>
|
||||||
#define CONFIGURE_FILESYSTEM_ENTRY_TFTPFS { "tftpfs", rtems_tftpfs_initialize }
|
#define CONFIGURE_FILESYSTEM_ENTRY_TFTPFS \
|
||||||
|
{ RTEMS_FILESYSTEM_TYPE_TFTPFS, rtems_tftpfs_initialize }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -329,7 +333,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
|||||||
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_NFSFS) && \
|
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_NFSFS) && \
|
||||||
defined(CONFIGURE_FILESYSTEM_NFSFS)
|
defined(CONFIGURE_FILESYSTEM_NFSFS)
|
||||||
#include <librtemsNfs.h>
|
#include <librtemsNfs.h>
|
||||||
#define CONFIGURE_FILESYSTEM_ENTRY_NFSFS { "nfs", rtems_nfsfs_initialize }
|
#define CONFIGURE_FILESYSTEM_ENTRY_NFSFS \
|
||||||
|
{ RTEMS_FILESYSTEM_TYPE_NFS, rtems_nfsfs_initialize }
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -339,7 +344,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
|||||||
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_DOSFS) && \
|
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_DOSFS) && \
|
||||||
defined(CONFIGURE_FILESYSTEM_DOSFS)
|
defined(CONFIGURE_FILESYSTEM_DOSFS)
|
||||||
#include <rtems/dosfs.h>
|
#include <rtems/dosfs.h>
|
||||||
#define CONFIGURE_FILESYSTEM_ENTRY_DOSFS { "dosfs", rtems_dosfs_initialize }
|
#define CONFIGURE_FILESYSTEM_ENTRY_DOSFS \
|
||||||
|
{ RTEMS_FILESYSTEM_TYPE_DOSFS, rtems_dosfs_initialize }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -348,7 +354,8 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
|||||||
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_RFS) && \
|
#if !defined(CONFIGURE_FILESYSTEM_ENTRY_RFS) && \
|
||||||
defined(CONFIGURE_FILESYSTEM_RFS)
|
defined(CONFIGURE_FILESYSTEM_RFS)
|
||||||
#include <rtems/rtems-rfs.h>
|
#include <rtems/rtems-rfs.h>
|
||||||
#define CONFIGURE_FILESYSTEM_ENTRY_RFS { "rfs", rtems_rfs_rtems_initialise }
|
#define CONFIGURE_FILESYSTEM_ENTRY_RFS \
|
||||||
|
{ RTEMS_FILESYSTEM_TYPE_RFS, rtems_rfs_rtems_initialise }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIGURE_INIT
|
#ifdef CONFIGURE_INIT
|
||||||
@@ -440,11 +447,11 @@ rtems_fs_init_functions_t rtems_fs_init_helper =
|
|||||||
#ifndef CONFIGURE_HAS_OWN_MOUNT_TABLE
|
#ifndef CONFIGURE_HAS_OWN_MOUNT_TABLE
|
||||||
const rtems_filesystem_mount_table_t configuration_mount_table = {
|
const rtems_filesystem_mount_table_t configuration_mount_table = {
|
||||||
#if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
|
#if defined(CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM)
|
||||||
"devfs",
|
RTEMS_FILESYSTEM_TYPE_DEVFS,
|
||||||
#elif defined(CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM)
|
#elif defined(CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM)
|
||||||
"mimfs",
|
RTEMS_FILESYSTEM_TYPE_MINIIMFS,
|
||||||
#else /* using IMFS as base filesystem */
|
#else /* using IMFS as base filesystem */
|
||||||
"imfs",
|
RTEMS_FILESYSTEM_TYPE_IMFS,
|
||||||
#endif
|
#endif
|
||||||
RTEMS_FILESYSTEM_READ_WRITE,
|
RTEMS_FILESYSTEM_READ_WRITE,
|
||||||
NULL,
|
NULL,
|
||||||
|
|||||||
Reference in New Issue
Block a user