long apprvers;
long cntlattr;
long windattr;
+ long menuattr;
long encvvers; /* TEC version (from TECGetInfo()) */
long uncvattr; /* Unicode Converter attributes (frem TECGetInfo()) */
long navsvers; /* Navigation Services version */
};
extern struct mac_gestalts mac_gestalts;
+extern UInt32 sleeptime;
#if TARGET_RT_MAC_CFM
/* All systems that can use CFM have Color QuickDraw */
/* Every window used by PuTTY has a refCon field pointing to one of these. */
typedef struct {
- struct Session *s;
+ struct Session *s; /* Only used in PuTTY */
+ struct KeyState *ks; /* Only used in PuTTYgen */
+
+ void (*activate) (WindowPtr, EventRecord *);
+ void (*adjustcursor)(WindowPtr, Point, RgnHandle);
+ void (*adjustmenus) (WindowPtr);
+ void (*update) (WindowPtr);
+ void (*click) (WindowPtr, EventRecord *);
+ void (*grow) (WindowPtr, EventRecord *);
+ void (*key) (WindowPtr, EventRecord *);
+ void (*menu) (WindowPtr, short, short);
+ void (*close) (WindowPtr);
+
int wtype;
} WinInfo;
+#define mac_wininfo(w) ((WinInfo *)GetWRefCon(w))
#define mac_windowsession(w) (((WinInfo *)GetWRefCon(w))->s)
typedef struct Session {
extern Session *sesslist;
+/* PuTTYgen per-window state */
+typedef struct KeyState {
+ DialogPtr box;
+ int collecting_entropy;
+ int entropy_got, entropy_required, entropy_size;
+ unsigned *entropy;
+ ControlHandle progress;
+} KeyState;
+
+#define mac_windowkey(w) (((WinInfo *)GetWRefCon(w))->ks)
+
+/* from macmisc.c */
+extern WindowPtr mac_frontwindow(void);
/* from macdlg.c */
extern void mac_newsession(void);
extern void mac_dupsession(void);
extern void mac_savesession(void);
extern void mac_savesessionas(void);
-extern void mac_clickdlg(WindowPtr, EventRecord *);
-extern void mac_activatedlg(WindowPtr, EventRecord *);
/* from maceventlog.c */
-void mac_freeeventlog(Session *);
-extern void mac_clickeventlog(WindowPtr, EventRecord *);
-extern void mac_activateeventlog(WindowPtr, EventRecord *);
-extern void mac_groweventlog(WindowPtr, EventRecord *);
-extern void mac_updateeventlog(WindowPtr);
+extern void mac_freeeventlog(Session *);
extern void mac_showeventlog(Session *);
/* 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);
-extern void mac_updateterm(WindowPtr);
-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 Socket ot_new(SockAddr addr, int, int, int, int, Plug);
extern Socket ot_newlistener(char *, int, Plug, int);
extern char *ot_addr_error(SockAddr);
+/* from macabout.c */
+extern void mac_openabout(void);
+/* from macpgkey.c */
+extern void mac_newkey(void);
/* Apple Event Handlers (in various files) */
extern pascal OSErr mac_aevt_oapp(const AppleEvent *, AppleEvent *, long);
extern pascal OSErr mac_aevt_odoc(const AppleEvent *, AppleEvent *, long);