Re: Questions about mmap

From: Stefan Richter
Date: Sun Oct 05 2008 - 10:03:13 EST


Thiago Lacerda wrote:
> typedef struct hashtable {
> flow_t *hashBuckets[X]; // X is a natural number
> unsigned int size;
> } Hastable;
>
>
> So, my question is: Can I mmap the hashtable struct and access
> directly from userspace? I'm afraid that this could turn on mess
> because of the array of pointers.
> If it's possible, does anyone know a piece of code that can match my
> problem? I've been googling and I just find codes dealing with structs
> itself, not pointers.

If you require portability, you can only use integer types of fixed size
in kernel<->userspace ABIs. Pointers can then be exchanged as __u64
under the assumption that pointers not wider than 64 bits. See for
example the FW_CDEV_IOC_QUEUE_ISO ioctl in include/linux/firewire-cdev.h.
--
Stefan Richter
-=====-==--- =-=- --=-=
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/