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 2008 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #include <sys/modctl.h>
28 #include <sys/sunddi.h>
29
30 /* internal global data */
31 static struct modlmisc modlmisc = {
32 &mod_miscops, "bootdev misc module"
33 };
34
35 static struct modlinkage modlinkage = {
36 MODREV_1, (void *)&modlmisc, NULL
37 };
38
39 int
40 _init()
41 {
42 return (mod_install(&modlinkage));
43 }
44
45 int
46 _fini()
47 {
48 return (mod_remove(&modlinkage));
49 }
50
51 int
52 _info(struct modinfo *modinfop)
53 {
54 return (mod_info(&modlinkage, modinfop));
55 }
56
|
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 2008 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #include <sys/modctl.h>
28 #include <sys/sunddi.h>
29
30 /* internal global data */
31 static struct modlmisc modlmisc = {
32 &mod_miscops, "bootdev misc module"
33 };
34
35 static struct modlinkage modlinkage = {
36 MODREV_1, { (void *)&modlmisc, NULL }
37 };
38
39 int
40 _init()
41 {
42 return (mod_install(&modlinkage));
43 }
44
45 int
46 _fini()
47 {
48 return (mod_remove(&modlinkage));
49 }
50
51 int
52 _info(struct modinfo *modinfop)
53 {
54 return (mod_info(&modlinkage, modinfop));
55 }
56
|