summaryrefslogtreecommitdiff
path: root/includes/cw_common.h
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2022-10-19 21:16:13 +0100
committerAsh Wolf <ninji@wuffs.org>2022-10-19 21:16:13 +0100
commitd1f153d34b023d81768f6087f67dbfff714bafc9 (patch)
treea694d470a60655d0cda15a70791fbdb90a2398cf /includes/cw_common.h
parent775b6861666af36d317fb577cf489e2c6377f878 (diff)
downloadMWCC-d1f153d34b023d81768f6087f67dbfff714bafc9.tar.gz
MWCC-d1f153d34b023d81768f6087f67dbfff714bafc9.zip
let's commit all this before my VM blows up and nukes my work
Diffstat (limited to '')
-rw-r--r--includes/cw_common.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/includes/cw_common.h b/includes/cw_common.h
new file mode 100644
index 0000000..bea498a
--- /dev/null
+++ b/includes/cw_common.h
@@ -0,0 +1,43 @@
+#pragma once
+
+/*
+ * Things that seem to be shared across different CodeWarrior modules
+ */
+
+#include "common.h"
+#include "oslib.h"
+#include "macemul.h"
+#include "plugin.h"
+
+typedef struct VersionInfo {
+ UInt16 major;
+ UInt16 minor;
+ UInt16 patch;
+ UInt16 build;
+} VersionInfo;
+
+typedef struct BasePluginCallbacks {
+ CWPLUGIN_ENTRY (*main)(CWPluginContext context);
+ CWPLUGIN_ENTRY (*GetDropInFlags)(const DropInFlags **flags, SInt32 *flagsSize);
+ CWPLUGIN_ENTRY (*GetDisplayName)(const char **displayName);
+ CWPLUGIN_ENTRY (*GetDropInName)(const char **dropInName);
+ CWPLUGIN_ENTRY (*GetPanelList)(const CWPanelList **panelList);
+ CWPLUGIN_ENTRY (*GetFamilyList)(const CWFamilyList **familyList);
+ CWPLUGIN_ENTRY (*GetHelpInfo)(const CWHelpInfo **helpInfo);
+ CWPLUGIN_ENTRY (*GetVersionInfo)(const VersionInfo **versionInfo);
+ CWPLUGIN_ENTRY (*GetFileTypeMappings)(const OSFileTypeMappingList **mappingList);
+} BasePluginCallbacks;
+
+typedef struct CompilerLinkerPluginCallbacks {
+ CWPLUGIN_ENTRY (*GetTargetList)(const struct CWTargetList **targetList);
+ CWPLUGIN_ENTRY (*GetDefaultMappingList)(const CWExtMapList **mappings);
+ CWPLUGIN_ENTRY (*Unmangle)();
+ CWPLUGIN_ENTRY (*BrSymbolEntryPoint)();
+ CWPLUGIN_ENTRY (*GetObjectFlags)(const CWObjectFlags **objectFlags);
+ CWPLUGIN_ENTRY (*WriteObjectFile)(const FSSpec *srcfss, const FSSpec *outfss, OSType creator, OSType type, Handle data);
+} CompilerLinkerPluginCallbacks;
+
+typedef struct ParserPluginCallbacks {
+ CWPLUGIN_ENTRY (*SupportsPlugin)(const CLPluginInfo *pluginfo, OSType cpu, OSType os, Boolean *isSupported);
+ CWPLUGIN_ENTRY (*SupportsPanels)(int numPanels, const char **panelNames, Boolean *isSupported);
+} ParserPluginCallbacks;