termios: Add kqueue() and poll() support

Real implementation is provided by libbsd.
This commit is contained in:
Sebastian Huber
2017-02-21 09:01:49 +01:00
parent c8339709e0
commit 5bfeddc0c2
4 changed files with 36 additions and 9 deletions

View File

@@ -555,6 +555,26 @@ int rtems_termios_set_initial_baud(
rtems_termios_baud_t baud
);
/**
* @brief Termios kqueue() filter filesystem node handler
*
* Real implementation is provided by libbsd.
*/
int rtems_termios_kqfilter(
rtems_libio_t *iop,
struct knote *kn
);
/**
* @brief Termios poll() filesystem node handler.
*
* Real implementation is provided by libbsd.
*/
int rtems_termios_poll(
rtems_libio_t *iop,
int events
);
#ifdef __cplusplus
}
#endif

View File

@@ -2063,8 +2063,8 @@ static const rtems_filesystem_file_handlers_r rtems_termios_imfs_handler = {
.fsync_h = rtems_filesystem_default_fsync_or_fdatasync,
.fdatasync_h = rtems_filesystem_default_fsync_or_fdatasync,
.fcntl_h = rtems_filesystem_default_fcntl,
.kqfilter_h = rtems_filesystem_default_kqfilter,
.poll_h = rtems_filesystem_default_poll,
.kqfilter_h = rtems_termios_kqfilter,
.poll_h = rtems_termios_poll,
.readv_h = rtems_filesystem_default_readv,
.writev_h = rtems_filesystem_default_writev
};

View File

@@ -7,7 +7,7 @@
*/
/*
* Copyright (c) 2013 embedded brains GmbH. All rights reserved.
* Copyright (c) 2013, 2017 embedded brains GmbH. All rights reserved.
*
* embedded brains GmbH
* Dornierstr. 4
@@ -26,9 +26,6 @@
#include <rtems/libio_.h>
#include <sys/types.h>
#include <sys/event.h>
int rtems_filesystem_default_kqfilter(
rtems_libio_t *iop,
struct knote *kn
@@ -36,3 +33,8 @@ int rtems_filesystem_default_kqfilter(
{
return EINVAL;
}
int rtems_termios_kqfilter(
rtems_libio_t *iop,
struct knote *kn
) RTEMS_WEAK_ALIAS( rtems_filesystem_default_kqfilter );

View File

@@ -7,7 +7,7 @@
*/
/*
* Copyright (c) 2013 embedded brains GmbH. All rights reserved.
* Copyright (c) 2013, 2017 embedded brains GmbH. All rights reserved.
*
* embedded brains GmbH
* Dornierstr. 4
@@ -35,3 +35,8 @@ int rtems_filesystem_default_poll(
{
return POLLERR;
}
int rtems_termios_poll(
rtems_libio_t *iop,
int events
) RTEMS_WEAK_ALIAS( rtems_filesystem_default_poll );