summaryrefslogtreecommitdiff
path: root/includes/cw_common.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/cw_common.h')
-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;