#ifndef MACHLIB_PROTOS_H
#define MACHLIB_PROTOS_H

#include "machlib_pragmas.h"

/* ========== Macro protos ============= */

struct MacroObject* FindMacroObject(struct MachCfg *cfg,UWORD code,
				UWORD qual,ULONG match_type);

struct MacroObject* GetMacroObject(struct MachCfg *cfg,UWORD code,
				UWORD qual,ULONG match_type);

struct MacroObject* NewMacroObject(struct MachCfg *cfg, char *string,
				UWORD code, UWORD qual);

struct MacroObject* AllocMacroObject(void);

void DeallocMacroObject(struct MacroObject *mo);

struct MacroObject* InitMacroObject(struct MacroObject *mo);

void FreeMacroObject(struct MachCfg *cfg, UWORD code,UWORD qual);

struct MacroObject* FindByName(struct MachCfg *cfg, char *sname,
				ULONG match_type);

void FreeTempMacroBuffer(void);

struct MachCfg *FindConfigByName(char *cname);

void SequenceMacros(struct MachCfg *cfg, UWORD code);

/* ========== List protos ============== */

BOOL OpenListWindow(struct TagItem *tags);

void CloseListWindow(void);

void SortExecList(struct List *list);

/* ========== Misc protos ============== */

long atox(char *str);
int stpicmp(char *s1, char *s2);
UBYTE FindUnderscoreChar(char *s);

#endif
