cinap_lenrekadd hg and python4bb9e2215 years agoHistory
55 lines · 1.0 KB · C
RawDownload
 /* SGI module -- random SGI-specific things */ #include "Python.h" #include <sys/types.h>#include <sys/stat.h>#include <fcntl.h> static PyObject *sgi_nap(PyObject *self, PyObject *args){	long ticks;	if (!PyArg_ParseTuple(args, "l:nap", &ticks))		return NULL;	Py_BEGIN_ALLOW_THREADS	sginap(ticks);	Py_END_ALLOW_THREADS	Py_INCREF(Py_None);	return Py_None;} extern char *_getpty(int *, int, mode_t, int); static PyObject *sgi__getpty(PyObject *self, PyObject *args){	int oflag;	int mode;	int nofork;	char *name;	int fildes;	if (!PyArg_ParseTuple(args, "iii:_getpty", &oflag, &mode, &nofork))		return NULL;	errno = 0;	name = _getpty(&fildes, oflag, (mode_t)mode, nofork);	if (name == NULL) {		PyErr_SetFromErrno(PyExc_IOError);		return NULL;	}	return Py_BuildValue("(si)", name, fildes);} static PyMethodDef sgi_methods[] = {	{"nap",		sgi_nap,	METH_VARARGS},	{"_getpty",	sgi__getpty,	METH_VARARGS},	{NULL,		NULL}		/* sentinel */};  voidinitsgi(void){	Py_InitModule("sgi", sgi_methods);}