summaryrefslogtreecommitdiff
path: root/pyparallel/src/win32/_pyparallel.c
diff options
context:
space:
mode:
Diffstat (limited to 'pyparallel/src/win32/_pyparallel.c')
-rw-r--r--pyparallel/src/win32/_pyparallel.c69
1 files changed, 0 insertions, 69 deletions
diff --git a/pyparallel/src/win32/_pyparallel.c b/pyparallel/src/win32/_pyparallel.c
deleted file mode 100644
index 6316de0..0000000
--- a/pyparallel/src/win32/_pyparallel.c
+++ /dev/null
@@ -1,69 +0,0 @@
-// Parallel port extension for Win32
-// "inp" and "outp" are used to access the parallelport hardware
-// needs giveio.sys driver on NT/2k/XP
-//
-// (C) 2002 Chris Liechti <cliechti@gmx.net>
-// this is distributed under a free software license, see license.txt
-
-#include <Python.h>
-#include <windows.h>
-#include <conio.h>
-
-#define DRIVERNAME "\\\\.\\giveio"
-
-/* module-functions */
-
-static PyObject*
-py_outp(PyObject *self, PyObject *args)
-{
- int port, value;
- if(!PyArg_ParseTuple(args, "ii", &port, &value))
- return 0;
- _outp(port, value);
- Py_INCREF(Py_None);
- return Py_None;
-}
-
-static PyObject*
-py_inp(PyObject *self, PyObject *args)
-{
- int port, value;
- if(!PyArg_ParseTuple(args, "i", &port))
- return 0;
- value = _inp(port);
- return Py_BuildValue("i", value);
-}
-
-
-
-static PyMethodDef pypar_methods[] = {
- {"outp", py_outp, METH_VARARGS},
- {"inp", py_inp, METH_VARARGS},
- {0, 0}
-};
-
-/* module entry-point (module-initialization) function */
-void init_pyparallel(void) {
- OSVERSIONINFO vi;
-
- /* Create the module and add the functions */
- Py_InitModule("_pyparallel", pypar_methods);
-
- //detect OS, on NT,2k,XP the driver needs to be loaded
- vi.dwOSVersionInfoSize = sizeof(vi);
- GetVersionEx(&vi);
- if (vi.dwPlatformId == VER_PLATFORM_WIN32_NT) {
- HANDLE h;
- //try to open driver
- h = CreateFile(DRIVERNAME, GENERIC_READ, 0, NULL,
- OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
- if (h == INVALID_HANDLE_VALUE) {
- //if it fails again, then we have a problem... -> exception
- PyErr_Format(PyExc_ImportError, "Couldn't access giveio device");
- }
- //close again immediately.
- //the process is now tagged to have the rights it needs,
- //the giveio driver remembers that
- if (h != NULL) CloseHandle(h); //close the driver's file
- }
-}