summaryrefslogtreecommitdiffstats
path: root/libnvme-wrap.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libnvme-wrap.c (renamed from wrapper.c)18
1 files changed, 16 insertions, 2 deletions
diff --git a/wrapper.c b/libnvme-wrap.c
index 2ba5b32..354e7f7 100644
--- a/wrapper.c
+++ b/libnvme-wrap.c
@@ -6,6 +6,7 @@
*/
#include <dlfcn.h>
+#include <errno.h>
#include <libnvme.h>
@@ -21,14 +22,14 @@ void __attribute__((weak)) name(proto) \
fn(args); \
}
-#define FN(name, rtype, proto, args, fallback) \
+#define FN(name, rtype, proto, args, defret) \
rtype __attribute__((weak)) name(proto) \
{ \
rtype (*fn)(proto); \
fn = dlsym(RTLD_NEXT, #name); \
if (fn) \
return fn(args); \
- return fallback; \
+ return defret; \
}
FN(nvme_get_version,
@@ -40,3 +41,16 @@ VOID_FN(nvme_init_copy_range_f1,
__u64 *slbas, __u64 *eilbrts, __u32 *elbatms,
__u32 *elbats, __u16 nr),
ARGS(copy, nlbs, slbas, eilbrts, elbatms, elbats, nr))
+
+FN(nvme_get_feature_length2,
+ int,
+ PROTO(int fid, __u32 cdw11, enum nvme_data_tfr dir,
+ __u32 *len),
+ ARGS(fid, cdw11, dir, len),
+ -EEXIST)
+
+FN(nvme_ctrl_is_persistent,
+ bool,
+ PROTO(nvme_ctrl_t c),
+ ARGS(c),
+ false)