diff options
author | Ash Wolf <ninji@wuffs.org> | 2022-10-19 21:16:13 +0100 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2022-10-19 21:16:13 +0100 |
commit | d1f153d34b023d81768f6087f67dbfff714bafc9 (patch) | |
tree | a694d470a60655d0cda15a70791fbdb90a2398cf /includes/cw_common.h | |
parent | 775b6861666af36d317fb577cf489e2c6377f878 (diff) | |
download | MWCC-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.h | 43 |
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; |