diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-07-01 14:39:39 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2010-07-01 14:39:39 +0000 |
commit | 3d3a18e619ce62485d3508a6b7dd1467c912bbad (patch) | |
tree | eeb9b9d70190c395460d0511c0c048efc883d5c0 /cpukit/libnetworking | |
parent | 2010-06-08 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-3d3a18e619ce62485d3508a6b7dd1467c912bbad.tar.bz2 |
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.
Diffstat (limited to 'cpukit/libnetworking')
-rw-r--r-- | cpukit/libnetworking/lib/ftpfs.c | 34 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/ftpfs.h | 50 |
2 files changed, 27 insertions, 57 deletions
diff --git a/cpukit/libnetworking/lib/ftpfs.c b/cpukit/libnetworking/lib/ftpfs.c index 5e7f520990..c9d6363863 100644 --- a/cpukit/libnetworking/lib/ftpfs.c +++ b/cpukit/libnetworking/lib/ftpfs.c @@ -99,6 +99,8 @@ typedef struct { struct timeval timeout; } 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_root_handlers; @@ -130,36 +132,6 @@ static int rtems_ftpfs_set_connection_timeout( 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( const char *mount_point, ioctl_command_t req, @@ -1318,7 +1290,7 @@ static int rtems_ftpfs_fstat( 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, .evalformake_h = NULL, .link_h = NULL, diff --git a/cpukit/libnetworking/rtems/ftpfs.h b/cpukit/libnetworking/rtems/ftpfs.h index a9d89d45ef..0bb500229d 100644 --- a/cpukit/libnetworking/rtems/ftpfs.h +++ b/cpukit/libnetworking/rtems/ftpfs.h @@ -1,7 +1,7 @@ /** * @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 * - * The FTP file system (FTP client) can be used to transfer files from or to - * remote hosts. + * @brief The FTP file system (FTP client) can be used to transfer files from + * or to remote hosts. * - * You can mount the FTP file system with a call to rtems_ftpfs_mount(). - * Alternatively you can use mount() with the @ref rtems_ftpfs_ops operations - * table. + * You can mount the FTP file system with a call to mount() or + * mount_and_make_target_path() with the @ref RTEMS_FILESYSTEM_TYPE_FTPFS file + * 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. * 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 /** - * Default mount point for FTP file system. + * @brief Default mount point for FTP file system. */ #define RTEMS_FTPFS_MOUNT_POINT_DEFAULT "/FTP" /** - * FTP file system IO control requests. + * @brief FTP file system IO control requests. */ typedef enum { RTEMS_FTPFS_IOCTL_GET_VERBOSE = _IOR( 'd', 1, bool *), @@ -94,13 +97,8 @@ typedef enum { } rtems_ftpfs_ioctl_numbers; /** - * FTP file system operations table. - */ -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. + * @brief 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 * @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); /** - * 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. * * 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); /** - * Returns the current timeout value in @a timeout for the file system at - * @a mount_point. + * @brief Returns the current timeout value in @a timeout for the file system + * at @a mount_point. * * If @a mount_point is @c NULL the default mount point * @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 * 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 - * mounts the FTP file system. Do not call directly, use mount.xs - * - * It is mounted with read and write access. + * @brief Do not call directly, use mount(). */ -int rtems_ftpfs_initialize(rtems_filesystem_mount_table_entry_t *e, - const void *d); +int rtems_ftpfs_initialize( + rtems_filesystem_mount_table_entry_t *mt_entry, + const void *data +); #ifdef __cplusplus } |