diff options
Diffstat (limited to 'cpukit/libcsupport/include/rtems/libio.h')
-rw-r--r-- | cpukit/libcsupport/include/rtems/libio.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/cpukit/libcsupport/include/rtems/libio.h b/cpukit/libcsupport/include/rtems/libio.h index a6420620c3..21d57ebddf 100644 --- a/cpukit/libcsupport/include/rtems/libio.h +++ b/cpukit/libcsupport/include/rtems/libio.h @@ -41,6 +41,8 @@ extern "C" { #endif +struct knote; + /** * @defgroup LibIOFSOps File System Operations * @@ -958,6 +960,22 @@ typedef int (*rtems_filesystem_poll_t)( ); /** + * @brief Kernel event filter support. + * + * @param[in, out] iop The IO pointer. + * @param[in] kn The kernel event note. + * + * @retval 0 Successful operation. + * @retval error An error occurred. This is usually EINVAL. + * + * @see rtems_filesystem_default_kqfilter(). + */ +typedef int (*rtems_filesystem_kqfilter_t)( + rtems_libio_t *iop, + struct knote *kn +); + +/** * @brief File system node operations table. */ struct _rtems_filesystem_file_handlers_r { @@ -973,6 +991,7 @@ struct _rtems_filesystem_file_handlers_r { rtems_filesystem_fdatasync_t fdatasync_h; rtems_filesystem_fcntl_t fcntl_h; rtems_filesystem_poll_t poll_h; + rtems_filesystem_kqfilter_t kqfilter_h; }; /** @@ -1158,6 +1177,18 @@ int rtems_filesystem_default_poll( int events ); +/** + * @brief Default kernel event filter handler. + * + * @retval EINVAL Always. + * + * @see rtems_filesystem_kqfilter_t. + */ +int rtems_filesystem_default_kqfilter( + rtems_libio_t *iop, + struct knote *kn +); + /** @} */ /** |