1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
/*
* tclMac.h --
*
* Declarations of Macintosh specific public variables and procedures.
*
* Copyright (c) 1997 Sun Microsystems, Inc.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
* RCS: @(#) $Id: tclMac.h,v 1.2 1998/09/14 18:40:04 stanton Exp $
*/
#ifndef _TCLMAC
#define _TCLMAC
#ifndef _TCL
# include "tcl.h"
#endif
#include <Types.h>
#include <Files.h>
#include <Events.h>
/*
* "export" is a MetroWerks specific pragma. It flags the linker that
* any symbols that are defined when this pragma is on will be exported
* to shared libraries that link with this library.
*/
#pragma export on
typedef int (*Tcl_MacConvertEventPtr) _ANSI_ARGS_((EventRecord *eventPtr));
/*
* This is needed by the shells to handle Macintosh events.
*/
EXTERN void Tcl_MacSetEventProc _ANSI_ARGS_((Tcl_MacConvertEventPtr procPtr));
/*
* These routines are useful for handling using scripts from resources
* in the application shell
*/
EXTERN char * Tcl_MacConvertTextResource _ANSI_ARGS_((Handle resource));
EXTERN int Tcl_MacEvalResource _ANSI_ARGS_((Tcl_Interp *interp,
char *resourceName, int resourceNumber, char *fileName));
EXTERN Handle Tcl_MacFindResource _ANSI_ARGS_((Tcl_Interp *interp,
long resourceType, char *resourceName,
int resourceNumber, char *resFileRef, int * releaseIt));
/* These routines support the new OSType object type (i.e. the packed 4
* character type and creator codes).
*/
EXTERN int Tcl_GetOSTypeFromObj _ANSI_ARGS_((Tcl_Interp *interp,
Tcl_Obj *objPtr, OSType *osTypePtr));
EXTERN void Tcl_SetOSTypeObj _ANSI_ARGS_((Tcl_Obj *objPtr,
OSType osType));
EXTERN Tcl_Obj * Tcl_NewOSTypeObj _ANSI_ARGS_((OSType osType));
/*
* The following routines are utility functions in Tcl. They are exported
* here because they are needed in Tk. They are not officially supported,
* however. The first set are from the MoreFiles package.
*/
EXTERN pascal OSErr FSpGetDirectoryID(const FSSpec *spec,
long *theDirID, Boolean *isDirectory);
EXTERN pascal short FSpOpenResFileCompat(const FSSpec *spec,
SignedByte permission);
EXTERN pascal void FSpCreateResFileCompat(const FSSpec *spec,
OSType creator, OSType fileType,
ScriptCode scriptTag);
/*
* Like the MoreFiles routines these fix problems in the standard
* Mac calls. These routines is from tclMacUtils.h.
*/
EXTERN int FSpLocationFromPath _ANSI_ARGS_((int length, char *path,
FSSpecPtr theSpec));
EXTERN OSErr FSpPathFromLocation _ANSI_ARGS_((FSSpecPtr theSpec,
int *length, Handle *fullPath));
/*
* These are not in MSL 2.1.2, so we need to export them from the
* Tcl shared library. They are found in the compat directory
* except the panic routine which is found in tclMacPanic.h.
*/
EXTERN int strncasecmp _ANSI_ARGS_((CONST char *s1,
CONST char *s2, size_t n));
EXTERN int strcasecmp _ANSI_ARGS_((CONST char *s1,
CONST char *s2));
EXTERN void panic _ANSI_ARGS_(TCL_VARARGS(char *,format));
#pragma export reset
#endif /* _TCLMAC */
|