Re: [take12 0/3] kevent: Generic event handling mechanism.

Evgeniy Polyakov
2006-08-23T10:53:19Z

On Wed, Aug 23, 2006 at 12:34:25PM +0200, Jari Sundell (sundell.software@gmail.com) wrote:
> On 8/23/06, Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:
> >
> >No, it will change sizes of the structure in kernelspace and userspace,
> >so they just can not communicate.
>
> struct kevent {
> uintptr_t ident; /* identifier for this event */
> short filter; /* filter for event */
> u_short flags; /* action flags for kqueue */
> u_int fflags; /* filter flag value */
>
> union {
> u32 _data_padding[2];
> intptr_t data; /* filter data value */
> };

As Eric pointed it must be aligned.

> union {
> u32 _udata_padding[2];
> void *udata; /* opaque user data identifier */
> };
> };
>
> I'm not missing anything obvious here, I hope.

We still do not know what uintptr_t is, and it looks like it is a pointer,
which is forbidden. Those numbers are not enough to make network AIO.
And actually is not compatible with kqueue already, so you will need to
write your own parser to convert your parameters into above structure.

> Rakshasa
> -
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html

--
Evgeniy Polyakov