/*****************************************************************************/
/* */
-/* library.h */
+/* library.h */
/* */
-/* Library data structures and helpers for the ld65 linker */
+/* Library data structures and helpers for the ld65 linker */
/* */
/* */
/* */
-/* (C) 1998 Ullrich von Bassewitz */
-/* Wacholderweg 14 */
-/* D-70597 Stuttgart */
-/* EMail: uz@musoftware.de */
+/* (C) 1998-2011, Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
/*****************************************************************************/
-/* Code */
+/* Data */
+/*****************************************************************************/
+
+
+
+/* Opaque structure */
+struct Library;
+
+
+
+/*****************************************************************************/
+/* Code */
/*****************************************************************************/
void LibAdd (FILE* F, const char* Name);
/* Add files from the library to the list if there are references that could
- * be satisfied.
- */
+** be satisfied.
+*/
+void LibStartGroup (void);
+/* Start a library group. Objects within a library group may reference each
+** other, and libraries are searched repeatedly until all references are
+** satisfied.
+*/
+void LibEndGroup (void);
+/* End a library group and resolve all open references. Objects within a
+** library group may reference each other, and libraries are searched
+** repeatedly until all references are satisfied.
+*/
-/* End of library.h */
+void LibCheckGroup (void);
+/* Check if there are open library groups */
-#endif
+const char* GetLibFileName (const struct Library* L);
+/* Get the name of a library */
+
+unsigned GetLibId (const struct Library* L);
+/* Get the id of a library file. */
+
+unsigned LibraryCount (void);
+/* Return the total number of libraries */
+void PrintDbgLibraries (FILE* F);
+/* Output the libraries to a debug info file */
+
+/* End of library.h */
+
+#endif