altq_localq.c revision 1.3.2.1 1 /* $NetBSD: altq_localq.c,v 1.3.2.1 2001/10/10 11:55:47 fvdl Exp $ */
2 /* $KAME: altq_localq.c,v 1.4 2001/08/16 11:28:25 kjc Exp $ */
3 /*
4 * a skeleton file for implementing a new queueing discipline.
5 * this file is in the public domain.
6 */
7
8 #if defined(__FreeBSD__) || defined(__NetBSD__)
9 #include "opt_altq.h"
10 #endif /* __FreeBSD__ || __NetBSD__ */
11 #ifdef ALTQ_LOCALQ /* localq is enabled by ALTQ_LOCALQ option in opt_altq.h */
12
13 #include <sys/param.h>
14 #include <sys/mbuf.h>
15 #include <sys/socket.h>
16 #include <sys/sockio.h>
17 #include <sys/vnode.h>
18
19 #include <net/if.h>
20 #include <netinet/in.h>
21
22 #include <altq/altq.h>
23 #include <altq/altq_conf.h>
24
25 /*
26 * localq device interface
27 */
28 altqdev_decl(localq);
29
30 int
31 localqopen(devvp, flag, fmt, p)
32 struct vnode *devvp;
33 int flag, fmt;
34 struct proc *p;
35 {
36 /* everything will be done when the queueing scheme is attached. */
37 return 0;
38 }
39
40 int
41 localqclose(devvp, flag, fmt, p)
42 struct vnode *devvp;
43 int flag, fmt;
44 struct proc *p;
45 {
46 int error = 0;
47
48 return error;
49 }
50
51 int
52 localqioctl(devvp, cmd, addr, flag, p)
53 struct vnode *devvp;
54 ioctlcmd_t cmd;
55 caddr_t addr;
56 int flag;
57 struct proc *p;
58 {
59 int error = 0;
60
61 return error;
62 }
63
64 #ifdef KLD_MODULE
65
66 static struct altqsw localq_sw =
67 {"localq", localqopen, localqclose, localqioctl};
68
69 ALTQ_MODULE(altq_localq, ALTQT_LOCALQ, &localq_sw);
70
71 #endif /* KLD_MODULE */
72
73 #endif /* ALTQ_LOCALQ */
74