home *** CD-ROM | disk | FTP | other *** search
- /*
- * ParMBase.h - Copyright © 1991 by Devil's child.
- *
- * Created: 22 Mar 1991 17:28:15
- * Modified: 19 Jul 1991 22:00:02
- *
- * Make>> make
- */
-
-
- #define CMDBUFSIZE 255 /* MUST be odd for alignement in ParMConfig */
-
- #define DEFAULT_CMD_WINDOW "CON:0000/0011/0640/0100/Command window"
- #define DEFAULT_SHELL_WINDOW "CON:0000/0011/0640/0100/Shell"
- #define DEFAULT_SHELL_CMD "AShell"
- #define DEFAULT_WAIT_CMD "WaitReturn"
- #define DEFAULT_TMP_DIR "T:"
-
-
- struct Extended_WBStartup {
- struct WBStartup WBStartup;
- struct WBArg *ArgArray;
- short ArrayLength;
- long Stack;
- };
-
-
- struct RunInfo {
- char *ri_Cmd; /* Command */
- char *ri_Args; /* Command arguments */
- char *ri_Window; /* Console when mode = CLI */
- long ri_Stack; /* Stack for command */
- short ri_Pri; /* Pri of command */
- };
-
-
- struct Extended_MenuItem {
- struct MenuItem emi_MenuItem;
- struct RunInfo emi_RunInfo;
- short emi_Mode; /* TOK_ARUN | TOK_RUN | TOK_WB | TOK_CFG */
- };
-
-
- struct ParMConfig {
- struct Window *Win;
- struct Menu *LinkMenu;
- char CurCfg[80];
- char CmdWindow[80];
- char ShellWindow[80];
- char ShellCmd[80];
- char WaitCmd[80];
- char TmpDir[40];
- char *ReqTitle;
- long DefaultStack;
- short MenuPen;
- short ItemHeight;
- USHORT ShortCutQual;
- BOOL SimpleCmdMode;
- char CommandBuffer[CMDBUFSIZE+1];
- SHORT ReservedFutureUse[10];
- /* Reserved internal use */
- struct Menu *CurrentMenu;
- struct MenuItem *CurrentSubMenu;
- struct MenuItem **CurrentItem;
- struct Remember *MemList;
- char *mem; /* local to Malloc() */
- size_t Avail; /* local to Malloc() */
- };
-
-
- /* ParM Events flags */
- #define PEF_PASSTHROUGH 0x0001
- #define PEF_SCREENTOFRONT 0x0002
- #define PEF_NOCHECK 0x0004
-
-
- struct ParMBase {
- struct Library pb_Lib;
- ULONG pb_SegList; /* seg list of lib itself */
- struct ArpBase *ArpBase; /* Copy of ArpBase */
- struct ReqLib *ReqBase; /* Copy of reqBase */
- struct IconBase *IconBase; /* Copy of IconBase */
- struct LayersBase *LayersBase; /* Copy of LayersBase */
- struct MsgPort pb_MsgPort; /* For WB replies */
- short pb_MsgCnt; /* Number of WB running processes */
- };
-
-
- /* Tokens.h */
-
- #define TOK_ITEM 1
- #define TOK_ARUN 2
- #define TOK_RUN 3
- #define TOK_SHELL 4
- #define TOK_WB 5
- #define TOK_CFG 6
- #define TOK_WIN 7
- #define TOK_PRI 8
- #define TOK_STACK 9
- #define TOK_MENU 10
- #define TOK_SUBMENU 11
- #define TOK_ENDSUBMENU 12
- #define TOK_COLOR 13
- #define TOK_CMDWIN 14
- #define TOK_SHELLWIN 15
- #define TOK_SHELLCMD 16
- #define TOK_WAITCMD 17
- #define TOK_TMPDIR 18
- #define TOK_SHORTCUTQUAL 19
- #define TOK_ACTIVATEKEY 20
- #define TOK_PASSTHROUGH 21
- #define TOK_SCREENTOFRONT 22
- #define TOK_NOCHECK 23
- #define TOK_STR 24 /* not a keyword! */
-
- #define MAX_KEYWORD 23
-
-
- long ParseMenus(struct ParMConfig *PCfg);
- void FreeMenus(struct ParMConfig *PCfg);
- void ARun(struct ParMConfig *PCfg, struct RunInfo *Command);
- void Run(struct ParMConfig *PCfg, struct RunInfo *Command, BYTE Mode);
- void WBRun(struct ParMConfig *PCfg, struct Extended_WBStartup *EWBS, BYTE Pri);
- long GetTool(struct ParMConfig *PCfg, struct Extended_WBStartup *EWBS, long Stack);
- long MakeWBArg(struct ParMConfig *PCfg, struct WBArg *WBArg, char *Cmd);
- struct Extended_WBStartup *MakeWBStartup(struct ParMConfig *PCfg, struct RunInfo *Command);
- void WBFree(struct Extended_WBStartup *EWBS);
- void Command(struct ParMConfig *PCfg);
- void ParseLine(char *cmd);
- char *DosError(long);
- char *StrIoErr(void);
- ULONG MakeMenuShortCut(struct Menu *M, ULONG c);
- void InitDefaults(struct ParMConfig *PCfg);
- void FreeRepliedWBMessages(void);
- void NewMinList(struct MinList *MinList);
- char *CopyStr(char *str);
- void FreeStr(char *str);
- long IsHidden(struct Window *W);
- struct Window *GetWindow(void);
- struct IORequest *CreateExtIO(struct MsgPort *ioReplyPort, long size);
- void CleanUp(struct Menu *Menu, short LeftEdge, short ItemHeight);
-
-
- #pragma amicall(ParMBase, 0x1e, ParseMenus(a0))
- #pragma amicall(ParMBase, 0x24, FreeMenus(a0))
- #pragma amicall(ParMBase, 0x2a, ARun(a0,a1))
- #pragma amicall(ParMBase, 0x30, Run(a0,a1,d0))
- #pragma amicall(ParMBase, 0x36, WBRun(a0,a1,d0))
- #pragma amicall(ParMBase, 0x3c, GetTool(a0,a1,d0))
- #pragma amicall(ParMBase, 0x42, MakeWBArg(a0,a1,a2))
- #pragma amicall(ParMBase, 0x48, MakeWBStartup(a0,a1))
- #pragma amicall(ParMBase, 0x4e, WBFree(a0))
- #pragma amicall(ParMBase, 0x54, Command(a0))
- #pragma amicall(ParMBase, 0x5a, ParseLine(a0))
- #pragma amicall(ParMBase, 0x60, DosError(d0))
- #pragma amicall(ParMBase, 0x66, StrIoErr())
- #pragma amicall(ParMBase, 0x6c, MakeMenuShortCut(a0,d0))
- #pragma amicall(ParMBase, 0x72, InitDefaults(a0))
- #pragma amicall(ParMBase, 0x78, FreeRepliedWBMessages())
- #pragma amicall(ParMBase, 0x7e, NewMinList(a0))
- #pragma amicall(ParMBase, 0x84, CopyStr(a0))
- #pragma amicall(ParMBase, 0x8a, FreeStr(a0))
- #pragma amicall(ParMBase, 0x90, IsHidden(a0))
- #pragma amicall(ParMBase, 0x96, GetWindow())
- #pragma amicall(ParMBase, 0x9c, CreateExtIO(a0, d0))
- #pragma amicall(ParMBase, 0xa2, CleanUp(a0, d0, d1))
-
-