/* */
/* */
/* */
-/* (C) 1999 Ullrich von Bassewitz */
-/* Wacholderweg 14 */
-/* D-70597 Stuttgart */
-/* EMail: uz@musoftware.de */
+/* (C) 1999-2003 Ullrich von Bassewitz */
+/* Römerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
/* Structure describing the format */
-typedef struct O65Desc_ O65Desc;
+typedef struct O65Desc O65Desc;
/* Option tags */
#define O65OPT_FILENAME 0
/* Operating system codes for O65OPT_OS */
#define O65OS_OSA65 1
#define O65OS_LUNIX 2
+#define O65OS_CC65 3
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 */
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);