summaryrefslogtreecommitdiffstats
path: root/sys/net/if_disc.c
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2001-01-31 07:58:58 +0000
committerpeter <peter@FreeBSD.org>2001-01-31 07:58:58 +0000
commit6be84866ea66a3d9041f0400dda21d05913d219d (patch)
tree126edfdf3ed82891788fa9edc2df5bada88d2592 /sys/net/if_disc.c
parent2c2377c37d343b47ad9d996ea324576e1977647d (diff)
downloadFreeBSD-src-6be84866ea66a3d9041f0400dda21d05913d219d.zip
FreeBSD-src-6be84866ea66a3d9041f0400dda21d05913d219d.tar.gz
Exterminate the use of PSEUDO_SET() with extreme prejudice.
Diffstat (limited to 'sys/net/if_disc.c')
-rw-r--r--sys/net/if_disc.c29
1 files changed, 25 insertions, 4 deletions
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 <sys/param.h>
#include <sys/systm.h>
#include <sys/kernel.h>
+#include <sys/module.h>
#include <sys/mbuf.h>
#include <sys/socket.h>
#include <sys/sockio.h>
@@ -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;
OpenPOWER on IntegriCloud