Clean up unused variables.
[vde.git] / vde-2 / src / lib / python / vdeplug_python.c
blob9d70e726601a0c5b37e32aef35616dd79ed4e19b
1 /*
2 * LibVdePlug/python wrapper
3 * Copyright © 2010 Daniele Lacamera
5 * Released under the terms of GNU LGPL v. 2.1
6 * (see COPYING.libvdeplug in the main project directory)
8 */
9 #include "Python.h"
10 #include <stdio.h>
11 #include "libvdeplug.h"
14 static PyObject *vdeplug_open(PyObject *self, PyObject *args)
16 struct vde_open_args vde_args = {0,NULL,0777};
17 char *vde_sock = NULL, *vde_descr = NULL;
18 VDECONN *ret;
20 if (!PyArg_ParseTuple(args, "ss|isi", &vde_sock, &vde_descr, &vde_args.port, &vde_args.group, &vde_args.mode))
21 goto failure;
23 ret = vde_open_real(vde_sock, vde_descr, 1, &vde_args);
24 if (!ret)
25 goto failure;
26 else
27 return PyLong_FromUnsignedLong((unsigned long) ret);
30 failure:
31 return PyErr_SetFromErrno(PyExc_RuntimeError);
34 static PyObject *vdeplug_ctlfd(PyObject *self, PyObject *args)
36 VDECONN *conn;
37 unsigned long vde_magic = 0;
39 if (!PyArg_ParseTuple(args, "k", &vde_magic))
40 goto failure;
41 conn = (VDECONN *) vde_magic;
43 if (!conn)
44 goto failure;
46 return Py_BuildValue("i", vde_ctlfd(conn));
48 failure:
49 return PyErr_SetFromErrno(PyExc_RuntimeError);
52 static PyObject *vdeplug_datafd(PyObject *self, PyObject *args)
54 VDECONN *conn;
55 unsigned long vde_magic = 0;
57 if (!PyArg_ParseTuple(args, "k", &vde_magic))
58 goto failure;
59 conn = (VDECONN *) vde_magic;
61 if (!conn)
62 goto failure;
64 return Py_BuildValue("i", vde_datafd(conn));
66 failure:
67 return PyErr_SetFromErrno(PyExc_RuntimeError);
70 static PyObject *vdeplug_close(PyObject *self, PyObject *args)
72 VDECONN *conn;
73 unsigned long vde_magic = 0;
75 if (!PyArg_ParseTuple(args, "k", &vde_magic))
76 goto failure;
77 conn = (VDECONN *) vde_magic;
79 if (!conn)
80 goto failure;
82 return Py_BuildValue("i", vde_close(conn));
84 failure:
85 return PyErr_SetFromErrno(PyExc_RuntimeError);
90 static PyMethodDef vdeplug_methods[] = {
91 {"open", vdeplug_open, METH_VARARGS},
92 {"ctlfd", vdeplug_ctlfd, METH_VARARGS},
93 {"datafd", vdeplug_datafd, METH_VARARGS},
94 {"close", vdeplug_close, METH_VARARGS},
95 {NULL, NULL} /* Sentinel */
98 void initvdeplug_python(void)
100 (void) Py_InitModule("vdeplug_python", vdeplug_methods);
101 // PyErr_SetString(PyExc_RuntimeError,"vdeplug error");