The man page omits mention of the workq_fn typedef, which I feel is kind of important. The trouble is, I'm not sure how to format it. I couldn't find a nice sample to compare. I'm not entirely happy with the formatting of what's below, but it's passable if there's nothing better.
Index: workq_add_task.9 =================================================================== RCS file: /home/tedu/cvs/src/share/man/man9/workq_add_task.9,v retrieving revision 1.14 diff -u -r1.14 workq_add_task.9 --- workq_add_task.9 3 Sep 2009 15:10:39 -0000 1.14 +++ workq_add_task.9 30 Jun 2011 00:37:46 -0000 @@ -25,8 +25,10 @@ .Nd work queues .Sh SYNOPSIS .Fd #include <sys/workq.h> +.Ft typedef void +.Fn "(*workq_fn)" "void *" "void *" .Ft int -.Fn "workq_add_task" "struct workq *wq" "int flags" "void (*func)(void *, void *)" "void *arg1" "void *arg2" +.Fn "workq_add_task" "struct workq *wq" "int flags" "workq_fn func" "void *arg1" "void *arg2" .Ft void .Fn "workq_queue_task" "struct workq *wq" "struct workq_task *wqt" "int flags" "void (*func)(void *, void *)" "void *arg1" "void *arg2" .Ft struct workq *
