diff options
Diffstat (limited to 'cpukit/include/rtems/libio.h')
-rw-r--r-- | cpukit/include/rtems/libio.h | 62 |
1 files changed, 39 insertions, 23 deletions
diff --git a/cpukit/include/rtems/libio.h b/cpukit/include/rtems/libio.h index 519e797dba..5424a2a03c 100644 --- a/cpukit/include/rtems/libio.h +++ b/cpukit/include/rtems/libio.h @@ -1,3 +1,5 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + /** * @file * @@ -11,15 +13,31 @@ */ /* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). - * - * Modifications to support reference counting in the file system are - * Copyright (c) 2012 embedded brains GmbH. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. + * COPYRIGHT (C) 1989, 2021 On-Line Applications Research Corporation (OAR). + * + * Modifications to support reference counting in the file system are + * Copyright (C) 2012 embedded brains GmbH & Co. KG + * + * 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. */ #ifndef _RTEMS_RTEMS_LIBIO_H @@ -38,6 +56,7 @@ #include <rtems/fs.h> #include <rtems/chain.h> #include <rtems/score/atomic.h> +#include <rtems/termiosdevice.h> #ifdef __cplusplus extern "C" { @@ -375,18 +394,16 @@ typedef int (*rtems_filesystem_rmnod_t)( * @brief Set node access and modification times. * * @param[in] loc The location of the node. - * @param[in] actime Access time for the node. - * @param[in] modtime Modification for the node. + * @param[in] times Access and modification times for the node * * @retval 0 Successful operation. * @retval -1 An error occurred. The errno is set to indicate the error. * - * @see rtems_filesystem_default_utime(). + * @see rtems_filesystem_default_utimens(). */ -typedef int (*rtems_filesystem_utime_t)( +typedef int (*rtems_filesystem_utimens_t)( const rtems_filesystem_location_info_t *loc, - time_t actime, - time_t modtime + struct timespec times[2] ); /** @@ -484,7 +501,7 @@ struct _rtems_filesystem_operations_table { rtems_filesystem_mount_t mount_h; rtems_filesystem_unmount_t unmount_h; rtems_filesystem_fsunmount_me_t fsunmount_me_h; - rtems_filesystem_utime_t utime_h; + rtems_filesystem_utimens_t utimens_h; rtems_filesystem_symlink_t symlink_h; rtems_filesystem_readlink_t readlink_h; rtems_filesystem_rename_t rename_h; @@ -644,12 +661,11 @@ void rtems_filesystem_default_fsunmount( /** * @retval -1 Always. The errno is set to ENOTSUP. * - * @see rtems_filesystem_utime_t. + * @see rtems_filesystem_utimens_t. */ -int rtems_filesystem_default_utime( +int rtems_filesystem_default_utimens( const rtems_filesystem_location_info_t *loc, - time_t actime, - time_t modtime + struct timespec times[2] ); /** @@ -1345,7 +1361,7 @@ typedef struct { /** * @brief Parameter block for open/close. */ -typedef struct { +typedef struct rtems_libio_open_close_args { rtems_libio_t *iop; uint32_t flags; uint32_t mode; @@ -1887,10 +1903,10 @@ typedef struct rtems_termios_callbacks { int (*setAttributes)(int minor, const struct termios *t); int (*stopRemoteTx)(int minor); int (*startRemoteTx)(int minor); - int outputUsesInterrupts; + rtems_termios_device_mode outputUsesInterrupts; } rtems_termios_callbacks; -RTEMS_INLINE_ROUTINE void rtems_termios_initialize( void ) +static inline void rtems_termios_initialize( void ) { /* Nothing to do, provided for backward compatibility */ } |