|
1 /*********************************************************** |
|
2 Copyright 1991-1997 by Stichting Mathematisch Centrum, Amsterdam, |
|
3 The Netherlands. |
|
4 |
|
5 All Rights Reserved |
|
6 |
|
7 Permission to use, copy, modify, and distribute this software and its |
|
8 documentation for any purpose and without fee is hereby granted, |
|
9 provided that the above copyright notice appear in all copies and that |
|
10 both that copyright notice and this permission notice appear in |
|
11 supporting documentation, and that the names of Stichting Mathematisch |
|
12 Centrum or CWI not be used in advertising or publicity pertaining to |
|
13 distribution of the software without specific, written prior permission. |
|
14 |
|
15 STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO |
|
16 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND |
|
17 FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE |
|
18 FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
|
20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT |
|
21 OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|
22 |
|
23 ******************************************************************/ |
|
24 |
|
25 /* Macintosh Gestalt interface */ |
|
26 |
|
27 #include "Python.h" |
|
28 #include "pymactoolbox.h" |
|
29 |
|
30 #include <Carbon/Carbon.h> |
|
31 |
|
32 static PyObject * |
|
33 gestalt_gestalt(PyObject *self, PyObject *args) |
|
34 { |
|
35 OSErr iErr; |
|
36 OSType selector; |
|
37 SInt32 response; |
|
38 if (!PyArg_ParseTuple(args, "O&", PyMac_GetOSType, &selector)) |
|
39 return NULL; |
|
40 iErr = Gestalt ( selector, &response ); |
|
41 if (iErr != 0) |
|
42 return PyMac_Error(iErr); |
|
43 return PyInt_FromLong(response); |
|
44 } |
|
45 |
|
46 static struct PyMethodDef gestalt_methods[] = { |
|
47 {"gestalt", gestalt_gestalt, METH_VARARGS}, |
|
48 {NULL, NULL} /* Sentinel */ |
|
49 }; |
|
50 |
|
51 void |
|
52 initgestalt(void) |
|
53 { |
|
54 Py_InitModule("gestalt", gestalt_methods); |
|
55 } |