shutdownhook_establish(fn, arg) void (*fn) __P((void *));
powerhook_establish(fn, arg) void (*fn) __P((int, void *));
LIST_HEAD(, shutdownhook_desc) shutdownhook_list;int shutdownhooks_done;void *shutdownhook_establish(fn, arg)	void (*fn) __P((void *));	void *arg;{	struct shutdownhook_desc *ndp;	ndp = (struct shutdownhook_desc *)	    malloc(sizeof (*ndp), M_DEVBUF, M_NOWAIT);	if (ndp == NULL)		return NULL;	ndp->sfd_fn = fn;	ndp->sfd_arg = arg;	LIST_INSERT_HEAD(&shutdownhook_list, ndp, sfd_list);	return (ndp);}