1 /*
2  * This file and its contents are supplied under the terms of the
3  * Common Development and Distribution License ("CDDL"), version 1.0.
4  * You may only use this file in accordance with the terms of version
5  * 1.0 of the CDDL.
6  *
7  * A full copy of the text of the CDDL should have accompanied this
8  * source.  A copy of the CDDL is also available via the Internet at
9  * http://www.illumos.org/license/CDDL.
10  */
11 /*
12  * Copyright 2020 Joyent, Inc.
13  */
14 
15 #ifndef _DISK_DRIVERS_H
16 #define	_DISK_DRIVERS_H
17 
18 #include <fm/topo_mod.h>
19 #include <libdevinfo.h>
20 #include <libnvme.h>
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 /*
27  * This is the disk module-specific data.
28  */
29 typedef struct {
30 	topo_list_t td_dlist;
31 	nvme_t *td_nvme;
32 } topo_disk_t;
33 
34 #define	MPTSAS_DRV	"mpt_sas"
35 #define	NVME_DRV	"nvme"
36 
37 int disk_mptsas_find_disk(topo_mod_t *, tnode_t *, char **);
38 int disk_nvme_enum_disk(topo_mod_t *, tnode_t *);
39 
40 #ifdef __cplusplus
41 }
42 #endif
43 
44 #endif /* _DISK_DRIVERS_H */
45