]> git.sur5r.net Git - cc65/blobdiff - src/ld65/library.h
Merge remote-tracking branch 'upstream/master' into pcenginetarget
[cc65] / src / ld65 / library.h
index f4c528121cf59d924e36e712c267e4f6c3dd565d..abf75675aa66932dc70b244751c54632f870817a 100644 (file)
@@ -1,15 +1,15 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                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