#include "libnvme.h"
 #include "nvme-print.h"
 #include "nvme-print-json.h"
+#include "fabrics.h"
 
 #define PATH_NVMF_DISC         SYSCONFDIR "/nvme/discovery.conf"
 #define PATH_NVMF_CONFIG       SYSCONFDIR "/nvme/config.json"
        OPT_FLAG("data-digest",       'G', &c.data_digest,        nvmf_data_digest), \
        OPT_FLAG("tls",                 0, &c.tls,                nvmf_tls)     \
 
-struct tr_config {
-       const char *subsysnqn;
-       const char *transport;
-       const char *traddr;
-       const char *host_traddr;
-       const char *host_iface;
-       const char *trsvcid;
-};
-
 /*
  * Compare two C strings and handle NULL pointers gracefully.
  * If either of the two strings is NULL, return 0
        return __lookup_ctrl(r, trcfg, disc_ctrl_config_match);
 }
 
-static nvme_ctrl_t lookup_ctrl(nvme_root_t r, struct tr_config *trcfg)
+nvme_ctrl_t lookup_ctrl(nvme_root_t r, struct tr_config *trcfg)
 {
        return __lookup_ctrl(r, trcfg, ctrl_config_match);
 }
 
 #ifndef _FABRICS_H
 #define _FABRICS_H
 
+struct tr_config {
+       const char *subsysnqn;
+       const char *transport;
+       const char *traddr;
+       const char *host_traddr;
+       const char *host_iface;
+       const char *trsvcid;
+};
+
+extern nvme_ctrl_t lookup_ctrl(nvme_root_t r, struct tr_config *trcfg);
 extern int nvmf_discover(const char *desc, int argc, char **argv, bool connect);
 extern int nvmf_connect(const char *desc, int argc, char **argv);
 extern int nvmf_disconnect(const char *desc, int argc, char **argv);