xref: /netbsd/sys/altq/altq_localq.c (revision 53524e44)
1 /*	$NetBSD: altq_localq.c,v 1.10 2007/03/04 05:59:01 christos Exp $	*/
2 /*	$KAME: altq_localq.c,v 1.7 2003/07/10 12:07:48 kjc Exp $	*/
3 /*
4  * a skeleton file for implementing a new queueing discipline.
5  * this file is in the public domain.
6  */
7 
8 #include <sys/cdefs.h>
9 __KERNEL_RCSID(0, "$NetBSD: altq_localq.c,v 1.10 2007/03/04 05:59:01 christos Exp $");
10 
11 #ifdef _KERNEL_OPT
12 #include "opt_altq.h"
13 #endif
14 
15 #ifdef ALTQ_LOCALQ  /* localq is enabled by ALTQ_LOCALQ option in opt_altq.h */
16 
17 #include <sys/param.h>
18 #include <sys/mbuf.h>
19 #include <sys/socket.h>
20 #include <sys/sockio.h>
21 
22 #include <net/if.h>
23 #include <netinet/in.h>
24 
25 #include <altq/altq.h>
26 #include <altq/altq_conf.h>
27 
28 #ifdef ALTQ3_COMPAT
29 /*
30  * localq device interface
31  */
32 altqdev_decl(localq);
33 
34 int
localqopen(dev_t dev,int flag,int fmt,struct lwp * l)35 localqopen(dev_t dev, int flag, int fmt,
36     struct lwp *l)
37 {
38 	/* everything will be done when the queueing scheme is attached. */
39 	return 0;
40 }
41 
42 int
localqclose(dev_t dev,int flag,int fmt,struct lwp * l)43 localqclose(dev_t dev, int flag, int fmt,
44     struct lwp *l)
45 {
46 	int error = 0;
47 
48 	return error;
49 }
50 
51 int
localqioctl(dev_t dev,ioctlcmd_t cmd,void * addr,int flag,struct lwp * l)52 localqioctl(dev_t dev, ioctlcmd_t cmd, void *addr,
53     int flag, struct lwp *l)
54 {
55 	int error = 0;
56 
57 	return error;
58 }
59 
60 #ifdef KLD_MODULE
61 
62 static struct altqsw localq_sw =
63 	{"localq", localqopen, localqclose, localqioctl};
64 
65 ALTQ_MODULE(altq_localq, ALTQT_LOCALQ, &localq_sw);
66 
67 #endif /* KLD_MODULE */
68 
69 #endif /* ALTQ3_COMPAT */
70 #endif /* ALTQ_LOCALQ */
71