]> git.sur5r.net Git - cc65/blobdiff - src/ld65/o65.h
Merge remote-tracking branch 'upstream/master' into a5200
[cc65] / src / ld65 / o65.h
index d1e6609dd6ec18dae2881dbb01781efd05fb6c1f..2112537ffca8788172984872482abe049f7b9420 100644 (file)
@@ -1,15 +1,15 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  o65.h                                   */
+/*                                   o65.h                                   */
 /*                                                                           */
-/*                 Module to handle the o65 binary format                   */
+/*                  Module to handle the o65 binary format                   */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1999     Ullrich von Bassewitz                                        */
-/*              Wacholderweg 14                                              */
-/*              D-70597 Stuttgart                                            */
-/* EMail:       uz@musoftware.de                                             */
+/* (C) 1999-2005 Ullrich von Bassewitz                                       */
+/*               Römerstrasse 52                                             */
+/*               D-70794 Filderstadt                                         */
+/* EMail:        uz@cc65.org                                                 */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
 
 
 /*****************************************************************************/
-/*                                          Data                                    */
+/*                                   Data                                    */
 /*****************************************************************************/
 
 
 
 /* Structure describing the format */
-typedef struct O65Desc_ O65Desc;
+typedef struct O65Desc O65Desc;
 
 /* Option tags */
-#define O65OPT_FILENAME                0
-#define O65OPT_OS              1
-#define O65OPT_ASM             2
-#define O65OPT_AUTHOR          3
-#define O65OPT_TIMESTAMP       4
+#define O65OPT_FILENAME         0
+#define O65OPT_OS               1
+#define O65OPT_ASM              2
+#define O65OPT_AUTHOR           3
+#define O65OPT_TIMESTAMP        4
 
 /* Operating system codes for O65OPT_OS */
-#define O65OS_OSA65            1
-#define O65OS_LUNIX            2
+#define O65OS_MIN               1
+#define O65OS_OSA65             1
+#define O65OS_LUNIX             2
+#define O65OS_CC65              3
+#define O65OS_OPENCBM           4
+#define O65OS_MAX               255
 
 
 
 /*****************************************************************************/
-/*                                          Code                                    */
+/*                                   Code                                    */
 /*****************************************************************************/
 
 
@@ -79,9 +83,15 @@ O65Desc* NewO65Desc (void);
 void FreeO65Desc (O65Desc* D);
 /* Delete the descriptor struct with cleanup */
 
-void O65Set816 (O65Desc* D);
+void O65Set6502 (O65Desc* D);
+/* Enable 6502 mode */
+
+void O65Set65816 (O65Desc* D);
 /* Enable 816 mode */
 
+void O65SetSmallModel (O65Desc* D);
+/* Enable a small memory model executable */
+
 void O65SetLargeModel (O65Desc* D);
 /* Enable a large memory model executable */
 
@@ -91,19 +101,19 @@ void O65SetAlignment (O65Desc* D, unsigned Align);
 void O65SetOption (O65Desc* D, unsigned Type, const void* Data, unsigned DataLen);
 /* Set an o65 header option */
 
-void O65SetOS (O65Desc* D, unsigned OS);
+void O65SetOS (O65Desc* D, unsigned OS, unsigned Version, unsigned Id);
 /* Set an option describing the target operating system */
 
-ExtSym* O65GetImport (O65Desc* D, const char* Ident);
+ExtSym* O65GetImport (O65Desc* D, unsigned Ident);
 /* Return the imported symbol or NULL if not found */
 
-void O65SetImport (O65Desc* D, const char* Ident);
+void O65SetImport (O65Desc* D, unsigned Ident);
 /* Set an imported identifier */
 
-ExtSym* O65GetExport (O65Desc* D, const char* Ident);
+ExtSym* O65GetExport (O65Desc* D, unsigned Ident);
 /* Return the exported symbol or NULL if not found */
 
-void O65SetExport (O65Desc* D, const char* Ident);
+void O65SetExport (O65Desc* D, unsigned Ident);
 /* Set an exported identifier */
 
 void O65WriteTarget (O65Desc* D, File* F);
@@ -114,6 +124,3 @@ void O65WriteTarget (O65Desc* D, File* F);
 /* End of o65.h */
 
 #endif
-
-
-