1658 (void *)sdp, sdp == lp->owner ? " (owner)" : "",
1659 (void *)sdp->lp, sdp->flag, (void *)ID(sdp),
1660 (void *)sdp->lockseg, (void *)sdp->unlockseg);
1661 }
1662 mutex_exit(&lp->mutex);
1663 }
1664 #endif
1665 mutex_exit(&winlock_mutex);
1666 }
1667
1668 #include <sys/modctl.h>
1669
1670 static struct modldrv modldrv = {
1671 &mod_driverops, /* Type of module. This one is a driver */
1672 "Winlock Driver", /* Name of the module */
1673 &winlock_ops, /* driver ops */
1674 };
1675
1676 static struct modlinkage modlinkage = {
1677 MODREV_1,
1678 (void *)&modldrv,
1679 0,
1680 0,
1681 0
1682 };
1683
1684 int
1685 _init(void)
1686 {
1687 int e;
1688
1689 mutex_init(&winlock_mutex, NULL, MUTEX_DEFAULT, NULL);
1690 e = mod_install(&modlinkage);
1691 if (e) {
1692 mutex_destroy(&winlock_mutex);
1693 }
1694 return (e);
1695 }
1696
1697
1698 int
1699 _info(struct modinfo *modinfop)
1700 {
1701 return (mod_info(&modlinkage, modinfop));
|
1658 (void *)sdp, sdp == lp->owner ? " (owner)" : "",
1659 (void *)sdp->lp, sdp->flag, (void *)ID(sdp),
1660 (void *)sdp->lockseg, (void *)sdp->unlockseg);
1661 }
1662 mutex_exit(&lp->mutex);
1663 }
1664 #endif
1665 mutex_exit(&winlock_mutex);
1666 }
1667
1668 #include <sys/modctl.h>
1669
1670 static struct modldrv modldrv = {
1671 &mod_driverops, /* Type of module. This one is a driver */
1672 "Winlock Driver", /* Name of the module */
1673 &winlock_ops, /* driver ops */
1674 };
1675
1676 static struct modlinkage modlinkage = {
1677 MODREV_1,
1678 { (void *)&modldrv, NULL }
1679 };
1680
1681 int
1682 _init(void)
1683 {
1684 int e;
1685
1686 mutex_init(&winlock_mutex, NULL, MUTEX_DEFAULT, NULL);
1687 e = mod_install(&modlinkage);
1688 if (e) {
1689 mutex_destroy(&winlock_mutex);
1690 }
1691 return (e);
1692 }
1693
1694
1695 int
1696 _info(struct modinfo *modinfop)
1697 {
1698 return (mod_info(&modlinkage, modinfop));
|