summaryrefslogtreecommitdiffstats
path: root/generic/tclPlatDecls.h
blob: 7ce300f308c18309c09d7d2337650f3c740ea994 (plain)
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
/*

 * tclPlatDecls.h --

 *

 *	Declarations of platform specific Tcl APIs.

 *

 * Copyright (c) 1998-1999 by Scriptics Corporation.

 * All rights reserved.

 *

 * RCS: @(#) $Id: tclPlatDecls.h,v 1.22 2004/06/05 17:31:08 kennykb Exp $

 */

#ifndef _TCLPLATDECLS

#define _TCLPLATDECLS


/*

 *  Pull in the typedef of TCHAR for windows.

 */
#if defined(__CYGWIN__)

    typedef char TCHAR;
#elif defined(__WIN32__) && !defined(_TCHAR_DEFINED)

#   include <tchar.h>

#   ifndef _TCHAR_DEFINED

	/* Borland seems to forget to set this. */
        typedef _TCHAR TCHAR;
#	define _TCHAR_DEFINED

#   endif

#   if defined(_MSC_VER) && defined(__STDC__)

	/* MSVC++ misses this. */
	typedef _TCHAR TCHAR;
#   endif

#endif


/* !BEGIN!: Do not edit below this line. */

/*

 * Exported function declarations:

 */

#ifdef __WIN32__

#ifndef Tcl_WinUtfToTChar_TCL_DECLARED

#define Tcl_WinUtfToTChar_TCL_DECLARED

/* 0 */
EXTERN TCHAR *		Tcl_WinUtfToTChar _ANSI_ARGS_((CONST char * str, 
				int len, Tcl_DString * dsPtr));
#endif

#ifndef Tcl_WinTCharToUtf_TCL_DECLARED

#define Tcl_WinTCharToUtf_TCL_DECLARED

/* 1 */
EXTERN char *		Tcl_WinTCharToUtf _ANSI_ARGS_((CONST TCHAR * str, 
				int len, Tcl_DString * dsPtr));
#endif

#endif /* __WIN32__ */

#ifdef MAC_OSX_TCL

#ifndef Tcl_MacOSXOpenBundleResources_TCL_DECLARED

#define Tcl_MacOSXOpenBundleResources_TCL_DECLARED

/* 0 */
EXTERN int		Tcl_MacOSXOpenBundleResources _ANSI_ARGS_((
				Tcl_Interp * interp, CONST char * bundleName, 
				int hasResourceFile, int maxPathLen, 
				char * libraryPath));
#endif

#ifndef Tcl_MacOSXOpenVersionedBundleResources_TCL_DECLARED

#define Tcl_MacOSXOpenVersionedBundleResources_TCL_DECLARED

/* 1 */
EXTERN int		Tcl_MacOSXOpenVersionedBundleResources _ANSI_ARGS_((
				Tcl_Interp * interp, CONST char * bundleName, 
				CONST char * bundleVersion, 
				int hasResourceFile, int maxPathLen, 
				char * libraryPath));
#endif

#endif /* MAC_OSX_TCL */


typedef struct TclPlatStubs {
    int magic;
    struct TclPlatStubHooks *hooks;

#ifdef __WIN32__

    TCHAR * (*tcl_WinUtfToTChar) _ANSI_ARGS_((CONST char * str, int len, Tcl_DString * dsPtr)); /* 0 */
    char * (*tcl_WinTCharToUtf) _ANSI_ARGS_((CONST TCHAR * str, int len, Tcl_DString * dsPtr)); /* 1 */
#endif /* __WIN32__ */

#ifdef MAC_OSX_TCL

    int (*tcl_MacOSXOpenBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, int hasResourceFile, int maxPathLen, char * libraryPath)); /* 0 */
    int (*tcl_MacOSXOpenVersionedBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, CONST char * bundleVersion, int hasResourceFile, int maxPathLen, char * libraryPath)); /* 1 */
#endif /* MAC_OSX_TCL */

} TclPlatStubs;

#ifdef __cplusplus

extern "C" {
#endif

extern TclPlatStubs *tclPlatStubsPtr;
#ifdef __cplusplus

}
#endif


#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)


/*

 * Inline function declarations:

 */

#ifdef __WIN32__

#ifndef Tcl_WinUtfToTChar

#define Tcl_WinUtfToTChar \

	(tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */
#endif

#ifndef Tcl_WinTCharToUtf

#define Tcl_WinTCharToUtf \

	(tclPlatStubsPtr->tcl_WinTCharToUtf) /* 1 */
#endif

#endif /* __WIN32__ */

#ifdef MAC_OSX_TCL

#ifndef Tcl_MacOSXOpenBundleResources

#define Tcl_MacOSXOpenBundleResources \

	(tclPlatStubsPtr->tcl_MacOSXOpenBundleResources) /* 0 */
#endif

#ifndef Tcl_MacOSXOpenVersionedBundleResources

#define Tcl_MacOSXOpenVersionedBundleResources \

	(tclPlatStubsPtr->tcl_MacOSXOpenVersionedBundleResources) /* 1 */
#endif

#endif /* MAC_OSX_TCL */


#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */


/* !END!: Do not edit above this line. */

#endif /* _TCLPLATDECLS */