From: Frank Kühndel <frank.kuehn...@embedded-brains.de> Eric Norum's permission to change the license can be found here: https://devel.rtems.org/attachment/ticket/3053/EricNorum-Permission.pdf
Update #3053 --- cpukit/include/rtems/tftp.h | 72 +++++++++++++++++++++++------ cpukit/libfs/src/ftpfs/tftpDriver.c | 44 ++++++++++++++---- 2 files changed, 93 insertions(+), 23 deletions(-) diff --git a/cpukit/include/rtems/tftp.h b/cpukit/include/rtems/tftp.h index ed3ebd7865..2f36a39cd2 100644 --- a/cpukit/include/rtems/tftp.h +++ b/cpukit/include/rtems/tftp.h @@ -1,23 +1,69 @@ -/* - * Trivial File Transfer Protocol (TFTP) +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file * - * Transfer file to/from remote host + * @ingroup RTEMSTFTPFS * - * W. Eric Norum - * Saskatchewan Accelerator Laboratory - * University of Saskatchewan - * Saskatoon, Saskatchewan, CANADA - * e...@skatter.usask.ca + * @brief This header file provides interfaces and functions used to + * implement the TFTP File System. + * + * This file declares the public functions of the Trivial File + * Transfer Protocol (TFTP) File System. */ /* - * Usage: + * Copyright (C) 1998 W. Eric Norum + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @defgroup RTEMSTFTPFS Trivial File Transfer Protocol (TFTP) File System + * + * @ingroup FileSystemTypesAndMount + * + * @brief The TFTP File System provides the ability to read files from and + * to write files to remote servers using the Trivial File Transfer + * Protocol (TFTP). + * + * Usage + * ===== + * + * To open `/bootfiles/image` on `hostname` for reading: + * + * fd = open ("/TFTP/hostname:bootfiles/image", O_RDONLY); + * + * The `TFTP` is the mount path and the `hostname` must be + * + * + an IPv4 address (acceptable to `inet_aton()`) or + * + the (full-qualified) name of an IPv4 host (acceptable to + * `gethostbyname()`) * - * To open `/bootfiles/image' on `hostname' for reading: - * fd = open ("/TFTP/hostname/bootfiles/image", O_RDONLY); + * IPv6 is currently not supported. `bootfiles/image` is a path on the + * TFTP server `hostname` where the file (here `image`) can be found. * - * The 'TFTP' is the mount path and the `hostname' must be four dot-separated - * decimal values. + * See also the _RTEMS Filesystem Design Guide_ Chapter [_Trivial FTP Client + * Filesystem_](https://docs.rtems.org/branches/master/filesystem/trivial_ftp.html). */ #ifndef _RTEMS_TFTP_H diff --git a/cpukit/libfs/src/ftpfs/tftpDriver.c b/cpukit/libfs/src/ftpfs/tftpDriver.c index bc0e74ad86..f4fd93d535 100644 --- a/cpukit/libfs/src/ftpfs/tftpDriver.c +++ b/cpukit/libfs/src/ftpfs/tftpDriver.c @@ -1,17 +1,41 @@ -/* - * Trivial File Transfer Protocol (RFC 1350) +/* SPDX-License-Identifier: BSD-2-Clause */ + +/** + * @file + * + * @ingroup RTEMSTFTPFS * - * Transfer file to/from remote host + * @brief This source file contains the implementation of + * Trivial File Transfer Protocol (TFTP) File System. * - * W. Eric Norum - * Saskatchewan Accelerator Laboratory - * University of Saskatchewan - * Saskatoon, Saskatchewan, CANADA - * e...@skatter.usask.ca + * The code in this file implements the Trivial File Transfer + * Protocol according to RFC 1350. + */ + +/* + * Copyright (C) 1998 W. Eric Norum + * Copyright (C) 2012 embedded brains GmbH (http://www.embedded-brains.de) * - * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H -- 2.34.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel