コード例 #1
0
ファイル: liblvm.c プロジェクト: Jajcus/lvm2
static PyObject *
liblvm_library_get_version(void)
{
	LVM_VALID();

	return Py_BuildValue("s", lvm_library_get_version());
}
コード例 #2
0
ファイル: liblvm.c プロジェクト: Jajcus/lvm2
static PyObject *
liblvm_get_last_error(void)
{
	PyObject *info;

	LVM_VALID();

	if ((info = PyTuple_New(2)) == NULL)
		return NULL;

	PyTuple_SetItem(info, 0, PyInt_FromLong((long) lvm_errno(libh)));
	PyTuple_SetItem(info, 1, PyString_FromString(lvm_errmsg(libh)));

	return info;
}
コード例 #3
0
static PyObject *_liblvm_get_last_error(void)
{
	PyObject *info;
	const char *msg = NULL;

	LVM_VALID(NULL);

	if (!(info = PyTuple_New(2)))
		return NULL;

	PyTuple_SetItem(info, 0, PYINTTYPE_FROMLONG((long) lvm_errno(_libh)));
	msg = lvm_errmsg(_libh);
	PyTuple_SetItem(info, 1, ((msg) ? PYSTRTYPE_FROMSTRING(msg) :
			PYSTRTYPE_FROMSTRING("Memory error while retrieving error message")));

	return info;
}
コード例 #4
0
static PyObject *_liblvm_lvm_list_vg_names(void)
{
	struct dm_list *vgnames;
	struct lvm_str_list *strl;
	PyObject * pytuple;
	int i = 0;

	LVM_VALID(NULL);

	if (!(vgnames = lvm_list_vg_names(_libh))) {
		PyErr_SetObject(_LibLVMError, _liblvm_get_last_error());
		return NULL;
	}

	if (!(pytuple = PyTuple_New(dm_list_size(vgnames))))
		return NULL;

	dm_list_iterate_items(strl, vgnames) {
		PyTuple_SET_ITEM(pytuple, i, PYSTRTYPE_FROMSTRING(strl->str));
		i++;
	}
コード例 #5
0
ファイル: liblvm.c プロジェクト: Jajcus/lvm2
static PyObject *
liblvm_lvm_list_vg_names(void)
{
	struct dm_list *vgnames;
	struct lvm_str_list *strl;
	PyObject * pytuple;
	int i = 0;

	LVM_VALID();

	vgnames = lvm_list_vg_names(libh);
	if (!vgnames) {
		PyErr_SetObject(LibLVMError, liblvm_get_last_error());
		return NULL;
	}

	pytuple = PyTuple_New(dm_list_size(vgnames));
	if (!pytuple)
		return NULL;

	dm_list_iterate_items(strl, vgnames) {
		PyTuple_SET_ITEM(pytuple, i, PyString_FromString(strl->str));
		i++;
	}