/* libguestfs generated file * WARNING: THIS FILE IS GENERATED BY 'src/generator.ml'. * ANY CHANGES YOU MAKE TO THIS FILE WILL BE LOST. * * Copyright (C) 2009 Red Hat Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ #include #include #include #include #include "guestfs.h" typedef struct { PyObject_HEAD guestfs_h *g; } Pyguestfs_Object; static guestfs_h * get_handle (PyObject *obj) { assert (obj); assert (obj != Py_None); return ((Pyguestfs_Object *) obj)->g; } static PyObject * put_handle (guestfs_h *g) { assert (g); return PyCObject_FromVoidPtrAndDesc ((void *) g, (char *) "guestfs_h", NULL); } /* This list should be freed (but not the strings) after use. */ static const char ** get_string_list (PyObject *obj) { int i, len; const char **r; assert (obj); if (!PyList_Check (obj)) { PyErr_SetString (PyExc_RuntimeError, "expecting a list parameter"); return NULL; } len = PyList_Size (obj); r = malloc (sizeof (char *) * (len+1)); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, "get_string_list: out of memory"); return NULL; } for (i = 0; i < len; ++i) r[i] = PyString_AsString (PyList_GetItem (obj, i)); r[len] = NULL; return r; } static PyObject * put_string_list (char * const * const argv) { PyObject *list; int argc, i; for (argc = 0; argv[argc] != NULL; ++argc) ; list = PyList_New (argc); for (i = 0; i < argc; ++i) PyList_SetItem (list, i, PyString_FromString (argv[i])); return list; } static void free_strings (char **argv) { int argc; for (argc = 0; argv[argc] != NULL; ++argc) free (argv[argc]); free (argv); } static PyObject * py_guestfs_create (PyObject *self, PyObject *args) { guestfs_h *g; g = guestfs_create (); if (g == NULL) { PyErr_SetString (PyExc_RuntimeError, "guestfs.create: failed to allocate handle"); return NULL; } guestfs_set_error_handler (g, NULL, NULL); return put_handle (g); } static PyObject * py_guestfs_close (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_close", &py_g)) return NULL; g = get_handle (py_g); guestfs_close (g); Py_INCREF (Py_None); return Py_None; } static PyObject * put_lvm_pv (struct guestfs_lvm_pv *pv) { PyObject *dict; dict = PyDict_New (); PyDict_SetItemString (dict, "pv_name", PyString_FromString (pv->pv_name)); PyDict_SetItemString (dict, "pv_uuid", PyString_FromStringAndSize (pv->pv_uuid, 32)); PyDict_SetItemString (dict, "pv_fmt", PyString_FromString (pv->pv_fmt)); PyDict_SetItemString (dict, "pv_size", PyLong_FromUnsignedLongLong (pv->pv_size)); PyDict_SetItemString (dict, "dev_size", PyLong_FromUnsignedLongLong (pv->dev_size)); PyDict_SetItemString (dict, "pv_free", PyLong_FromUnsignedLongLong (pv->pv_free)); PyDict_SetItemString (dict, "pv_used", PyLong_FromUnsignedLongLong (pv->pv_used)); PyDict_SetItemString (dict, "pv_attr", PyString_FromString (pv->pv_attr)); PyDict_SetItemString (dict, "pv_pe_count", PyLong_FromLongLong (pv->pv_pe_count)); PyDict_SetItemString (dict, "pv_pe_alloc_count", PyLong_FromLongLong (pv->pv_pe_alloc_count)); PyDict_SetItemString (dict, "pv_tags", PyString_FromString (pv->pv_tags)); PyDict_SetItemString (dict, "pe_start", PyLong_FromUnsignedLongLong (pv->pe_start)); PyDict_SetItemString (dict, "pv_mda_count", PyLong_FromLongLong (pv->pv_mda_count)); PyDict_SetItemString (dict, "pv_mda_free", PyLong_FromUnsignedLongLong (pv->pv_mda_free)); return dict; }; static PyObject * put_lvm_pv_list (struct guestfs_lvm_pv_list *pvs) { PyObject *list; int i; list = PyList_New (pvs->len); for (i = 0; i < pvs->len; ++i) PyList_SetItem (list, i, put_lvm_pv (&pvs->val[i])); return list; }; static PyObject * put_lvm_vg (struct guestfs_lvm_vg *vg) { PyObject *dict; dict = PyDict_New (); PyDict_SetItemString (dict, "vg_name", PyString_FromString (vg->vg_name)); PyDict_SetItemString (dict, "vg_uuid", PyString_FromStringAndSize (vg->vg_uuid, 32)); PyDict_SetItemString (dict, "vg_fmt", PyString_FromString (vg->vg_fmt)); PyDict_SetItemString (dict, "vg_attr", PyString_FromString (vg->vg_attr)); PyDict_SetItemString (dict, "vg_size", PyLong_FromUnsignedLongLong (vg->vg_size)); PyDict_SetItemString (dict, "vg_free", PyLong_FromUnsignedLongLong (vg->vg_free)); PyDict_SetItemString (dict, "vg_sysid", PyString_FromString (vg->vg_sysid)); PyDict_SetItemString (dict, "vg_extent_size", PyLong_FromUnsignedLongLong (vg->vg_extent_size)); PyDict_SetItemString (dict, "vg_extent_count", PyLong_FromLongLong (vg->vg_extent_count)); PyDict_SetItemString (dict, "vg_free_count", PyLong_FromLongLong (vg->vg_free_count)); PyDict_SetItemString (dict, "max_lv", PyLong_FromLongLong (vg->max_lv)); PyDict_SetItemString (dict, "max_pv", PyLong_FromLongLong (vg->max_pv)); PyDict_SetItemString (dict, "pv_count", PyLong_FromLongLong (vg->pv_count)); PyDict_SetItemString (dict, "lv_count", PyLong_FromLongLong (vg->lv_count)); PyDict_SetItemString (dict, "snap_count", PyLong_FromLongLong (vg->snap_count)); PyDict_SetItemString (dict, "vg_seqno", PyLong_FromLongLong (vg->vg_seqno)); PyDict_SetItemString (dict, "vg_tags", PyString_FromString (vg->vg_tags)); PyDict_SetItemString (dict, "vg_mda_count", PyLong_FromLongLong (vg->vg_mda_count)); PyDict_SetItemString (dict, "vg_mda_free", PyLong_FromUnsignedLongLong (vg->vg_mda_free)); return dict; }; static PyObject * put_lvm_vg_list (struct guestfs_lvm_vg_list *vgs) { PyObject *list; int i; list = PyList_New (vgs->len); for (i = 0; i < vgs->len; ++i) PyList_SetItem (list, i, put_lvm_vg (&vgs->val[i])); return list; }; static PyObject * put_lvm_lv (struct guestfs_lvm_lv *lv) { PyObject *dict; dict = PyDict_New (); PyDict_SetItemString (dict, "lv_name", PyString_FromString (lv->lv_name)); PyDict_SetItemString (dict, "lv_uuid", PyString_FromStringAndSize (lv->lv_uuid, 32)); PyDict_SetItemString (dict, "lv_attr", PyString_FromString (lv->lv_attr)); PyDict_SetItemString (dict, "lv_major", PyLong_FromLongLong (lv->lv_major)); PyDict_SetItemString (dict, "lv_minor", PyLong_FromLongLong (lv->lv_minor)); PyDict_SetItemString (dict, "lv_kernel_major", PyLong_FromLongLong (lv->lv_kernel_major)); PyDict_SetItemString (dict, "lv_kernel_minor", PyLong_FromLongLong (lv->lv_kernel_minor)); PyDict_SetItemString (dict, "lv_size", PyLong_FromUnsignedLongLong (lv->lv_size)); PyDict_SetItemString (dict, "seg_count", PyLong_FromLongLong (lv->seg_count)); PyDict_SetItemString (dict, "origin", PyString_FromString (lv->origin)); if (lv->snap_percent >= 0) PyDict_SetItemString (dict, "snap_percent", PyFloat_FromDouble ((double) lv->snap_percent)); else { Py_INCREF (Py_None); PyDict_SetItemString (dict, "snap_percent", Py_None); } if (lv->copy_percent >= 0) PyDict_SetItemString (dict, "copy_percent", PyFloat_FromDouble ((double) lv->copy_percent)); else { Py_INCREF (Py_None); PyDict_SetItemString (dict, "copy_percent", Py_None); } PyDict_SetItemString (dict, "move_pv", PyString_FromString (lv->move_pv)); PyDict_SetItemString (dict, "lv_tags", PyString_FromString (lv->lv_tags)); PyDict_SetItemString (dict, "mirror_log", PyString_FromString (lv->mirror_log)); PyDict_SetItemString (dict, "modules", PyString_FromString (lv->modules)); return dict; }; static PyObject * put_lvm_lv_list (struct guestfs_lvm_lv_list *lvs) { PyObject *list; int i; list = PyList_New (lvs->len); for (i = 0; i < lvs->len; ++i) PyList_SetItem (list, i, put_lvm_lv (&lvs->val[i])); return list; }; static PyObject * py_guestfs_launch (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_launch", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_launch (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_wait_ready (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_wait_ready", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_wait_ready (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_kill_subprocess (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_kill_subprocess", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_kill_subprocess (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_add_drive (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *filename; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_add_drive", &py_g, &filename)) return NULL; g = get_handle (py_g); r = guestfs_add_drive (g, filename); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_add_cdrom (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *filename; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_add_cdrom", &py_g, &filename)) return NULL; g = get_handle (py_g); r = guestfs_add_cdrom (g, filename); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_config (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *qemuparam; const char *qemuvalue; if (!PyArg_ParseTuple (args, (char *) "Osz:guestfs_config", &py_g, &qemuparam, &qemuvalue)) return NULL; g = get_handle (py_g); r = guestfs_config (g, qemuparam, qemuvalue); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_set_path (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_set_path", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_set_path (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_get_path (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; const char *r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_path", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_get_path (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyString_FromString (r); return py_r; } static PyObject * py_guestfs_set_autosync (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; int autosync; if (!PyArg_ParseTuple (args, (char *) "Oi:guestfs_set_autosync", &py_g, &autosync)) return NULL; g = get_handle (py_g); r = guestfs_set_autosync (g, autosync); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_get_autosync (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_autosync", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_get_autosync (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * py_guestfs_set_verbose (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; int verbose; if (!PyArg_ParseTuple (args, (char *) "Oi:guestfs_set_verbose", &py_g, &verbose)) return NULL; g = get_handle (py_g); r = guestfs_set_verbose (g, verbose); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_get_verbose (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_verbose", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_get_verbose (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * py_guestfs_mount (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *device; const char *mountpoint; if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_mount", &py_g, &device, &mountpoint)) return NULL; g = get_handle (py_g); r = guestfs_mount (g, device, mountpoint); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_sync (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_sync", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_sync (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_touch (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_touch", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_touch (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_cat (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char *r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_cat", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_cat (g, path); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyString_FromString (r); free (r); return py_r; } static PyObject * py_guestfs_ll (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char *r; const char *directory; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_ll", &py_g, &directory)) return NULL; g = get_handle (py_g); r = guestfs_ll (g, directory); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyString_FromString (r); free (r); return py_r; } static PyObject * py_guestfs_ls (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char **r; const char *directory; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_ls", &py_g, &directory)) return NULL; g = get_handle (py_g); r = guestfs_ls (g, directory); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_string_list (r); free_strings (r); return py_r; } static PyObject * py_guestfs_list_devices (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char **r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_list_devices", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_list_devices (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_string_list (r); free_strings (r); return py_r; } static PyObject * py_guestfs_list_partitions (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char **r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_list_partitions", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_list_partitions (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_string_list (r); free_strings (r); return py_r; } static PyObject * py_guestfs_pvs (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char **r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_pvs", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_pvs (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_string_list (r); free_strings (r); return py_r; } static PyObject * py_guestfs_vgs (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char **r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_vgs", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_vgs (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_string_list (r); free_strings (r); return py_r; } static PyObject * py_guestfs_lvs (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char **r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_lvs", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_lvs (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_string_list (r); free_strings (r); return py_r; } static PyObject * py_guestfs_pvs_full (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; struct guestfs_lvm_pv_list *r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_pvs_full", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_pvs_full (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_lvm_pv_list (r); guestfs_free_lvm_pv_list (r); return py_r; } static PyObject * py_guestfs_vgs_full (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; struct guestfs_lvm_vg_list *r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_vgs_full", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_vgs_full (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_lvm_vg_list (r); guestfs_free_lvm_vg_list (r); return py_r; } static PyObject * py_guestfs_lvs_full (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; struct guestfs_lvm_lv_list *r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_lvs_full", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_lvs_full (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_lvm_lv_list (r); guestfs_free_lvm_lv_list (r); return py_r; } static PyObject * py_guestfs_read_lines (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char **r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_read_lines", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_read_lines (g, path); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_string_list (r); free_strings (r); return py_r; } static PyObject * py_guestfs_aug_init (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *root; int flags; if (!PyArg_ParseTuple (args, (char *) "Osi:guestfs_aug_init", &py_g, &root, &flags)) return NULL; g = get_handle (py_g); r = guestfs_aug_init (g, root, flags); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_aug_close (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_aug_close", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_aug_close (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_aug_defvar (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *name; const char *expr; if (!PyArg_ParseTuple (args, (char *) "Osz:guestfs_aug_defvar", &py_g, &name, &expr)) return NULL; g = get_handle (py_g); r = guestfs_aug_defvar (g, name, expr); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * py_guestfs_aug_defnode (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; struct guestfs_int_bool *r; const char *name; const char *expr; const char *val; if (!PyArg_ParseTuple (args, (char *) "Osss:guestfs_aug_defnode", &py_g, &name, &expr, &val)) return NULL; g = get_handle (py_g); r = guestfs_aug_defnode (g, name, expr, val); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyTuple_New (2); PyTuple_SetItem (py_r, 0, PyInt_FromLong ((long) r->i)); PyTuple_SetItem (py_r, 1, PyInt_FromLong ((long) r->b)); guestfs_free_int_bool (r); return py_r; } static PyObject * py_guestfs_aug_get (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char *r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_get", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_aug_get (g, path); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyString_FromString (r); free (r); return py_r; } static PyObject * py_guestfs_aug_set (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; const char *val; if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_aug_set", &py_g, &path, &val)) return NULL; g = get_handle (py_g); r = guestfs_aug_set (g, path, val); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_aug_insert (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; const char *label; int before; if (!PyArg_ParseTuple (args, (char *) "Ossi:guestfs_aug_insert", &py_g, &path, &label, &before)) return NULL; g = get_handle (py_g); r = guestfs_aug_insert (g, path, label, before); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_aug_rm (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_rm", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_aug_rm (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * py_guestfs_aug_mv (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *src; const char *dest; if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_aug_mv", &py_g, &src, &dest)) return NULL; g = get_handle (py_g); r = guestfs_aug_mv (g, src, dest); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_aug_match (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char **r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_match", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_aug_match (g, path); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_string_list (r); free_strings (r); return py_r; } static PyObject * py_guestfs_aug_save (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_aug_save", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_aug_save (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_aug_load (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_aug_load", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_aug_load (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_aug_ls (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char **r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_ls", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_aug_ls (g, path); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_string_list (r); free_strings (r); return py_r; } static PyObject * py_guestfs_rm (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_rm", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_rm (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_rmdir (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_rmdir", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_rmdir (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_rm_rf (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_rm_rf", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_rm_rf (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_mkdir (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_mkdir", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_mkdir (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_mkdir_p (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_mkdir_p", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_mkdir_p (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_chmod (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; int mode; const char *path; if (!PyArg_ParseTuple (args, (char *) "Ois:guestfs_chmod", &py_g, &mode, &path)) return NULL; g = get_handle (py_g); r = guestfs_chmod (g, mode, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_chown (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; int owner; int group; const char *path; if (!PyArg_ParseTuple (args, (char *) "Oiis:guestfs_chown", &py_g, &owner, &group, &path)) return NULL; g = get_handle (py_g); r = guestfs_chown (g, owner, group, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_exists (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_exists", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_exists (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * py_guestfs_is_file (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_is_file", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_is_file (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * py_guestfs_is_dir (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_is_dir", &py_g, &path)) return NULL; g = get_handle (py_g); r = guestfs_is_dir (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * py_guestfs_pvcreate (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *device; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_pvcreate", &py_g, &device)) return NULL; g = get_handle (py_g); r = guestfs_pvcreate (g, device); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_vgcreate (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *volgroup; PyObject *py_physvols; const char **physvols; if (!PyArg_ParseTuple (args, (char *) "OsO:guestfs_vgcreate", &py_g, &volgroup, &py_physvols)) return NULL; g = get_handle (py_g); physvols = get_string_list (py_physvols); if (!physvols) return NULL; r = guestfs_vgcreate (g, volgroup, physvols); free (physvols); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_lvcreate (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *logvol; const char *volgroup; int mbytes; if (!PyArg_ParseTuple (args, (char *) "Ossi:guestfs_lvcreate", &py_g, &logvol, &volgroup, &mbytes)) return NULL; g = get_handle (py_g); r = guestfs_lvcreate (g, logvol, volgroup, mbytes); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_mkfs (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *fstype; const char *device; if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_mkfs", &py_g, &fstype, &device)) return NULL; g = get_handle (py_g); r = guestfs_mkfs (g, fstype, device); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_sfdisk (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *device; int cyls; int heads; int sectors; PyObject *py_lines; const char **lines; if (!PyArg_ParseTuple (args, (char *) "OsiiiO:guestfs_sfdisk", &py_g, &device, &cyls, &heads, §ors, &py_lines)) return NULL; g = get_handle (py_g); lines = get_string_list (py_lines); if (!lines) return NULL; r = guestfs_sfdisk (g, device, cyls, heads, sectors, lines); free (lines); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_write_file (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *path; const char *content; int size; if (!PyArg_ParseTuple (args, (char *) "Ossi:guestfs_write_file", &py_g, &path, &content, &size)) return NULL; g = get_handle (py_g); r = guestfs_write_file (g, path, content, size); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_umount (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; const char *pathordevice; if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_umount", &py_g, &pathordevice)) return NULL; g = get_handle (py_g); r = guestfs_umount (g, pathordevice); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_mounts (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char **r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_mounts", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_mounts (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } py_r = put_string_list (r); free_strings (r); return py_r; } static PyObject * py_guestfs_umount_all (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_umount_all", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_umount_all (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyObject * py_guestfs_lvm_remove_all (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; if (!PyArg_ParseTuple (args, (char *) "O:guestfs_lvm_remove_all", &py_g)) return NULL; g = get_handle (py_g); r = guestfs_lvm_remove_all (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } Py_INCREF (Py_None); py_r = Py_None; return py_r; } static PyMethodDef methods[] = { { (char *) "create", py_guestfs_create, METH_VARARGS, NULL }, { (char *) "close", py_guestfs_close, METH_VARARGS, NULL }, { (char *) "launch", py_guestfs_launch, METH_VARARGS, NULL }, { (char *) "wait_ready", py_guestfs_wait_ready, METH_VARARGS, NULL }, { (char *) "kill_subprocess", py_guestfs_kill_subprocess, METH_VARARGS, NULL }, { (char *) "add_drive", py_guestfs_add_drive, METH_VARARGS, NULL }, { (char *) "add_cdrom", py_guestfs_add_cdrom, METH_VARARGS, NULL }, { (char *) "config", py_guestfs_config, METH_VARARGS, NULL }, { (char *) "set_path", py_guestfs_set_path, METH_VARARGS, NULL }, { (char *) "get_path", py_guestfs_get_path, METH_VARARGS, NULL }, { (char *) "set_autosync", py_guestfs_set_autosync, METH_VARARGS, NULL }, { (char *) "get_autosync", py_guestfs_get_autosync, METH_VARARGS, NULL }, { (char *) "set_verbose", py_guestfs_set_verbose, METH_VARARGS, NULL }, { (char *) "get_verbose", py_guestfs_get_verbose, METH_VARARGS, NULL }, { (char *) "mount", py_guestfs_mount, METH_VARARGS, NULL }, { (char *) "sync", py_guestfs_sync, METH_VARARGS, NULL }, { (char *) "touch", py_guestfs_touch, METH_VARARGS, NULL }, { (char *) "cat", py_guestfs_cat, METH_VARARGS, NULL }, { (char *) "ll", py_guestfs_ll, METH_VARARGS, NULL }, { (char *) "ls", py_guestfs_ls, METH_VARARGS, NULL }, { (char *) "list_devices", py_guestfs_list_devices, METH_VARARGS, NULL }, { (char *) "list_partitions", py_guestfs_list_partitions, METH_VARARGS, NULL }, { (char *) "pvs", py_guestfs_pvs, METH_VARARGS, NULL }, { (char *) "vgs", py_guestfs_vgs, METH_VARARGS, NULL }, { (char *) "lvs", py_guestfs_lvs, METH_VARARGS, NULL }, { (char *) "pvs_full", py_guestfs_pvs_full, METH_VARARGS, NULL }, { (char *) "vgs_full", py_guestfs_vgs_full, METH_VARARGS, NULL }, { (char *) "lvs_full", py_guestfs_lvs_full, METH_VARARGS, NULL }, { (char *) "read_lines", py_guestfs_read_lines, METH_VARARGS, NULL }, { (char *) "aug_init", py_guestfs_aug_init, METH_VARARGS, NULL }, { (char *) "aug_close", py_guestfs_aug_close, METH_VARARGS, NULL }, { (char *) "aug_defvar", py_guestfs_aug_defvar, METH_VARARGS, NULL }, { (char *) "aug_defnode", py_guestfs_aug_defnode, METH_VARARGS, NULL }, { (char *) "aug_get", py_guestfs_aug_get, METH_VARARGS, NULL }, { (char *) "aug_set", py_guestfs_aug_set, METH_VARARGS, NULL }, { (char *) "aug_insert", py_guestfs_aug_insert, METH_VARARGS, NULL }, { (char *) "aug_rm", py_guestfs_aug_rm, METH_VARARGS, NULL }, { (char *) "aug_mv", py_guestfs_aug_mv, METH_VARARGS, NULL }, { (char *) "aug_match", py_guestfs_aug_match, METH_VARARGS, NULL }, { (char *) "aug_save", py_guestfs_aug_save, METH_VARARGS, NULL }, { (char *) "aug_load", py_guestfs_aug_load, METH_VARARGS, NULL }, { (char *) "aug_ls", py_guestfs_aug_ls, METH_VARARGS, NULL }, { (char *) "rm", py_guestfs_rm, METH_VARARGS, NULL }, { (char *) "rmdir", py_guestfs_rmdir, METH_VARARGS, NULL }, { (char *) "rm_rf", py_guestfs_rm_rf, METH_VARARGS, NULL }, { (char *) "mkdir", py_guestfs_mkdir, METH_VARARGS, NULL }, { (char *) "mkdir_p", py_guestfs_mkdir_p, METH_VARARGS, NULL }, { (char *) "chmod", py_guestfs_chmod, METH_VARARGS, NULL }, { (char *) "chown", py_guestfs_chown, METH_VARARGS, NULL }, { (char *) "exists", py_guestfs_exists, METH_VARARGS, NULL }, { (char *) "is_file", py_guestfs_is_file, METH_VARARGS, NULL }, { (char *) "is_dir", py_guestfs_is_dir, METH_VARARGS, NULL }, { (char *) "pvcreate", py_guestfs_pvcreate, METH_VARARGS, NULL }, { (char *) "vgcreate", py_guestfs_vgcreate, METH_VARARGS, NULL }, { (char *) "lvcreate", py_guestfs_lvcreate, METH_VARARGS, NULL }, { (char *) "mkfs", py_guestfs_mkfs, METH_VARARGS, NULL }, { (char *) "sfdisk", py_guestfs_sfdisk, METH_VARARGS, NULL }, { (char *) "write_file", py_guestfs_write_file, METH_VARARGS, NULL }, { (char *) "umount", py_guestfs_umount, METH_VARARGS, NULL }, { (char *) "mounts", py_guestfs_mounts, METH_VARARGS, NULL }, { (char *) "umount_all", py_guestfs_umount_all, METH_VARARGS, NULL }, { (char *) "lvm_remove_all", py_guestfs_lvm_remove_all, METH_VARARGS, NULL }, { NULL, NULL, 0, NULL } }; void initlibguestfsmod (void) { static int initialized = 0; if (initialized) return; Py_InitModule ((char *) "libguestfsmod", methods); initialized = 1; }