+PyDoc_STRVAR(Reader_get_cursor__doc__,
+ "get_cursor() -> str\n\n"
+ "Return a cursor string for the current journal entry.\n\n"
+ "Wraps sd_journal_get_cursor(). See man:sd_journal_get_cursor(3).");
+static PyObject* Reader_get_cursor(Reader *self, PyObject *args)
+{
+ char _cleanup_free_ *cursor = NULL;
+ int r;
+
+ assert(self);
+ assert(!args);
+
+ r = sd_journal_get_cursor(self->j, &cursor);
+ if (set_error(r, NULL, NULL))
+ return NULL;
+
+ return unicode_FromString(cursor);
+}
+
+
+PyDoc_STRVAR(Reader_test_cursor__doc__,
+ "test_cursor(str) -> bool\n\n"
+ "Test whether the cursor string matches current journal entry.\n\n"
+ "Wraps sd_journal_test_cursor(). See man:sd_journal_test_cursor(3).");
+static PyObject* Reader_test_cursor(Reader *self, PyObject *args)
+{
+ const char *cursor;
+ int r;
+
+ assert(self);
+ assert(args);
+
+ if (!PyArg_ParseTuple(args, "s:_Reader.get_cursor", &cursor))
+ return NULL;
+
+ r = sd_journal_test_cursor(self->j, cursor);
+ set_error(r, NULL, NULL);
+ if (r < 0)
+ return NULL;
+
+ return PyBool_FromLong(r);
+}
+
+