home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
552.lha
/
Browser_II_v1.0
/
source.LZH
/
source
/
ParMBase.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-07-06
|
5KB
|
164 lines
/*
* ParMBase.h - Copyright © 1991 by Devil's child.
*
* Created: 22 Mar 1991 17:28:15
* Modified: 06 Jul 1991 14:45:06
*
* 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
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_STR 23 /* not a keyword! */
#define MAX_KEYWORD 22
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);
#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))