/* */
/* */
/* */
-/* (C) 1998-2003 Ullrich von Bassewitz */
-/* Römerstrasse 52 */
-/* D-70794 Filderstadt */
-/* EMail: uz@cc65.org */
+/* (C) 1998-2008, Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
+/* common */
+#include "strbuf.h"
+
+
+
/*****************************************************************************/
/* Data */
/*****************************************************************************/
/* Constants for the predefined packages */
-#define MAC_GENERIC 0
-#define MAC_LONGBRANCH 1
-#define MAC_CBM 2
-#define MAC_CPU 3
+enum {
+ MAC_ATARI,
+ MAC_CBM,
+ MAC_CPU,
+ MAC_GENERIC,
+ MAC_LONGBRANCH,
+
+ /* Number of known packages */
+ MAC_COUNT
+};
-void InsertMacPack (unsigned Id);
-/* Insert the macro package with the given id in the input stream */
+int MacPackFind (const StrBuf* Name);
+/* Find a macro package by name. The function will either return the id or
+ * -1 if the package name was not found.
+ */
+
+int MacPackInsert (int Id);
+/* Insert the macro package with the given id in the input stream. Returns
+ * true if the macro package was found and successfully inserted. Returns
+ * false otherwise.
+ */
+
+void MacPackSetDir (const StrBuf* Dir);
+/* Set a directory where files for macro packages can be found. Standard is
+ * to use the builtin packages. For debugging macro packages, external files
+ * can be used.
+ */