Module: xenomai-2.6 Branch: master Commit: 54515995de2143734b16b16ba3419cdf016fc0dd URL: http://git.xenomai.org/?p=xenomai-2.6.git;a=commit;h=54515995de2143734b16b16ba3419cdf016fc0dd
Author: Philippe Gerum <r...@xenomai.org> Date: Wed May 25 14:32:05 2016 +0200 ksrc, include: cope with introduction of user_msghdr --- include/rtdm/rtcan.h | 2 +- include/rtdm/rtdm.h | 15 +++++++++------ include/rtdm/rtdm_driver.h | 4 ++-- include/rtdm/rtipc.h | 4 ++-- ksrc/drivers/can/rtcan_raw.c | 6 +++--- ksrc/drivers/ipc/bufp.c | 4 ++-- ksrc/drivers/ipc/iddp.c | 4 ++-- ksrc/drivers/ipc/internal.h | 4 ++-- ksrc/drivers/ipc/rtipc.c | 4 ++-- ksrc/drivers/ipc/xddp.c | 4 ++-- ksrc/skins/rtdm/core.c | 12 ++++++------ ksrc/skins/rtdm/syscall.c | 4 ++-- 12 files changed, 35 insertions(+), 32 deletions(-) diff --git a/include/rtdm/rtcan.h b/include/rtdm/rtcan.h index b8bd762..3ff7651 100644 --- a/include/rtdm/rtcan.h +++ b/include/rtdm/rtcan.h @@ -146,7 +146,7 @@ * It is possible to receive a high precision timestamp with every CAN * message. The condition is a former instruction to the socket via * @ref RTCAN_RTIOC_TAKE_TIMESTAMP. The timestamp will be copied to the - * @c msg_control buffer of <TT>struct msghdr</TT> if it points to a valid + * @c msg_control buffer of <TT>struct user_msghdr</TT> if it points to a valid * memory location with size of @ref nanosecs_abs_t. If this * is a NULL pointer the timestamp will be discarded silently. @n * @n diff --git a/include/rtdm/rtdm.h b/include/rtdm/rtdm.h index d907f08..64accfc 100644 --- a/include/rtdm/rtdm.h +++ b/include/rtdm/rtdm.h @@ -54,6 +54,7 @@ #include <linux/ioctl.h> #include <linux/sched.h> #include <linux/socket.h> +#include <asm/xenomai/wrappers.h> typedef u32 socklen_t; typedef struct task_struct rtdm_user_info_t; @@ -247,9 +248,9 @@ ssize_t __rt_dev_read(rtdm_user_info_t *user_info, int fd, void *buf, ssize_t __rt_dev_write(rtdm_user_info_t *user_info, int fd, const void *buf, size_t nbyte); ssize_t __rt_dev_recvmsg(rtdm_user_info_t *user_info, int fd, - struct msghdr *msg, int flags); + struct user_msghdr *msg, int flags); ssize_t __rt_dev_sendmsg(rtdm_user_info_t *user_info, int fd, - const struct msghdr *msg, int flags); + const struct user_msghdr *msg, int flags); #endif /* __KERNEL__ */ /* Define RTDM_NO_DEFAULT_USER_API to switch off the default rt_dev_xxx @@ -287,7 +288,7 @@ static inline ssize_t rt_dev_recvfrom(int fd, void *buf, size_t len, int flags, socklen_t *fromlen) { struct iovec iov; - struct msghdr msg; + struct user_msghdr msg; int ret; iov.iov_base = buf; @@ -308,6 +309,8 @@ static inline ssize_t rt_dev_recvfrom(int fd, void *buf, size_t len, int flags, #else /* !__KERNEL__ */ +#define user_msghdr msghdr + #ifdef __cplusplus extern "C" { #endif @@ -318,8 +321,8 @@ int rt_dev_close(int fd); int rt_dev_ioctl(int fd, int request, ...); ssize_t rt_dev_read(int fd, void *buf, size_t nbyte); ssize_t rt_dev_write(int fd, const void *buf, size_t nbyte); -ssize_t rt_dev_recvmsg(int fd, struct msghdr *msg, int flags); -ssize_t rt_dev_sendmsg(int fd, const struct msghdr *msg, int flags); +ssize_t rt_dev_recvmsg(int fd, struct user_msghdr *msg, int flags); +ssize_t rt_dev_sendmsg(int fd, const struct user_msghdr *msg, int flags); ssize_t rt_dev_recvfrom(int fd, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen); @@ -344,7 +347,7 @@ static inline ssize_t rt_dev_sendto(int fd, const void *buf, size_t len, socklen_t tolen) { struct iovec iov; - struct msghdr msg; + struct user_msghdr msg; iov.iov_base = (void *)buf; iov.iov_len = len; diff --git a/include/rtdm/rtdm_driver.h b/include/rtdm/rtdm_driver.h index 15d61d3..f0f82b7 100644 --- a/include/rtdm/rtdm_driver.h +++ b/include/rtdm/rtdm_driver.h @@ -305,7 +305,7 @@ typedef ssize_t (*rtdm_write_handler_t)(struct rtdm_dev_context *context, * http://www.opengroup.org/onlinepubs/009695399 */ typedef ssize_t (*rtdm_recvmsg_handler_t)(struct rtdm_dev_context *context, rtdm_user_info_t *user_info, - struct msghdr *msg, int flags); + struct user_msghdr *msg, int flags); /** * Transmit message handler @@ -325,7 +325,7 @@ typedef ssize_t (*rtdm_recvmsg_handler_t)(struct rtdm_dev_context *context, * http://www.opengroup.org/onlinepubs/009695399 */ typedef ssize_t (*rtdm_sendmsg_handler_t)(struct rtdm_dev_context *context, rtdm_user_info_t *user_info, - const struct msghdr *msg, int flags); + const struct user_msghdr *msg, int flags); /** @} Operation Handler Prototypes */ typedef int (*rtdm_rt_handler_t)(struct rtdm_dev_context *context, diff --git a/include/rtdm/rtipc.h b/include/rtdm/rtipc.h index d69518d..fa00838 100644 --- a/include/rtdm/rtipc.h +++ b/include/rtdm/rtipc.h @@ -291,7 +291,7 @@ int getsockopt__AF_RTIPC(int sockfd, int level, int optname, * RT */ #ifdef DOXYGEN_CPP -ssize_t sendmsg__AF_RTIPC(int sockfd, const struct msghdr *msg, int flags); +ssize_t sendmsg__AF_RTIPC(int sockfd, const struct user_msghdr *msg, int flags); #endif /** @@ -321,7 +321,7 @@ ssize_t sendmsg__AF_RTIPC(int sockfd, const struct msghdr *msg, int flags); * RT */ #ifdef DOXYGEN_CPP -ssize_t recvmsg__AF_RTIPC(int sockfd, struct msghdr *msg, int flags); +ssize_t recvmsg__AF_RTIPC(int sockfd, struct user_msghdr *msg, int flags); #endif /** diff --git a/ksrc/drivers/can/rtcan_raw.c b/ksrc/drivers/can/rtcan_raw.c index ded024e..7d9b5d0 100644 --- a/ksrc/drivers/can/rtcan_raw.c +++ b/ksrc/drivers/can/rtcan_raw.c @@ -541,7 +541,7 @@ int rtcan_raw_ioctl(struct rtdm_dev_context *context, ssize_t rtcan_raw_recvmsg(struct rtdm_dev_context *context, rtdm_user_info_t *user_info, - struct msghdr *msg, int flags) + struct user_msghdr *msg, int flags) { struct rtcan_socket *sock = (struct rtcan_socket *)&context->dev_private; @@ -568,7 +568,7 @@ ssize_t rtcan_raw_recvmsg(struct rtdm_dev_context *context, return -EINVAL; - /* Check if msghdr entries are sane */ + /* Check if user_msghdr entries are sane */ if (msg->msg_name != NULL) { if (msg->msg_namelen < sizeof(struct sockaddr_can)) @@ -784,7 +784,7 @@ ssize_t rtcan_raw_recvmsg(struct rtdm_dev_context *context, ssize_t rtcan_raw_sendmsg(struct rtdm_dev_context *context, rtdm_user_info_t *user_info, - const struct msghdr *msg, int flags) + const struct user_msghdr *msg, int flags) { struct rtcan_socket *sock = (struct rtcan_socket *)&context->dev_private; diff --git a/ksrc/drivers/ipc/bufp.c b/ksrc/drivers/ipc/bufp.c index ef92b8c..c6b0e19 100644 --- a/ksrc/drivers/ipc/bufp.c +++ b/ksrc/drivers/ipc/bufp.c @@ -374,7 +374,7 @@ static ssize_t __bufp_recvmsg(struct rtipc_private *priv, static ssize_t bufp_recvmsg(struct rtipc_private *priv, rtdm_user_info_t *user_info, - struct msghdr *msg, int flags) + struct user_msghdr *msg, int flags) { struct iovec iov[RTIPC_IOV_MAX]; struct sockaddr_ipc saddr; @@ -623,7 +623,7 @@ fail: static ssize_t bufp_sendmsg(struct rtipc_private *priv, rtdm_user_info_t *user_info, - const struct msghdr *msg, int flags) + const struct user_msghdr *msg, int flags) { struct bufp_socket *sk = priv->state; struct iovec iov[RTIPC_IOV_MAX]; diff --git a/ksrc/drivers/ipc/iddp.c b/ksrc/drivers/ipc/iddp.c index c532575..3ecfb2a 100644 --- a/ksrc/drivers/ipc/iddp.c +++ b/ksrc/drivers/ipc/iddp.c @@ -331,7 +331,7 @@ static ssize_t __iddp_recvmsg(struct rtipc_private *priv, static ssize_t iddp_recvmsg(struct rtipc_private *priv, rtdm_user_info_t *user_info, - struct msghdr *msg, int flags) + struct user_msghdr *msg, int flags) { struct iovec iov[RTIPC_IOV_MAX]; struct sockaddr_ipc saddr; @@ -469,7 +469,7 @@ fail: static ssize_t iddp_sendmsg(struct rtipc_private *priv, rtdm_user_info_t *user_info, - const struct msghdr *msg, int flags) + const struct user_msghdr *msg, int flags) { struct iddp_socket *sk = priv->state; struct iovec iov[RTIPC_IOV_MAX]; diff --git a/ksrc/drivers/ipc/internal.h b/ksrc/drivers/ipc/internal.h index 302317d..f5a8e69 100644 --- a/ksrc/drivers/ipc/internal.h +++ b/ksrc/drivers/ipc/internal.h @@ -46,10 +46,10 @@ struct rtipc_protocol { rtdm_user_info_t *user_info); ssize_t (*recvmsg)(struct rtipc_private *priv, rtdm_user_info_t *user_info, - struct msghdr *msg, int flags); + struct user_msghdr *msg, int flags); ssize_t (*sendmsg)(struct rtipc_private *priv, rtdm_user_info_t *user_info, - const struct msghdr *msg, int flags); + const struct user_msghdr *msg, int flags); ssize_t (*read)(struct rtipc_private *priv, rtdm_user_info_t *user_info, void *buf, size_t len); diff --git a/ksrc/drivers/ipc/rtipc.c b/ksrc/drivers/ipc/rtipc.c index fae7742..08f6437 100644 --- a/ksrc/drivers/ipc/rtipc.c +++ b/ksrc/drivers/ipc/rtipc.c @@ -178,7 +178,7 @@ static int rtipc_close(struct rtdm_dev_context *context, static ssize_t rtipc_recvmsg(struct rtdm_dev_context *context, rtdm_user_info_t *user_info, - struct msghdr *msg, int flags) + struct user_msghdr *msg, int flags) { struct rtipc_private *p = rtdm_context_to_private(context); return p->proto->proto_ops.recvmsg(p, user_info, msg, flags); @@ -186,7 +186,7 @@ static ssize_t rtipc_recvmsg(struct rtdm_dev_context *context, static ssize_t rtipc_sendmsg(struct rtdm_dev_context *context, rtdm_user_info_t *user_info, - const struct msghdr *msg, int flags) + const struct user_msghdr *msg, int flags) { struct rtipc_private *p = rtdm_context_to_private(context); return p->proto->proto_ops.sendmsg(p, user_info, msg, flags); diff --git a/ksrc/drivers/ipc/xddp.c b/ksrc/drivers/ipc/xddp.c index d990e6a..b9b6473 100644 --- a/ksrc/drivers/ipc/xddp.c +++ b/ksrc/drivers/ipc/xddp.c @@ -332,7 +332,7 @@ out: static ssize_t xddp_recvmsg(struct rtipc_private *priv, rtdm_user_info_t *user_info, - struct msghdr *msg, int flags) + struct user_msghdr *msg, int flags) { struct iovec iov[RTIPC_IOV_MAX]; struct sockaddr_ipc saddr; @@ -590,7 +590,7 @@ nostream: static ssize_t xddp_sendmsg(struct rtipc_private *priv, rtdm_user_info_t *user_info, - const struct msghdr *msg, int flags) + const struct user_msghdr *msg, int flags) { struct xddp_socket *sk = priv->state; struct iovec iov[RTIPC_IOV_MAX]; diff --git a/ksrc/skins/rtdm/core.c b/ksrc/skins/rtdm/core.c index edf8494..a9c2c53 100644 --- a/ksrc/skins/rtdm/core.c +++ b/ksrc/skins/rtdm/core.c @@ -564,7 +564,7 @@ ssize_t __rt_dev_write(rtdm_user_info_t *user_info, int fd, const void *buf, EXPORT_SYMBOL_GPL(__rt_dev_write); ssize_t __rt_dev_recvmsg(rtdm_user_info_t *user_info, int fd, - struct msghdr *msg, int flags) + struct user_msghdr *msg, int flags) { trace_mark(xn_rtdm, recvmsg, "user_info %p fd %d msg_name %p " "msg_namelen %u msg_iov %p msg_iovlen %zu " @@ -578,7 +578,7 @@ ssize_t __rt_dev_recvmsg(rtdm_user_info_t *user_info, int fd, EXPORT_SYMBOL_GPL(__rt_dev_recvmsg); ssize_t __rt_dev_sendmsg(rtdm_user_info_t *user_info, int fd, - const struct msghdr *msg, int flags) + const struct user_msghdr *msg, int flags) { trace_mark(xn_rtdm, sendmsg, "user_info %p fd %d msg_name %p " "msg_namelen %u msg_iov %p msg_iovlen %zu " @@ -806,7 +806,7 @@ ssize_t rtdm_write(int fd, const void *buf, size_t nbyte); * * Rescheduling: possible. */ -ssize_t rtdm_recvmsg(int fd, struct msghdr *msg, int flags); +ssize_t rtdm_recvmsg(int fd, struct user_msghdr *msg, int flags); /** * @brief Receive message from socket @@ -846,7 +846,7 @@ ssize_t rtdm_recv(int fd, void *buf, size_t len, int flags); * * Rescheduling: possible. */ -ssize_t rtdm_sendmsg(int fd, const struct msghdr *msg, int flags); +ssize_t rtdm_sendmsg(int fd, const struct user_msghdr *msg, int flags); /** * @brief Transmit message to socket @@ -1144,7 +1144,7 @@ ssize_t rt_dev_write(int fd, const void *buf, size_t nbyte); * @see @c recvmsg() in IEEE Std 1003.1, * http://www.opengroup.org/onlinepubs/009695399 */ -ssize_t rt_dev_recvmsg(int fd, struct msghdr *msg, int flags); +ssize_t rt_dev_recvmsg(int fd, struct user_msghdr *msg, int flags); /** * @brief Receive message from socket @@ -1209,7 +1209,7 @@ ssize_t rt_dev_recv(int fd, void *buf, size_t len, int flags); * @see @c sendmsg() in IEEE Std 1003.1, * http://www.opengroup.org/onlinepubs/009695399 */ -ssize_t rt_dev_sendmsg(int fd, const struct msghdr *msg, int flags); +ssize_t rt_dev_sendmsg(int fd, const struct user_msghdr *msg, int flags); /** * @brief Transmit message to socket diff --git a/ksrc/skins/rtdm/syscall.c b/ksrc/skins/rtdm/syscall.c index 0ff5d40..dca0871 100644 --- a/ksrc/skins/rtdm/syscall.c +++ b/ksrc/skins/rtdm/syscall.c @@ -78,7 +78,7 @@ static int sys_rtdm_write(struct pt_regs *regs) static int sys_rtdm_recvmsg(struct pt_regs *regs) { struct task_struct *p = current; - struct msghdr krnl_msg; + struct user_msghdr krnl_msg; int ret; if (unlikely(!access_wok(__xn_reg_arg2(regs), @@ -103,7 +103,7 @@ static int sys_rtdm_recvmsg(struct pt_regs *regs) static int sys_rtdm_sendmsg(struct pt_regs *regs) { struct task_struct *p = current; - struct msghdr krnl_msg; + struct user_msghdr krnl_msg; if (unlikely(!access_rok(__xn_reg_arg2(regs), sizeof(krnl_msg)) || _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git