From 6be84866ea66a3d9041f0400dda21d05913d219d Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 31 Jan 2001 07:58:58 +0000 Subject: Exterminate the use of PSEUDO_SET() with extreme prejudice. --- sys/net/if_disc.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'sys/net/if_disc.c') diff --git a/sys/net/if_disc.c b/sys/net/if_disc.c index 66bd5f8..7573112 100644 --- a/sys/net/if_disc.c +++ b/sys/net/if_disc.c @@ -42,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -60,8 +61,7 @@ #define DSMTU 65532 #endif -static void discattach __P((void *dummy)); -PSEUDO_SET(discattach, if_disc); +static void discattach __P((void)); static struct ifnet discif; static int discoutput(struct ifnet *, struct mbuf *, struct sockaddr *, @@ -71,8 +71,7 @@ static int discioctl(struct ifnet *, u_long, caddr_t); /* ARGSUSED */ static void -discattach(dummy) - void *dummy; +discattach() { register struct ifnet *ifp = &discif; @@ -90,6 +89,28 @@ discattach(dummy) } static int +disc_modevent(module_t mod, int type, void *data) +{ + switch (type) { + case MOD_LOAD: + discattach(); + break; + case MOD_UNLOAD: + printf("if_disc module unload - not possible for this module type\n"); + return EINVAL; + } + return 0; +} + +static moduledata_t disc_mod = { + "if_disc", + disc_modevent, + NULL +}; + +DECLARE_MODULE(if_disc, disc_mod, SI_SUB_PSEUDO, SI_ORDER_ANY); + +static int discoutput(ifp, m, dst, rt) struct ifnet *ifp; register struct mbuf *m; -- cgit v1.1