Support for saving sessions on the Mac. This is slightly useful even in the
[u/mdw/putty] / mac / mac.h
index 88b02cd..b93fd03 100644 (file)
--- a/mac/mac.h
+++ b/mac/mac.h
 
 #include "charset.h"
 
+#define PUTTY_CREATOR  FOUR_CHAR_CODE('pTTY')
+#define INTERNAL_CREATOR FOUR_CHAR_CODE('pTTI')
+#define SESS_TYPE      FOUR_CHAR_CODE('Sess')
+#define SEED_TYPE      FOUR_CHAR_CODE('Seed')
+
 struct mac_gestalts {
     long sysvers;
     long qdvers;
@@ -53,12 +58,20 @@ typedef struct Session {
     char *realhost;
     /* Logging */
     void *logctx;
+    /* Unicode stuff */
+    struct unicode_data ucsdata;
 
     /* Mac-specific elements */
     short              fontnum;
     int                        font_ascent;
     int                        font_leading;
     int                        font_boldadjust;
+    Point              font_stdnumer;
+    Point              font_stddenom;
+    Point              font_widenumer;
+    Point              font_widedenom;
+    Point              font_bignumer;
+    Point              font_bigdenom;
     WindowPtr          window;
     WindowPtr          settings_window;
     PaletteHandle      palette;
@@ -73,6 +86,8 @@ extern Session *sesslist;
 
 /* from macdlg.c */
 extern void mac_newsession(void);
+extern void mac_savesession(void);
+extern void mac_savesessionas(void);
 extern void mac_clickdlg(WindowPtr, EventRecord *);
 extern void mac_activatedlg(WindowPtr, EventRecord *);
 /* from macterm.c */
@@ -87,18 +102,20 @@ extern void mac_clickterm(WindowPtr, EventRecord *);
 extern void mac_growterm(WindowPtr, EventRecord *);
 extern void mac_keyterm(WindowPtr, EventRecord *);
 extern void mac_menuterm(WindowPtr, short, short);
+extern void mac_closeterm(WindowPtr);
 /* from macstore.c */
 extern OSErr get_putty_dir(Boolean makeit, short *pVRefNum, long *pDirID);
 extern OSErr get_session_dir(Boolean makeit, short *pVRefNum, long *pDirID);
 extern void *open_settings_r_fsp(FSSpec *);
+extern void *open_settings_w_fsp(FSSpec *);
 /* from macucs.c */
-extern void init_ucs(void);
+extern void init_ucs(Session *);
 /* from mtcpnet.c */
 extern OSErr mactcp_init(void);
 extern void mactcp_cleanup(void);
 extern void mactcp_poll(void);
-extern SockAddr mactcp_namelookup(char *, char **);
-extern SockAddr mactcp_nonamelookup(char *);
+extern SockAddr mactcp_namelookup(char const *, char **);
+extern SockAddr mactcp_nonamelookup(char const *);
 extern void mactcp_getaddr(SockAddr, char *, int);
 extern int mactcp_hostname_is_local(char *);
 extern int mactcp_address_is_local(SockAddr);
@@ -113,8 +130,8 @@ extern char *mactcp_addr_error(SockAddr);
 extern OSErr ot_init(void);
 extern void ot_cleanup(void);
 extern void ot_poll(void);
-extern SockAddr ot_namelookup(char *, char **);
-extern SockAddr ot_nonamelookup(char *);
+extern SockAddr ot_namelookup(char const *, char **);
+extern SockAddr ot_nonamelookup(char const *);
 extern void ot_getaddr(SockAddr, char *, int);
 extern int ot_hostname_is_local(char *);
 extern int ot_address_is_local(SockAddr);