Fix some char * vs unsigned char * conversions, plus a stylistic nit, both
[sgt/putty] / mac / mac.h
CommitLineData
d082ac49 1/*
2 * mac.h -- macintosh-specific declarations
3 */
4
5#ifndef PUTTY_MAC_H
6#define PUTTY_MAC_H
7
8#include <MacTypes.h>
ce283213 9#include <Controls.h>
d082ac49 10#include <Events.h>
11#include <Gestalt.h>
12#include <MacWindows.h>
13#include <Palettes.h>
8768ce31 14#include <UnicodeConverter.h>
d082ac49 15
8ef2b196 16#include "charset.h"
17
d082ac49 18struct mac_gestalts {
56ed4cf7 19 long sysvers;
d082ac49 20 long qdvers;
21 long apprvers;
22 long cntlattr;
23 long windattr;
379836ca 24 long encvvers; /* TEC version (from TECGetInfo()) */
25 long uncvattr; /* Unicode Converter attributes (frem TECGetInfo()) */
d082ac49 26};
27
28extern struct mac_gestalts mac_gestalts;
29
be5a49d2 30#if TARGET_RT_MAC_CFM
31/* All systems that can use CFM have Color QuickDraw */
32#define HAVE_COLOR_QD() 1
33#else
d082ac49 34#define HAVE_COLOR_QD() (mac_gestalts.qdvers > gestaltOriginalQD)
be5a49d2 35#endif
d082ac49 36
d082ac49 37typedef struct {
38 /* Config that created this session */
39 Config cfg;
40 /* Terminal emulator internal state */
41 Terminal *term;
42 /* Display state */
43 int font_width, font_height;
d082ac49 44 /* Line discipline */
45 void *ldisc;
46 /* Backend */
47 Backend *back;
48 void *backhandle;
49 char *realhost;
50 /* Logging */
51 void *logctx;
d082ac49 52
53 /* Mac-specific elements */
54 short fontnum;
55 int font_ascent;
56 int font_leading;
57 int font_boldadjust;
58 WindowPtr window;
6cb61a05 59 WindowPtr settings_window;
d082ac49 60 PaletteHandle palette;
61 ControlHandle scrollbar;
62 WCTabHandle wctab;
d082ac49 63 int raw_mouse;
8ef2b196 64 UnicodeToTextInfo uni_to_font; /* Only one of uni_to_font and */
65 charset_t font_charset; /* font_charset is used at a time. */
d082ac49 66} Session;
67
6cb61a05 68/* from macdlg.c */
ce283213 69extern void mac_newsession(void);
6cb61a05 70extern void mac_clickdlg(WindowPtr, EventRecord *);
71extern void mac_activatedlg(WindowPtr, EventRecord *);
72/* from macterm.c */
ce283213 73extern void mac_opensession(void);
74extern void mac_startsession(Session *);
75extern void mac_activateterm(WindowPtr, Boolean);
76extern void mac_adjusttermcursor(WindowPtr, Point, RgnHandle);
77extern void mac_adjusttermmenus(WindowPtr);
78extern void mac_updateterm(WindowPtr);
79extern void mac_clickterm(WindowPtr, EventRecord *);
80extern void mac_growterm(WindowPtr, EventRecord *);
81extern void mac_keyterm(WindowPtr, EventRecord *);
82extern void mac_menuterm(WindowPtr, short, short);
83/* from macstore.c */
2f9549c7 84extern OSErr get_session_dir(Boolean makeit, short *pVRefNum, long *pDirID);
ce283213 85extern void *open_settings_r_fsp(FSSpec *);
2f9549c7 86/* from macucs.c */
87extern void init_ucs(void);
ce283213 88
d082ac49 89#endif
90
91/*
92 * Local Variables:
93 * c-file-style: "simon"
94 * End:
95 */