if (vc_get_rlimit(xid, resource, &limit) == -1)
return PyErr_SetFromErrno(PyExc_OSError);
- return Py_BuildValue("(KKK)", limit.min, limit.soft, limit.hard);
+ return Py_BuildValue("(LLL)", limit.min, limit.soft, limit.hard);
}
static PyObject *
{
xid_t xid;
uint_least64_t mask;
+ uint32_t index;
- if (!PyArg_ParseTuple(args, "IK", &xid, &mask))
+ if (!PyArg_ParseTuple(args, "IKI", &xid, &mask, &index))
return NULL;
- if (vc_enter_namespace(xid, mask) == -1)
+ if (vc_enter_namespace(xid, mask, index) == -1)
return PyErr_SetFromErrno(PyExc_OSError);
return NONE();
{
xid_t xid;
uint_least64_t mask;
+ uint32_t index;
- if (!PyArg_ParseTuple(args, "IK", &xid, &mask))
+ if (!PyArg_ParseTuple(args, "IKI", &xid, &mask, &index))
return NULL;
- if (vc_set_namespace(xid, mask) == -1)
+ if (vc_set_namespace(xid, mask, index) == -1)
return PyErr_SetFromErrno(PyExc_OSError);
return NONE();
xid_t xid;
struct vc_set_sched sched;
- if (!PyArg_ParseTuple(args, "I", &xid))
+ if (!PyArg_ParseTuple(args, "Iii", &xid, &sched.cpu_id, &sched.bucket_id))
return NULL;
if (vc_get_sched(xid, &sched) == -1)
{ NULL, NULL, 0, NULL }
};
+static void
+PyModule_AddLongLongConstant(PyObject *mod, const char *str, long long val)
+{
+ PyObject *o = PyLong_FromLongLong(val);
+ if (!o || PyModule_AddObject(mod, str, o) == -1)
+ /* This ought to be reported somehow... */
+ return;
+}
+
PyMODINIT_FUNC init_libvserver(void)
{
PyObject *mod;