File:  [NetBSD Developer Wiki] / wikisrc / projects / project / binary_compat_puffs_backend.mdwn
Revision 1.5: download - view: text, annotated - select for diffs
Tue Feb 16 17:58:53 2016 UTC (4 years, 3 months ago) by riastradh
Branches: MAIN
CVS tags: HEAD
Remove pooka projects, per request by pooka.

[[!template id=project

title="Binary compatibility for puffs backend"

[tech-kern](, [tech-userlevel](

duration="3 months"

Currently, the [puffs(3)]( interface between the kernel and userspace uses various system structures for passing information. Examples are `struct stat` and `struct uucred`. If these change in layout (such as with the time_t size change in NetBSD 6.0), old puffs servers must be recompiled.

The project milestones are:

* *define* a binary-independent protocol
* *implement* support
* *measure* the performance difference with direct kernel struct passing
* if there is a huge difference, *investigate* the possibility for having both an internal and external protocol. The actual decision to include support will be made on the relative complexity of the code for dual support.

While this project will be partially implemented in the kernel, it is fairly well-contained and prior kernel experience is not necessary.

If there is time and interest, a suggested subproject is making sure that [p2k(3)]( does not suffer from similar issues. This is a required subproject if dual support as mentioned above is not necessary.

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb