1 /* libguestfs generated file
2 * WARNING: THIS FILE IS GENERATED BY 'src/generator.ml'.
3 * ANY CHANGES YOU MAKE TO THIS FILE WILL BE LOST.
5 * Copyright (C) 2009 Red Hat Inc.
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
36 get_handle (PyObject *obj)
39 assert (obj != Py_None);
40 return ((Pyguestfs_Object *) obj)->g;
44 put_handle (guestfs_h *g)
48 PyCObject_FromVoidPtrAndDesc ((void *) g, (char *) "guestfs_h", NULL);
51 /* This list should be freed (but not the strings) after use. */
53 get_string_list (PyObject *obj)
60 if (!PyList_Check (obj)) {
61 PyErr_SetString (PyExc_RuntimeError, "expecting a list parameter");
65 len = PyList_Size (obj);
66 r = malloc (sizeof (char *) * (len+1));
68 PyErr_SetString (PyExc_RuntimeError, "get_string_list: out of memory");
72 for (i = 0; i < len; ++i)
73 r[i] = PyString_AsString (PyList_GetItem (obj, i));
80 put_string_list (char * const * const argv)
85 for (argc = 0; argv[argc] != NULL; ++argc)
88 list = PyList_New (argc);
89 for (i = 0; i < argc; ++i)
90 PyList_SetItem (list, i, PyString_FromString (argv[i]));
96 free_strings (char **argv)
100 for (argc = 0; argv[argc] != NULL; ++argc)
106 py_guestfs_create (PyObject *self, PyObject *args)
110 g = guestfs_create ();
112 PyErr_SetString (PyExc_RuntimeError,
113 "guestfs.create: failed to allocate handle");
116 guestfs_set_error_handler (g, NULL, NULL);
117 return put_handle (g);
121 py_guestfs_close (PyObject *self, PyObject *args)
126 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_close", &py_g))
128 g = get_handle (py_g);
137 put_lvm_pv (struct guestfs_lvm_pv *pv)
141 dict = PyDict_New ();
142 PyDict_SetItemString (dict, "pv_name",
143 PyString_FromString (pv->pv_name));
144 PyDict_SetItemString (dict, "pv_uuid",
145 PyString_FromStringAndSize (pv->pv_uuid, 32));
146 PyDict_SetItemString (dict, "pv_fmt",
147 PyString_FromString (pv->pv_fmt));
148 PyDict_SetItemString (dict, "pv_size",
149 PyLong_FromUnsignedLongLong (pv->pv_size));
150 PyDict_SetItemString (dict, "dev_size",
151 PyLong_FromUnsignedLongLong (pv->dev_size));
152 PyDict_SetItemString (dict, "pv_free",
153 PyLong_FromUnsignedLongLong (pv->pv_free));
154 PyDict_SetItemString (dict, "pv_used",
155 PyLong_FromUnsignedLongLong (pv->pv_used));
156 PyDict_SetItemString (dict, "pv_attr",
157 PyString_FromString (pv->pv_attr));
158 PyDict_SetItemString (dict, "pv_pe_count",
159 PyLong_FromLongLong (pv->pv_pe_count));
160 PyDict_SetItemString (dict, "pv_pe_alloc_count",
161 PyLong_FromLongLong (pv->pv_pe_alloc_count));
162 PyDict_SetItemString (dict, "pv_tags",
163 PyString_FromString (pv->pv_tags));
164 PyDict_SetItemString (dict, "pe_start",
165 PyLong_FromUnsignedLongLong (pv->pe_start));
166 PyDict_SetItemString (dict, "pv_mda_count",
167 PyLong_FromLongLong (pv->pv_mda_count));
168 PyDict_SetItemString (dict, "pv_mda_free",
169 PyLong_FromUnsignedLongLong (pv->pv_mda_free));
174 put_lvm_pv_list (struct guestfs_lvm_pv_list *pvs)
179 list = PyList_New (pvs->len);
180 for (i = 0; i < pvs->len; ++i)
181 PyList_SetItem (list, i, put_lvm_pv (&pvs->val[i]));
186 put_lvm_vg (struct guestfs_lvm_vg *vg)
190 dict = PyDict_New ();
191 PyDict_SetItemString (dict, "vg_name",
192 PyString_FromString (vg->vg_name));
193 PyDict_SetItemString (dict, "vg_uuid",
194 PyString_FromStringAndSize (vg->vg_uuid, 32));
195 PyDict_SetItemString (dict, "vg_fmt",
196 PyString_FromString (vg->vg_fmt));
197 PyDict_SetItemString (dict, "vg_attr",
198 PyString_FromString (vg->vg_attr));
199 PyDict_SetItemString (dict, "vg_size",
200 PyLong_FromUnsignedLongLong (vg->vg_size));
201 PyDict_SetItemString (dict, "vg_free",
202 PyLong_FromUnsignedLongLong (vg->vg_free));
203 PyDict_SetItemString (dict, "vg_sysid",
204 PyString_FromString (vg->vg_sysid));
205 PyDict_SetItemString (dict, "vg_extent_size",
206 PyLong_FromUnsignedLongLong (vg->vg_extent_size));
207 PyDict_SetItemString (dict, "vg_extent_count",
208 PyLong_FromLongLong (vg->vg_extent_count));
209 PyDict_SetItemString (dict, "vg_free_count",
210 PyLong_FromLongLong (vg->vg_free_count));
211 PyDict_SetItemString (dict, "max_lv",
212 PyLong_FromLongLong (vg->max_lv));
213 PyDict_SetItemString (dict, "max_pv",
214 PyLong_FromLongLong (vg->max_pv));
215 PyDict_SetItemString (dict, "pv_count",
216 PyLong_FromLongLong (vg->pv_count));
217 PyDict_SetItemString (dict, "lv_count",
218 PyLong_FromLongLong (vg->lv_count));
219 PyDict_SetItemString (dict, "snap_count",
220 PyLong_FromLongLong (vg->snap_count));
221 PyDict_SetItemString (dict, "vg_seqno",
222 PyLong_FromLongLong (vg->vg_seqno));
223 PyDict_SetItemString (dict, "vg_tags",
224 PyString_FromString (vg->vg_tags));
225 PyDict_SetItemString (dict, "vg_mda_count",
226 PyLong_FromLongLong (vg->vg_mda_count));
227 PyDict_SetItemString (dict, "vg_mda_free",
228 PyLong_FromUnsignedLongLong (vg->vg_mda_free));
233 put_lvm_vg_list (struct guestfs_lvm_vg_list *vgs)
238 list = PyList_New (vgs->len);
239 for (i = 0; i < vgs->len; ++i)
240 PyList_SetItem (list, i, put_lvm_vg (&vgs->val[i]));
245 put_lvm_lv (struct guestfs_lvm_lv *lv)
249 dict = PyDict_New ();
250 PyDict_SetItemString (dict, "lv_name",
251 PyString_FromString (lv->lv_name));
252 PyDict_SetItemString (dict, "lv_uuid",
253 PyString_FromStringAndSize (lv->lv_uuid, 32));
254 PyDict_SetItemString (dict, "lv_attr",
255 PyString_FromString (lv->lv_attr));
256 PyDict_SetItemString (dict, "lv_major",
257 PyLong_FromLongLong (lv->lv_major));
258 PyDict_SetItemString (dict, "lv_minor",
259 PyLong_FromLongLong (lv->lv_minor));
260 PyDict_SetItemString (dict, "lv_kernel_major",
261 PyLong_FromLongLong (lv->lv_kernel_major));
262 PyDict_SetItemString (dict, "lv_kernel_minor",
263 PyLong_FromLongLong (lv->lv_kernel_minor));
264 PyDict_SetItemString (dict, "lv_size",
265 PyLong_FromUnsignedLongLong (lv->lv_size));
266 PyDict_SetItemString (dict, "seg_count",
267 PyLong_FromLongLong (lv->seg_count));
268 PyDict_SetItemString (dict, "origin",
269 PyString_FromString (lv->origin));
270 if (lv->snap_percent >= 0)
271 PyDict_SetItemString (dict, "snap_percent",
272 PyFloat_FromDouble ((double) lv->snap_percent));
275 PyDict_SetItemString (dict, "snap_percent", Py_None); }
276 if (lv->copy_percent >= 0)
277 PyDict_SetItemString (dict, "copy_percent",
278 PyFloat_FromDouble ((double) lv->copy_percent));
281 PyDict_SetItemString (dict, "copy_percent", Py_None); }
282 PyDict_SetItemString (dict, "move_pv",
283 PyString_FromString (lv->move_pv));
284 PyDict_SetItemString (dict, "lv_tags",
285 PyString_FromString (lv->lv_tags));
286 PyDict_SetItemString (dict, "mirror_log",
287 PyString_FromString (lv->mirror_log));
288 PyDict_SetItemString (dict, "modules",
289 PyString_FromString (lv->modules));
294 put_lvm_lv_list (struct guestfs_lvm_lv_list *lvs)
299 list = PyList_New (lvs->len);
300 for (i = 0; i < lvs->len; ++i)
301 PyList_SetItem (list, i, put_lvm_lv (&lvs->val[i]));
306 put_stat (struct guestfs_stat *stat)
310 dict = PyDict_New ();
311 PyDict_SetItemString (dict, "dev",
312 PyLong_FromLongLong (stat->dev));
313 PyDict_SetItemString (dict, "ino",
314 PyLong_FromLongLong (stat->ino));
315 PyDict_SetItemString (dict, "mode",
316 PyLong_FromLongLong (stat->mode));
317 PyDict_SetItemString (dict, "nlink",
318 PyLong_FromLongLong (stat->nlink));
319 PyDict_SetItemString (dict, "uid",
320 PyLong_FromLongLong (stat->uid));
321 PyDict_SetItemString (dict, "gid",
322 PyLong_FromLongLong (stat->gid));
323 PyDict_SetItemString (dict, "rdev",
324 PyLong_FromLongLong (stat->rdev));
325 PyDict_SetItemString (dict, "size",
326 PyLong_FromLongLong (stat->size));
327 PyDict_SetItemString (dict, "blksize",
328 PyLong_FromLongLong (stat->blksize));
329 PyDict_SetItemString (dict, "blocks",
330 PyLong_FromLongLong (stat->blocks));
331 PyDict_SetItemString (dict, "atime",
332 PyLong_FromLongLong (stat->atime));
333 PyDict_SetItemString (dict, "mtime",
334 PyLong_FromLongLong (stat->mtime));
335 PyDict_SetItemString (dict, "ctime",
336 PyLong_FromLongLong (stat->ctime));
341 put_statvfs (struct guestfs_statvfs *statvfs)
345 dict = PyDict_New ();
346 PyDict_SetItemString (dict, "bsize",
347 PyLong_FromLongLong (statvfs->bsize));
348 PyDict_SetItemString (dict, "frsize",
349 PyLong_FromLongLong (statvfs->frsize));
350 PyDict_SetItemString (dict, "blocks",
351 PyLong_FromLongLong (statvfs->blocks));
352 PyDict_SetItemString (dict, "bfree",
353 PyLong_FromLongLong (statvfs->bfree));
354 PyDict_SetItemString (dict, "bavail",
355 PyLong_FromLongLong (statvfs->bavail));
356 PyDict_SetItemString (dict, "files",
357 PyLong_FromLongLong (statvfs->files));
358 PyDict_SetItemString (dict, "ffree",
359 PyLong_FromLongLong (statvfs->ffree));
360 PyDict_SetItemString (dict, "favail",
361 PyLong_FromLongLong (statvfs->favail));
362 PyDict_SetItemString (dict, "fsid",
363 PyLong_FromLongLong (statvfs->fsid));
364 PyDict_SetItemString (dict, "flag",
365 PyLong_FromLongLong (statvfs->flag));
366 PyDict_SetItemString (dict, "namemax",
367 PyLong_FromLongLong (statvfs->namemax));
372 py_guestfs_launch (PyObject *self, PyObject *args)
379 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_launch",
382 g = get_handle (py_g);
384 r = guestfs_launch (g);
386 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
396 py_guestfs_wait_ready (PyObject *self, PyObject *args)
403 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_wait_ready",
406 g = get_handle (py_g);
408 r = guestfs_wait_ready (g);
410 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
420 py_guestfs_kill_subprocess (PyObject *self, PyObject *args)
427 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_kill_subprocess",
430 g = get_handle (py_g);
432 r = guestfs_kill_subprocess (g);
434 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
444 py_guestfs_add_drive (PyObject *self, PyObject *args)
450 const char *filename;
452 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_add_drive",
455 g = get_handle (py_g);
457 r = guestfs_add_drive (g, filename);
459 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
469 py_guestfs_add_cdrom (PyObject *self, PyObject *args)
475 const char *filename;
477 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_add_cdrom",
480 g = get_handle (py_g);
482 r = guestfs_add_cdrom (g, filename);
484 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
494 py_guestfs_config (PyObject *self, PyObject *args)
500 const char *qemuparam;
501 const char *qemuvalue;
503 if (!PyArg_ParseTuple (args, (char *) "Osz:guestfs_config",
504 &py_g, &qemuparam, &qemuvalue))
506 g = get_handle (py_g);
508 r = guestfs_config (g, qemuparam, qemuvalue);
510 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
520 py_guestfs_set_path (PyObject *self, PyObject *args)
528 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_set_path",
531 g = get_handle (py_g);
533 r = guestfs_set_path (g, path);
535 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
545 py_guestfs_get_path (PyObject *self, PyObject *args)
552 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_path",
555 g = get_handle (py_g);
557 r = guestfs_get_path (g);
559 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
563 py_r = PyString_FromString (r);
568 py_guestfs_set_autosync (PyObject *self, PyObject *args)
576 if (!PyArg_ParseTuple (args, (char *) "Oi:guestfs_set_autosync",
579 g = get_handle (py_g);
581 r = guestfs_set_autosync (g, autosync);
583 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
593 py_guestfs_get_autosync (PyObject *self, PyObject *args)
600 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_autosync",
603 g = get_handle (py_g);
605 r = guestfs_get_autosync (g);
607 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
611 py_r = PyInt_FromLong ((long) r);
616 py_guestfs_set_verbose (PyObject *self, PyObject *args)
624 if (!PyArg_ParseTuple (args, (char *) "Oi:guestfs_set_verbose",
627 g = get_handle (py_g);
629 r = guestfs_set_verbose (g, verbose);
631 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
641 py_guestfs_get_verbose (PyObject *self, PyObject *args)
648 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_get_verbose",
651 g = get_handle (py_g);
653 r = guestfs_get_verbose (g);
655 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
659 py_r = PyInt_FromLong ((long) r);
664 py_guestfs_mount (PyObject *self, PyObject *args)
671 const char *mountpoint;
673 if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_mount",
674 &py_g, &device, &mountpoint))
676 g = get_handle (py_g);
678 r = guestfs_mount (g, device, mountpoint);
680 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
690 py_guestfs_sync (PyObject *self, PyObject *args)
697 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_sync",
700 g = get_handle (py_g);
702 r = guestfs_sync (g);
704 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
714 py_guestfs_touch (PyObject *self, PyObject *args)
722 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_touch",
725 g = get_handle (py_g);
727 r = guestfs_touch (g, path);
729 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
739 py_guestfs_cat (PyObject *self, PyObject *args)
747 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_cat",
750 g = get_handle (py_g);
752 r = guestfs_cat (g, path);
754 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
758 py_r = PyString_FromString (r);
764 py_guestfs_ll (PyObject *self, PyObject *args)
770 const char *directory;
772 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_ll",
775 g = get_handle (py_g);
777 r = guestfs_ll (g, directory);
779 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
783 py_r = PyString_FromString (r);
789 py_guestfs_ls (PyObject *self, PyObject *args)
795 const char *directory;
797 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_ls",
800 g = get_handle (py_g);
802 r = guestfs_ls (g, directory);
804 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
808 py_r = put_string_list (r);
814 py_guestfs_list_devices (PyObject *self, PyObject *args)
821 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_list_devices",
824 g = get_handle (py_g);
826 r = guestfs_list_devices (g);
828 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
832 py_r = put_string_list (r);
838 py_guestfs_list_partitions (PyObject *self, PyObject *args)
845 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_list_partitions",
848 g = get_handle (py_g);
850 r = guestfs_list_partitions (g);
852 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
856 py_r = put_string_list (r);
862 py_guestfs_pvs (PyObject *self, PyObject *args)
869 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_pvs",
872 g = get_handle (py_g);
876 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
880 py_r = put_string_list (r);
886 py_guestfs_vgs (PyObject *self, PyObject *args)
893 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_vgs",
896 g = get_handle (py_g);
900 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
904 py_r = put_string_list (r);
910 py_guestfs_lvs (PyObject *self, PyObject *args)
917 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_lvs",
920 g = get_handle (py_g);
924 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
928 py_r = put_string_list (r);
934 py_guestfs_pvs_full (PyObject *self, PyObject *args)
939 struct guestfs_lvm_pv_list *r;
941 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_pvs_full",
944 g = get_handle (py_g);
946 r = guestfs_pvs_full (g);
948 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
952 py_r = put_lvm_pv_list (r);
953 guestfs_free_lvm_pv_list (r);
958 py_guestfs_vgs_full (PyObject *self, PyObject *args)
963 struct guestfs_lvm_vg_list *r;
965 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_vgs_full",
968 g = get_handle (py_g);
970 r = guestfs_vgs_full (g);
972 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
976 py_r = put_lvm_vg_list (r);
977 guestfs_free_lvm_vg_list (r);
982 py_guestfs_lvs_full (PyObject *self, PyObject *args)
987 struct guestfs_lvm_lv_list *r;
989 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_lvs_full",
992 g = get_handle (py_g);
994 r = guestfs_lvs_full (g);
996 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1000 py_r = put_lvm_lv_list (r);
1001 guestfs_free_lvm_lv_list (r);
1006 py_guestfs_read_lines (PyObject *self, PyObject *args)
1014 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_read_lines",
1017 g = get_handle (py_g);
1019 r = guestfs_read_lines (g, path);
1021 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1025 py_r = put_string_list (r);
1031 py_guestfs_aug_init (PyObject *self, PyObject *args)
1040 if (!PyArg_ParseTuple (args, (char *) "Osi:guestfs_aug_init",
1041 &py_g, &root, &flags))
1043 g = get_handle (py_g);
1045 r = guestfs_aug_init (g, root, flags);
1047 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1051 Py_INCREF (Py_None);
1057 py_guestfs_aug_close (PyObject *self, PyObject *args)
1064 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_aug_close",
1067 g = get_handle (py_g);
1069 r = guestfs_aug_close (g);
1071 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1075 Py_INCREF (Py_None);
1081 py_guestfs_aug_defvar (PyObject *self, PyObject *args)
1090 if (!PyArg_ParseTuple (args, (char *) "Osz:guestfs_aug_defvar",
1091 &py_g, &name, &expr))
1093 g = get_handle (py_g);
1095 r = guestfs_aug_defvar (g, name, expr);
1097 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1101 py_r = PyInt_FromLong ((long) r);
1106 py_guestfs_aug_defnode (PyObject *self, PyObject *args)
1111 struct guestfs_int_bool *r;
1116 if (!PyArg_ParseTuple (args, (char *) "Osss:guestfs_aug_defnode",
1117 &py_g, &name, &expr, &val))
1119 g = get_handle (py_g);
1121 r = guestfs_aug_defnode (g, name, expr, val);
1123 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1127 py_r = PyTuple_New (2);
1128 PyTuple_SetItem (py_r, 0, PyInt_FromLong ((long) r->i));
1129 PyTuple_SetItem (py_r, 1, PyInt_FromLong ((long) r->b));
1130 guestfs_free_int_bool (r);
1135 py_guestfs_aug_get (PyObject *self, PyObject *args)
1143 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_get",
1146 g = get_handle (py_g);
1148 r = guestfs_aug_get (g, path);
1150 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1154 py_r = PyString_FromString (r);
1160 py_guestfs_aug_set (PyObject *self, PyObject *args)
1169 if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_aug_set",
1170 &py_g, &path, &val))
1172 g = get_handle (py_g);
1174 r = guestfs_aug_set (g, path, val);
1176 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1180 Py_INCREF (Py_None);
1186 py_guestfs_aug_insert (PyObject *self, PyObject *args)
1196 if (!PyArg_ParseTuple (args, (char *) "Ossi:guestfs_aug_insert",
1197 &py_g, &path, &label, &before))
1199 g = get_handle (py_g);
1201 r = guestfs_aug_insert (g, path, label, before);
1203 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1207 Py_INCREF (Py_None);
1213 py_guestfs_aug_rm (PyObject *self, PyObject *args)
1221 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_rm",
1224 g = get_handle (py_g);
1226 r = guestfs_aug_rm (g, path);
1228 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1232 py_r = PyInt_FromLong ((long) r);
1237 py_guestfs_aug_mv (PyObject *self, PyObject *args)
1246 if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_aug_mv",
1247 &py_g, &src, &dest))
1249 g = get_handle (py_g);
1251 r = guestfs_aug_mv (g, src, dest);
1253 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1257 Py_INCREF (Py_None);
1263 py_guestfs_aug_match (PyObject *self, PyObject *args)
1271 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_match",
1274 g = get_handle (py_g);
1276 r = guestfs_aug_match (g, path);
1278 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1282 py_r = put_string_list (r);
1288 py_guestfs_aug_save (PyObject *self, PyObject *args)
1295 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_aug_save",
1298 g = get_handle (py_g);
1300 r = guestfs_aug_save (g);
1302 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1306 Py_INCREF (Py_None);
1312 py_guestfs_aug_load (PyObject *self, PyObject *args)
1319 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_aug_load",
1322 g = get_handle (py_g);
1324 r = guestfs_aug_load (g);
1326 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1330 Py_INCREF (Py_None);
1336 py_guestfs_aug_ls (PyObject *self, PyObject *args)
1344 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_aug_ls",
1347 g = get_handle (py_g);
1349 r = guestfs_aug_ls (g, path);
1351 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1355 py_r = put_string_list (r);
1361 py_guestfs_rm (PyObject *self, PyObject *args)
1369 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_rm",
1372 g = get_handle (py_g);
1374 r = guestfs_rm (g, path);
1376 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1380 Py_INCREF (Py_None);
1386 py_guestfs_rmdir (PyObject *self, PyObject *args)
1394 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_rmdir",
1397 g = get_handle (py_g);
1399 r = guestfs_rmdir (g, path);
1401 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1405 Py_INCREF (Py_None);
1411 py_guestfs_rm_rf (PyObject *self, PyObject *args)
1419 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_rm_rf",
1422 g = get_handle (py_g);
1424 r = guestfs_rm_rf (g, path);
1426 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1430 Py_INCREF (Py_None);
1436 py_guestfs_mkdir (PyObject *self, PyObject *args)
1444 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_mkdir",
1447 g = get_handle (py_g);
1449 r = guestfs_mkdir (g, path);
1451 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1455 Py_INCREF (Py_None);
1461 py_guestfs_mkdir_p (PyObject *self, PyObject *args)
1469 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_mkdir_p",
1472 g = get_handle (py_g);
1474 r = guestfs_mkdir_p (g, path);
1476 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1480 Py_INCREF (Py_None);
1486 py_guestfs_chmod (PyObject *self, PyObject *args)
1495 if (!PyArg_ParseTuple (args, (char *) "Ois:guestfs_chmod",
1496 &py_g, &mode, &path))
1498 g = get_handle (py_g);
1500 r = guestfs_chmod (g, mode, path);
1502 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1506 Py_INCREF (Py_None);
1512 py_guestfs_chown (PyObject *self, PyObject *args)
1522 if (!PyArg_ParseTuple (args, (char *) "Oiis:guestfs_chown",
1523 &py_g, &owner, &group, &path))
1525 g = get_handle (py_g);
1527 r = guestfs_chown (g, owner, group, path);
1529 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1533 Py_INCREF (Py_None);
1539 py_guestfs_exists (PyObject *self, PyObject *args)
1547 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_exists",
1550 g = get_handle (py_g);
1552 r = guestfs_exists (g, path);
1554 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1558 py_r = PyInt_FromLong ((long) r);
1563 py_guestfs_is_file (PyObject *self, PyObject *args)
1571 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_is_file",
1574 g = get_handle (py_g);
1576 r = guestfs_is_file (g, path);
1578 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1582 py_r = PyInt_FromLong ((long) r);
1587 py_guestfs_is_dir (PyObject *self, PyObject *args)
1595 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_is_dir",
1598 g = get_handle (py_g);
1600 r = guestfs_is_dir (g, path);
1602 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1606 py_r = PyInt_FromLong ((long) r);
1611 py_guestfs_pvcreate (PyObject *self, PyObject *args)
1619 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_pvcreate",
1622 g = get_handle (py_g);
1624 r = guestfs_pvcreate (g, device);
1626 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1630 Py_INCREF (Py_None);
1636 py_guestfs_vgcreate (PyObject *self, PyObject *args)
1642 const char *volgroup;
1643 PyObject *py_physvols;
1644 const char **physvols;
1646 if (!PyArg_ParseTuple (args, (char *) "OsO:guestfs_vgcreate",
1647 &py_g, &volgroup, &py_physvols))
1649 g = get_handle (py_g);
1650 physvols = get_string_list (py_physvols);
1651 if (!physvols) return NULL;
1653 r = guestfs_vgcreate (g, volgroup, physvols);
1656 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1660 Py_INCREF (Py_None);
1666 py_guestfs_lvcreate (PyObject *self, PyObject *args)
1673 const char *volgroup;
1676 if (!PyArg_ParseTuple (args, (char *) "Ossi:guestfs_lvcreate",
1677 &py_g, &logvol, &volgroup, &mbytes))
1679 g = get_handle (py_g);
1681 r = guestfs_lvcreate (g, logvol, volgroup, mbytes);
1683 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1687 Py_INCREF (Py_None);
1693 py_guestfs_mkfs (PyObject *self, PyObject *args)
1702 if (!PyArg_ParseTuple (args, (char *) "Oss:guestfs_mkfs",
1703 &py_g, &fstype, &device))
1705 g = get_handle (py_g);
1707 r = guestfs_mkfs (g, fstype, device);
1709 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1713 Py_INCREF (Py_None);
1719 py_guestfs_sfdisk (PyObject *self, PyObject *args)
1732 if (!PyArg_ParseTuple (args, (char *) "OsiiiO:guestfs_sfdisk",
1733 &py_g, &device, &cyls, &heads, §ors, &py_lines))
1735 g = get_handle (py_g);
1736 lines = get_string_list (py_lines);
1737 if (!lines) return NULL;
1739 r = guestfs_sfdisk (g, device, cyls, heads, sectors, lines);
1742 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1746 Py_INCREF (Py_None);
1752 py_guestfs_write_file (PyObject *self, PyObject *args)
1759 const char *content;
1762 if (!PyArg_ParseTuple (args, (char *) "Ossi:guestfs_write_file",
1763 &py_g, &path, &content, &size))
1765 g = get_handle (py_g);
1767 r = guestfs_write_file (g, path, content, size);
1769 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1773 Py_INCREF (Py_None);
1779 py_guestfs_umount (PyObject *self, PyObject *args)
1785 const char *pathordevice;
1787 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_umount",
1788 &py_g, &pathordevice))
1790 g = get_handle (py_g);
1792 r = guestfs_umount (g, pathordevice);
1794 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1798 Py_INCREF (Py_None);
1804 py_guestfs_mounts (PyObject *self, PyObject *args)
1811 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_mounts",
1814 g = get_handle (py_g);
1816 r = guestfs_mounts (g);
1818 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1822 py_r = put_string_list (r);
1828 py_guestfs_umount_all (PyObject *self, PyObject *args)
1835 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_umount_all",
1838 g = get_handle (py_g);
1840 r = guestfs_umount_all (g);
1842 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1846 Py_INCREF (Py_None);
1852 py_guestfs_lvm_remove_all (PyObject *self, PyObject *args)
1859 if (!PyArg_ParseTuple (args, (char *) "O:guestfs_lvm_remove_all",
1862 g = get_handle (py_g);
1864 r = guestfs_lvm_remove_all (g);
1866 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1870 Py_INCREF (Py_None);
1876 py_guestfs_file (PyObject *self, PyObject *args)
1884 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_file",
1887 g = get_handle (py_g);
1889 r = guestfs_file (g, path);
1891 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1895 py_r = PyString_FromString (r);
1901 py_guestfs_command (PyObject *self, PyObject *args)
1907 PyObject *py_arguments;
1908 const char **arguments;
1910 if (!PyArg_ParseTuple (args, (char *) "OO:guestfs_command",
1911 &py_g, &py_arguments))
1913 g = get_handle (py_g);
1914 arguments = get_string_list (py_arguments);
1915 if (!arguments) return NULL;
1917 r = guestfs_command (g, arguments);
1920 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1924 py_r = PyString_FromString (r);
1930 py_guestfs_command_lines (PyObject *self, PyObject *args)
1936 PyObject *py_arguments;
1937 const char **arguments;
1939 if (!PyArg_ParseTuple (args, (char *) "OO:guestfs_command_lines",
1940 &py_g, &py_arguments))
1942 g = get_handle (py_g);
1943 arguments = get_string_list (py_arguments);
1944 if (!arguments) return NULL;
1946 r = guestfs_command_lines (g, arguments);
1949 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1953 py_r = put_string_list (r);
1959 py_guestfs_stat (PyObject *self, PyObject *args)
1964 struct guestfs_stat *r;
1967 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_stat",
1970 g = get_handle (py_g);
1972 r = guestfs_stat (g, path);
1974 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
1978 py_r = put_stat (r);
1984 py_guestfs_lstat (PyObject *self, PyObject *args)
1989 struct guestfs_stat *r;
1992 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_lstat",
1995 g = get_handle (py_g);
1997 r = guestfs_lstat (g, path);
1999 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
2003 py_r = put_stat (r);
2009 py_guestfs_statvfs (PyObject *self, PyObject *args)
2014 struct guestfs_statvfs *r;
2017 if (!PyArg_ParseTuple (args, (char *) "Os:guestfs_statvfs",
2020 g = get_handle (py_g);
2022 r = guestfs_statvfs (g, path);
2024 PyErr_SetString (PyExc_RuntimeError, guestfs_last_error (g));
2028 py_r = put_statvfs (r);
2033 static PyMethodDef methods[] = {
2034 { (char *) "create", py_guestfs_create, METH_VARARGS, NULL },
2035 { (char *) "close", py_guestfs_close, METH_VARARGS, NULL },
2036 { (char *) "launch", py_guestfs_launch, METH_VARARGS, NULL },
2037 { (char *) "wait_ready", py_guestfs_wait_ready, METH_VARARGS, NULL },
2038 { (char *) "kill_subprocess", py_guestfs_kill_subprocess, METH_VARARGS, NULL },
2039 { (char *) "add_drive", py_guestfs_add_drive, METH_VARARGS, NULL },
2040 { (char *) "add_cdrom", py_guestfs_add_cdrom, METH_VARARGS, NULL },
2041 { (char *) "config", py_guestfs_config, METH_VARARGS, NULL },
2042 { (char *) "set_path", py_guestfs_set_path, METH_VARARGS, NULL },
2043 { (char *) "get_path", py_guestfs_get_path, METH_VARARGS, NULL },
2044 { (char *) "set_autosync", py_guestfs_set_autosync, METH_VARARGS, NULL },
2045 { (char *) "get_autosync", py_guestfs_get_autosync, METH_VARARGS, NULL },
2046 { (char *) "set_verbose", py_guestfs_set_verbose, METH_VARARGS, NULL },
2047 { (char *) "get_verbose", py_guestfs_get_verbose, METH_VARARGS, NULL },
2048 { (char *) "mount", py_guestfs_mount, METH_VARARGS, NULL },
2049 { (char *) "sync", py_guestfs_sync, METH_VARARGS, NULL },
2050 { (char *) "touch", py_guestfs_touch, METH_VARARGS, NULL },
2051 { (char *) "cat", py_guestfs_cat, METH_VARARGS, NULL },
2052 { (char *) "ll", py_guestfs_ll, METH_VARARGS, NULL },
2053 { (char *) "ls", py_guestfs_ls, METH_VARARGS, NULL },
2054 { (char *) "list_devices", py_guestfs_list_devices, METH_VARARGS, NULL },
2055 { (char *) "list_partitions", py_guestfs_list_partitions, METH_VARARGS, NULL },
2056 { (char *) "pvs", py_guestfs_pvs, METH_VARARGS, NULL },
2057 { (char *) "vgs", py_guestfs_vgs, METH_VARARGS, NULL },
2058 { (char *) "lvs", py_guestfs_lvs, METH_VARARGS, NULL },
2059 { (char *) "pvs_full", py_guestfs_pvs_full, METH_VARARGS, NULL },
2060 { (char *) "vgs_full", py_guestfs_vgs_full, METH_VARARGS, NULL },
2061 { (char *) "lvs_full", py_guestfs_lvs_full, METH_VARARGS, NULL },
2062 { (char *) "read_lines", py_guestfs_read_lines, METH_VARARGS, NULL },
2063 { (char *) "aug_init", py_guestfs_aug_init, METH_VARARGS, NULL },
2064 { (char *) "aug_close", py_guestfs_aug_close, METH_VARARGS, NULL },
2065 { (char *) "aug_defvar", py_guestfs_aug_defvar, METH_VARARGS, NULL },
2066 { (char *) "aug_defnode", py_guestfs_aug_defnode, METH_VARARGS, NULL },
2067 { (char *) "aug_get", py_guestfs_aug_get, METH_VARARGS, NULL },
2068 { (char *) "aug_set", py_guestfs_aug_set, METH_VARARGS, NULL },
2069 { (char *) "aug_insert", py_guestfs_aug_insert, METH_VARARGS, NULL },
2070 { (char *) "aug_rm", py_guestfs_aug_rm, METH_VARARGS, NULL },
2071 { (char *) "aug_mv", py_guestfs_aug_mv, METH_VARARGS, NULL },
2072 { (char *) "aug_match", py_guestfs_aug_match, METH_VARARGS, NULL },
2073 { (char *) "aug_save", py_guestfs_aug_save, METH_VARARGS, NULL },
2074 { (char *) "aug_load", py_guestfs_aug_load, METH_VARARGS, NULL },
2075 { (char *) "aug_ls", py_guestfs_aug_ls, METH_VARARGS, NULL },
2076 { (char *) "rm", py_guestfs_rm, METH_VARARGS, NULL },
2077 { (char *) "rmdir", py_guestfs_rmdir, METH_VARARGS, NULL },
2078 { (char *) "rm_rf", py_guestfs_rm_rf, METH_VARARGS, NULL },
2079 { (char *) "mkdir", py_guestfs_mkdir, METH_VARARGS, NULL },
2080 { (char *) "mkdir_p", py_guestfs_mkdir_p, METH_VARARGS, NULL },
2081 { (char *) "chmod", py_guestfs_chmod, METH_VARARGS, NULL },
2082 { (char *) "chown", py_guestfs_chown, METH_VARARGS, NULL },
2083 { (char *) "exists", py_guestfs_exists, METH_VARARGS, NULL },
2084 { (char *) "is_file", py_guestfs_is_file, METH_VARARGS, NULL },
2085 { (char *) "is_dir", py_guestfs_is_dir, METH_VARARGS, NULL },
2086 { (char *) "pvcreate", py_guestfs_pvcreate, METH_VARARGS, NULL },
2087 { (char *) "vgcreate", py_guestfs_vgcreate, METH_VARARGS, NULL },
2088 { (char *) "lvcreate", py_guestfs_lvcreate, METH_VARARGS, NULL },
2089 { (char *) "mkfs", py_guestfs_mkfs, METH_VARARGS, NULL },
2090 { (char *) "sfdisk", py_guestfs_sfdisk, METH_VARARGS, NULL },
2091 { (char *) "write_file", py_guestfs_write_file, METH_VARARGS, NULL },
2092 { (char *) "umount", py_guestfs_umount, METH_VARARGS, NULL },
2093 { (char *) "mounts", py_guestfs_mounts, METH_VARARGS, NULL },
2094 { (char *) "umount_all", py_guestfs_umount_all, METH_VARARGS, NULL },
2095 { (char *) "lvm_remove_all", py_guestfs_lvm_remove_all, METH_VARARGS, NULL },
2096 { (char *) "file", py_guestfs_file, METH_VARARGS, NULL },
2097 { (char *) "command", py_guestfs_command, METH_VARARGS, NULL },
2098 { (char *) "command_lines", py_guestfs_command_lines, METH_VARARGS, NULL },
2099 { (char *) "stat", py_guestfs_stat, METH_VARARGS, NULL },
2100 { (char *) "lstat", py_guestfs_lstat, METH_VARARGS, NULL },
2101 { (char *) "statvfs", py_guestfs_statvfs, METH_VARARGS, NULL },
2102 { NULL, NULL, 0, NULL }
2106 initlibguestfsmod (void)
2108 static int initialized = 0;
2110 if (initialized) return;
2111 Py_InitModule ((char *) "libguestfsmod", methods);