The tar ball contains a patch against 2.2.12 which includes creation
of a documentation file /usr/src/linux/Documentation/bufflink.txt and
an example test kernel module and associated little userland program.
Bufflink is intended as a faster, lighter weight kernel/userland
communication system than netlink but it merely sets an overflow
flag rather than queuing up data like netlink can do. It is the basis
of at least a couple of other things that I will release in due
course (one for block request logging which combines with some
userland programs to allow hot migration of live block devices and
one which provides system call auditing for Linux).
I've lightly tested bufflink but it's still experimental and could do
all the usual horrible things that kernel stuff can, nasal daemons
excepted. Get it from
ftp://ftp.ox.ac.uk/pub/linux/bufflink-0.3.tar.gz
For basic use, you do something like:
#include <linux/bufflink.h>
...
struct bufflink *bl;
/* Use auto-created buffer of default size and auto-assign minor */
err = bufflink_create(&bl, 0, 0, -1);
...
/* Fast append of data to ring buffer (ok even from interrupt or bh) */
bufflink_append(bl, data, size);
Comments and bug reports/fixes welcome.
--Malcolm
-- Malcolm Beattie <mbeattie@sable.ox.ac.uk> Unix Systems Programmer Oxford University Computing Services- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/