mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
* libmisc/shell/shell.h: Pointer to
oparations table for mount command is now const.
* libnetworking/lib/ftpfs.c, libnetworking/rtems/ftpfs.h: Rewrite of
the FTP file system which implements now the trivial command state
machines of RFC 959. For the data transfer passive (= default) and
active (= fallback) modes are now supported.
* libmisc/shell/main_mount_ftp.c: Update for FTP file system changes.
This commit is contained in:
@@ -1,3 +1,13 @@
|
||||
2009-03-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* libmisc/shell/shell.h: Pointer to
|
||||
oparations table for mount command is now const.
|
||||
* libnetworking/lib/ftpfs.c, libnetworking/rtems/ftpfs.h: Rewrite of
|
||||
the FTP file system which implements now the trivial command state
|
||||
machines of RFC 959. For the data transfer passive (= default) and
|
||||
active (= fallback) modes are now supported.
|
||||
* libmisc/shell/main_mount_ftp.c: Update for FTP file system changes.
|
||||
|
||||
2009-03-12 Santosh G Vattam <vattam.santosh@gmail.com>
|
||||
|
||||
PR 1378/filesystem
|
||||
|
||||
@@ -32,6 +32,6 @@
|
||||
rtems_shell_filesystems_t rtems_shell_Mount_FTP = {
|
||||
name: "ftp",
|
||||
driver_needed: 1,
|
||||
fs_ops: &rtems_ftp_ops,
|
||||
fs_ops: &rtems_ftpfs_ops,
|
||||
mounter: rtems_shell_libc_mounter
|
||||
};
|
||||
|
||||
@@ -222,10 +222,10 @@ typedef int (*rtems_shell_filesystems_mounter_t)(
|
||||
);
|
||||
|
||||
struct rtems_shell_filesystems_tt {
|
||||
const char* name;
|
||||
int driver_needed;
|
||||
rtems_filesystem_operations_table* fs_ops;
|
||||
rtems_shell_filesystems_mounter_t mounter;
|
||||
const char *name;
|
||||
int driver_needed;
|
||||
const rtems_filesystem_operations_table *fs_ops;
|
||||
rtems_shell_filesystems_mounter_t mounter;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,12 +1,17 @@
|
||||
/**
|
||||
* @file rtems/ftpfs.h
|
||||
* @file
|
||||
*
|
||||
* File Transfer Protocol client declarations
|
||||
*
|
||||
* Transfer file to/from remote host
|
||||
* @brief File Transfer Protocol file system (FTP client).
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009
|
||||
* embedded brains GmbH
|
||||
* Obere Lagerstr. 30
|
||||
* D-82178 Puchheim
|
||||
* Germany
|
||||
* <rtems@embedded-brains.de>
|
||||
*
|
||||
* (c) Copyright 2002
|
||||
* Thomas Doerfler
|
||||
* IMD Ingenieurbuero fuer Microcomputertechnik
|
||||
@@ -14,26 +19,115 @@
|
||||
* 82178 Puchheim, Germany
|
||||
* <Thomas.Doerfler@imd-systems.de>
|
||||
*
|
||||
* This code has been created after closly inspecting
|
||||
* "tftpdriver.c" from Eric Norum.
|
||||
* Modified by Sebastian Huber <sebastian.huber@embedded-brains.de>.
|
||||
*
|
||||
* $Id$
|
||||
* This code has been created after closly inspecting "tftpdriver.c" from Eric
|
||||
* Norum.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_FTPFS_H
|
||||
#define _RTEMS_FTPFS_H
|
||||
|
||||
#include <rtems/libio.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <rtems/libio.h>
|
||||
/**
|
||||
* @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.
|
||||
*
|
||||
* 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 open files either read-only or write-only. A seek is not allowed.
|
||||
* A close terminates the control and data connections.
|
||||
*
|
||||
* To open a file @c file.txt in the directory @c dir (relative to home
|
||||
* directory of the server) on a server named @c host using the user name
|
||||
* @c user and the password @c pw you must specify the following path:
|
||||
*
|
||||
* @c /FTP/user:pw@host/dir/file.txt
|
||||
*
|
||||
* If the server is the default server specified in BOOTP, it can be ommitted:
|
||||
*
|
||||
* @c /FTP/user:pw/dir/file.txt
|
||||
*
|
||||
* The user name will be used for the password if it is ommitted:
|
||||
*
|
||||
* @c /FTP/user@host/dir/file.txt
|
||||
*
|
||||
* For the data transfer passive (= default) and active (= fallback) mode are
|
||||
* supported.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
/* create mount point and mount ftp file system */
|
||||
extern int rtems_bsdnet_initialize_ftp_filesystem (void);
|
||||
/**
|
||||
* @brief Well-known port number for FTP control connection.
|
||||
*/
|
||||
#define RTEMS_FTPFS_CTRL_PORT 21
|
||||
|
||||
/* FTP File sysem operations table. */
|
||||
extern rtems_filesystem_operations_table rtems_ftp_ops;
|
||||
/**
|
||||
* @brief Default mount point for FTP file system.
|
||||
*/
|
||||
#define RTEMS_FTPFS_MOUNT_POINT_DEFAULT "/FTP"
|
||||
|
||||
/**
|
||||
* @brief FTP file system operations table.
|
||||
*/
|
||||
extern const rtems_filesystem_operations_table rtems_ftpfs_ops;
|
||||
|
||||
/**
|
||||
* @brief Creates the mount point @a mount_point and mounts the FTP file
|
||||
* system.
|
||||
*
|
||||
* If @a mount_point is @c NULL the default mount point
|
||||
* @ref RTEMS_FTPFS_MOUNT_POINT_DEFAULT will be used.
|
||||
*
|
||||
* It is mounted with read and write access.
|
||||
*
|
||||
* @note The parent directories of the mount point have to exist.
|
||||
*/
|
||||
rtems_status_code rtems_ftpfs_mount( const char *mount_point);
|
||||
|
||||
/**
|
||||
* @brief Enables or disables the verbose mode if @a verbose is @c true or
|
||||
* @c false respectively.
|
||||
*
|
||||
* In the enabled verbose mode the commands and replies of the FTP control
|
||||
* connections will be printed to standard error.
|
||||
*/
|
||||
rtems_status_code rtems_ftpfs_set_verbose( bool verbose);
|
||||
|
||||
/**
|
||||
* @brief Returns in @a verbose if the verbose mode is enabled or disabled.
|
||||
*/
|
||||
rtems_status_code rtems_ftpfs_get_verbose( bool *verbose);
|
||||
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
* @brief Creates the default mount point @ref RTEMS_FTPFS_MOUNT_POINT_DEFAULT
|
||||
* and mounts the FTP file system.
|
||||
*
|
||||
* It is mounted with read and write access.
|
||||
*
|
||||
* On success, zero is returned. On error, -1 is returned.
|
||||
*
|
||||
* @deprecated Use rtems_ftpfs_mount() instead.
|
||||
*/
|
||||
int rtems_bsdnet_initialize_ftp_filesystem( void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user