diff options
Diffstat (limited to 'Mac')
-rw-r--r-- | Mac/Modules/cm/Cmmodule.c | 116 | ||||
-rw-r--r-- | Mac/Modules/cm/cmscan.py | 13 | ||||
-rw-r--r-- | Mac/Modules/ctbmodule.c | 2 | ||||
-rw-r--r-- | Mac/Modules/evt/Evtmodule.c | 1 | ||||
-rw-r--r-- | Mac/Modules/evt/evtsupport.py | 1 | ||||
-rw-r--r-- | Mac/Modules/gestaltmodule.c | 2 | ||||
-rw-r--r-- | Mac/Modules/macfsmodule.c | 4 | ||||
-rw-r--r-- | Mac/Modules/macmodule.c | 2 | ||||
-rw-r--r-- | Mac/Modules/macosmodule.c | 2 | ||||
-rw-r--r-- | Mac/Modules/macspeechmodule.c | 6 | ||||
-rw-r--r-- | Mac/Modules/menu/Menumodule.c | 1 | ||||
-rw-r--r-- | Mac/Modules/menu/menusupport.py | 1 | ||||
-rw-r--r-- | Mac/Modules/qd/Qdmodule.c | 1 | ||||
-rw-r--r-- | Mac/Modules/qd/qdsupport.py | 1 | ||||
-rw-r--r-- | Mac/Modules/qt/Qtmodule.c | 129 | ||||
-rw-r--r-- | Mac/Modules/qt/qtscan.py | 36 | ||||
-rw-r--r-- | Mac/Modules/qt/qtsupport.py | 1 |
17 files changed, 114 insertions, 205 deletions
diff --git a/Mac/Modules/cm/Cmmodule.c b/Mac/Modules/cm/Cmmodule.c index fd8b331..93aab45 100644 --- a/Mac/Modules/cm/Cmmodule.c +++ b/Mac/Modules/cm/Cmmodule.c @@ -146,54 +146,6 @@ static PyObject *CmpInstObj_GetComponentInstanceError(_self, _args) return _res; } -static PyObject *CmpInstObj_ComponentFunctionImplemented(_self, _args) - ComponentInstanceObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - long _rv; - short ftnNumber; - if (!PyArg_ParseTuple(_args, "h", - &ftnNumber)) - return NULL; - _rv = ComponentFunctionImplemented(_self->ob_itself, - ftnNumber); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CmpInstObj_GetComponentVersion(_self, _args) - ComponentInstanceObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - long _rv; - if (!PyArg_ParseTuple(_args, "")) - return NULL; - _rv = GetComponentVersion(_self->ob_itself); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *CmpInstObj_ComponentSetTarget(_self, _args) - ComponentInstanceObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - long _rv; - ComponentInstance target; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &target)) - return NULL; - _rv = ComponentSetTarget(_self->ob_itself, - target); - _res = Py_BuildValue("l", - _rv); - return _res; -} - static PyObject *CmpInstObj_SetComponentInstanceError(_self, _args) ComponentInstanceObject *_self; PyObject *_args; @@ -270,17 +222,59 @@ static PyObject *CmpInstObj_SetComponentInstanceA5(_self, _args) return _res; } +static PyObject *CmpInstObj_ComponentFunctionImplemented(_self, _args) + ComponentInstanceObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + long _rv; + short ftnNumber; + if (!PyArg_ParseTuple(_args, "h", + &ftnNumber)) + return NULL; + _rv = ComponentFunctionImplemented(_self->ob_itself, + ftnNumber); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *CmpInstObj_GetComponentVersion(_self, _args) + ComponentInstanceObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + long _rv; + if (!PyArg_ParseTuple(_args, "")) + return NULL; + _rv = GetComponentVersion(_self->ob_itself); + _res = Py_BuildValue("l", + _rv); + return _res; +} + +static PyObject *CmpInstObj_ComponentSetTarget(_self, _args) + ComponentInstanceObject *_self; + PyObject *_args; +{ + PyObject *_res = NULL; + long _rv; + ComponentInstance target; + if (!PyArg_ParseTuple(_args, "O&", + CmpInstObj_Convert, &target)) + return NULL; + _rv = ComponentSetTarget(_self->ob_itself, + target); + _res = Py_BuildValue("l", + _rv); + return _res; +} + static PyMethodDef CmpInstObj_methods[] = { {"CloseComponent", (PyCFunction)CmpInstObj_CloseComponent, 1, "() -> None"}, {"GetComponentInstanceError", (PyCFunction)CmpInstObj_GetComponentInstanceError, 1, "() -> None"}, - {"ComponentFunctionImplemented", (PyCFunction)CmpInstObj_ComponentFunctionImplemented, 1, - "(short ftnNumber) -> (long _rv)"}, - {"GetComponentVersion", (PyCFunction)CmpInstObj_GetComponentVersion, 1, - "() -> (long _rv)"}, - {"ComponentSetTarget", (PyCFunction)CmpInstObj_ComponentSetTarget, 1, - "(ComponentInstance target) -> (long _rv)"}, {"SetComponentInstanceError", (PyCFunction)CmpInstObj_SetComponentInstanceError, 1, "(OSErr theError) -> None"}, {"GetComponentInstanceStorage", (PyCFunction)CmpInstObj_GetComponentInstanceStorage, 1, @@ -291,6 +285,12 @@ static PyMethodDef CmpInstObj_methods[] = { "() -> (long _rv)"}, {"SetComponentInstanceA5", (PyCFunction)CmpInstObj_SetComponentInstanceA5, 1, "(long theA5) -> None"}, + {"ComponentFunctionImplemented", (PyCFunction)CmpInstObj_ComponentFunctionImplemented, 1, + "(short ftnNumber) -> (long _rv)"}, + {"GetComponentVersion", (PyCFunction)CmpInstObj_GetComponentVersion, 1, + "() -> (long _rv)"}, + {"ComponentSetTarget", (PyCFunction)CmpInstObj_ComponentSetTarget, 1, + "(ComponentInstance target) -> (long _rv)"}, {NULL, NULL, 0} }; @@ -609,13 +609,13 @@ static PyObject *Cm_RegisterComponentResource(_self, _args) { PyObject *_res = NULL; Component _rv; - ComponentResourceHandle tr; + ComponentResourceHandle cr; short global; if (!PyArg_ParseTuple(_args, "O&h", - ResObj_Convert, &tr, + ResObj_Convert, &cr, &global)) return NULL; - _rv = RegisterComponentResource(tr, + _rv = RegisterComponentResource(cr, global); _res = Py_BuildValue("O&", CmpObj_New, _rv); @@ -728,7 +728,7 @@ static PyObject *Cm_RegisterComponentResourceFile(_self, _args) static PyMethodDef Cm_methods[] = { {"RegisterComponentResource", (PyCFunction)Cm_RegisterComponentResource, 1, - "(ComponentResourceHandle tr, short global) -> (Component _rv)"}, + "(ComponentResourceHandle cr, short global) -> (Component _rv)"}, {"FindNextComponent", (PyCFunction)Cm_FindNextComponent, 1, "(Component aComponent, ComponentDescription looking) -> (Component _rv)"}, {"CountComponents", (PyCFunction)Cm_CountComponents, 1, diff --git a/Mac/Modules/cm/cmscan.py b/Mac/Modules/cm/cmscan.py index 95abeed..ea2dc2f 100644 --- a/Mac/Modules/cm/cmscan.py +++ b/Mac/Modules/cm/cmscan.py @@ -40,7 +40,17 @@ class MyScanner(Scanner): def makeblacklistnames(self): return [ - # "GetComponentInfo" # XXXX I dont know how the Handle args are expected... + "OpenADefaultComponent", + "GetComponentTypeModSeed", + "OpenAComponentResFile", + "CallComponentUnregister", + "CallComponentTarget", + "CallComponentRegister", + "CallComponentVersion", + "CallComponentCanDo", + "CallComponentClose", + "CallComponentOpen", + "OpenAComponent", ] def makeblacklisttypes(self): @@ -54,6 +64,7 @@ class MyScanner(Scanner): "ComponentParameters", "ComponentRoutineUPP", + "ComponentMPWorkFunctionUPP", ] def makerepairinstructions(self): diff --git a/Mac/Modules/ctbmodule.c b/Mac/Modules/ctbmodule.c index 024787d..2c58019 100644 --- a/Mac/Modules/ctbmodule.c +++ b/Mac/Modules/ctbmodule.c @@ -269,7 +269,7 @@ ctbcm_write(self, args) char *buf; ConnectionCompletionUPP cb_upp = NewConnectionCompletionProc(ctbcm_ctbcallback); - if (!PyArg_Parse(args, "(s#ili)", &buf, &ilen, &chan, &timeout, &flags)) + if (!PyArg_Parse(args, "(m#ili)", &buf, &ilen, &chan, &timeout, &flags)) return NULL; len = ilen; if ((err=CMWrite(self->hdl, (Ptr)buf, &len, (CMChannel)chan, diff --git a/Mac/Modules/evt/Evtmodule.c b/Mac/Modules/evt/Evtmodule.c index 9078e9f..b5bc573 100644 --- a/Mac/Modules/evt/Evtmodule.c +++ b/Mac/Modules/evt/Evtmodule.c @@ -43,7 +43,6 @@ extern int BMObj_Convert(PyObject *, BitMapPtr *); extern PyObject *WinObj_WhichWindow(WindowPtr); #include <Events.h> -#include <Desk.h> #define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */ diff --git a/Mac/Modules/evt/evtsupport.py b/Mac/Modules/evt/evtsupport.py index 0471a7e..d1cc1d1 100644 --- a/Mac/Modules/evt/evtsupport.py +++ b/Mac/Modules/evt/evtsupport.py @@ -36,7 +36,6 @@ EventKind = Type("EventKind", "h") includestuff = includestuff + """ #include <%s>""" % MACHEADERFILE + """ -#include <Desk.h> #define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */ """ diff --git a/Mac/Modules/gestaltmodule.c b/Mac/Modules/gestaltmodule.c index 0b814e9..8722546 100644 --- a/Mac/Modules/gestaltmodule.c +++ b/Mac/Modules/gestaltmodule.c @@ -27,7 +27,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "Python.h" #include <Types.h> -#include <GestaltEqu.h> +#include <Gestalt.h> static PyObject * gestalt_gestalt(self, args) diff --git a/Mac/Modules/macfsmodule.c b/Mac/Modules/macfsmodule.c index 5bd2ce5..1a43d16 100644 --- a/Mac/Modules/macfsmodule.c +++ b/Mac/Modules/macfsmodule.c @@ -824,7 +824,7 @@ mfs_RawFSSpec(self, args) FSSpec *fssp; int size; - if (!PyArg_ParseTuple(args, "s#", &fssp, &size)) + if (!PyArg_ParseTuple(args, "m#", &fssp, &size)) return NULL; if ( size != sizeof(FSSpec) ) { PyErr_SetString(PyExc_TypeError, "Incorrect size for FSSpec record"); @@ -842,7 +842,7 @@ mfs_RawAlias(self, args) Handle h; int size; - if (!PyArg_ParseTuple(args, "s#", &dataptr, &size)) + if (!PyArg_ParseTuple(args, "m#", &dataptr, &size)) return NULL; h = NewHandle(size); if ( h == NULL ) { diff --git a/Mac/Modules/macmodule.c b/Mac/Modules/macmodule.c index 49c0f8b..8de3c91 100644 --- a/Mac/Modules/macmodule.c +++ b/Mac/Modules/macmodule.c @@ -567,7 +567,7 @@ mac_write(self, args) { int fd, size; char *buffer; - if (!PyArg_Parse(args, "(is#)", &fd, &buffer, &size)) + if (!PyArg_Parse(args, "(im#)", &fd, &buffer, &size)) return NULL; Py_BEGIN_ALLOW_THREADS size = write(fd, buffer, size); diff --git a/Mac/Modules/macosmodule.c b/Mac/Modules/macosmodule.c index eed4352..89f986b 100644 --- a/Mac/Modules/macosmodule.c +++ b/Mac/Modules/macosmodule.c @@ -117,7 +117,7 @@ rf_write(self, args) PyErr_SetString(PyExc_ValueError, "Operation on closed file"); return NULL; } - if (!PyArg_ParseTuple(args, "s#", &buffer, &size)) + if (!PyArg_ParseTuple(args, "m#", &buffer, &size)) return NULL; err = FSWrite(self->fRefNum, &size, buffer); if (err) { diff --git a/Mac/Modules/macspeechmodule.c b/Mac/Modules/macspeechmodule.c index 7d499d4..6bcc730 100644 --- a/Mac/Modules/macspeechmodule.c +++ b/Mac/Modules/macspeechmodule.c @@ -25,7 +25,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "Python.h" -#include <GestaltEqu.h> +#include <Gestalt.h> #include "Speech.h" #ifdef __MWERKS__ @@ -37,7 +37,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #endif /* __MWERKS__ */ #ifdef __powerc -#include <FragLoad.h> +#include <CodeFragments.h> int lib_available; #endif /* __powerc */ @@ -150,7 +150,7 @@ sc_SpeakText(self, args) char *str; int len; - if (!PyArg_Parse(args, "s#", &str, &len)) + if (!PyArg_Parse(args, "m#", &str, &len)) return NULL; if ( self->curtext ) { StopSpeech(self->chan); diff --git a/Mac/Modules/menu/Menumodule.c b/Mac/Modules/menu/Menumodule.c index 07e1b88..ac52e39 100644 --- a/Mac/Modules/menu/Menumodule.c +++ b/Mac/Modules/menu/Menumodule.c @@ -43,7 +43,6 @@ extern int BMObj_Convert(PyObject *, BitMapPtr *); extern PyObject *WinObj_WhichWindow(WindowPtr); #include <Devices.h> /* Defines OpenDeskAcc in universal headers */ -#include <Desk.h> /* Defines OpenDeskAcc in old headers */ #include <Menus.h> #define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */ diff --git a/Mac/Modules/menu/menusupport.py b/Mac/Modules/menu/menusupport.py index 2c7c7c0..80b08b1 100644 --- a/Mac/Modules/menu/menusupport.py +++ b/Mac/Modules/menu/menusupport.py @@ -32,7 +32,6 @@ unsigned_char = Type('unsigned char', 'b') includestuff = includestuff + """ #include <Devices.h> /* Defines OpenDeskAcc in universal headers */ -#include <Desk.h> /* Defines OpenDeskAcc in old headers */ #include <%s>""" % MACHEADERFILE + """ #define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */ diff --git a/Mac/Modules/qd/Qdmodule.c b/Mac/Modules/qd/Qdmodule.c index af6a92e..843e301 100644 --- a/Mac/Modules/qd/Qdmodule.c +++ b/Mac/Modules/qd/Qdmodule.c @@ -43,7 +43,6 @@ extern int BMObj_Convert(PyObject *, BitMapPtr *); extern PyObject *WinObj_WhichWindow(WindowPtr); #include <QuickDraw.h> -#include <Desk.h> #define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */ diff --git a/Mac/Modules/qd/qdsupport.py b/Mac/Modules/qd/qdsupport.py index 61e7dd8..13689ff 100644 --- a/Mac/Modules/qd/qdsupport.py +++ b/Mac/Modules/qd/qdsupport.py @@ -55,7 +55,6 @@ PenState_ptr = StructInputBufferType('PenState') includestuff = includestuff + """ #include <%s>""" % MACHEADERFILE + """ -#include <Desk.h> #define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */ diff --git a/Mac/Modules/qt/Qtmodule.c b/Mac/Modules/qt/Qtmodule.c index ffba461..a4eedce 100644 --- a/Mac/Modules/qt/Qtmodule.c +++ b/Mac/Modules/qt/Qtmodule.c @@ -5730,125 +5730,6 @@ static PyObject *Qt_RemoveMovieResource(_self, _args) return _res; } -static PyObject *Qt_GetVideoMediaGraphicsMode(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - HandlerError _rv; - MediaHandler mh; - long graphicsMode; - RGBColor opColor; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mh)) - return NULL; - _rv = GetVideoMediaGraphicsMode(mh, - &graphicsMode, - &opColor); - _res = Py_BuildValue("llO&", - _rv, - graphicsMode, - QdRGB_New, &opColor); - return _res; -} - -static PyObject *Qt_SetVideoMediaGraphicsMode(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - HandlerError _rv; - MediaHandler mh; - long graphicsMode; - RGBColor opColor; - if (!PyArg_ParseTuple(_args, "O&lO&", - CmpInstObj_Convert, &mh, - &graphicsMode, - QdRGB_Convert, &opColor)) - return NULL; - _rv = SetVideoMediaGraphicsMode(mh, - graphicsMode, - &opColor); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_GetSoundMediaBalance(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - HandlerError _rv; - MediaHandler mh; - short balance; - if (!PyArg_ParseTuple(_args, "O&", - CmpInstObj_Convert, &mh)) - return NULL; - _rv = GetSoundMediaBalance(mh, - &balance); - _res = Py_BuildValue("lh", - _rv, - balance); - return _res; -} - -static PyObject *Qt_SetSoundMediaBalance(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - HandlerError _rv; - MediaHandler mh; - short balance; - if (!PyArg_ParseTuple(_args, "O&h", - CmpInstObj_Convert, &mh, - &balance)) - return NULL; - _rv = SetSoundMediaBalance(mh, - balance); - _res = Py_BuildValue("l", - _rv); - return _res; -} - -static PyObject *Qt_FindNextText(_self, _args) - PyObject *_self; - PyObject *_args; -{ - PyObject *_res = NULL; - ComponentResult _rv; - MediaHandler mh; - Ptr text; - long size; - short findFlags; - TimeValue startTime; - TimeValue foundTime; - TimeValue foundDuration; - long offset; - if (!PyArg_ParseTuple(_args, "O&slhl", - CmpInstObj_Convert, &mh, - &text, - &size, - &findFlags, - &startTime)) - return NULL; - _rv = FindNextText(mh, - text, - size, - findFlags, - startTime, - &foundTime, - &foundDuration, - &offset); - _res = Py_BuildValue("llll", - _rv, - foundTime, - foundDuration, - offset); - return _res; -} - static PyObject *Qt_NewMovieFromScrap(_self, _args) PyObject *_self; PyObject *_args; @@ -5963,16 +5844,6 @@ static PyMethodDef Qt_methods[] = { "(short fRefNum, long fileOffset, short newMovieFlags) -> (Movie theMovie, Boolean dataRefWasChanged)"}, {"RemoveMovieResource", (PyCFunction)Qt_RemoveMovieResource, 1, "(short resRefNum, short resId) -> None"}, - {"GetVideoMediaGraphicsMode", (PyCFunction)Qt_GetVideoMediaGraphicsMode, 1, - "(MediaHandler mh) -> (HandlerError _rv, long graphicsMode, RGBColor opColor)"}, - {"SetVideoMediaGraphicsMode", (PyCFunction)Qt_SetVideoMediaGraphicsMode, 1, - "(MediaHandler mh, long graphicsMode, RGBColor opColor) -> (HandlerError _rv)"}, - {"GetSoundMediaBalance", (PyCFunction)Qt_GetSoundMediaBalance, 1, - "(MediaHandler mh) -> (HandlerError _rv, short balance)"}, - {"SetSoundMediaBalance", (PyCFunction)Qt_SetSoundMediaBalance, 1, - "(MediaHandler mh, short balance) -> (HandlerError _rv)"}, - {"FindNextText", (PyCFunction)Qt_FindNextText, 1, - "(MediaHandler mh, Ptr text, long size, short findFlags, TimeValue startTime) -> (ComponentResult _rv, TimeValue foundTime, TimeValue foundDuration, long offset)"}, {"NewMovieFromScrap", (PyCFunction)Qt_NewMovieFromScrap, 1, "(long newMovieFlags) -> (Movie _rv)"}, {"NewTimeBase", (PyCFunction)Qt_NewTimeBase, 1, diff --git a/Mac/Modules/qt/qtscan.py b/Mac/Modules/qt/qtscan.py index 7fba936..6b26bcb 100644 --- a/Mac/Modules/qt/qtscan.py +++ b/Mac/Modules/qt/qtscan.py @@ -56,6 +56,34 @@ class MyScanner(Scanner): "AddTESample", "AddHiliteSample", "HiliteTextSample", + # Missing in CW11 quicktime library + "SpriteMediaGetDisplayedSampleNumber", + "SpriteMediaGetIndImageDescription", + "SpriteMediaCountImages", + "SpriteMediaCountSprites", + "SpriteMediaHitTestSprites", + "SpriteMediaGetProperty", + "SpriteMediaSetProperty", + "TextMediaSetTextSampleData", + "TextMediaHiliteTextSample", + "TextMediaFindNextText", + "TextMediaAddHiliteSample", + "TextMediaAddTESample", + "TextMediaAddTextSample", + "VideoMediaGetStatistics", + "VideoMediaResetStatistics", + "EndFullScreen", + "NewMovieFromDataRef", + "MCPtInController", + "MCRemoveAMovie", + "MCRemoveAllMovies", + "MCInvalidate", + "InvalidateMovieRegion", + "GetMovieCompositeBufferFlags", + "SetMovieCompositeBufferFlags", + "SetTrackSoundLocalizationSettings", + "GetTrackSoundLocalizationSettings", + "GetMovieNaturalBoundsRect", ] def makeblacklisttypes(self): @@ -91,6 +119,9 @@ class MyScanner(Scanner): "MCActionFilterWithRefConUPP", "GetMovieUPP", "ModalFilterUPP", + "QTAtomContainer", + "SpriteWorld", + "Sprite", ] def makerepairinstructions(self): @@ -105,8 +136,9 @@ class MyScanner(Scanner): ([('short', 'resId', 'OutMode'), ('StringPtr', 'resName', 'InMode')], [('dummyshortptr', 'resId', 'InMode'), ('dummyStringPtr', 'resName', 'InMode')]), - # MCDoAction - ([('void', 'params', 'OutMode')], [('mcactionparams', 'params', 'InMode')]), + # MCDoAction and more + ([('void', '*', 'OutMode')], [('mcactionparams', '*', 'InMode')]), + ] if __name__ == "__main__": diff --git a/Mac/Modules/qt/qtsupport.py b/Mac/Modules/qt/qtsupport.py index 17ba808..5e91913 100644 --- a/Mac/Modules/qt/qtsupport.py +++ b/Mac/Modules/qt/qtsupport.py @@ -69,6 +69,7 @@ PicHandle = OpaqueByValueType("PicHandle", "ResObj") CTabHandle = OpaqueByValueType("CTabHandle", "ResObj") PixMapHandle = OpaqueByValueType("PixMapHandle", "ResObj") SampleDescriptionHandle = OpaqueByValueType("SampleDescriptionHandle", "ResObj") +ImageDescriptionHandle = OpaqueByValueType("ImageDescriptionHandle", "ResObj") TEHandle = OpaqueByValueType("TEHandle", "ResObj") # Silly Apple, passing an OStype by reference... OSType_ptr = OpaqueType("OSType", "PyMac_BuildOSType", "PyMac_GetOSType") |