initial import
This commit is contained in:
64
libieee1284/PKGBUILD
Normal file
64
libieee1284/PKGBUILD
Normal file
@@ -0,0 +1,64 @@
|
||||
# Maintainer: Jesus E. <heckyel@riseup.net>
|
||||
|
||||
pkgname=libieee1284
|
||||
pkgver=0.2.11
|
||||
_tag=${pkgver//\./_}
|
||||
_debver=$pkgver
|
||||
_debrel=14
|
||||
pkgrel=2
|
||||
pkgdesc="Library to query devices connected in parallel port"
|
||||
arch=('i686' 'x86_64')
|
||||
license=('GPL-3')
|
||||
url='https://github.com/twaugh/libieee1284'
|
||||
makedepends=('python' 'xmlto' 'docbook-xml' 'docbook-xsl' 'quilt')
|
||||
optdepends=('python: for python module')
|
||||
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/twaugh/libieee1284/archive/refs/tags/V${_tag}.tar.gz"
|
||||
"https://deb.debian.org/debian/pool/main/libi/libieee1284/libieee1284_${_debver}-${_debrel}.debian.tar.xz"
|
||||
"libieee1284-upstream_python_fix1.patch"
|
||||
"libieee1284-upstream_python_fix2.patch"
|
||||
"libieee1284-python3.patch")
|
||||
sha512sums=('d225b3730bf378558991f3206e753aa93c56ce59071c479d67aabe9f276e289ff244b9d0b3f378c39fbb26c819a1f92498efc2b07600b19fe10b86f91492406b'
|
||||
'f7eb56ee16ab178db65524bbdbd9c1178e4aaa1f9e96a85df630e0cfa75a4d3aa81c8175ac824ad71959d27240e990e0f0285fa07d7495dc090cce3f8d8e4490'
|
||||
'ff922c1c4b2c11b2083a77031e48d564aa180c009a80826b0319a7af6a7e4b039b63aa2ac05fe5f6f665ec07c333aaa9fa0f1f8b72acc48bc40f74a711eb9085'
|
||||
'535d7df22c5482986225345ebfaa2aed7219f055c89fc193aabe8044dd3e56bcc2b7eb3d02bf8711f9e56e1d56ae88669b255eba571c9e3283c3949ac3f1f762'
|
||||
'd3b508441bb988ae03b6449041df3ae9825c4f18cf007b8dd66ce8d61b45ec51c81cf8023cc978135945291da198a41f96ec6253c5fa9e05352fac0f0681003d')
|
||||
|
||||
prepare() {
|
||||
cd ${pkgname}-${_tag}
|
||||
|
||||
if [[ ${pkgver%.*} = ${_debver%.*} ]]; then
|
||||
# Debian patches
|
||||
export QUILT_PATCHES=debian/patches
|
||||
export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
|
||||
export QUILT_DIFF_ARGS='--no-timestamps'
|
||||
|
||||
mv "$srcdir"/debian .
|
||||
|
||||
# Doesn't apply
|
||||
rm -v debian/patches/kfreebsd-amd64.patch || true
|
||||
rm -v debian/patches/autotools_update.patch || true
|
||||
|
||||
quilt push -av
|
||||
fi
|
||||
|
||||
patch -p1 < $srcdir/libieee1284-upstream_python_fix1.patch
|
||||
patch -p1 < $srcdir/libieee1284-upstream_python_fix2.patch
|
||||
patch -p1 < $srcdir/libieee1284-python3.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd ${pkgname}-${_tag}
|
||||
|
||||
./bootstrap
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--mandir=/usr/share/man \
|
||||
--with-python
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd ${pkgname}-${_tag}
|
||||
make DESTDIR="$pkgdir"/ install
|
||||
install -Dm644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}"
|
||||
}
|
||||
266
libieee1284/libieee1284-python3.patch
Normal file
266
libieee1284/libieee1284-python3.patch
Normal file
@@ -0,0 +1,266 @@
|
||||
diff --git a/src/ieee1284module.c b/src/ieee1284module.c
|
||||
index 23c1f29..c6d6928 100644
|
||||
--- a/src/ieee1284module.c
|
||||
+++ b/src/ieee1284module.c
|
||||
@@ -52,33 +52,32 @@ Parport_dealloc (ParportObject *self)
|
||||
{
|
||||
if (self->port)
|
||||
ieee1284_unref (self->port);
|
||||
-
|
||||
- self->ob_type->tp_free ((PyObject *) self);
|
||||
+ Py_TYPE(self)->tp_free((PyObject *) self);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
Parport_getname (ParportObject *self, void *closure)
|
||||
{
|
||||
- return PyString_FromString (self->port->name);
|
||||
+ return PyBytes_FromString (self->port->name);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
Parport_getbase_addr (ParportObject *self, void *closure)
|
||||
{
|
||||
- return PyInt_FromLong (self->port->base_addr);
|
||||
+ return PyLong_FromLong (self->port->base_addr);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
Parport_gethibase_addr (ParportObject *self, void *closure)
|
||||
{
|
||||
- return PyInt_FromLong (self->port->hibase_addr);
|
||||
+ return PyLong_FromLong (self->port->hibase_addr);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
Parport_getfilename (ParportObject *self, void *closure)
|
||||
{
|
||||
if (self->port->filename)
|
||||
- return PyString_FromString (self->port->filename);
|
||||
+ return PyBytes_FromString (self->port->filename);
|
||||
|
||||
Py_INCREF (Py_None);
|
||||
return Py_None;
|
||||
@@ -168,7 +167,7 @@ Parport_get_deviceid (ParportObject *self, PyObject *args)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- return PyString_FromStringAndSize (buffer, r);
|
||||
+ return PyBytes_FromStringAndSize (buffer, r);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
@@ -186,7 +185,7 @@ Parport_open (ParportObject *self, PyObject *args)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- return PyInt_FromLong (capabilities);
|
||||
+ return PyLong_FromLong (capabilities);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
@@ -198,7 +197,7 @@ Parport_get_irq_fd (ParportObject *self)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- return PyInt_FromLong (fd);
|
||||
+ return PyLong_FromLong (fd);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
@@ -213,7 +212,7 @@ Parport_clear_irq (ParportObject *self)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- return PyInt_FromLong (portcount);
|
||||
+ return PyLong_FromLong (portcount);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
@@ -259,7 +258,7 @@ Parport_read_data (ParportObject *self)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- return PyInt_FromLong (r);
|
||||
+ return PyLong_FromLong (r);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
@@ -301,7 +300,7 @@ Parport_read_status (ParportObject *self)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- return PyInt_FromLong (r);
|
||||
+ return PyLong_FromLong (r);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
@@ -335,7 +334,7 @@ Parport_read_control (ParportObject *self)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- return PyInt_FromLong (r);
|
||||
+ return PyLong_FromLong (r);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
@@ -452,7 +451,7 @@ Parport_##x (ParportObject *self, PyObject *args) \
|
||||
return NULL; \
|
||||
} \
|
||||
\
|
||||
- ret = PyString_FromStringAndSize (buffer, got); \
|
||||
+ ret = PyBytes_FromStringAndSize (buffer, got); \
|
||||
free (buffer); \
|
||||
return ret; \
|
||||
}
|
||||
@@ -480,7 +479,7 @@ Parport_##x (ParportObject *self, PyObject *args) \
|
||||
return NULL; \
|
||||
} \
|
||||
\
|
||||
- return PyInt_FromLong (wrote); \
|
||||
+ return PyLong_FromLong (wrote); \
|
||||
}
|
||||
|
||||
#define WRITE_METHOD(x) \
|
||||
@@ -581,44 +580,53 @@ WRITE_METHOD(ecp_write_addr)
|
||||
|
||||
static PyTypeObject ParportType = {
|
||||
PyObject_HEAD_INIT(NULL)
|
||||
- 0, /* ob_size */
|
||||
- "ieee1284.Parport", /* tp_name */
|
||||
- sizeof (ParportObject), /* tp_basicsize */
|
||||
- 0, /* tp_itemsize */
|
||||
- (destructor)Parport_dealloc, /* tp_dealloc */
|
||||
- 0, /* tp_print */
|
||||
- 0, /* tp_getattr */
|
||||
- 0, /* tp_setattr */
|
||||
- 0, /* tp_compare */
|
||||
- 0, /* tp_repr */
|
||||
- 0, /* tp_as_number */
|
||||
- 0, /* tp_as_sequence */
|
||||
- 0, /* tp_as_mapping */
|
||||
- 0, /* tp_hash */
|
||||
- 0, /* tp_call */
|
||||
- 0, /* tp_str */
|
||||
- 0, /* tp_getattro */
|
||||
- 0, /* tp_setattro */
|
||||
- 0, /* tp_as_buffer */
|
||||
- Py_TPFLAGS_DEFAULT, /* tp_flags */
|
||||
- "parallel port object", /* tp_doc */
|
||||
- 0, /* tp_traverse */
|
||||
- 0, /* tp_clear */
|
||||
- 0, /* tp_richcompare */
|
||||
- 0, /* tp_weaklistoffset */
|
||||
- 0, /* tp_iter */
|
||||
- 0, /* tp_iternext */
|
||||
- Parport_methods, /* tp_methods */
|
||||
- 0, /* tp_members */
|
||||
- Parport_getseters, /* tp_getset */
|
||||
- 0, /* tp_base */
|
||||
- 0, /* tp_dict */
|
||||
- 0, /* tp_descr_get */
|
||||
- 0, /* tp_descr_set */
|
||||
- 0, /* tp_dictoffset */
|
||||
- (initproc)Parport_init, /* tp_init */
|
||||
- 0, /* tp_alloc */
|
||||
- Parport_new, /* tp_new */
|
||||
+ "ieee1284.Parport", /* const char *tp_name; */
|
||||
+ sizeof (ParportObject), /* Py_ssize_t tp_basicsize */
|
||||
+ 0, /* Py_ssize_t tp_itemsize; */
|
||||
+ (destructor)Parport_dealloc, /* destructor tp_dealloc; */
|
||||
+ 0, /* printfunc tp_print; */
|
||||
+ 0, /* getattrfunc tp_getattr; */
|
||||
+ 0, /* setattrfunc tp_setattr; */
|
||||
+ 0, /* PyAsyncMethods *tp_as_async; */
|
||||
+ 0, /* reprfunc tp_repr; */
|
||||
+ 0, /* PyNumberMethods *tp_as_number; */
|
||||
+ 0, /* PySequenceMethods *tp_as_sequence; */
|
||||
+ 0, /* PyMappingMethods *tp_as_mapping; */
|
||||
+ 0, /* hashfunc tp_hash; */
|
||||
+ 0, /* ternaryfunc tp_call; */
|
||||
+ 0, /* reprfunc tp_str; */
|
||||
+ 0, /* getattrofunc tp_getattro; */
|
||||
+ 0, /* setattrofunc tp_setattro; */
|
||||
+ 0, /* PyBufferProcs *tp_as_buffer; */
|
||||
+ Py_TPFLAGS_DEFAULT, /* unsigned long tp_flags; */
|
||||
+ "parallel port object", /* const char *tp_doc; */
|
||||
+ 0, /* traverseproc tp_traverse; */
|
||||
+ 0, /* inquiry tp_clear; */
|
||||
+ 0, /* richcmpfunc tp_richcompare; */
|
||||
+ 0, /* Py_ssize_t tp_weaklistoffset; */
|
||||
+ 0, /* getiterfunc tp_iter; */
|
||||
+ 0, /* iternextfunc tp_iternext; */
|
||||
+ Parport_methods, /* struct PyMethodDef *tp_methods; */
|
||||
+ 0, /* struct PyMemberDef *tp_members; */
|
||||
+ Parport_getseters, /* struct PyGetSetDef *tp_getset; */
|
||||
+ 0, /* struct _typeobject *tp_base; */
|
||||
+ 0, /* PyObject *tp_dict; */
|
||||
+ 0, /* descrgetfunc tp_descr_get; */
|
||||
+ 0, /* descrsetfunc tp_descr_set; */
|
||||
+ 0, /* Py_ssize_t tp_dictoffset; */
|
||||
+ (initproc)Parport_init, /* initproc tp_init; */
|
||||
+ 0, /* allocfunc tp_alloc; */
|
||||
+ Parport_new, /* newfunc tp_new; */
|
||||
+ 0, /* freefunc tp_free; */
|
||||
+ 0, /* inquiry tp_is_gc; */
|
||||
+ 0, /* PyObject *tp_bases; */
|
||||
+ 0, /* PyObject *tp_mro; */
|
||||
+ 0, /* PyObject *tp_cache; */
|
||||
+ 0, /* PyObject *tp_subclasses; */
|
||||
+ 0, /* PyObject *tp_weaklist; */
|
||||
+ 0, /* destructor tp_del; */
|
||||
+ 0, /* unsigned int tp_version_tag; */
|
||||
+ 0 /* destructor tp_finalize; */
|
||||
};
|
||||
|
||||
static PyObject *
|
||||
@@ -672,18 +680,30 @@ static PyMethodDef Ieee1284Methods[] = {
|
||||
{NULL, NULL, 0, NULL}
|
||||
};
|
||||
|
||||
+static struct PyModuleDef Ieee1284Module = {
|
||||
+ PyModuleDef_HEAD_INIT,
|
||||
+ "ieee1284",
|
||||
+ NULL, /* documentation */
|
||||
+ -1,
|
||||
+ Ieee1284Methods,
|
||||
+ NULL,
|
||||
+ NULL,
|
||||
+ NULL,
|
||||
+ NULL
|
||||
+};
|
||||
+
|
||||
#ifndef PyMODINIT_FUNC
|
||||
#define PyMODINIT_FUNC void
|
||||
#endif
|
||||
PyMODINIT_FUNC
|
||||
-initieee1284 (void)
|
||||
+PyInit_ieee1284module (void)
|
||||
{
|
||||
- PyObject *m = Py_InitModule ("ieee1284", Ieee1284Methods);
|
||||
+ PyObject *m = PyModule_Create (&Ieee1284Module);
|
||||
PyObject *d = PyModule_GetDict (m);
|
||||
PyObject *c;
|
||||
|
||||
if (PyType_Ready (&ParportType) < 0)
|
||||
- return;
|
||||
+ return NULL;
|
||||
|
||||
PyModule_AddObject (m, "Parport", (PyObject *) &ParportType);
|
||||
|
||||
@@ -693,7 +713,7 @@ initieee1284 (void)
|
||||
|
||||
#define CONSTANT(x) \
|
||||
do { \
|
||||
- c = PyInt_FromLong (x); \
|
||||
+ c = PyLong_FromLong (x); \
|
||||
PyDict_SetItemString (d, #x, c); \
|
||||
Py_DECREF (c); \
|
||||
} while (0)
|
||||
@@ -740,4 +760,6 @@ initieee1284 (void)
|
||||
CONSTANT (F1284_SWE);
|
||||
CONSTANT (F1284_RLE);
|
||||
CONSTANT (F1284_FASTEPP);
|
||||
+
|
||||
+ return m;
|
||||
}
|
||||
104
libieee1284/libieee1284-upstream_python_fix1.patch
Normal file
104
libieee1284/libieee1284-upstream_python_fix1.patch
Normal file
@@ -0,0 +1,104 @@
|
||||
From c48855528beee1397d883f9c8a5df7aed5c917a6 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Waugh <twaugh@redhat.com>
|
||||
Date: Wed, 23 Jun 2010 11:58:04 +0000
|
||||
Subject: [PATCH] 2010-06-23 Tim Waugh <twaugh@redhat.com>
|
||||
|
||||
* src/ieee1284module.c: Fixed warnings.
|
||||
---
|
||||
ChangeLog | 1 +
|
||||
src/ieee1284module.c | 37 ++++++++++++++++++++++++++++---------
|
||||
2 files changed, 29 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/ieee1284module.c b/src/ieee1284module.c
|
||||
index 30972f8..0093d6f 100644
|
||||
--- a/src/ieee1284module.c
|
||||
+++ b/src/ieee1284module.c
|
||||
@@ -28,6 +28,17 @@ typedef struct {
|
||||
struct parport *port;
|
||||
} ParportObject;
|
||||
|
||||
+static PyObject *
|
||||
+Parport_new (PyTypeObject *type, PyObject *args, PyObject *kwds)
|
||||
+{
|
||||
+ ParportObject *self;
|
||||
+ self = (ParportObject *) type->tp_alloc (type, 0);
|
||||
+ if (self != NULL)
|
||||
+ self->port = NULL;
|
||||
+
|
||||
+ return (PyObject *) self;
|
||||
+}
|
||||
+
|
||||
static int
|
||||
Parport_init (ParportObject *self, PyObject *args, PyObject *kwds)
|
||||
{
|
||||
@@ -215,7 +226,6 @@ Parport_release (ParportObject *self)
|
||||
static PyObject *
|
||||
Parport_read_data (ParportObject *self)
|
||||
{
|
||||
- unsigned char b[2];
|
||||
int r = ieee1284_read_data (self->port);
|
||||
if (r < 0) {
|
||||
handle_error (r);
|
||||
@@ -258,7 +268,6 @@ Parport_data_dir (ParportObject *self, PyObject *args)
|
||||
static PyObject *
|
||||
Parport_read_status (ParportObject *self)
|
||||
{
|
||||
- unsigned char b[2];
|
||||
int r = ieee1284_read_status (self->port);
|
||||
if (r < 0) {
|
||||
handle_error (r);
|
||||
@@ -293,7 +302,6 @@ Parport_wait_status (ParportObject *self, PyObject *args)
|
||||
static PyObject *
|
||||
Parport_read_control (ParportObject *self)
|
||||
{
|
||||
- unsigned char b[2];
|
||||
int r = ieee1284_read_control (self->port);
|
||||
if (r < 0) {
|
||||
handle_error (r);
|
||||
@@ -435,7 +443,6 @@ Parport_##x (ParportObject *self, PyObject *args) \
|
||||
int len; \
|
||||
char *buffer; \
|
||||
ssize_t wrote; \
|
||||
- PyObject *ret; \
|
||||
\
|
||||
if (!PyArg_ParseTuple (args, "s#|i", &buffer, &len, &flags)) \
|
||||
return NULL; \
|
||||
@@ -562,6 +569,23 @@ static PyTypeObject ParportType = {
|
||||
0, /* tp_as_buffer */
|
||||
Py_TPFLAGS_DEFAULT, /* tp_flags */
|
||||
"parallel port object", /* tp_doc */
|
||||
+ 0, /* tp_traverse */
|
||||
+ 0, /* tp_clear */
|
||||
+ 0, /* tp_richcompare */
|
||||
+ 0, /* tp_weaklistoffset */
|
||||
+ 0, /* tp_iter */
|
||||
+ 0, /* tp_iternext */
|
||||
+ Parport_methods, /* tp_methods */
|
||||
+ 0, /* tp_members */
|
||||
+ Parport_getseters, /* tp_getset */
|
||||
+ 0, /* tp_base */
|
||||
+ 0, /* tp_dict */
|
||||
+ 0, /* tp_descr_get */
|
||||
+ 0, /* tp_descr_set */
|
||||
+ 0, /* tp_dictoffset */
|
||||
+ (initproc)Parport_init, /* tp_init */
|
||||
+ 0, /* tp_alloc */
|
||||
+ Parport_new, /* tp_new */
|
||||
};
|
||||
|
||||
static PyObject *
|
||||
@@ -625,14 +649,9 @@ initieee1284 (void)
|
||||
PyObject *d = PyModule_GetDict (m);
|
||||
PyObject *c;
|
||||
|
||||
- ParportType.tp_new = PyType_GenericNew;
|
||||
- ParportType.tp_init = (initproc) Parport_init;
|
||||
- ParportType.tp_getset = Parport_getseters;
|
||||
- ParportType.tp_methods = Parport_methods;
|
||||
if (PyType_Ready (&ParportType) < 0)
|
||||
return;
|
||||
|
||||
- Py_INCREF (&ParportType);
|
||||
PyModule_AddObject (m, "Parport", (PyObject *) &ParportType);
|
||||
|
||||
pyieee1284_error = PyErr_NewException("ieee1284.error", NULL, NULL);
|
||||
63
libieee1284/libieee1284-upstream_python_fix2.patch
Normal file
63
libieee1284/libieee1284-upstream_python_fix2.patch
Normal file
@@ -0,0 +1,63 @@
|
||||
From b4d63327dfef8dbf12aabf4bba0f6818a3519995 Mon Sep 17 00:00:00 2001
|
||||
From: Tim Waugh <twaugh@redhat.com>
|
||||
Date: Tue, 8 Mar 2011 15:07:04 +0000
|
||||
Subject: [PATCH] 2011-03-08 Tim Waugh <twaugh@redhat.com>
|
||||
|
||||
* src/ieee1284module.c: Added bindings for get_irq_fd and
|
||||
clear_irq. Patch by Sergey Temerkhanov.
|
||||
---
|
||||
ChangeLog | 5 +++++
|
||||
src/ieee1284module.c | 33 +++++++++++++++++++++++++++++++++
|
||||
2 files changed, 38 insertions(+)
|
||||
|
||||
diff --git a/src/ieee1284module.c b/src/ieee1284module.c
|
||||
index 0093d6f..23c1f29 100644
|
||||
--- a/src/ieee1284module.c
|
||||
+++ b/src/ieee1284module.c
|
||||
@@ -189,6 +189,33 @@ Parport_open (ParportObject *self, PyObject *args)
|
||||
return PyInt_FromLong (capabilities);
|
||||
}
|
||||
|
||||
+static PyObject *
|
||||
+Parport_get_irq_fd (ParportObject *self)
|
||||
+{
|
||||
+ int fd = ieee1284_get_irq_fd (self->port);
|
||||
+ if (fd < 0) {
|
||||
+ handle_error (fd);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ return PyInt_FromLong (fd);
|
||||
+}
|
||||
+
|
||||
+static PyObject *
|
||||
+Parport_clear_irq (ParportObject *self)
|
||||
+{
|
||||
+ int portcount = 0;
|
||||
+ int r;
|
||||
+
|
||||
+ int fd = ieee1284_clear_irq (self->port, &portcount);
|
||||
+ if (r < 0) {
|
||||
+ handle_error (r);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ return PyInt_FromLong (portcount);
|
||||
+}
|
||||
+
|
||||
static PyObject *
|
||||
Parport_close (ParportObject *self)
|
||||
{
|
||||
@@ -484,6 +511,12 @@ PyMethodDef Parport_methods[] = {
|
||||
{ "close", (PyCFunction) Parport_close, METH_NOARGS,
|
||||
"close() -> None\n"
|
||||
"Closes a port." },
|
||||
+ { "get_irq_fd", (PyCFunction) Parport_get_irq_fd, METH_VARARGS,
|
||||
+ "get_irq_fd() -> int\n"
|
||||
+ "Returns a pollable IRQ file descriptor." },
|
||||
+ { "clear_irq", (PyCFunction) Parport_clear_irq, METH_NOARGS,
|
||||
+ "clear_irq(portcount) -> int\n"
|
||||
+ "Clears IRQ and returns number of IRQs raised." },
|
||||
{ "claim", (PyCFunction) Parport_claim, METH_NOARGS,
|
||||
"claim() -> None\n"
|
||||
"Claims a port." },
|
||||
Reference in New Issue
Block a user