X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/8ef2b1965c784ecd96623508a05f4fa8f5a27e0c..fabd1805a8f429ca83b4271aabd1206ac3537ebb:/mac/mac.h diff --git a/mac/mac.h b/mac/mac.h index e974d904..99e2df88 100644 --- a/mac/mac.h +++ b/mac/mac.h @@ -21,14 +21,24 @@ struct mac_gestalts { long apprvers; long cntlattr; long windattr; - long encvvers; + long encvvers; /* TEC version (from TECGetInfo()) */ + long uncvattr; /* Unicode Converter attributes (frem TECGetInfo()) */ + long mtcpvers; + long otptattr; }; extern struct mac_gestalts mac_gestalts; +#if TARGET_RT_MAC_CFM +/* All systems that can use CFM have Color QuickDraw */ +#define HAVE_COLOR_QD() 1 +#else #define HAVE_COLOR_QD() (mac_gestalts.qdvers > gestaltOriginalQD) +#endif -typedef struct { +typedef struct Session { + struct Session *next; + struct Session **prev; /* Config that created this session */ Config cfg; /* Terminal emulator internal state */ @@ -43,12 +53,20 @@ typedef struct { 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; @@ -59,6 +77,8 @@ typedef struct { charset_t font_charset; /* font_charset is used at a time. */ } Session; +extern Session *sesslist; + /* from macdlg.c */ extern void mac_newsession(void); extern void mac_clickdlg(WindowPtr, EventRecord *); @@ -66,6 +86,7 @@ extern void mac_activatedlg(WindowPtr, EventRecord *); /* from macterm.c */ extern void mac_opensession(void); extern void mac_startsession(Session *); +extern void mac_pollterm(void); extern void mac_activateterm(WindowPtr, Boolean); extern void mac_adjusttermcursor(WindowPtr, Point, RgnHandle); extern void mac_adjusttermmenus(WindowPtr); @@ -74,9 +95,45 @@ 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 */ -OSErr get_session_dir(Boolean makeit, short *pVRefNum, long *pDirID); +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 *); +/* from macucs.c */ +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 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); +extern int mactcp_addrtype(SockAddr); +extern void mactcp_addrcopy(SockAddr, char *); +extern void mactcp_addr_free(SockAddr); +extern Socket mactcp_register(void *, Plug); +extern Socket mactcp_new(SockAddr addr, int, int, int, int, Plug); +extern Socket mactcp_newlistener(char *, int, Plug, int); +extern char *mactcp_addr_error(SockAddr); +/* from otnet.c */ +extern OSErr ot_init(void); +extern void ot_cleanup(void); +extern void ot_poll(void); +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); +extern int ot_addrtype(SockAddr); +extern void ot_addrcopy(SockAddr, char *); +extern void ot_addr_free(SockAddr); +extern Socket ot_register(void *, Plug); +extern Socket ot_new(SockAddr addr, int, int, int, int, Plug); +extern Socket ot_newlistener(char *, int, Plug, int); +extern char *ot_addr_error(SockAddr); #endif