initial code repo
[stor4nfv.git] / src / ceph / src / pybind / rados / rados.pxd
diff --git a/src/ceph/src/pybind/rados/rados.pxd b/src/ceph/src/pybind/rados/rados.pxd
new file mode 100644 (file)
index 0000000..a713721
--- /dev/null
@@ -0,0 +1,39 @@
+# cython: embedsignature=True
+#
+# Shared object for librbdpy
+#
+# Copyright 2016 Mehdi Abaakouk <sileht@redhat.com>
+
+
+cdef extern from "rados/librados.h" nogil:
+    ctypedef void* rados_t
+    ctypedef void* rados_config_t
+    ctypedef void* rados_ioctx_t
+
+
+cdef class Rados(object):
+    cdef:
+        rados_t cluster
+        public object state
+        public object monitor_callback
+        public object monitor_callback2
+        public object parsed_args
+        public object conf_defaults
+        public object conffile
+        public object rados_id
+
+
+cdef class Ioctx(object):
+    cdef:
+        rados_ioctx_t io
+        public char *name
+        public object state
+        public object locator_key
+        public object nspace
+
+        # TODO(sileht): we need to track leaving completion objects
+        # I guess we can do that in a lighter ways, but keep code simple
+        # as before for now
+        public object safe_completions
+        public object complete_completions
+        public object lock