diff options
author | Guido van Rossum <guido@python.org> | 1994-09-16 10:54:21 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1994-09-16 10:54:21 (GMT) |
commit | 2d16703d654e773b09fd73e66ef663a2d5256768 (patch) | |
tree | 4d5540e7ae487d5ffc93b050d763db08b2f829d7 /Mac/Modules/gestaltmodule.c | |
parent | bf677edc45a08e61bc3147b65b6d9e40e07ba26e (diff) | |
download | cpython-2d16703d654e773b09fd73e66ef663a2d5256768.zip cpython-2d16703d654e773b09fd73e66ef663a2d5256768.tar.gz cpython-2d16703d654e773b09fd73e66ef663a2d5256768.tar.bz2 |
gestaltmodule.c: interface to Gestalt Manager.
macosmodule.c: interface to random collection of Managers.
macsetfiletype.c: set file type, for import.c.
Diffstat (limited to 'Mac/Modules/gestaltmodule.c')
-rw-r--r-- | Mac/Modules/gestaltmodule.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Mac/Modules/gestaltmodule.c b/Mac/Modules/gestaltmodule.c new file mode 100644 index 0000000..efc7b07 --- /dev/null +++ b/Mac/Modules/gestaltmodule.c @@ -0,0 +1,45 @@ +/* Macintosh Gestalt interface */ + +#include "allobjects.h" +#include "modsupport.h" + +#include <Types.h> +#include <GestaltEqu.h> + +static object * +gestalt_gestalt(self, args) + object *self; + object *args; +{ + OSErr iErr; + char *str; + int size; + OSType selector; + long response; + if (!getargs(args, "s#", &str, &size)) + return NULL; + if (size != 4) { + err_setstr(TypeError, "gestalt arg must be 4-char string"); + return NULL; + } + selector = *(OSType*)str; + iErr = Gestalt ( selector, &response ); + if (iErr != 0) { + char buf[100]; + sprintf(buf, "Gestalt error code %d", iErr); + err_setstr(RuntimeError, buf); + return NULL; + } + return newintobject(response); +} + +static struct methodlist gestalt_methods[] = { + {"gestalt", gestalt_gestalt}, + {NULL, NULL} /* Sentinel */ +}; + +void +initgestalt() +{ + initmodule("gestalt", gestalt_methods); +} |