X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=python%2Fguestfs-py.c;h=140594d2ef58165c2b89fd094ae7d43ae472cd26;hp=9d2738c825cf262178a476d7b5faa7367d44754a;hb=5cd39c83e23eb300d1bdfa806902a31b409ff420;hpb=b3f11c5f62f725fa3f09452b38d52dba764f80d0 diff --git a/python/guestfs-py.c b/python/guestfs-py.c index 9d2738c..140594d 100644 --- a/python/guestfs-py.c +++ b/python/guestfs-py.c @@ -92,6 +92,26 @@ put_string_list (char * const * const argv) return list; } +static PyObject * +put_table (char * const * const argv) +{ + PyObject *list, *item; + int argc, i; + + for (argc = 0; argv[argc] != NULL; ++argc) + ; + + list = PyList_New (argc >> 1); + for (i = 0; i < argc; i += 2) { + item = PyTuple_New (2); + PyTuple_SetItem (item, 0, PyString_FromString (argv[i])); + PyTuple_SetItem (item, 1, PyString_FromString (argv[i+1])); + PyList_SetItem (list, i >> 1, item); + } + + return list; +} + static void free_strings (char **argv) { @@ -303,6 +323,72 @@ put_lvm_lv_list (struct guestfs_lvm_lv_list *lvs) }; static PyObject * +put_stat (struct guestfs_stat *stat) +{ + PyObject *dict; + + dict = PyDict_New (); + PyDict_SetItemString (dict, "dev", + PyLong_FromLongLong (stat->dev)); + PyDict_SetItemString (dict, "ino", + PyLong_FromLongLong (stat->ino)); + PyDict_SetItemString (dict, "mode", + PyLong_FromLongLong (stat->mode)); + PyDict_SetItemString (dict, "nlink", + PyLong_FromLongLong (stat->nlink)); + PyDict_SetItemString (dict, "uid", + PyLong_FromLongLong (stat->uid)); + PyDict_SetItemString (dict, "gid", + PyLong_FromLongLong (stat->gid)); + PyDict_SetItemString (dict, "rdev", + PyLong_FromLongLong (stat->rdev)); + PyDict_SetItemString (dict, "size", + PyLong_FromLongLong (stat->size)); + PyDict_SetItemString (dict, "blksize", + PyLong_FromLongLong (stat->blksize)); + PyDict_SetItemString (dict, "blocks", + PyLong_FromLongLong (stat->blocks)); + PyDict_SetItemString (dict, "atime", + PyLong_FromLongLong (stat->atime)); + PyDict_SetItemString (dict, "mtime", + PyLong_FromLongLong (stat->mtime)); + PyDict_SetItemString (dict, "ctime", + PyLong_FromLongLong (stat->ctime)); + return dict; +}; + +static PyObject * +put_statvfs (struct guestfs_statvfs *statvfs) +{ + PyObject *dict; + + dict = PyDict_New (); + PyDict_SetItemString (dict, "bsize", + PyLong_FromLongLong (statvfs->bsize)); + PyDict_SetItemString (dict, "frsize", + PyLong_FromLongLong (statvfs->frsize)); + PyDict_SetItemString (dict, "blocks", + PyLong_FromLongLong (statvfs->blocks)); + PyDict_SetItemString (dict, "bfree", + PyLong_FromLongLong (statvfs->bfree)); + PyDict_SetItemString (dict, "bavail", + PyLong_FromLongLong (statvfs->bavail)); + PyDict_SetItemString (dict, "files", + PyLong_FromLongLong (statvfs->files)); + PyDict_SetItemString (dict, "ffree", + PyLong_FromLongLong (statvfs->ffree)); + PyDict_SetItemString (dict, "favail", + PyLong_FromLongLong (statvfs->favail)); + PyDict_SetItemString (dict, "fsid", + PyLong_FromLongLong (statvfs->fsid)); + PyDict_SetItemString (dict, "flag", + PyLong_FromLongLong (statvfs->flag)); + PyDict_SetItemString (dict, "namemax", + PyLong_FromLongLong (statvfs->namemax)); + return dict; +}; + +static PyObject * py_guestfs_launch (PyObject *self, PyObject *args) { PyObject *py_g; @@ -451,20 +537,20 @@ py_guestfs_config (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_set_path (PyObject *self, PyObject *args) +py_guestfs_set_qemu (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; + const char *qemu; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_set_path", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_set_qemu", + &py_g, &qemu)) return NULL; g = get_handle (py_g); - r = guestfs_set_path (g, path); + r = guestfs_set_qemu (g, qemu); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -476,19 +562,19 @@ py_guestfs_set_path (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_get_path (PyObject *self, PyObject *args) +py_guestfs_get_qemu (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", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_qemu", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_get_path (g); + r = guestfs_get_qemu (g); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -499,20 +585,20 @@ py_guestfs_get_path (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_set_autosync (PyObject *self, PyObject *args) +py_guestfs_set_path (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - int autosync; + const char *path; - if (!PyArg_ParseTuple (args, (char *) "Oi:guestfs_set_autosync", - &py_g, &autosync)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_set_path", + &py_g, &path)) return NULL; g = get_handle (py_g); - r = guestfs_set_autosync (g, autosync); + r = guestfs_set_path (g, path); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -524,43 +610,43 @@ py_guestfs_set_autosync (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_get_autosync (PyObject *self, PyObject *args) +py_guestfs_get_path (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int r; + const char *r; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_autosync", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_path", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_get_autosync (g); - if (r == -1) { + r = guestfs_get_path (g); + if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = PyInt_FromLong ((long) r); + py_r = PyString_FromString (r); return py_r; } static PyObject * -py_guestfs_set_verbose (PyObject *self, PyObject *args) +py_guestfs_set_append (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - int verbose; + const char *append; - if (!PyArg_ParseTuple (args, (char *) "Oi:guestfs_set_verbose", - &py_g, &verbose)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_set_append", + &py_g, &append)) return NULL; g = get_handle (py_g); - r = guestfs_set_verbose (g, verbose); + r = guestfs_set_append (g, append); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -572,44 +658,43 @@ py_guestfs_set_verbose (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_get_verbose (PyObject *self, PyObject *args) +py_guestfs_get_append (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int r; + const char *r; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_verbose", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_append", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_get_verbose (g); - if (r == -1) { + r = guestfs_get_append (g); + if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = PyInt_FromLong ((long) r); + py_r = PyString_FromString (r); return py_r; } static PyObject * -py_guestfs_mount (PyObject *self, PyObject *args) +py_guestfs_set_autosync (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *device; - const char *mountpoint; + int autosync; - if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_mount", - &py_g, &device, &mountpoint)) + if (!PyArg_ParseTuple (args, (char *) "Oi:guestfs_set_autosync", + &py_g, &autosync)) return NULL; g = get_handle (py_g); - r = guestfs_mount (g, device, mountpoint); + r = guestfs_set_autosync (g, autosync); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -621,44 +706,43 @@ py_guestfs_mount (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_sync (PyObject *self, PyObject *args) +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_sync", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_autosync", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_sync (g); + r = guestfs_get_autosync (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - Py_INCREF (Py_None); - py_r = Py_None; + py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * -py_guestfs_touch (PyObject *self, PyObject *args) +py_guestfs_set_verbose (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; + int verbose; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_touch", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oi:guestfs_set_verbose", + &py_g, &verbose)) return NULL; g = get_handle (py_g); - r = guestfs_touch (g, path); + r = guestfs_set_verbose (g, verbose); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -670,313 +754,1821 @@ py_guestfs_touch (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_cat (PyObject *self, PyObject *args) +py_guestfs_get_verbose (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char *r; - const char *path; + int r; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_cat", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_verbose", + &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_cat (g, path); - if (r == NULL) { + r = guestfs_get_verbose (g); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = PyString_FromString (r); - free (r); + py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * -py_guestfs_ll (PyObject *self, PyObject *args) +py_guestfs_is_ready (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char *r; - const char *directory; + int r; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_ll", - &py_g, &directory)) + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_is_ready", + &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_ll (g, directory); - if (r == NULL) { + r = guestfs_is_ready (g); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = PyString_FromString (r); - free (r); + py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * -py_guestfs_ls (PyObject *self, PyObject *args) +py_guestfs_is_config (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char **r; - const char *directory; + int r; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_ls", - &py_g, &directory)) + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_is_config", + &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_ls (g, directory); - if (r == NULL) { + r = guestfs_is_config (g); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_string_list (r); - free_strings (r); + py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * -py_guestfs_list_devices (PyObject *self, PyObject *args) +py_guestfs_is_launching (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char **r; + int r; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_list_devices", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_is_launching", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_list_devices (g); - if (r == NULL) { + r = guestfs_is_launching (g); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_string_list (r); - free_strings (r); + py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * -py_guestfs_list_partitions (PyObject *self, PyObject *args) +py_guestfs_is_busy (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char **r; + int r; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_list_partitions", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_is_busy", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_list_partitions (g); - if (r == NULL) { + r = guestfs_is_busy (g); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_string_list (r); - free_strings (r); + py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * -py_guestfs_pvs (PyObject *self, PyObject *args) +py_guestfs_get_state (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char **r; + int r; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_pvs", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_state", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_pvs (g); - if (r == NULL) { + r = guestfs_get_state (g); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_string_list (r); - free_strings (r); + py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * -py_guestfs_vgs (PyObject *self, PyObject *args) +py_guestfs_set_busy (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char **r; + int r; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_vgs", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_set_busy", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_vgs (g); - if (r == NULL) { + r = guestfs_set_busy (g); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_string_list (r); - free_strings (r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_lvs (PyObject *self, PyObject *args) +py_guestfs_set_ready (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char **r; + int r; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_lvs", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_set_ready", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_lvs (g); - if (r == NULL) { + r = guestfs_set_ready (g); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_string_list (r); - free_strings (r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_pvs_full (PyObject *self, PyObject *args) +py_guestfs_end_busy (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - struct guestfs_lvm_pv_list *r; + int r; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_pvs_full", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_end_busy", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_pvs_full (g); - if (r == NULL) { + r = guestfs_end_busy (g); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_lvm_pv_list (r); - guestfs_free_lvm_pv_list (r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_vgs_full (PyObject *self, PyObject *args) +py_guestfs_mount (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - struct guestfs_lvm_vg_list *r; + int r; + const char *device; + const char *mountpoint; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_vgs_full", - &py_g)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_mount", + &py_g, &device, &mountpoint)) return NULL; g = get_handle (py_g); - r = guestfs_vgs_full (g); - if (r == NULL) { + r = guestfs_mount (g, device, mountpoint); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_lvm_vg_list (r); - guestfs_free_lvm_vg_list (r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_lvs_full (PyObject *self, PyObject *args) +py_guestfs_sync (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - struct guestfs_lvm_lv_list *r; + int r; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_lvs_full", + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_sync", &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_lvs_full (g); - if (r == NULL) { + r = guestfs_sync (g); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_lvm_lv_list (r); - guestfs_free_lvm_lv_list (r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_read_lines (PyObject *self, PyObject *args) +py_guestfs_touch (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char **r; + int r; const char *path; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_read_lines", + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_touch", &py_g, &path)) return NULL; g = get_handle (py_g); - r = guestfs_read_lines (g, path); - if (r == NULL) { + r = guestfs_touch (g, path); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_string_list (r); - free_strings (r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_aug_init (PyObject *self, PyObject *args) +py_guestfs_cat (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int 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)) + 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 PyObject * +py_guestfs_file (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_file", + &py_g, &path)) + return NULL; + g = get_handle (py_g); + + r = guestfs_file (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_command (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + char *r; + PyObject *py_arguments; + const char **arguments; + + if (!PyArg_ParseTuple (args, (char *) "OO:guestfs_command", + &py_g, &py_arguments)) + return NULL; + g = get_handle (py_g); + arguments = get_string_list (py_arguments); + if (!arguments) return NULL; + + r = guestfs_command (g, arguments); + free (arguments); + 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_command_lines (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + char **r; + PyObject *py_arguments; + const char **arguments; + + if (!PyArg_ParseTuple (args, (char *) "OO:guestfs_command_lines", + &py_g, &py_arguments)) + return NULL; + g = get_handle (py_g); + arguments = get_string_list (py_arguments); + if (!arguments) return NULL; + + r = guestfs_command_lines (g, arguments); + free (arguments); + 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_stat (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + struct guestfs_stat *r; + const char *path; + + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_stat", + &py_g, &path)) + return NULL; + g = get_handle (py_g); + + r = guestfs_stat (g, path); + if (r == NULL) { + PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); + return NULL; + } + + py_r = put_stat (r); + free (r); + return py_r; +} + +static PyObject * +py_guestfs_lstat (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + struct guestfs_stat *r; + const char *path; + + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_lstat", + &py_g, &path)) + return NULL; + g = get_handle (py_g); + + r = guestfs_lstat (g, path); + if (r == NULL) { + PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); + return NULL; + } + + py_r = put_stat (r); + free (r); + return py_r; +} + +static PyObject * +py_guestfs_statvfs (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + struct guestfs_statvfs *r; + const char *path; + + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_statvfs", + &py_g, &path)) + return NULL; + g = get_handle (py_g); + + r = guestfs_statvfs (g, path); + if (r == NULL) { + PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); + return NULL; + } + + py_r = put_statvfs (r); + free (r); + return py_r; +} + +static PyObject * +py_guestfs_tune2fs_l (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + char **r; + const char *device; + + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_tune2fs_l", + &py_g, &device)) + return NULL; + g = get_handle (py_g); + + r = guestfs_tune2fs_l (g, device); + if (r == NULL) { + PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); + return NULL; + } + + py_r = put_table (r); + free_strings (r); + return py_r; +} + +static PyObject * +py_guestfs_blockdev_setro (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_blockdev_setro", + &py_g, &device)) + return NULL; + g = get_handle (py_g); + + r = guestfs_blockdev_setro (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_blockdev_setrw (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_blockdev_setrw", + &py_g, &device)) + return NULL; + g = get_handle (py_g); + + r = guestfs_blockdev_setrw (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_blockdev_getro (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_blockdev_getro", + &py_g, &device)) + return NULL; + g = get_handle (py_g); + + r = guestfs_blockdev_getro (g, device); + 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_blockdev_getss (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_blockdev_getss", + &py_g, &device)) + return NULL; + g = get_handle (py_g); + + r = guestfs_blockdev_getss (g, device); + 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_blockdev_getbsz (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_blockdev_getbsz", + &py_g, &device)) + return NULL; + g = get_handle (py_g); + + r = guestfs_blockdev_getbsz (g, device); + 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_blockdev_setbsz (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + int r; + const char *device; + int blocksize; + + if (!PyArg_ParseTuple (args, (char *) "Osi:guestfs_blockdev_setbsz", + &py_g, &device, &blocksize)) + return NULL; + g = get_handle (py_g); + + r = guestfs_blockdev_setbsz (g, device, blocksize); + 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_blockdev_getsz (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + int64_t r; + const char *device; + + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_blockdev_getsz", + &py_g, &device)) + return NULL; + g = get_handle (py_g); + + r = guestfs_blockdev_getsz (g, device); + if (r == -1) { + PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); + return NULL; + } + + py_r = PyLong_FromLongLong (r); + return py_r; +} + +static PyObject * +py_guestfs_blockdev_getsize64 (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + int64_t r; + const char *device; + + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_blockdev_getsize64", + &py_g, &device)) return NULL; g = get_handle (py_g); - r = guestfs_aug_init (g, root, flags); + r = guestfs_blockdev_getsize64 (g, device); + if (r == -1) { + PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); + return NULL; + } + + py_r = PyLong_FromLongLong (r); + return py_r; +} + +static PyObject * +py_guestfs_blockdev_flushbufs (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_blockdev_flushbufs", + &py_g, &device)) + return NULL; + g = get_handle (py_g); + + r = guestfs_blockdev_flushbufs (g, device); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -988,19 +2580,20 @@ py_guestfs_aug_init (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_aug_close (PyObject *self, PyObject *args) +py_guestfs_blockdev_rereadpt (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_aug_close", - &py_g)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_blockdev_rereadpt", + &py_g, &device)) return NULL; g = get_handle (py_g); - r = guestfs_aug_close (g); + r = guestfs_blockdev_rereadpt (g, device); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1012,74 +2605,73 @@ py_guestfs_aug_close (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_aug_defvar (PyObject *self, PyObject *args) +py_guestfs_upload (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *name; - const char *expr; + const char *filename; + const char *remotefilename; - if (!PyArg_ParseTuple (args, (char *) "Osz:guestfs_aug_defvar", - &py_g, &name, &expr)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_upload", + &py_g, &filename, &remotefilename)) return NULL; g = get_handle (py_g); - r = guestfs_aug_defvar (g, name, expr); + r = guestfs_upload (g, filename, remotefilename); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = PyInt_FromLong ((long) r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_aug_defnode (PyObject *self, PyObject *args) +py_guestfs_download (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; + int r; + const char *remotefilename; + const char *filename; - if (!PyArg_ParseTuple (args, (char *) "Osss:guestfs_aug_defnode", - &py_g, &name, &expr, &val)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_download", + &py_g, &remotefilename, &filename)) return NULL; g = get_handle (py_g); - r = guestfs_aug_defnode (g, name, expr, val); - if (r == NULL) { + r = guestfs_download (g, remotefilename, filename); + if (r == -1) { 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); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_aug_get (PyObject *self, PyObject *args) +py_guestfs_checksum (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; char *r; + const char *csumtype; const char *path; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_get", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_checksum", + &py_g, &csumtype, &path)) return NULL; g = get_handle (py_g); - r = guestfs_aug_get (g, path); + r = guestfs_checksum (g, csumtype, path); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1091,21 +2683,21 @@ py_guestfs_aug_get (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_aug_set (PyObject *self, PyObject *args) +py_guestfs_tar_in (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; - const char *val; + const char *tarfile; + const char *directory; - if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_aug_set", - &py_g, &path, &val)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_tar_in", + &py_g, &tarfile, &directory)) return NULL; g = get_handle (py_g); - r = guestfs_aug_set (g, path, val); + r = guestfs_tar_in (g, tarfile, directory); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1117,22 +2709,21 @@ py_guestfs_aug_set (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_aug_insert (PyObject *self, PyObject *args) +py_guestfs_tar_out (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; - const char *label; - int before; + const char *directory; + const char *tarfile; - if (!PyArg_ParseTuple (args, (char *) "Ossi:guestfs_aug_insert", - &py_g, &path, &label, &before)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_tar_out", + &py_g, &directory, &tarfile)) return NULL; g = get_handle (py_g); - r = guestfs_aug_insert (g, path, label, before); + r = guestfs_tar_out (g, directory, tarfile); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1144,45 +2735,47 @@ py_guestfs_aug_insert (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_aug_rm (PyObject *self, PyObject *args) +py_guestfs_tgz_in (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; + const char *tarball; + const char *directory; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_rm", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_tgz_in", + &py_g, &tarball, &directory)) return NULL; g = get_handle (py_g); - r = guestfs_aug_rm (g, path); + r = guestfs_tgz_in (g, tarball, directory); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = PyInt_FromLong ((long) r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_aug_mv (PyObject *self, PyObject *args) +py_guestfs_tgz_out (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *src; - const char *dest; + const char *directory; + const char *tarball; - if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_aug_mv", - &py_g, &src, &dest)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_tgz_out", + &py_g, &directory, &tarball)) return NULL; g = get_handle (py_g); - r = guestfs_aug_mv (g, src, dest); + r = guestfs_tgz_out (g, directory, tarball); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1194,44 +2787,207 @@ py_guestfs_aug_mv (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_aug_match (PyObject *self, PyObject *args) +py_guestfs_mount_ro (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char **r; - const char *path; + int r; + const char *device; + const char *mountpoint; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_match", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_mount_ro", + &py_g, &device, &mountpoint)) return NULL; g = get_handle (py_g); - r = guestfs_aug_match (g, path); + r = guestfs_mount_ro (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_mount_options (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + int r; + const char *options; + const char *device; + const char *mountpoint; + + if (!PyArg_ParseTuple (args, (char *) "Osss:guestfs_mount_options", + &py_g, &options, &device, &mountpoint)) + return NULL; + g = get_handle (py_g); + + r = guestfs_mount_options (g, options, 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_mount_vfs (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + int r; + const char *options; + const char *vfstype; + const char *device; + const char *mountpoint; + + if (!PyArg_ParseTuple (args, (char *) "Ossss:guestfs_mount_vfs", + &py_g, &options, &vfstype, &device, &mountpoint)) + return NULL; + g = get_handle (py_g); + + r = guestfs_mount_vfs (g, options, vfstype, 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_debug (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + char *r; + const char *subcmd; + PyObject *py_extraargs; + const char **extraargs; + + if (!PyArg_ParseTuple (args, (char *) "OsO:guestfs_debug", + &py_g, &subcmd, &py_extraargs)) + return NULL; + g = get_handle (py_g); + extraargs = get_string_list (py_extraargs); + if (!extraargs) return NULL; + + r = guestfs_debug (g, subcmd, extraargs); + free (extraargs); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_string_list (r); - free_strings (r); + py_r = PyString_FromString (r); + free (r); return py_r; } static PyObject * -py_guestfs_aug_save (PyObject *self, PyObject *args) +py_guestfs_lvremove (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_aug_save", - &py_g)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_lvremove", + &py_g, &device)) return NULL; g = get_handle (py_g); - r = guestfs_aug_save (g); + r = guestfs_lvremove (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_vgremove (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + int r; + const char *vgname; + + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_vgremove", + &py_g, &vgname)) + return NULL; + g = get_handle (py_g); + + r = guestfs_vgremove (g, vgname); + 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_pvremove (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_pvremove", + &py_g, &device)) + return NULL; + g = get_handle (py_g); + + r = guestfs_pvremove (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_set_e2label (PyObject *self, PyObject *args) +{ + PyObject *py_g; + guestfs_h *g; + PyObject *py_r; + int r; + const char *device; + const char *label; + + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_set_e2label", + &py_g, &device, &label)) + return NULL; + g = get_handle (py_g); + + r = guestfs_set_e2label (g, device, label); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1243,119 +2999,121 @@ py_guestfs_aug_save (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_aug_load (PyObject *self, PyObject *args) +py_guestfs_get_e2label (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int r; + char *r; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_aug_load", - &py_g)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_get_e2label", + &py_g, &device)) return NULL; g = get_handle (py_g); - r = guestfs_aug_load (g); - if (r == -1) { + r = guestfs_get_e2label (g, device); + if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - Py_INCREF (Py_None); - py_r = Py_None; + py_r = PyString_FromString (r); + free (r); return py_r; } static PyObject * -py_guestfs_aug_ls (PyObject *self, PyObject *args) +py_guestfs_set_e2uuid (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char **r; - const char *path; + int r; + const char *device; + const char *uuid; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_ls", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_set_e2uuid", + &py_g, &device, &uuid)) return NULL; g = get_handle (py_g); - r = guestfs_aug_ls (g, path); - if (r == NULL) { + r = guestfs_set_e2uuid (g, device, uuid); + if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_string_list (r); - free_strings (r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_rm (PyObject *self, PyObject *args) +py_guestfs_get_e2uuid (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int r; - const char *path; + char *r; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_rm", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_get_e2uuid", + &py_g, &device)) return NULL; g = get_handle (py_g); - r = guestfs_rm (g, path); - if (r == -1) { + r = guestfs_get_e2uuid (g, device); + if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - Py_INCREF (Py_None); - py_r = Py_None; + py_r = PyString_FromString (r); + free (r); return py_r; } static PyObject * -py_guestfs_rmdir (PyObject *self, PyObject *args) +py_guestfs_fsck (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; + const char *fstype; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_rmdir", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_fsck", + &py_g, &fstype, &device)) return NULL; g = get_handle (py_g); - r = guestfs_rmdir (g, path); + r = guestfs_fsck (g, fstype, device); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - Py_INCREF (Py_None); - py_r = Py_None; + py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * -py_guestfs_rm_rf (PyObject *self, PyObject *args) +py_guestfs_zero (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_rm_rf", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_zero", + &py_g, &device)) return NULL; g = get_handle (py_g); - r = guestfs_rm_rf (g, path); + r = guestfs_zero (g, device); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1367,20 +3125,21 @@ py_guestfs_rm_rf (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_mkdir (PyObject *self, PyObject *args) +py_guestfs_grub_install (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; + const char *root; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_mkdir", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_grub_install", + &py_g, &root, &device)) return NULL; g = get_handle (py_g); - r = guestfs_mkdir (g, path); + r = guestfs_grub_install (g, root, device); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1392,20 +3151,21 @@ py_guestfs_mkdir (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_mkdir_p (PyObject *self, PyObject *args) +py_guestfs_cp (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; + const char *src; + const char *dest; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_mkdir_p", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_cp", + &py_g, &src, &dest)) return NULL; g = get_handle (py_g); - r = guestfs_mkdir_p (g, path); + r = guestfs_cp (g, src, dest); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1417,21 +3177,21 @@ py_guestfs_mkdir_p (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_chmod (PyObject *self, PyObject *args) +py_guestfs_cp_a (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - int mode; - const char *path; + const char *src; + const char *dest; - if (!PyArg_ParseTuple (args, (char *) "Ois:guestfs_chmod", - &py_g, &mode, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_cp_a", + &py_g, &src, &dest)) return NULL; g = get_handle (py_g); - r = guestfs_chmod (g, mode, path); + r = guestfs_cp_a (g, src, dest); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1443,22 +3203,21 @@ py_guestfs_chmod (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_chown (PyObject *self, PyObject *args) +py_guestfs_mv (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - int owner; - int group; - const char *path; + const char *src; + const char *dest; - if (!PyArg_ParseTuple (args, (char *) "Oiis:guestfs_chown", - &py_g, &owner, &group, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_mv", + &py_g, &src, &dest)) return NULL; g = get_handle (py_g); - r = guestfs_chown (g, owner, group, path); + r = guestfs_mv (g, src, dest); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1470,208 +3229,194 @@ py_guestfs_chown (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_exists (PyObject *self, PyObject *args) +py_guestfs_drop_caches (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; + int whattodrop; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_exists", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "Oi:guestfs_drop_caches", + &py_g, &whattodrop)) return NULL; g = get_handle (py_g); - r = guestfs_exists (g, path); + r = guestfs_drop_caches (g, whattodrop); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = PyInt_FromLong ((long) r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_is_file (PyObject *self, PyObject *args) +py_guestfs_dmesg (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int r; - const char *path; + char *r; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_is_file", - &py_g, &path)) + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_dmesg", + &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_is_file (g, path); - if (r == -1) { + r = guestfs_dmesg (g); + if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = PyInt_FromLong ((long) r); + py_r = PyString_FromString (r); + free (r); return py_r; } static PyObject * -py_guestfs_is_dir (PyObject *self, PyObject *args) +py_guestfs_ping_daemon (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)) + if (!PyArg_ParseTuple (args, (char *) "O:guestfs_ping_daemon", + &py_g)) return NULL; g = get_handle (py_g); - r = guestfs_is_dir (g, path); + r = guestfs_ping_daemon (g); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = PyInt_FromLong ((long) r); + Py_INCREF (Py_None); + py_r = Py_None; return py_r; } static PyObject * -py_guestfs_pvcreate (PyObject *self, PyObject *args) +py_guestfs_equal (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *device; + const char *file1; + const char *file2; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_pvcreate", - &py_g, &device)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_equal", + &py_g, &file1, &file2)) return NULL; g = get_handle (py_g); - r = guestfs_pvcreate (g, device); + r = guestfs_equal (g, file1, file2); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - Py_INCREF (Py_None); - py_r = Py_None; + py_r = PyInt_FromLong ((long) r); return py_r; } static PyObject * -py_guestfs_vgcreate (PyObject *self, PyObject *args) +py_guestfs_strings (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int r; - const char *volgroup; - PyObject *py_physvols; - const char **physvols; + char **r; + const char *path; - if (!PyArg_ParseTuple (args, (char *) "OsO:guestfs_vgcreate", - &py_g, &volgroup, &py_physvols)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_strings", + &py_g, &path)) 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) { + r = guestfs_strings (g, path); + if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - Py_INCREF (Py_None); - py_r = Py_None; + py_r = put_string_list (r); + free_strings (r); return py_r; } static PyObject * -py_guestfs_lvcreate (PyObject *self, PyObject *args) +py_guestfs_strings_e (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int r; - const char *logvol; - const char *volgroup; - int mbytes; + char **r; + const char *encoding; + const char *path; - if (!PyArg_ParseTuple (args, (char *) "Ossi:guestfs_lvcreate", - &py_g, &logvol, &volgroup, &mbytes)) + if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_strings_e", + &py_g, &encoding, &path)) return NULL; g = get_handle (py_g); - r = guestfs_lvcreate (g, logvol, volgroup, mbytes); - if (r == -1) { + r = guestfs_strings_e (g, encoding, path); + if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - Py_INCREF (Py_None); - py_r = Py_None; + py_r = put_string_list (r); + free_strings (r); return py_r; } static PyObject * -py_guestfs_mkfs (PyObject *self, PyObject *args) +py_guestfs_hexdump (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int r; - const char *fstype; - const char *device; + char *r; + const char *path; - if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_mkfs", - &py_g, &fstype, &device)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_hexdump", + &py_g, &path)) return NULL; g = get_handle (py_g); - r = guestfs_mkfs (g, fstype, device); - if (r == -1) { + r = guestfs_hexdump (g, path); + if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - Py_INCREF (Py_None); - py_r = Py_None; + py_r = PyString_FromString (r); + free (r); return py_r; } static PyObject * -py_guestfs_sfdisk (PyObject *self, PyObject *args) +py_guestfs_zerofree (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)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_zerofree", + &py_g, &device)) 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); + r = guestfs_zerofree (g, device); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1683,22 +3428,20 @@ py_guestfs_sfdisk (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_write_file (PyObject *self, PyObject *args) +py_guestfs_pvresize (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *path; - const char *content; - int size; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "Ossi:guestfs_write_file", - &py_g, &path, &content, &size)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_pvresize", + &py_g, &device)) return NULL; g = get_handle (py_g); - r = guestfs_write_file (g, path, content, size); + r = guestfs_pvresize (g, device); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1710,20 +3453,25 @@ py_guestfs_write_file (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_umount (PyObject *self, PyObject *args) +py_guestfs_sfdisk_N (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; int r; - const char *pathordevice; + const char *device; + int n; + int cyls; + int heads; + int sectors; + const char *line; - if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_umount", - &py_g, &pathordevice)) + if (!PyArg_ParseTuple (args, (char *) "Osiiiis:guestfs_sfdisk_N", + &py_g, &device, &n, &cyls, &heads, §ors, &line)) return NULL; g = get_handle (py_g); - r = guestfs_umount (g, pathordevice); + r = guestfs_sfdisk_N (g, device, n, cyls, heads, sectors, line); if (r == -1) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; @@ -1735,74 +3483,77 @@ py_guestfs_umount (PyObject *self, PyObject *args) } static PyObject * -py_guestfs_mounts (PyObject *self, PyObject *args) +py_guestfs_sfdisk_l (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - char **r; + char *r; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_mounts", - &py_g)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_sfdisk_l", + &py_g, &device)) return NULL; g = get_handle (py_g); - r = guestfs_mounts (g); + r = guestfs_sfdisk_l (g, device); if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - py_r = put_string_list (r); - free_strings (r); + py_r = PyString_FromString (r); + free (r); return py_r; } static PyObject * -py_guestfs_umount_all (PyObject *self, PyObject *args) +py_guestfs_sfdisk_kernel_geometry (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int r; + char *r; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_umount_all", - &py_g)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_sfdisk_kernel_geometry", + &py_g, &device)) return NULL; g = get_handle (py_g); - r = guestfs_umount_all (g); - if (r == -1) { + r = guestfs_sfdisk_kernel_geometry (g, device); + if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - Py_INCREF (Py_None); - py_r = Py_None; + py_r = PyString_FromString (r); + free (r); return py_r; } static PyObject * -py_guestfs_lvm_remove_all (PyObject *self, PyObject *args) +py_guestfs_sfdisk_disk_geometry (PyObject *self, PyObject *args) { PyObject *py_g; guestfs_h *g; PyObject *py_r; - int r; + char *r; + const char *device; - if (!PyArg_ParseTuple (args, (char *) "O:guestfs_lvm_remove_all", - &py_g)) + if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_sfdisk_disk_geometry", + &py_g, &device)) return NULL; g = get_handle (py_g); - r = guestfs_lvm_remove_all (g); - if (r == -1) { + r = guestfs_sfdisk_disk_geometry (g, device); + if (r == NULL) { PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g)); return NULL; } - Py_INCREF (Py_None); - py_r = Py_None; + py_r = PyString_FromString (r); + free (r); return py_r; } @@ -1815,12 +3566,24 @@ static PyMethodDef methods[] = { { (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_qemu", py_guestfs_set_qemu, METH_VARARGS, NULL }, + { (char *) "get_qemu", py_guestfs_get_qemu, 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_append", py_guestfs_set_append, METH_VARARGS, NULL }, + { (char *) "get_append", py_guestfs_get_append, 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 *) "is_ready", py_guestfs_is_ready, METH_VARARGS, NULL }, + { (char *) "is_config", py_guestfs_is_config, METH_VARARGS, NULL }, + { (char *) "is_launching", py_guestfs_is_launching, METH_VARARGS, NULL }, + { (char *) "is_busy", py_guestfs_is_busy, METH_VARARGS, NULL }, + { (char *) "get_state", py_guestfs_get_state, METH_VARARGS, NULL }, + { (char *) "set_busy", py_guestfs_set_busy, METH_VARARGS, NULL }, + { (char *) "set_ready", py_guestfs_set_ready, METH_VARARGS, NULL }, + { (char *) "end_busy", py_guestfs_end_busy, 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 }, @@ -1869,6 +3632,60 @@ static PyMethodDef methods[] = { { (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 }, + { (char *) "file", py_guestfs_file, METH_VARARGS, NULL }, + { (char *) "command", py_guestfs_command, METH_VARARGS, NULL }, + { (char *) "command_lines", py_guestfs_command_lines, METH_VARARGS, NULL }, + { (char *) "stat", py_guestfs_stat, METH_VARARGS, NULL }, + { (char *) "lstat", py_guestfs_lstat, METH_VARARGS, NULL }, + { (char *) "statvfs", py_guestfs_statvfs, METH_VARARGS, NULL }, + { (char *) "tune2fs_l", py_guestfs_tune2fs_l, METH_VARARGS, NULL }, + { (char *) "blockdev_setro", py_guestfs_blockdev_setro, METH_VARARGS, NULL }, + { (char *) "blockdev_setrw", py_guestfs_blockdev_setrw, METH_VARARGS, NULL }, + { (char *) "blockdev_getro", py_guestfs_blockdev_getro, METH_VARARGS, NULL }, + { (char *) "blockdev_getss", py_guestfs_blockdev_getss, METH_VARARGS, NULL }, + { (char *) "blockdev_getbsz", py_guestfs_blockdev_getbsz, METH_VARARGS, NULL }, + { (char *) "blockdev_setbsz", py_guestfs_blockdev_setbsz, METH_VARARGS, NULL }, + { (char *) "blockdev_getsz", py_guestfs_blockdev_getsz, METH_VARARGS, NULL }, + { (char *) "blockdev_getsize64", py_guestfs_blockdev_getsize64, METH_VARARGS, NULL }, + { (char *) "blockdev_flushbufs", py_guestfs_blockdev_flushbufs, METH_VARARGS, NULL }, + { (char *) "blockdev_rereadpt", py_guestfs_blockdev_rereadpt, METH_VARARGS, NULL }, + { (char *) "upload", py_guestfs_upload, METH_VARARGS, NULL }, + { (char *) "download", py_guestfs_download, METH_VARARGS, NULL }, + { (char *) "checksum", py_guestfs_checksum, METH_VARARGS, NULL }, + { (char *) "tar_in", py_guestfs_tar_in, METH_VARARGS, NULL }, + { (char *) "tar_out", py_guestfs_tar_out, METH_VARARGS, NULL }, + { (char *) "tgz_in", py_guestfs_tgz_in, METH_VARARGS, NULL }, + { (char *) "tgz_out", py_guestfs_tgz_out, METH_VARARGS, NULL }, + { (char *) "mount_ro", py_guestfs_mount_ro, METH_VARARGS, NULL }, + { (char *) "mount_options", py_guestfs_mount_options, METH_VARARGS, NULL }, + { (char *) "mount_vfs", py_guestfs_mount_vfs, METH_VARARGS, NULL }, + { (char *) "debug", py_guestfs_debug, METH_VARARGS, NULL }, + { (char *) "lvremove", py_guestfs_lvremove, METH_VARARGS, NULL }, + { (char *) "vgremove", py_guestfs_vgremove, METH_VARARGS, NULL }, + { (char *) "pvremove", py_guestfs_pvremove, METH_VARARGS, NULL }, + { (char *) "set_e2label", py_guestfs_set_e2label, METH_VARARGS, NULL }, + { (char *) "get_e2label", py_guestfs_get_e2label, METH_VARARGS, NULL }, + { (char *) "set_e2uuid", py_guestfs_set_e2uuid, METH_VARARGS, NULL }, + { (char *) "get_e2uuid", py_guestfs_get_e2uuid, METH_VARARGS, NULL }, + { (char *) "fsck", py_guestfs_fsck, METH_VARARGS, NULL }, + { (char *) "zero", py_guestfs_zero, METH_VARARGS, NULL }, + { (char *) "grub_install", py_guestfs_grub_install, METH_VARARGS, NULL }, + { (char *) "cp", py_guestfs_cp, METH_VARARGS, NULL }, + { (char *) "cp_a", py_guestfs_cp_a, METH_VARARGS, NULL }, + { (char *) "mv", py_guestfs_mv, METH_VARARGS, NULL }, + { (char *) "drop_caches", py_guestfs_drop_caches, METH_VARARGS, NULL }, + { (char *) "dmesg", py_guestfs_dmesg, METH_VARARGS, NULL }, + { (char *) "ping_daemon", py_guestfs_ping_daemon, METH_VARARGS, NULL }, + { (char *) "equal", py_guestfs_equal, METH_VARARGS, NULL }, + { (char *) "strings", py_guestfs_strings, METH_VARARGS, NULL }, + { (char *) "strings_e", py_guestfs_strings_e, METH_VARARGS, NULL }, + { (char *) "hexdump", py_guestfs_hexdump, METH_VARARGS, NULL }, + { (char *) "zerofree", py_guestfs_zerofree, METH_VARARGS, NULL }, + { (char *) "pvresize", py_guestfs_pvresize, METH_VARARGS, NULL }, + { (char *) "sfdisk_N", py_guestfs_sfdisk_N, METH_VARARGS, NULL }, + { (char *) "sfdisk_l", py_guestfs_sfdisk_l, METH_VARARGS, NULL }, + { (char *) "sfdisk_kernel_geometry", py_guestfs_sfdisk_kernel_geometry, METH_VARARGS, NULL }, + { (char *) "sfdisk_disk_geometry", py_guestfs_sfdisk_disk_geometry, METH_VARARGS, NULL }, { NULL, NULL, 0, NULL } };