soalloc
so = soalloc(p != NULL, prp);
so = soalloc(1, head->so_proto);
struct socket *soalloc (int waitok, struct protosw *);