|
Xenomai
3.1
|
#include <linux/types.h>#include <linux/socket.h>#include <linux/file.h>#include <cobalt/kernel/tree.h>#include <asm-generic/xenomai/syscall.h>Go to the source code of this file.
Data Structures | |
| struct | rtdm_fd_ops |
| RTDM file operation descriptor. More... | |
Functions | |
| int | rtdm_open_handler (struct rtdm_fd *fd, int oflags) |
| Open handler for named devices. More... | |
| int | rtdm_socket_handler (struct rtdm_fd *fd, int protocol) |
| Socket creation handler for protocol devices. More... | |
| void | rtdm_close_handler (struct rtdm_fd *fd) |
| Close handler. More... | |
| int | rtdm_ioctl_handler (struct rtdm_fd *fd, unsigned int request, void __user *arg) |
| IOCTL handler. More... | |
| ssize_t | rtdm_read_handler (struct rtdm_fd *fd, void __user *buf, size_t size) |
| Read handler. More... | |
| ssize_t | rtdm_write_handler (struct rtdm_fd *fd, const void __user *buf, size_t size) |
| Write handler. More... | |
| ssize_t | rtdm_recvmsg_handler (struct rtdm_fd *fd, struct user_msghdr *msg, int flags) |
| Receive message handler. More... | |
| ssize_t | rtdm_sendmsg_handler (struct rtdm_fd *fd, const struct user_msghdr *msg, int flags) |
| Transmit message handler. More... | |
| int | rtdm_select_handler (struct rtdm_fd *fd, struct xnselector *selector, unsigned int type, unsigned int index) |
| Select handler. More... | |
| int | rtdm_mmap_handler (struct rtdm_fd *fd, struct vm_area_struct *vma) |
| Memory mapping handler. More... | |
| unsigned long | rtdm_get_unmapped_area_handler (struct rtdm_fd *fd, unsigned long len, unsigned long pgoff, unsigned long flags) |
| Allocate mapping region in address space. More... | |
| struct rtdm_fd * | rtdm_fd_get (int ufd, unsigned int magic) |
| Retrieve and lock a RTDM file descriptor. More... | |
| int | rtdm_fd_lock (struct rtdm_fd *fd) |
| Hold a reference on a RTDM file descriptor. More... | |
| void | rtdm_fd_put (struct rtdm_fd *fd) |
| Release a RTDM file descriptor obtained via rtdm_fd_get() More... | |
| void | rtdm_fd_unlock (struct rtdm_fd *fd) |
| Drop a reference on a RTDM file descriptor. More... | |
| int | rtdm_fd_select (int ufd, struct xnselector *selector, unsigned int type) |
| Bind a selector to specified event types of a given file descriptor. More... | |
| struct rtdm_fd* rtdm_fd_get | ( | int | ufd, |
| unsigned int | magic | ||
| ) |
Retrieve and lock a RTDM file descriptor.
| [in] | ufd | User-side file descriptor |
| [in] | magic | Magic word for lookup validation |
References rtdm_fd_ops::close, rtdm_device::driver, rtdm_driver::ops, and rtdm_fd_put().
Referenced by rtdm_fd_select(), and rtdm_fd_unlock().
| int rtdm_fd_lock | ( | struct rtdm_fd * | fd | ) |
Hold a reference on a RTDM file descriptor.
| [in] | fd | Target file descriptor |
| void rtdm_fd_put | ( | struct rtdm_fd * | fd | ) |
Release a RTDM file descriptor obtained via rtdm_fd_get()
| [in] | fd | RTDM file descriptor to release |
Referenced by rtdm_fd_get(), rtdm_fd_select(), and rtdm_fd_unlock().
| int rtdm_fd_select | ( | int | ufd, |
| struct xnselector * | selector, | ||
| unsigned int | type | ||
| ) |
Bind a selector to specified event types of a given file descriptor.
This function is invoked by higher RTOS layers implementing select-like services. It shall not be called directly by RTDM drivers.
| [in] | ufd | User-side file descriptor to bind to |
| [in,out] | selector | Selector object that shall be bound to the given event |
| [in] | type | Event type the caller is interested in |
References rtdm_fd_get(), rtdm_fd_put(), splnone, and spltest.
| void rtdm_fd_unlock | ( | struct rtdm_fd * | fd | ) |
Drop a reference on a RTDM file descriptor.
| [in] | fd | Target file descriptor |
References rtdm_fd_get(), rtdm_fd_put(), splnone, spltest, XNDELAY, XNDESCENT, xnthread_current(), xnthread_resume(), XNTIMEO, xntimer_destroy(), xntimer_init(), and xntimer_start().