7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22 /*
23 * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #pragma ident "%Z%%M% %I% %E% SMI"
28
29 #include <sys/types.h>
30 #include <sys/conf.h>
31 #include <sys/atomic.h>
32 #include <sys/systm.h>
33 #include <sys/socket.h>
34 #include <sys/spl.h>
35 #include <netinet/in.h>
36 #include <sys/modctl.h>
37 #include <sys/sunddi.h>
38 #include <ipp/ipp.h>
39 #include <ipp/ipp_config.h>
40 #include <inet/common.h>
41 #include <ipp/flowacct/flowacct_impl.h>
42 #include <sys/ddi.h>
43
44 #define D_SM_COMMENT "IPP Flow Accounting Module"
45
46 /* DDI file for flowacct ipp module */
47
48 static int flowacct_create_action(ipp_action_id_t, nvlist_t **, ipp_flags_t);
59 flowacct_create_action, /* ippo_action_create */
60 flowacct_modify_action, /* ippo_action_modify */
61 flowacct_destroy_action, /* ippo_action_destroy */
62 flowacct_info, /* ippo_action_info */
63 flowacct_invoke_action /* ippo_action_invoke */
64 };
65
66 extern struct mod_ops mod_ippops;
67
68 /*
69 * Module linkage information for the kernel.
70 */
71 static struct modlipp modlipp = {
72 &mod_ippops,
73 D_SM_COMMENT " 1.12",
74 &flowacct_ops
75 };
76
77 static struct modlinkage modlinkage = {
78 MODREV_1,
79 (void *)&modlipp,
80 NULL
81 };
82
83 int
84 _init(void)
85 {
86 return (mod_install(&modlinkage));
87 }
88
89 int
90 _fini(void)
91 {
92 return (mod_remove(&modlinkage));
93 }
94
95 int
96 _info(struct modinfo *modinfop)
97 {
98 return (mod_info(&modlinkage, modinfop));
99 }
100
|
7 * with the License.
8 *
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
13 *
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
19 *
20 * CDDL HEADER END
21 */
22 /*
23 * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #include <sys/types.h>
28 #include <sys/conf.h>
29 #include <sys/atomic.h>
30 #include <sys/systm.h>
31 #include <sys/socket.h>
32 #include <sys/spl.h>
33 #include <netinet/in.h>
34 #include <sys/modctl.h>
35 #include <sys/sunddi.h>
36 #include <ipp/ipp.h>
37 #include <ipp/ipp_config.h>
38 #include <inet/common.h>
39 #include <ipp/flowacct/flowacct_impl.h>
40 #include <sys/ddi.h>
41
42 #define D_SM_COMMENT "IPP Flow Accounting Module"
43
44 /* DDI file for flowacct ipp module */
45
46 static int flowacct_create_action(ipp_action_id_t, nvlist_t **, ipp_flags_t);
57 flowacct_create_action, /* ippo_action_create */
58 flowacct_modify_action, /* ippo_action_modify */
59 flowacct_destroy_action, /* ippo_action_destroy */
60 flowacct_info, /* ippo_action_info */
61 flowacct_invoke_action /* ippo_action_invoke */
62 };
63
64 extern struct mod_ops mod_ippops;
65
66 /*
67 * Module linkage information for the kernel.
68 */
69 static struct modlipp modlipp = {
70 &mod_ippops,
71 D_SM_COMMENT " 1.12",
72 &flowacct_ops
73 };
74
75 static struct modlinkage modlinkage = {
76 MODREV_1,
77 { (void *)&modlipp, NULL }
78 };
79
80 int
81 _init(void)
82 {
83 return (mod_install(&modlinkage));
84 }
85
86 int
87 _fini(void)
88 {
89 return (mod_remove(&modlinkage));
90 }
91
92 int
93 _info(struct modinfo *modinfop)
94 {
95 return (mod_info(&modlinkage, modinfop));
96 }
97
|