44 struct scsi_inquiry *inq, void **ctpriv);
45
46 /* Failover module plumbing. */
47 #ifdef lint
48 #define scsi_vhci_failover_ops scsi_vhci_failover_ops_f_tpgs_tape
49 #endif /* lint */
50 struct scsi_failover_ops scsi_vhci_failover_ops = {
51 SFO_REV,
52 "f_tpgs_tape",
53 tpgs_tape_dev_table,
54 tpgs_tape_init,
55 tpgs_tape_device_probe,
56 /* The rest of the implementation comes from SFO_NAME_TPGS import */
57 };
58
59 static struct modlmisc modlmisc = {
60 &mod_miscops, "f_tpgs_tape"
61 };
62
63 static struct modlinkage modlinkage = {
64 MODREV_1, (void *)&modlmisc, NULL
65 };
66
67
68
69 /*
70 * External function definitions
71 */
72 extern struct scsi_failover_ops *vhci_failover_ops_by_name(char *);
73
74 int
75 _init()
76 {
77 return (mod_install(&modlinkage));
78 }
79
80 int
81 _fini()
82 {
83 return (mod_remove(&modlinkage));
84 }
|
44 struct scsi_inquiry *inq, void **ctpriv);
45
46 /* Failover module plumbing. */
47 #ifdef lint
48 #define scsi_vhci_failover_ops scsi_vhci_failover_ops_f_tpgs_tape
49 #endif /* lint */
50 struct scsi_failover_ops scsi_vhci_failover_ops = {
51 SFO_REV,
52 "f_tpgs_tape",
53 tpgs_tape_dev_table,
54 tpgs_tape_init,
55 tpgs_tape_device_probe,
56 /* The rest of the implementation comes from SFO_NAME_TPGS import */
57 };
58
59 static struct modlmisc modlmisc = {
60 &mod_miscops, "f_tpgs_tape"
61 };
62
63 static struct modlinkage modlinkage = {
64 MODREV_1, { (void *)&modlmisc, NULL }
65 };
66
67
68
69 /*
70 * External function definitions
71 */
72 extern struct scsi_failover_ops *vhci_failover_ops_by_name(char *);
73
74 int
75 _init()
76 {
77 return (mod_install(&modlinkage));
78 }
79
80 int
81 _fini()
82 {
83 return (mod_remove(&modlinkage));
84 }
|