File:  [NetBSD Developer Wiki] / wikisrc / projects / project / struct_protosw.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Wed Nov 9 20:41:56 2016 UTC (6 years ago) by riastradh
Branches: MAIN
CVS tags: HEAD
rtr@ did protosw revamp years ago.  No longer available for funding.

[[!template id=project

title="Revamped struct protosw"


funded="The NetBSD Foundation"
done_by="Tyler Retzlaff"

The goal of this project is to split out obvious `PR*_xxx` that should have
never been dispatched through the `pr_usrreq`/`pr_ctloutput`.  Note that
`pr_ctloutput` should be replaced by `pr_getopt`/`pr_setopt`:

* `PRU_CONTROL` -> `pr_ioctl`
* `PRU_PURGEIF` -> `pr_purgeif`
* `PRC0_GETOPT` -> `pr_getopt`
* `PRC0_GETOPT` -> `pr_setopt`

It's expected that `pr_drain` will just schedule a
[[kernel continuation|kernel_continuations]] such as:

* `pr_init` -> `int pr_init(void *dsc);`
* `int pr_fini(void *dsc)`

[[!tag smp_networking]]

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb