#include #include #include #include #include #include #include #include #include "mxmbase.h" extern struct Library *OpenLibrary(); extern struct MsgPort *CreatePort(); extern struct MsgPort *FindPort(); extern struct Message *GetMsg(); extern struct Task *FindTask(); extern void *AllocMem(); extern struct IOStdReq *CreateStdIO(); extern ULONG Wait(); #define PORTNAME "KeyMacro" #define REVISION 0 #define SIG_CLOSE SIGBREAKF_CTRL_C #define SIG_PORT (1 << MSeg -> Port . mp_SigBit) #define MK_UNUSED 0 #define MK_WORD 1 #define MK_COMMAND 2 #define MM_INPUT 0 #define MM_UPDATE 1 #define MM_EXECUTE 2 #define MAXMACROS 30 struct KeyAlias { char *ka_Name; ULONG ka_Key; }; struct MacroKey { UBYTE mk_Type; LONG mk_CommandKey; LONG mk_CommandQualifier; UBYTE *mk_String; UBYTE *mk_Window; }; struct MacroMessage { struct Message mm_Message; UBYTE mm_Type; struct MacroKey *mm_MacroKey; LONG mm_NumMacros; struct MacroKey *mm_MacroList; UBYTE *mm_FileName; UBYTE *mm_WindowName; }; struct MSeg { struct MsgPort Port; BPTR Segment; LONG SegSize; struct Task *Father; struct Task *Child; ULONG RingBack; UBYTE Revision; LONG NumMacros; struct MacroKey *MacroList; };