66 lines
2.0 KiB
Diff
66 lines
2.0 KiB
Diff
|
From b646050b8da51c39cf21f95fa847c12784a1169c Mon Sep 17 00:00:00 2001
|
||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||
|
Date: Thu, 21 Nov 2019 15:02:44 +0000
|
||
|
Subject: [PATCH] python: Add various constants to the API.
|
||
|
|
||
|
These are accessible from the plugin by:
|
||
|
|
||
|
import nbdkit
|
||
|
|
||
|
if flags & nbdkit.FLAG_MAY_TRIM:
|
||
|
&c.
|
||
|
|
||
|
Many (all?) of these are not yet useful for plugins, some will never
|
||
|
be useful, but they only consume a tiny bit of memory and it's nice to
|
||
|
have the complete set available for future use.
|
||
|
|
||
|
(cherry picked from commit 14b7fe2e0de881e3dfc8803484ade29a61e323c9)
|
||
|
---
|
||
|
plugins/python/python.c | 30 ++++++++++++++++++++++++++++++
|
||
|
1 file changed, 30 insertions(+)
|
||
|
|
||
|
diff --git a/plugins/python/python.c b/plugins/python/python.c
|
||
|
index 7052aac..47da083 100644
|
||
|
--- a/plugins/python/python.c
|
||
|
+++ b/plugins/python/python.c
|
||
|
@@ -231,6 +231,36 @@ create_nbdkit_module (void)
|
||
|
nbdkit_error ("could not create the nbdkit API module");
|
||
|
exit (EXIT_FAILURE);
|
||
|
}
|
||
|
+
|
||
|
+ /* Constants corresponding to various flags. */
|
||
|
+#define ADD_INT_CONSTANT(name) \
|
||
|
+ if (PyModule_AddIntConstant (m, #name, NBDKIT_##name) == -1) { \
|
||
|
+ nbdkit_error ("could not add constant %s to nbdkit API module", \
|
||
|
+ #name); \
|
||
|
+ exit (EXIT_FAILURE); \
|
||
|
+ }
|
||
|
+ ADD_INT_CONSTANT (THREAD_MODEL_SERIALIZE_CONNECTIONS);
|
||
|
+ ADD_INT_CONSTANT (THREAD_MODEL_SERIALIZE_ALL_REQUESTS);
|
||
|
+ ADD_INT_CONSTANT (THREAD_MODEL_SERIALIZE_REQUESTS);
|
||
|
+ ADD_INT_CONSTANT (THREAD_MODEL_PARALLEL);
|
||
|
+
|
||
|
+ ADD_INT_CONSTANT (FLAG_MAY_TRIM);
|
||
|
+ ADD_INT_CONSTANT (FLAG_FUA);
|
||
|
+ ADD_INT_CONSTANT (FLAG_REQ_ONE);
|
||
|
+ ADD_INT_CONSTANT (FLAG_FAST_ZERO);
|
||
|
+
|
||
|
+ ADD_INT_CONSTANT (FUA_NONE);
|
||
|
+ ADD_INT_CONSTANT (FUA_EMULATE);
|
||
|
+ ADD_INT_CONSTANT (FUA_NATIVE);
|
||
|
+
|
||
|
+ ADD_INT_CONSTANT (CACHE_NONE);
|
||
|
+ ADD_INT_CONSTANT (CACHE_EMULATE);
|
||
|
+ ADD_INT_CONSTANT (CACHE_NATIVE);
|
||
|
+
|
||
|
+ ADD_INT_CONSTANT (EXTENT_HOLE);
|
||
|
+ ADD_INT_CONSTANT (EXTENT_ZERO);
|
||
|
+#undef ADD_INT_CONSTANT
|
||
|
+
|
||
|
return m;
|
||
|
}
|
||
|
|
||
|
--
|
||
|
2.18.2
|
||
|
|