[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] call Chicken Scheme from C and pass a bytevector

From: Claude Marinier
Subject: [Chicken-users] call Chicken Scheme from C and pass a bytevector
Date: Thu, 27 Jun 2013 13:07:52 -0400 (EDT)
User-agent: Alpine 2.02 (DEB 1266 2009-07-14)


A function in pcap-interface.c calls Chicken Scheme. It builds a vector containing a bunch of things, e.g. C_fix(ethtype), and the source and destination addresses as vectors. The scheme code converts the address vectors to u8vector (u16vector for IPv6). This is a lot of work: just under 20% of CPU time is spent in vector->u8vector.

If I could create a blob in C and pass it to scheme, the scheme code could use blob->u8vector/shared and blob->u16vector/shared which would achieve the same result with much less work.

What is the recommended way to pass a blob to scheme from C?

Is there a way to create a u8vector or u16vector directly in C?

Thank you.

Claude Marinier

reply via email to

[Prev in Thread] Current Thread [Next in Thread]