[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Remove many unnecessary uses of keyword arguments, to reduce complexity.
# HG changeset patch # User emellor@xxxxxxxxxxxxxxxxxxxxxx # Node ID f72da879941828f54a5c592500b1c78938311979 # Parent e336e186e5f96a0e93f842ca3a2e39601c2a0193 Remove many unnecessary uses of keyword arguments, to reduce complexity. Have the self parameter to all the methods be an XsHandle, not a PyObject, to avoid casting. Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx> diff -r e336e186e5f9 -r f72da8799418 tools/python/xen/lowlevel/xc/xc.c --- a/tools/python/xen/lowlevel/xc/xc.c Mon Nov 21 16:30:43 2005 +++ b/tools/python/xen/lowlevel/xc/xc.c Mon Nov 21 16:48:22 2005 @@ -32,48 +32,38 @@ int xc_handle; } XcObject; -/* - * Definitions for the 'xc' object type. - */ - -static PyObject *pyxc_domain_dumpcore(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; - + +static PyObject *dom_op(XcObject *self, PyObject *args, + int (*fn)(int, uint32_t)); + + +static PyObject *pyxc_domain_dumpcore(XcObject *self, PyObject *args) +{ uint32_t dom; char *corefile; - static char *kwd_list[] = { "dom", "corefile", NULL }; - - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "is", kwd_list, - &dom, &corefile) ) + if (!PyArg_ParseTuple(args, "is", &dom, &corefile)) return NULL; if ( (corefile == NULL) || (corefile[0] == '\0') ) return NULL; - if ( xc_domain_dumpcore(xc->xc_handle, dom, corefile) != 0 ) - return PyErr_SetFromErrno(xc_error); - - Py_INCREF(zero); - return zero; -} - -static PyObject *pyxc_handle(PyObject *self) -{ - XcObject *xc = (XcObject *)self; - - return PyInt_FromLong(xc->xc_handle); -} - -static PyObject *pyxc_domain_create(PyObject *self, + if (xc_domain_dumpcore(self->xc_handle, dom, corefile) != 0) + return PyErr_SetFromErrno(xc_error); + + Py_INCREF(zero); + return zero; +} + +static PyObject *pyxc_handle(XcObject *self) +{ + return PyInt_FromLong(self->xc_handle); +} + +static PyObject *pyxc_domain_create(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; - uint32_t dom = 0; int ret, i; uint32_t ssidref = 0; @@ -103,7 +93,7 @@ } } - if ( (ret = xc_domain_create(xc->xc_handle, ssidref, handle, &dom)) < 0 ) + if ( (ret = xc_domain_create(self->xc_handle, ssidref, handle, &dom)) < 0 ) return PyErr_SetFromErrno(xc_error); return PyInt_FromLong(dom); @@ -114,92 +104,40 @@ return NULL; } -static PyObject *pyxc_domain_max_vcpus(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; - +static PyObject *pyxc_domain_max_vcpus(XcObject *self, PyObject *args) +{ uint32_t dom, max; - static char *kwd_list[] = { "dom", "max", NULL }; - - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "ii", kwd_list, &dom, &max) ) - return NULL; - - if ( xc_domain_max_vcpus(xc->xc_handle, dom, max) != 0 ) - return PyErr_SetFromErrno(xc_error); - - Py_INCREF(zero); - return zero; -} - -static PyObject *pyxc_domain_pause(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; - - uint32_t dom; - - static char *kwd_list[] = { "dom", NULL }; - - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i", kwd_list, &dom) ) - return NULL; - - if ( xc_domain_pause(xc->xc_handle, dom) != 0 ) - return PyErr_SetFromErrno(xc_error); - - Py_INCREF(zero); - return zero; -} - -static PyObject *pyxc_domain_unpause(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; - - uint32_t dom; - - static char *kwd_list[] = { "dom", NULL }; - - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i", kwd_list, &dom) ) - return NULL; - - if ( xc_domain_unpause(xc->xc_handle, dom) != 0 ) - return PyErr_SetFromErrno(xc_error); - - Py_INCREF(zero); - return zero; -} - -static PyObject *pyxc_domain_destroy(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; - - uint32_t dom; - - static char *kwd_list[] = { "dom", NULL }; - - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i", kwd_list, &dom) ) - return NULL; - - if ( xc_domain_destroy(xc->xc_handle, dom) != 0 ) - return PyErr_SetFromErrno(xc_error); - - Py_INCREF(zero); - return zero; -} - -static PyObject *pyxc_domain_pincpu(PyObject *self, + if (!PyArg_ParseTuple(args, "ii", &dom, &max)) + return NULL; + + if (xc_domain_max_vcpus(self->xc_handle, dom, max) != 0) + return PyErr_SetFromErrno(xc_error); + + Py_INCREF(zero); + return zero; +} + +static PyObject *pyxc_domain_pause(XcObject *self, PyObject *args) +{ + return dom_op(self, args, xc_domain_pause); +} + +static PyObject *pyxc_domain_unpause(XcObject *self, PyObject *args) +{ + return dom_op(self, args, xc_domain_unpause); +} + +static PyObject *pyxc_domain_destroy(XcObject *self, PyObject *args) +{ + return dom_op(self, args, xc_domain_destroy); +} + + +static PyObject *pyxc_domain_pincpu(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; - uint32_t dom; int vcpu = 0, i; cpumap_t cpumap = ~0ULL; @@ -218,19 +156,17 @@ cpumap |= (cpumap_t)1 << PyInt_AsLong(PyList_GetItem(cpulist, i)); } - if ( xc_domain_pincpu(xc->xc_handle, dom, vcpu, cpumap) != 0 ) - return PyErr_SetFromErrno(xc_error); - - Py_INCREF(zero); - return zero; -} - -static PyObject *pyxc_domain_setcpuweight(PyObject *self, + if ( xc_domain_pincpu(self->xc_handle, dom, vcpu, cpumap) != 0 ) + return PyErr_SetFromErrno(xc_error); + + Py_INCREF(zero); + return zero; +} + +static PyObject *pyxc_domain_setcpuweight(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; - uint32_t dom; float cpuweight = 1; @@ -240,28 +176,21 @@ &dom, &cpuweight) ) return NULL; - if ( xc_domain_setcpuweight(xc->xc_handle, dom, cpuweight) != 0 ) - return PyErr_SetFromErrno(xc_error); - - Py_INCREF(zero); - return zero; -} - -static PyObject *pyxc_domain_sethandle(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; - + if ( xc_domain_setcpuweight(self->xc_handle, dom, cpuweight) != 0 ) + return PyErr_SetFromErrno(xc_error); + + Py_INCREF(zero); + return zero; +} + +static PyObject *pyxc_domain_sethandle(XcObject *self, PyObject *args) +{ int i; uint32_t dom; PyObject *pyhandle; xen_domain_handle_t handle; - static char *kwd_list[] = { "dom", "handle", NULL }; - - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iO", kwd_list, - &dom, &pyhandle) ) + if (!PyArg_ParseTuple(args, "iO", &dom, &pyhandle)) return NULL; if ( !PyList_Check(pyhandle) || @@ -278,7 +207,7 @@ handle[i] = (uint8_t)PyInt_AsLong(p); } - if ( xc_domain_sethandle(xc->xc_handle, dom, handle) < 0 ) + if (xc_domain_sethandle(self->xc_handle, dom, handle) < 0) return PyErr_SetFromErrno(xc_error); Py_INCREF(zero); @@ -291,11 +220,10 @@ } -static PyObject *pyxc_domain_getinfo(PyObject *self, +static PyObject *pyxc_domain_getinfo(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; PyObject *list, *info_dict; uint32_t first_dom = 0; @@ -311,7 +239,7 @@ if ( (info = malloc(max_doms * sizeof(xc_dominfo_t))) == NULL ) return PyErr_NoMemory(); - nr_doms = xc_domain_getinfo(xc->xc_handle, first_dom, max_doms, info); + nr_doms = xc_domain_getinfo(self->xc_handle, first_dom, max_doms, info); if (nr_doms < 0) { @@ -351,11 +279,10 @@ return list; } -static PyObject *pyxc_vcpu_getinfo(PyObject *self, +static PyObject *pyxc_vcpu_getinfo(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; PyObject *info_dict, *cpulist; uint32_t dom, vcpu = 0; @@ -369,7 +296,7 @@ &dom, &vcpu) ) return NULL; - rc = xc_domain_get_vcpu_info(xc->xc_handle, dom, vcpu, &info); + rc = xc_domain_get_vcpu_info(self->xc_handle, dom, vcpu, &info); if ( rc < 0 ) return PyErr_SetFromErrno(xc_error); @@ -393,12 +320,10 @@ return info_dict; } -static PyObject *pyxc_linux_build(PyObject *self, +static PyObject *pyxc_linux_build(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; - uint32_t dom; char *image, *ramdisk = NULL, *cmdline = ""; int flags = 0; @@ -418,7 +343,7 @@ &ramdisk, &cmdline, &flags) ) return NULL; - if ( xc_linux_build(xc->xc_handle, dom, image, + if ( xc_linux_build(self->xc_handle, dom, image, ramdisk, cmdline, flags, store_evtchn, &store_mfn, console_evtchn, &console_mfn) != 0 ) @@ -429,12 +354,10 @@ "console_mfn", console_mfn); } -static PyObject *pyxc_vmx_build(PyObject *self, +static PyObject *pyxc_vmx_build(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; - uint32_t dom; char *image; int control_evtchn, store_evtchn; @@ -451,56 +374,41 @@ &memsize, &image, &lapic, &vcpus) ) return NULL; - if ( xc_vmx_build(xc->xc_handle, dom, memsize, image, control_evtchn, + if ( xc_vmx_build(self->xc_handle, dom, memsize, image, control_evtchn, lapic, vcpus, store_evtchn, &store_mfn) != 0 ) return PyErr_SetFromErrno(xc_error); return Py_BuildValue("{s:i}", "store_mfn", store_mfn); } -static PyObject *pyxc_bvtsched_global_set(PyObject *self, +static PyObject *pyxc_bvtsched_global_set(XcObject *self, PyObject *args) +{ + unsigned long ctx_allow; + + if (!PyArg_ParseTuple(args, "l", &ctx_allow)) + return NULL; + + if (xc_bvtsched_global_set(self->xc_handle, ctx_allow) != 0) + return PyErr_SetFromErrno(xc_error); + + Py_INCREF(zero); + return zero; +} + +static PyObject *pyxc_bvtsched_global_get(XcObject *self) +{ + unsigned long ctx_allow; + + if (xc_bvtsched_global_get(self->xc_handle, &ctx_allow) != 0) + return PyErr_SetFromErrno(xc_error); + + return Py_BuildValue("s:l", "ctx_allow", ctx_allow); +} + +static PyObject *pyxc_bvtsched_domain_set(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; - - unsigned long ctx_allow; - - static char *kwd_list[] = { "ctx_allow", NULL }; - - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "l", kwd_list, &ctx_allow) ) - return NULL; - - if ( xc_bvtsched_global_set(xc->xc_handle, ctx_allow) != 0 ) - return PyErr_SetFromErrno(xc_error); - - Py_INCREF(zero); - return zero; -} - -static PyObject *pyxc_bvtsched_global_get(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; - - unsigned long ctx_allow; - - if ( !PyArg_ParseTuple(args, "") ) - return NULL; - - if ( xc_bvtsched_global_get(xc->xc_handle, &ctx_allow) != 0 ) - return PyErr_SetFromErrno(xc_error); - - return Py_BuildValue("s:l", "ctx_allow", ctx_allow); -} - -static PyObject *pyxc_bvtsched_domain_set(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; - uint32_t dom; uint32_t mcuadv; int warpback; @@ -516,7 +424,7 @@ &warpl, &warpu) ) return NULL; - if ( xc_bvtsched_domain_set(xc->xc_handle, dom, mcuadv, + if ( xc_bvtsched_domain_set(self->xc_handle, dom, mcuadv, warpback, warpvalue, warpl, warpu) != 0 ) return PyErr_SetFromErrno(xc_error); @@ -524,11 +432,9 @@ return zero; } -static PyObject *pyxc_bvtsched_domain_get(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; +static PyObject *pyxc_bvtsched_domain_get(XcObject *self, + PyObject *args) +{ uint32_t dom; uint32_t mcuadv; int warpback; @@ -536,13 +442,11 @@ long long warpl; long long warpu; - static char *kwd_list[] = { "dom", NULL }; - - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i", kwd_list, &dom) ) - return NULL; - - if ( xc_bvtsched_domain_get(xc->xc_handle, dom, &mcuadv, &warpback, - &warpvalue, &warpl, &warpu) != 0 ) + if (!PyArg_ParseTuple(args, "i", &dom)) + return NULL; + + if (xc_bvtsched_domain_get(self->xc_handle, dom, &mcuadv, &warpback, + &warpvalue, &warpl, &warpu) != 0) return PyErr_SetFromErrno(xc_error); return Py_BuildValue("{s:i,s:l,s:l,s:l,s:l}", @@ -554,12 +458,10 @@ "warpu", warpu); } -static PyObject *pyxc_evtchn_alloc_unbound(PyObject *self, +static PyObject *pyxc_evtchn_alloc_unbound(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; - uint32_t dom, remote_dom; int port; @@ -569,17 +471,16 @@ &dom, &remote_dom) ) return NULL; - if ( (port = xc_evtchn_alloc_unbound(xc->xc_handle, dom, remote_dom)) < 0 ) + if ( (port = xc_evtchn_alloc_unbound(self->xc_handle, dom, remote_dom)) < 0 ) return PyErr_SetFromErrno(xc_error); return PyInt_FromLong(port); } -static PyObject *pyxc_evtchn_status(PyObject *self, +static PyObject *pyxc_evtchn_status(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; PyObject *dict; uint32_t dom = DOMID_SELF; @@ -592,7 +493,7 @@ &port, &dom) ) return NULL; - ret = xc_evtchn_status(xc->xc_handle, dom, port, &status); + ret = xc_evtchn_status(self->xc_handle, dom, port, &status); if ( ret != 0 ) return PyErr_SetFromErrno(xc_error); @@ -630,11 +531,10 @@ return dict; } -static PyObject *pyxc_physdev_pci_access_modify(PyObject *self, +static PyObject *pyxc_physdev_pci_access_modify(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; uint32_t dom; int bus, dev, func, enable, ret; @@ -645,7 +545,7 @@ return NULL; ret = xc_physdev_pci_access_modify( - xc->xc_handle, dom, bus, dev, func, enable); + self->xc_handle, dom, bus, dev, func, enable); if ( ret != 0 ) return PyErr_SetFromErrno(xc_error); @@ -653,12 +553,10 @@ return zero; } -static PyObject *pyxc_readconsolering(PyObject *self, +static PyObject *pyxc_readconsolering(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; - unsigned int clear = 0; char _str[32768], *str = _str; unsigned int count = 32768; @@ -669,26 +567,20 @@ if ( !PyArg_ParseTupleAndKeywords(args, kwds, "|i", kwd_list, &clear) ) return NULL; - ret = xc_readconsolering(xc->xc_handle, &str, &count, clear); + ret = xc_readconsolering(self->xc_handle, &str, &count, clear); if ( ret < 0 ) return PyErr_SetFromErrno(xc_error); return PyString_FromStringAndSize(str, count); } -static PyObject *pyxc_physinfo(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; +static PyObject *pyxc_physinfo(XcObject *self) +{ xc_physinfo_t info; char cpu_cap[128], *p=cpu_cap, *q=cpu_cap; int i; - if ( !PyArg_ParseTuple(args, "") ) - return NULL; - - if ( xc_physinfo(xc->xc_handle, &info) != 0 ) + if ( xc_physinfo(self->xc_handle, &info) != 0 ) return PyErr_SetFromErrno(xc_error); *q=0; @@ -712,11 +604,8 @@ "hw_caps", cpu_cap); } -static PyObject *pyxc_xeninfo(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; +static PyObject *pyxc_xeninfo(XcObject *self) +{ xen_extraversion_t xen_extra; xen_compile_info_t xen_cc; xen_changeset_info_t xen_chgset; @@ -725,21 +614,21 @@ long xen_version; char str[128]; - xen_version = xc_version(xc->xc_handle, XENVER_version, NULL); - - if ( xc_version(xc->xc_handle, XENVER_extraversion, &xen_extra) != 0 ) - return PyErr_SetFromErrno(xc_error); - - if ( xc_version(xc->xc_handle, XENVER_compile_info, &xen_cc) != 0 ) - return PyErr_SetFromErrno(xc_error); - - if ( xc_version(xc->xc_handle, XENVER_changeset, &xen_chgset) != 0 ) - return PyErr_SetFromErrno(xc_error); - - if ( xc_version(xc->xc_handle, XENVER_capabilities, &xen_caps) != 0 ) - return PyErr_SetFromErrno(xc_error); - - if ( xc_version(xc->xc_handle, XENVER_platform_parameters, &p_parms) != 0 ) + xen_version = xc_version(self->xc_handle, XENVER_version, NULL); + + if ( xc_version(self->xc_handle, XENVER_extraversion, &xen_extra) != 0 ) + return PyErr_SetFromErrno(xc_error); + + if ( xc_version(self->xc_handle, XENVER_compile_info, &xen_cc) != 0 ) + return PyErr_SetFromErrno(xc_error); + + if ( xc_version(self->xc_handle, XENVER_changeset, &xen_chgset) != 0 ) + return PyErr_SetFromErrno(xc_error); + + if ( xc_version(self->xc_handle, XENVER_capabilities, &xen_caps) != 0 ) + return PyErr_SetFromErrno(xc_error); + + if ( xc_version(self->xc_handle, XENVER_platform_parameters, &p_parms) != 0 ) return PyErr_SetFromErrno(xc_error); sprintf(str, "virt_start=0x%lx", p_parms.virt_start); @@ -758,11 +647,10 @@ } -static PyObject *pyxc_sedf_domain_set(PyObject *self, +static PyObject *pyxc_sedf_domain_set(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; uint32_t domid; uint64_t period, slice, latency; uint16_t extratime, weight; @@ -773,7 +661,7 @@ &domid, &period, &slice, &latency, &extratime, &weight) ) return NULL; - if ( xc_sedf_domain_set(xc->xc_handle, domid, period, + if ( xc_sedf_domain_set(self->xc_handle, domid, period, slice, latency, extratime,weight) != 0 ) return PyErr_SetFromErrno(xc_error); @@ -781,22 +669,17 @@ return zero; } -static PyObject *pyxc_sedf_domain_get(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; +static PyObject *pyxc_sedf_domain_get(XcObject *self, PyObject *args) +{ uint32_t domid; uint64_t period, slice,latency; uint16_t weight, extratime; - static char *kwd_list[] = { "dom", NULL }; - - if( !PyArg_ParseTupleAndKeywords(args, kwds, "i", kwd_list, &domid) ) - return NULL; - - if ( xc_sedf_domain_get( xc->xc_handle, domid, &period, - &slice,&latency,&extratime,&weight) ) + if(!PyArg_ParseTuple(args, "i", &domid)) + return NULL; + + if (xc_sedf_domain_get(self->xc_handle, domid, &period, + &slice,&latency,&extratime,&weight)) return PyErr_SetFromErrno(xc_error); return Py_BuildValue("{s:i,s:L,s:L,s:L,s:i,s:i}", @@ -808,34 +691,25 @@ "weight", weight); } -static PyObject *pyxc_domain_setmaxmem(PyObject *self, - PyObject *args, - PyObject *kwds) -{ - XcObject *xc = (XcObject *)self; - +static PyObject *pyxc_domain_setmaxmem(XcObject *self, PyObject *args) +{ uint32_t dom; unsigned int maxmem_kb; - static char *kwd_list[] = { "dom", "maxmem_kb", NULL }; - - if ( !PyArg_ParseTupleAndKeywords(args, kwds, "ii", kwd_list, - &dom, &maxmem_kb) ) - return NULL; - - if ( xc_domain_setmaxmem(xc->xc_handle, dom, maxmem_kb) != 0 ) - return PyErr_SetFromErrno(xc_error); - - Py_INCREF(zero); - return zero; -} - -static PyObject *pyxc_domain_memory_increase_reservation(PyObject *self, + if (!PyArg_ParseTuple(args, "ii", &dom, &maxmem_kb)) + return NULL; + + if (xc_domain_setmaxmem(self->xc_handle, dom, maxmem_kb) != 0) + return PyErr_SetFromErrno(xc_error); + + Py_INCREF(zero); + return zero; +} + +static PyObject *pyxc_domain_memory_increase_reservation(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; - uint32_t dom; unsigned long mem_kb; unsigned int extent_order = 0 , address_bits = 0; @@ -850,7 +724,7 @@ /* round down to nearest power of 2. Assume callers using extent_order>0 know what they are doing */ nr_extents = (mem_kb / (XC_PAGE_SIZE/1024)) >> extent_order; - if ( xc_domain_memory_increase_reservation(xc->xc_handle, dom, + if ( xc_domain_memory_increase_reservation(self->xc_handle, dom, nr_extents, extent_order, address_bits, NULL) ) return PyErr_SetFromErrno(xc_error); @@ -859,11 +733,10 @@ return zero; } -static PyObject *pyxc_domain_ioport_permission(PyObject *self, +static PyObject *pyxc_domain_ioport_permission(XcObject *self, PyObject *args, PyObject *kwds) { - XcObject *xc = (XcObject *)self; uint32_t dom; int first_port, nr_ports, allow_access, ret; @@ -874,18 +747,35 @@ return NULL; ret = xc_domain_ioport_permission( - xc->xc_handle, dom, first_port, nr_ports, allow_access); + self->xc_handle, dom, first_port, nr_ports, allow_access); if ( ret != 0 ) return PyErr_SetFromErrno(xc_error); Py_INCREF(zero); return zero; } + + +static PyObject *dom_op(XcObject *self, PyObject *args, + int (*fn)(int, uint32_t)) +{ + uint32_t dom; + + if (!PyArg_ParseTuple(args, "i", &dom)) + return NULL; + + if (fn(self->xc_handle, dom) != 0) + return PyErr_SetFromErrno(xc_error); + + Py_INCREF(zero); + return zero; +} + static PyMethodDef pyxc_methods[] = { { "handle", (PyCFunction)pyxc_handle, - 0, "\n" + METH_NOARGS, "\n" "Query the xc control interface file descriptor.\n\n" "Returns: [int] file descriptor\n" }, @@ -898,7 +788,7 @@ { "domain_max_vcpus", (PyCFunction)pyxc_domain_max_vcpus, - METH_VARARGS | METH_KEYWORDS, "\n" + METH_VARARGS, "\n" "Set the maximum number of VCPUs a domain may create.\n" " dom [int, 0]: Domain identifier to use.\n" " max [int, 0]: New maximum number of VCPUs in domain.\n" @@ -906,7 +796,7 @@ { "domain_dumpcore", (PyCFunction)pyxc_domain_dumpcore, - METH_VARARGS | METH_KEYWORDS, "\n" + METH_VARARGS, "\n" "Dump core of a domain.\n" " dom [int]: Identifier of domain to dump core of.\n" " corefile [string]: Name of corefile to be created.\n\n" @@ -914,21 +804,21 @@ { "domain_pause", (PyCFunction)pyxc_domain_pause, - METH_VARARGS | METH_KEYWORDS, "\n" + METH_VARARGS, "\n" "Temporarily pause execution of a domain.\n" " dom [int]: Identifier of domain to be paused.\n\n" "Returns: [int] 0 on success; -1 on error.\n" }, { "domain_unpause", (PyCFunction)pyxc_domain_unpause, - METH_VARARGS | METH_KEYWORDS, "\n" + METH_VARARGS, "\n" "(Re)start execution of a domain.\n" " dom [int]: Identifier of domain to be unpaused.\n\n" "Returns: [int] 0 on success; -1 on error.\n" }, { "domain_destroy", (PyCFunction)pyxc_domain_destroy, - METH_VARARGS | METH_KEYWORDS, "\n" + METH_VARARGS, "\n" "Destroy a domain.\n" " dom [int]: Identifier of domain to be destroyed.\n\n" "Returns: [int] 0 on success; -1 on error.\n" }, @@ -952,7 +842,7 @@ { "domain_sethandle", (PyCFunction)pyxc_domain_sethandle, - METH_VARARGS | METH_KEYWORDS, "\n" + METH_VARARGS, "\n" "Set domain's opaque handle.\n" " dom [int]: Identifier of domain.\n" " handle [list of 16 ints]: New opaque handle.\n" @@ -1026,7 +916,7 @@ { "bvtsched_global_get", (PyCFunction)pyxc_bvtsched_global_get, - METH_KEYWORDS, "\n" + METH_NOARGS, "\n" "Get global tuning parameters for BVT scheduler.\n" "Returns: [dict]:\n" " ctx_allow [int]: context switch allowance\n" }, @@ -1045,7 +935,7 @@ { "bvtsched_domain_get", (PyCFunction)pyxc_bvtsched_domain_get, - METH_KEYWORDS, "\n" + METH_VARARGS, "\n" "Get per-domain tuning parameters under the BVT scheduler.\n" " dom [int]: Identifier of domain to be queried.\n" "Returns [dict]:\n" @@ -1069,7 +959,7 @@ { "sedf_domain_get", (PyCFunction)pyxc_sedf_domain_get, - METH_KEYWORDS, "\n" + METH_VARARGS, "\n" "Get the current scheduling parameters for a domain when running with\n" "the Atropos scheduler." " dom [int]: domain to query\n" @@ -1123,21 +1013,21 @@ { "physinfo", (PyCFunction)pyxc_physinfo, - METH_VARARGS, "\n" + METH_NOARGS, "\n" "Get information about the physical host machine\n" "Returns [dict]: information about the hardware" " [None]: on failure.\n" }, { "xeninfo", (PyCFunction)pyxc_xeninfo, - METH_VARARGS, "\n" + METH_NOARGS, "\n" "Get information about the Xen host\n" "Returns [dict]: information about Xen" " [None]: on failure.\n" }, { "domain_setmaxmem", (PyCFunction)pyxc_domain_setmaxmem, - METH_VARARGS | METH_KEYWORDS, "\n" + METH_VARARGS, "\n" "Set a domain's memory limit\n" " dom [int]: Identifier of domain.\n" " maxmem_kb [int]: .\n" @@ -1241,3 +1131,11 @@ setbuf(stdout, NULL); setbuf(stderr, NULL); } + + +/* + * Local variables: + * c-indent-level: 4 + * c-basic-offset: 4 + * End: + */ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |