All of lore.kernel.org
 help / color / mirror / Atom feed
* [Xenomai] Retrieval of user fd from struct rtdm_fd
@ 2018-10-14 19:27 Sebastian Smolorz
  2018-10-15  8:26 ` Philippe Gerum
  2018-10-15 11:18 ` Jan Kiszka
  0 siblings, 2 replies; 8+ messages in thread
From: Sebastian Smolorz @ 2018-10-14 19:27 UTC (permalink / raw)
  To: xenomai@xenomai.org

Hello Philippe or Jan,

I need to retrieve the socket file descriptor from an RTDM device driver 
routine. From what I have seen there is no simple way to obtain this int 
value from struct rtdm_fd. I have identified three possible ways to do 
this, all of them necessitate modification of Xenomai code outside the 
driver:

1. Iterate over the rb_tree rtdm_fd->owner->fds by means of the macro 
xntree_for_each_entry(pos, root, member). For this macro to work the 
definition of struct rtdm_fd_index must be known to the driver which 
means that it would have to be moved from kernel/cobalt/rtdm/fd.c to 
e.g. include/cobalt/kernel/rtdm/fd.h.

2. Similar to 1. but offer a new function rtdm_fd_get_ufd(struct rtdm_fd 
*fd) in which the rb_tree is searched.

3. Introduce a new value "int ufd" in struct rtdm_fd for setting and 
getting the ufd directly (which would be overkill I suppose because the 
vast majority of drivers don't need it).

What do you think, which of the above would you prefer?

-- 
Sebastian






^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-10-15 13:35 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-14 19:27 [Xenomai] Retrieval of user fd from struct rtdm_fd Sebastian Smolorz
2018-10-15  8:26 ` Philippe Gerum
2018-10-15  8:46   ` Sebastian Smolorz
2018-10-15 11:18 ` Jan Kiszka
2018-10-15 13:17   ` Sebastian Smolorz
2018-10-15 13:28     ` Philippe Gerum
2018-10-15 13:30       ` Jan Kiszka
2018-10-15 13:35         ` Sebastian Smolorz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.