Tcl_SetOSTypeObj(3) procedures to handle Macintosh resources and other Macintosh specifics

Other Alias

Tcl_MacSetEventProc, Tcl_MacConvertTextResource, Tcl_MacEvalResource, Tcl_MacFindResource, Tcl_GetOSTypeFromObj, Tcl_NewOSTypeObj


#include <tcl.h>

Tcl_MacEvalResource(interp, resourceName, resourceNumber, fileName)


Tcl_MacFindResource(interp, resourceType, resourceName, resourceNumber, resFileRef, releaseIt)


Tcl_SetOSTypeObj(objPtr, newOSType)

Tcl_GetOSTypeFromObj(interp, objPtr, osTypePtr)



Tcl_Interp    *interp    (in)
Interpreter to use for error reporting, or NULL if no error reporting is desired.
CONST char    *resourceName    (in)
Name of TEXT resource to source, NULL if number should be used.
int    resourceNumber    (in)
Resource id of source.
CONST char    *fileName    (in)
Name of file to process. NULL if application resource.
Handle    resource    (in)
Handle to TEXT resource.
long    resourceType    (in)
Type of resource to load.
CONST char    *resFileRef    (in)
Registered resource file reference, NULL if searching all open resource files.
int    *releaseIt    (out)
Should we release this resource when done.
int    newOSType    (in)
Int used to initialize the new object or set the object's value.
Tcl_Obj    *objPtr    (in)
Object whose internal representation is to be set or retrieved.

osTypePtr    out
Place to store the resulting integer.
Tcl_MacConvertEventPtr    procPtr    (in)
Reference to the new function to handle all incoming Mac events.


The described routines are used to implement the Macintosh specific resource command and the Mac specific notifier.. They manipulate or use Macintosh resources and provide administration for open resource file references.


Tcl_MacEvalResource extends the source command to Macintosh resources. It sources Tcl code from a Text resource. Currently only sources the resource by name, file IDs may be supported at a later date.

Tcl_MacConvertTextResource converts a TEXT resource into a Tcl suitable string. It mallocs the returned memory, converts ``\r'' to ``\n'', and appends a null. The caller has the responsibility for freeing the memory.

Tcl_MacFindResource provides a higher level interface for loading resources. It is used by resource read.

Tcl_NewOSTypeObj is used to create a new resource name type object. The object type is "ostype".

Tcl_SetOSTypeObj modifies an object to be a resource type and to have the specified long value.

Tcl_GetOSTypeFromObj attempts to return an int from the Tcl object "objPtr". If the object is not already an int, an attempt will be made to convert it to one.

Tcl_MacSetEventProc sets the event handling procedure for the application. This function will be passed all incoming Mac events. This function usually controls the console or some other entity like Tk.


Resource types are 4-byte values used by the macintosh resource facility to tag parts of the resource fork in a file so that the OS knows how to handle them. As all 4 bytes are restricted to printable characters such a type can be interpreted as a 4 character string too.


macintosh, mac, resource, notifier