Probably the simplest solution would be to treat it as fixed size and use the maximum possible size for the object.

From http://linux.die.net/man/7/inotify

   Specifying a buffer of size

   sizeof(struct inotify_event) + NAME_MAX + 1

   will be sufficient to read at least one event.


-Dan

On 6/20/2013 12:58 PM, Geoffrey wrote:
Hi I am trying to declare of variably sized c struct as a foreign declaration.

The one i am after is:
struct inotify_event
{
   int wd;/* Watch descriptor.  */
   uint32_t mask;/* Watch mask.  */
   uint32_t cookie;/* Cookie to synchronize two events.  */
   uint32_t len;/* Length (including NULs) of name.  */
   char name __flexarr;/* Name.  */
};

Note that name field is variably sized. I believe in C you would allocate a 
larger block of memory and then cast it to  (inotify_event*).

By the skills of copy and paste i can do fixed size,and i can do a blob. But 
not a variable struct.

Some help would be appreciated.

Thanks


_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

_______________________________________________
Chicken-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to