summaryrefslogtreecommitdiff
path: root/mwcc_decomp.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--mwcc_decomp.h1879
1 files changed, 0 insertions, 1879 deletions
diff --git a/mwcc_decomp.h b/mwcc_decomp.h
deleted file mode 100644
index dcafa5b..0000000
--- a/mwcc_decomp.h
+++ /dev/null
@@ -1,1879 +0,0 @@
-#pragma once
-#include <MacHeadersMach-O>
-#define macintosh
-#include "sdk_hdrs/CompilerMapping.h"
-#include "sdk_hdrs/DropInCompilerLinker.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/********************************/
-/* OS Garbage */
-typedef struct OSPathSpec {
- char s[256];
-} OSPathSpec;
-typedef struct OSNameSpec {
- char s[64];
-} OSNameSpec;
-typedef struct OSSpec {
- OSPathSpec path;
- OSNameSpec name;
-} OSSpec;
-typedef struct OSHandle {
- void *addr;
- unsigned long used;
- unsigned long size;
-} OSHandle;
-typedef struct {
- OSSpec spec;
- OSHandle hand;
- unsigned char loaded;
- unsigned char changed;
- unsigned char writeable;
-} OSFileHandle; // assumed name
-
-/********************************/
-/* Option Fuckery */
-#ifdef __MWERKS__
-#pragma options align=packed
-#endif
-typedef struct PARAM_T {
- char which;
- char flags;
- char *myname;
- struct PARAM_T *next;
-} PARAM_T;
-typedef struct MASK_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- char size;
- unsigned long ormask;
- unsigned long andmask;
- void *num;
-} MASK_T;
-typedef struct STRING_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- short maxlen;
- unsigned char pstring;
- char *str;
-} STRING_T;
-typedef struct SET_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- char size;
- unsigned long value;
- char *num;
-} SET_T;
-typedef struct SETSTRING_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- char *value;
- char pstring;
- void *var;
-} SETSTRING_T;
-typedef struct GENERIC_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- int (*parse)(const char *opt, void *var, const char *pstr, int flags);
- void *var;
- char *help;
-} GENERIC_T;
-typedef struct SETTING_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- int (*parse)(const char *a, const char *b); // TODO name these args
- char *valuename;
-} SETTING_T;
-typedef struct TOGGLE_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- char size;
- unsigned long mask;
- void *num;
-} TOGGLE_T;
-typedef struct NUM_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- char size;
- char fit;
- unsigned long lo;
- unsigned long hi;
- void *num;
-} NUM_T;
-typedef struct FILEPATH_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- char fflags;
- char *defaultstr;
- void *filename;
- int maxlen;
-} FILEPATH_T;
-typedef struct IFARG_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- PARAM_T *parg;
- char *helpa;
- PARAM_T *pnone;
- char *helpn;
-} IFARG_T;
-typedef struct ONOFF_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- unsigned char *var;
-} ONOFF_T;
-typedef struct OFFON_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- unsigned char *var;
-} OFFON_T;
-typedef struct FTYPE_T {
- char which;
- char flags;
- char *myname;
- PARAM_T *next;
- unsigned long *fc;
- unsigned char iscreator;
-} FTYPE_T;
-typedef struct OptionList {
- char *help;
- int flags;
- struct Option **list;
-} OptionList;
-typedef struct Option {
- char *names;
- int avail;
- PARAM_T *param;
- OptionList *sub;
- OptionList *conflicts;
- char *help;
-} Option;
-enum {
- HELPFLAGS_1 = 1,
- HELPFLAGS_IGNORED = 2,
- HELPFLAGS_OBSOLETE = 4,
- HELPFLAGS_DEPRECATED = 8,
- HELPFLAGS_SECRET = 0x10,
- HELPFLAGS_MEANINGLESS = 0x20,
- HELPFLAGS_COMPATIBLE = 0x40,
- HELPFLAGS_NORMAL = 0x80, // andmask = 0xE?
- HELPFLAGS_SPACES = 0x100,
- HELPFLAGS_TOOL = 0x200,
- HELPFLAGS_TOOL_THIS = 0x400,
- HELPFLAGS_TOOL_OTHER = 0x800,
- HELPFLAGS_TOOL_BOTH = 0xC00,
- HELPFLAGS_1000 = 0x1000,
- HELPFLAGS_2000 = 0x2000,
- HELPFLAGS_USAGE = 0x4000,
- HELPFLAGS_8000 = 0x8000,
- HELPFLAGS_10000 = 0x10000,
- HELPFLAGS_20000 = 0x20000,
- HELPFLAGS_40000 = 0x40000,
- HELPFLAGS_80000 = 0x80000,
- HELPFLAGS_100000 = 0x100000,
- HELPFLAGS_200000 = 0x200000,
- HELPFLAGS_400000 = 0x400000,
- HELPFLAGS_700000 = 0x700000,
- HELPFLAGS_800000 = 0x800000,
- HELPFLAGS_801828 = 0x801828,
- HELPFLAGS_1000000 = 0x1000000,
- HELPFLAGS_2000000 = 0x2000000,
- HELPFLAGS_4000000 = 0x4000000,
- HELPFLAGS_8000000 = 0x8000000,
- HELPFLAGS_10000000 = 0x10000000,
- HELPFLAGS_20000000 = 0x20000000,
- HELPFLAGS_40000000 = 0x40000000,
- HELPFLAGS_80000000 = 0x80000000
-};
-enum {
- OTF_GLOBAL = 1,
- OTF2 = 2,
- OTF_CASED = 4,
- OTF_OBSOLETE = 8,
- OTF_SUBSTITUTED = 0x10,
- OTF_DEPRECATED = 0x20,
- OTF_TOOL_LINKER = 0x40,
- OTF_TOOL_DISASSEMBLER = 0x80,
- OTF_TOOL_COMPILER = 0x100,
- OTF_TOOL_MASK = OTF_TOOL_LINKER | OTF_TOOL_DISASSEMBLER | OTF_TOOL_COMPILER,
- OTF200 = 0x200,
- OTF400 = 0x400,
- OTF700 = 0x700,
- OTF_IGNORED = 0x800,
- OTFC00 = 0xC00,
- OTF_SECRET = 0x1000,
- OTF2000 = 0x2000,
- OTF_COMPATIBILITY = 0x4000,
- OTF8000 = 0x8000,
- OTF10000 = 0x10000,
- OTF20000 = 0x20000,
- OTF40000 = 0x40000,
- OTF_WARNING = 0x80000,
- OTF_SLFLAGS_8 = 0x100000,
- OTF_SLFLAGS_10 = 0x200000,
- OTF_SLFLAGS_20 = 0x400000,
- OTF_SLFLAGS_MASK = OTF_SLFLAGS_8 | OTF_SLFLAGS_10 | OTF_SLFLAGS_20,
- OTF_MEANINGLESS = 0x800000,
- OTF_ALL_HIDDEN_BY_DEFAULT = OTF_OBSOLETE | OTF_DEPRECATED | OTF_IGNORED | OTF_SECRET | OTF_MEANINGLESS,
- OTF1000000 = 0x1000000,
- OTF2000000 = 0x2000000,
- OTF4000000 = 0x4000000,
- OTF8000000 = 0x8000000,
- OTF10000000 = 0x10000000,
- OTF20000000 = 0x20000000,
- OTF40000000 = 0x40000000,
- OTF80000000 = 0x80000000
-};
-
-enum {
- PARAMWHICH_None = 0,
- PARAMWHICH_FTypeCreator = 1,
- PARAMWHICH_FilePath = 2,
- PARAMWHICH_Number = 3,
- PARAMWHICH_String = 4,
- PARAMWHICH_Id = 5,
- PARAMWHICH_Sym = 6,
- PARAMWHICH_OnOff = 7,
- PARAMWHICH_OffOn = 8,
- PARAMWHICH_Mask = 9,
- PARAMWHICH_Toggle = 0xA,
- PARAMWHICH_Set = 0xB,
- PARAMWHICH_SetString = 0xC,
- PARAMWHICH_Generic = 0xD,
- PARAMWHICH_IfArg = 0xE,
- PARAMWHICH_Setting = 0xF,
- PARAMWHICH_MAX = 0x10
-};
-enum {
- PARAMFLAGS_1 = 1,
- PARAMFLAGS_2 = 2,
- PARAMFLAGS_3 = 3,
- PARAMFLAGS_4 = 4,
- PARAMFLAGS_8 = 8,
- PARAMFLAGS_10 = 0x10,
- PARAMFLAGS_12 = 0x12
-};
-enum {
- PARAMPARSEFLAGS_0 = 0,
- PARAMPARSEFLAGS_1 = 1,
- PARAMPARSEFLAGS_2 = 2,
- PARAMPARSEFLAGS_4 = 4,
- PARAMPARSEFLAGS_8 = 8,
- PARAMPARSEFLAGS_10 = 0x10,
- PARAMPARSEFLAGS_20 = 0x20,
- PARAMPARSEFLAGS_40 = 0x40,
- PARAMPARSEFLAGS_80 = 0x80,
- PARAMPARSEFLAGS_100 = 0x100
-};
-enum {
- SLFLAGS_1 = 1,
- SLFLAGS_2 = 2,
- SLFLAGS_4 = 4, // displays =...
- SLFLAGS_8 = 8, // displays [no] -- produces e.g. [no]err[or] | [no]iserr[or], [no]implicit[conv]
- SLFLAGS_10 = 0x10, // displays [-]
- SLFLAGS_20 = 0x20, // displays [no-]
- SLFLAGS_40 = 0x40
-};
-enum {
- LISTFLAGS_NONE = 0,
- LISTFLAGS_2 = 2,
- LISTFLAGS_4 = 4,
- LISTFLAGS_COMPILER = 0x100,
- LISTFLAGS_LINKER = 0x200,
- LISTFLAGS_DISASSEMBLER = 0x400,
- LISTFLAGS_TOOL_MASK = LISTFLAGS_COMPILER | LISTFLAGS_LINKER | LISTFLAGS_DISASSEMBLER
-};
-#ifdef __MWERKS__
-#pragma options align=reset
-#endif
-
-
-struct IDEAccessPath {
- FSSpec pathSpec;
- unsigned char recursive;
- long subdirectoryCount;
- FSSpec *subdirectories;
-};
-
-struct IDEAccessPathList {
- long userPathCount;
- struct IDEAccessPath *userPaths;
- long systemPathCount;
- struct IDEAccessPath *systemPaths;
- unsigned char alwaysSearchUserPaths;
- unsigned char convertPaths;
-};
-
-#ifdef __MWERKS__
-#pragma options align=mac68k
-#endif
-typedef struct CWObjectFlags {
- short version;
- long flags;
- const char *objFileExt;
- const char *brsFileExt;
- const char *ppFileExt;
- const char *disFileExt;
- const char *depFileExt;
- const char *pchFileExt;
- CWDataType objFileCreator;
- CWDataType objFileType;
- CWDataType brsFileCreator;
- CWDataType brsFileType;
- CWDataType ppFileCreator;
- CWDataType ppFileType;
- CWDataType disFileCreator;
- CWDataType disFileType;
- CWDataType depFileCreator;
- CWDataType depFileType;
-} CWObjectFlags;
-#ifdef __MWERKS__
-#pragma options align=reset
-#endif
-
-struct CW_BasePluginCallbacks {
- void (*cbGetFileInfo)();
- void (*cbFindAndLoadFile)();
- void (*cbGetFileText)();
- void (*cbReleaseFileText)();
- void (*cbGetSegmentInfo)();
- void (*cbGetOverlay1GroupInfo)();
- void (*cbGetOverlay1Info)();
- void (*cbGetOverlay1FileInfo)();
- void (*cbReportMessage)();
- void (*cbAlert)();
- void (*cbShowStatus)();
- void (*cbUserBreak)();
- void (*cbGetNamedPreferences)();
- void (*cbStorePluginData)();
- void (*cbGetPluginData)();
- void (*cbSetModDate)();
- void (*cbAddProjectEntry)();
- void (*cbCreateNewTextDocument)();
- void (*cbAllocateMemory)();
- void (*cbFreeMemory)();
- void (*cbAllocMemHandle)();
- void (*cbFreeMemHandle)();
- void (*cbGetMemHandleSize)();
- void (*cbResizeMemHandle)();
- void (*cbLockMemHandle)();
- void (*cbUnlockMemHandle)();
- void *cbInternal[8];
- void (*cbGetTargetName)();
- void (*cbCacheAccessPathList)();
- void (*cbPreDialog)();
- void (*cbPostDialog)();
- void (*cbPreFileAction)();
- void (*cbPostFileAction)();
- void (*cbCheckoutLicense)();
- void (*cbCheckinLicense)();
- void (*cbResolveRelativePath)();
-};
-
-struct CWPluginPrivateContext {
- long request;
- long apiVersion;
- void *shellContext;
- void *pluginStorage;
- FSSpec projectFile;
- FSSpec outputFileDirectory;
- long shellSignature;
- long pluginType;
- long numFiles;
- long numOverlayGroups;
- short callbackOSError;
- short pluginOSError;
- CWIDEInfo *shellInfo;
- struct IDEAccessPathList *accessPathList;
- long dontEatEvents;
- struct FSSpec *targetDataDirectorySpec;
- long reserved[17];
- struct CW_BasePluginCallbacks *callbacks;
-};
-
-// Pref panels
-#ifdef __MWERKS__
-#pragma options align=mac68k
-#endif
-typedef struct PCmdLine {
- short version;
- short state;
- short stages;
- short toDisk;
- short outNameOwner;
- unsigned char dryRun;
- unsigned char debugInfo;
- short verbose;
- unsigned char showLines;
- unsigned char timeWorking;
- unsigned char noWarnings;
- unsigned char warningsAreErrors;
- unsigned short maxErrors;
- unsigned short maxWarnings;
- short msgStyle;
- unsigned char noWrapOutput;
- unsigned char stderr2stdout;
- unsigned char noCmdLineWarnings;
-} PCmdLine;
-typedef struct PCmdLineCompiler {
- short version;
- unsigned char noSysPath;
- unsigned char noFail;
- short includeSearch;
- char linkerName[64];
- char objFileExt[15];
- char brsFileExt[15];
- char ppFileExt[15];
- char disFileExt[15];
- char depFileExt[15];
- char pchFileExt[15];
- CWDataType objFileCreator;
- CWDataType objFileType;
- CWDataType brsFileCreator;
- CWDataType brsFileType;
- CWDataType ppFileCreator;
- CWDataType ppFileType;
- CWDataType disFileCreator;
- CWDataType disFileType;
- CWDataType depFileCreator;
- CWDataType depFileType;
- unsigned char compileIgnored;
- unsigned char relPathInOutputDir;
- unsigned char browserEnabled;
- unsigned char depsOnlyUserFiles;
- char outMakefile[256];
- char forcePrecompile;
- unsigned char ignoreMissingFiles;
- unsigned char printHeaderNames;
- char sbmState;
- char sbmPath[256];
- unsigned char canonicalIncludes;
- unsigned char keepObjects;
-} PCmdLineCompiler;
-typedef struct PCmdLineLinker {
- short version;
- unsigned char callPreLinker;
- unsigned char callPostLinker;
- unsigned char keepLinkerOutput;
- unsigned char callLinker;
-} PCmdLineLinker;
-typedef struct PCmdLineEnvir {
- short version;
- short cols;
- short rows;
- unsigned char underIDE;
-} PCmdLineEnvir;
-typedef struct PBackEnd {
- short version;
- unsigned char structalignment;
- unsigned char tracebacktables;
- unsigned char processor;
- unsigned char readonlystrings;
- unsigned char profiler;
- unsigned char fpcontract;
- unsigned char schedule;
- unsigned char peephole;
- unsigned char processorspecific;
- unsigned char altivec;
- unsigned char vrsave;
- unsigned char autovectorize;
- unsigned char usebuiltins;
- unsigned char pic;
- unsigned char dynamic;
- unsigned char common;
- unsigned char implicit_templates;
- unsigned char reserved[3];
-} PBackEnd;
-typedef struct PDisassembler {
- short version;
- unsigned char showcode;
- unsigned char extended;
- unsigned char mix;
- unsigned char nohex;
- unsigned char showdata;
- unsigned char showexceptions;
- unsigned char showsym;
- unsigned char shownames;
-} PDisassembler;
-typedef struct PMachOLinker {
- short version;
- unsigned char linksym;
- unsigned char symfullpath;
- unsigned char suppresswarn;
- unsigned char linkmap;
- unsigned char multisymerror;
- unsigned char whatfileloaded;
- unsigned char whyfileloaded;
- unsigned char use_objectivec_semantics;
- char undefinedsymbols;
- char readonlyrelocs;
- char reserved_value1;
- char reserved_value2;
- short exports;
- short reserved_short1;
- unsigned long currentversion;
- unsigned long compatibleversion;
- long reserved_long1;
- char mainname[64];
- unsigned char prebind;
- unsigned char dead_strip;
- unsigned char twolevel_namespace;
- unsigned char strip_debug_symbols;
-} PMachOLinker;
-typedef struct PMachOProject {
- short version;
- short type;
- unsigned char outfile[64];
- long filecreator;
- long filetype;
- long stacksize;
- long stackaddress;
- unsigned long reserved1;
- unsigned long reserved2;
- unsigned long reserved3;
- unsigned long reserved4;
- unsigned long reserved5;
- unsigned long reserved6;
- unsigned long reserved7;
- unsigned long reserved8;
- unsigned long reserved9;
- unsigned long reserved10;
- unsigned long reserved11;
- unsigned long reserved12;
- unsigned long reserved13;
- unsigned long reserved14;
- unsigned long reserved15;
- unsigned long reserved16;
- unsigned long reserved17;
- unsigned long reserved18;
- unsigned long reserved19;
- unsigned long reserved20;
- unsigned char flatrsrc;
- unsigned char filler1;
- unsigned char filler2;
- unsigned char filler3;
- unsigned char separateflatfile[64];
- unsigned char installpath[256];
-} PMachOProject;
-typedef struct {
- short version;
- unsigned char userSetCreator;
- unsigned char userSetType;
- unsigned char gPrintMapToStdOutput;
- unsigned char mapfilename[256];
- unsigned char symfilename[256];
-} PCLTExtras;
-#ifdef __MWERKS__
-#pragma options align=reset
-#endif
-
-typedef struct CWCommandLineArgs {
- int argc;
- char **argv;
- char **envp;
-} CWCommandLineArgs;
-
-typedef struct VersionInfo {
- unsigned short major;
- unsigned short minor;
- unsigned short patch;
- unsigned short build;
-} VersionInfo;
-
-typedef struct CLPluginInfo {
- unsigned long plugintype;
- unsigned long language;
- long dropinflags;
- char *version;
- unsigned char storeCommandLine;
-} CLPluginInfo;
-
-typedef struct ToolVersionInfo {
- char *company;
- char *product;
- char *tool;
- char *copyright;
- char *version;
-} ToolVersionInfo;
-
-// may not actually be named this
-struct ParseOptsType {
- CWPluginContext context;
- char helpKey[64];
- long helpFlags;
- unsigned short ioCols;
- unsigned short ioRows;
- CWCommandLineArgs *args;
- ToolVersionInfo *toolVersion;
- int numPlugins;
- CLPluginInfo *plugins;
- int numPanels;
- char **panelNames;
- unsigned long cpu;
- unsigned long os;
- char lastoutputname[256];
- long currentSegment;
- long currentOverlayGroup;
- long currentOverlay;
- int possibleFiles;
- int userSpecifiedFiles;
- int unusedFiles;
- unsigned char hadAnyOutput;
- unsigned char hadErrors;
- unsigned char showHelp;
- unsigned char underIDE;
- unsigned char alwaysUsePaths;
- unsigned char noOptions;
- unsigned char printedVersion;
- unsigned char passingArgs;
- unsigned char disToFile;
- unsigned char ppToFile;
- unsigned char initBefore;
- unsigned char weakImport;
- unsigned char mergeIntoOutput;
- unsigned char success;
- unsigned char ignoreUnknown;
- unsigned char unused[2];
-};
-
-// assumed name
-typedef struct CLState {
- int argc;
- const char **argv;
- CWDataType cpu;
- CWDataType os;
- CWDataType plugintype;
- CWDataType language;
- CWDataType style;
- OSSpec programPath;
- const char *programName;
- short numWarnings;
- short numErrors;
- Boolean pluginDebug;
- Boolean userBreak;
- Boolean reachedWarningThreshold;
- Boolean reachedErrorThreshold;
- OSSpec makefileSpec;
- OSPathSpec sbmPathSpec;
- OSHandle browseHandle;
- const char *stdoutBase;
- int appendToStdoutBase;
-} CLState;
-
-typedef struct OSFileTypeMapping {
- CWDataType mactype;
- const char *magic;
- char length;
- const char *mimetype;
- char executable; // not sure why this is rearranged
-} OSFileTypeMapping;
-
-typedef struct OSFileTypeMappingList {
- short numMappings;
- const OSFileTypeMapping *mappings;
-} OSFileTypeMappingList;
-
-typedef struct BasePluginCallbacks {
- short (*main)();
- short (*GetDropInFlags)(const DropInFlags **flags, long *flagsSize);
- short (*GetDisplayName)(const char **displayName);
- short (*GetDropInName)(const char **dropInName);
- short (*GetPanelList)(const CWPanelList **panelList);
- short (*GetFamilyList)(const CWFamilyList **familyList);
- short (*GetHelpInfo)(const CWHelpInfo **helpInfo);
- short (*GetVersionInfo)(const VersionInfo **versionInfo);
- short (*GetFileTypeMappings)(const OSFileTypeMappingList **mappingList);
-} BasePluginCallbacks;
-
-typedef struct CompilerLinkerPluginCallbacks {
- short (*GetTargetList)(const struct CWTargetList **targetList);
- short (*GetDefaultMappingList)();
- short (*Unmangle)();
- short (*BrSymbolEntryPoint)();
- short (*GetObjectFlags)();
- short (*WriteObjectFile)();
-} CompilerLinkerPluginCallbacks;
-
-typedef struct ParserPluginCallbacks {
- short (*SupportsPlugin)();
- short (*SupportsPanels)();
-} ParserPluginCallbacks;
-
-typedef struct {
- char *name;
- void *ptr;
- long size;
-} PrefDataPanel; // assumed name
-
-typedef struct {
- CWDataType TYPE;
- CWDataType LANG;
- CWDataType CPU;
- CWDataType OS;
- int numPrefPanels;
- char **prefPanels;
- char *toolInfo;
- char *copyright;
- int numOptionLists;
- OptionList **optionLists;
- int numPrefDataPanels;
- PrefDataPanel *prefDataPanels;
- int (*PreParse)(); // sig?
- int (*MidParse)(); // sig?
- int (*PostParse)(); // sig?
-} ParserTool; // assumed name
-
-typedef struct PrefPanel { // assumed name
- char *name;
- Handle data;
- Handle workData;
- struct PrefPanel *next;
-} PrefPanel; // assumed name
-
-// CLAccessPaths
-typedef struct Paths {
- struct Path **array;
- unsigned short capacity;
- unsigned short count;
-} Paths; // assumed name
-typedef struct Frameworks {
- struct Framework **array;
- unsigned short capacity;
- unsigned short count;
-} Frameworks; // assumed name
-typedef struct Path {
- OSPathSpec *spec;
- Paths *subpaths;
- int x8;
- short xC;
-} Path; // assumed name
-typedef struct Framework {
- OSSpec frameworkSpec;
- OSPathSpec name;
- OSPathSpec version;
- Path *containingPath;
- Boolean flag344;
-} Framework; // assumed name
-
-// CLFiles
-typedef struct File {
- struct File *next;
- int index;
- // TODO fill me up
-} File;
-typedef struct Files {
- File *files;
- int count;
-} Files; // assumed name
-typedef struct VFile {
- char name[32];
- Handle hand;
- struct VFile *next;
-} VFile; // assumed name
-
-// CLOverlays
-typedef struct Overlay {
- char name[256];
- int *fileIDList;
- int fileCount;
- int fileCapacity;
- struct Overlay *next;
-} Overlay; // assumed name
-typedef struct OvlGroup {
- char name[256];
- CWAddr64 addr;
- Overlay *overlays;
- Overlay *lastOverlay;
- int overlayCount;
- struct OvlGroup *next;
-} OvlGroup; // assumed name
-typedef struct Overlays {
- OvlGroup *groups;
- OvlGroup *lastGroup;
-} Overlays; // assumed name
-
-// CLSegs
-typedef struct Segment {
- char name[32];
- short attributes;
-} Segment; // assumed name
-typedef struct Segments {
- Segment **array;
- unsigned short capacity;
- unsigned short count;
-} Segments; // assumed name
-
-// CLDependencies
-typedef struct Incls {
- struct Target *target;
- // ...
- Paths *paths;
-} Incls; // assumed name
-typedef struct Deps {
- int x0;
- int x4;
- int x8;
- Incls *incls;
-} Deps; // assumed name
-
-// CLTarg
-typedef struct Target {
- int count0;
- int count4;
- int count8;
- int countC;
- CWTargetInfo *targetInfo;
- struct {
- // not sure how much stuff exactly is part of this struct
- Segments segments;
- Overlays overlays;
- } linkage;
- int x28;
- Files files;
- Files pchs;
- Incls incls;
- Paths sysPaths;
- Paths userPaths;
- CWDataType language;
- CWDataType cpu;
- CWDataType os;
- char name[64];
- struct Plugin *preLinker;
- struct Plugin *linker;
- struct Plugin *postLinker;
- unsigned long preLinkerFlags;
- unsigned long linkerFlags;
- unsigned long postLinkerFlags;
- OSPathSpec cwd;
- VFile *virtualFiles;
- struct Target *next;
-} Target; // assumed name
-
-typedef struct Plugin {
- BasePluginCallbacks *cb;
- CompilerLinkerPluginCallbacks *cl_cb;
- ParserPluginCallbacks *pr_cb;
- void *context;
- char *versionInfoASCII;
- struct Plugin *next;
-} Plugin;
-
-typedef struct Token {
- int x0;
- void *x4;
-} Token;
-
-/********************************/
-/* UMain.c */
-extern int main(int argc, const char **argv);
-extern int RegisterResource(const char *name, short index, void *data);
-extern int RegisterStaticPlugin(const BasePluginCallbacks *cb);
-extern int RegisterStaticCompilerLinkerPlugin(const BasePluginCallbacks *cb, void *b);
-extern int RegisterStaticParserPlugin(const BasePluginCallbacks *cb, void *b);
-extern void SetBuildTarget(CWDataType cpu, CWDataType os);
-extern void SetParserType(CWDataType style);
-extern void SetPluginType(CWDataType language, CWDataType plugintype);
-extern int CmdLine_Initialize(int argc, const char **argv, const char *buildDate, const char *buildTime);
-extern int CmdLine_Driver();
-extern int CmdLine_Terminate(int code);
-
-/********************************/
-/* UCLTMain.c */
-extern void Main_PreParse(int *pArgc, char ***pArgv);
-extern void Main_PassSpecialArgs(void *unk1, void *unk2);
-extern int Main_Initialize(int argc, const char **argv);
-extern int Main_Terminate(int code);
-extern int Main_Driver();
-
-/********************************/
-/* Resources.c */
-
-/********************************/
-/* ?? CL Errors */
-//static void CLGetErrorString(short errid, char *buffer);
-//static void CLMessageReporter(int kind, short errid, va_list ap);
-extern void CLReportError(short errid, ...);
-extern void CLReportWarning(short errid, ...);
-extern void CLReport(short errid, ...);
-extern void CLReportOSError(short errid, long err, ...);
-extern void CLReportCError(short errid, long err, ...);
-extern void CLInternalError(const char *filename, int linenum, const char *format, ...);
-extern void CLFatalError(const char *format, ...);
-
-/********************************/
-/* ?? Res */
-extern void Res_Initialize();
-extern void Res_AddResource(const char *name, short id, const void *data);
-extern const char *Res_GetResource(short listIndex, short strId);
-extern void Res_Cleanup();
-
-/********************************/
-/* CLPlugins.c */
-//static void GetToolVersionInfo();
-extern const ToolVersionInfo *Plugin_GetToolVersionInfo();
-//static const char *Plugin_GetDisplayName(Plugin *pl);
-extern const char *Plugin_GetDropInName(Plugin *pl);
-extern VersionInfo *Plugin_GetVersionInfo(Plugin *pl);
-extern const char *Plugin_GetVersionInfoASCII(Plugin *pl);
-extern DropInFlags *Plugin_GetDropInFlags(Plugin *pl);
-extern CWDataType Plugin_GetPluginType(Plugin *pl);
-extern const CWTargetList *Plugin_CL_GetTargetList(Plugin *pl);
-extern const CWPanelList *Plugin_GetPanelList(Plugin *pl);
-extern const CWExtMapList *Plugin_CL_GetExtMapList(Plugin *pl);
-extern const OSFileTypeMappingList *Plugin_GetFileTypeMappingList(Plugin *pl);
-extern const CWObjectFlags *Plugin_CL_GetObjectFlags(Plugin *pl);
-extern Boolean Plugin_MatchesName(Plugin *pl, const char *name);
-extern Boolean Plugin_CL_MatchesTarget(Plugin *pl, CWDataType cpu, CWDataType os, Boolean flag);
-extern Boolean Plugins_CL_HaveMatchingTargets(Plugin *a, Plugin *b, Boolean flag);
-//static CL_MatchesExtMapping(CWExtensionMapping *em, CWDataType type, const char *extension, Boolean flag);
-extern Boolean Plugin_CL_MatchesFileType(Plugin *pl, CWDataType type, const char *extension, Boolean flag);
-extern Boolean Plugin_MatchesType(Plugin *pl, CWDataType plugintype, CWDataType edit_language, Boolean flag);
-extern Boolean Plugin_Pr_MatchesPlugin(Plugin *pl, void *unk1, void *unk2, void *unk3); // fixme
-extern Boolean Plugin_Pr_MatchesPanels(Plugin *pl, void *unk1, void *unk2); // fixme
-extern Boolean Plugin_CL_WriteObjectFile(Plugin *pl, FSSpec *srcfss, FSSpec *outfss, CWDataType creator, CWDataType filetype, Handle data);
-extern Boolean Plugin_CL_GetCompilerMapping(Plugin *pl, CWDataType type, const char *extension, CompilerMappingFlags *flags);
-//static Boolean SupportedPlugin(Plugin *pl, const char **errmsg);
-//static Boolean VerifyPanels(Plugin *pl);
-extern Plugin *Plugin_New(const BasePluginCallbacks *cb, const CompilerLinkerPluginCallbacks *cl_cb, const ParserPluginCallbacks *pr_cb);
-extern void Plugin_Free(Plugin *pl);
-extern int Plugin_VerifyPanels(Plugin *pl);
-extern void Plugins_Init();
-extern void Plugins_Term();
-extern int Plugins_Add(Plugin *pl);
-extern Plugin *Plugins_MatchName(Plugin *first, const char *name);
-extern Plugin *Plugins_CL_MatchTarget(Plugin *first, CWDataType cpu, CWDataType os, CWDataType plugintype, CWDataType edit_language);
-extern Plugin *Plugins_CL_MatchFileType(Plugin *first, CWDataType type, const char *extension, Boolean flag);
-extern Plugin *Plugins_GetPluginForFile(Plugin *first, CWDataType plugintype, CWDataType cpu, CWDataType os, CWDataType type, const char *extension);
-extern Plugin *Plugins_GetLinker(Plugin *first, CWDataType cpu, CWDataType os);
-extern Plugin *Plugins_GetPreLinker(Plugin *first, CWDataType cpu, CWDataType os);
-extern Plugin *Plugins_GetPostLinker(Plugin *first, CWDataType cpu, CWDataType os);
-extern Plugin *Plugins_GetParserForPlugin(...); // TODO fixme args
-extern Plugin *Plugins_GetCompilerForLinker(Plugin *first, Plugin *linker, CWDataType type, const char *extension, CWDataType edit_language);
-extern Boolean Plugins_GetPluginList(Plugin *first, int *count, void **list); // TODO fixme define list struct
-extern Boolean Plugins_GetPrefPanelUnion(Plugin *first, int *count, void **list); // TODO fixme define struct
-extern Boolean Plugin_AddFileTypeMappings(Plugin *pl, void *unk);
-extern Boolean Plugins_AddFileTypeMappingsForTarget(Plugin *first, void *unk, CWDataType cpu, CWDataType os);
-extern short Plugin_Call(Plugin *pl, void *context);
-
-/********************************/
-/* ?? parser_cb */
-
-/********************************/
-/* CLIO.c */
-
-/********************************/
-/* CLToolExec.c */
-
-/********************************/
-/* OS TU 1 */
-typedef struct uOSTypePair { // unknown name
- short a;
- short b;
-} uOSTypePair;
-extern const char *OS_GetErrText(int errnum);
-extern int OS_InitProgram(int *pArgc, const char ***pArgv);
-extern int OS_TermProgram();
-extern int OS_Create(const OSSpec *spec, const uOSTypePair *type);
-extern int OS_Status(const OSSpec *spec);
-extern int OS_GetFileType(const OSSpec *spec, uOSTypePair *type);
-extern int OS_SetFileType(const OSSpec *spec, const uOSTypePair *type);
-extern int OS_GetFileTime(const OSSpec *spec, time_t *ctime, time_t *mtime);
-extern int OS_SetFileTime(const OSSpec *spec, const time_t *ctime, const time_t *mtime);
-extern int OS_Open(const OSSpec *spec, unsigned short mode, int *pRef);
-extern int OS_Write(int ref, const void *data, long *pLen);
-extern int OS_Read(int ref, void *data, long *pLen);
-extern int OS_Seek(int ref, unsigned short how, long offset);
-extern int OS_Tell(int ref, long *pOffset);
-extern int OS_Close(int ref);
-extern int OS_GetSize(int ref, long *pSize);
-extern int OS_SetSize(int ref, long size);
-extern int OS_Delete(const OSSpec *spec);
-extern int OS_Rename(const OSSpec *a, const OSSpec *b);
-extern int OS_Mkdir(const OSSpec *spec);
-extern int OS_Rmdir(const OSPathSpec *spec);
-extern int OS_Chdir(const OSPathSpec *spec);
-extern int OS_GetCWD(OSPathSpec *spec);
-extern int OS_Execute(); // TODO figure out the args for this properly
-extern int OS_IsLegalPath(const char *str);
-extern int OS_IsFullPath(const char *str);
-extern char *OS_GetDirPtr(OSPathSpec *spec);
-//extern int OS_CompactPath(const char *spec, char *dest);
-extern int OS_EqualPath(const char *a, const char *b);
-extern int OS_CanonPath(const char *src, char *dest);
-extern int OS_MakeSpec(const char *path, OSSpec *spec, Boolean *pFlag);
-extern int OS_MakeFileSpec(const char *path, OSSpec *spec);
-extern int OS_MakePathSpec(const char *a, const char *b, OSPathSpec *spec);
-extern int OS_MakeNameSpec(const char *src, OSNameSpec *spec);
-extern int OS_GetRootSpec(OSPathSpec *spec);
-extern char *OS_SpecToString(const OSSpec *spec, char *output, int maxlen);
-extern char *OS_PathSpecToString(const OSPathSpec *spec, char *output, int maxlen);
-extern char *OS_NameSpecToString(const OSNameSpec *spec, char *output, int maxlen);
-extern int OS_SizeOfPathSpec(const OSPathSpec *spec);
-extern int OS_SizeOfNameSpec(const OSNameSpec *spec);
-extern int OS_EqualSpec(const OSSpec *a, const OSSpec *b);
-extern int OS_EqualPathSpec(const OSPathSpec *a, const OSPathSpec *b);
-extern int OS_EqualNameSpec(const OSNameSpec *a, const OSNameSpec *b);
-extern int OS_IsDir(const OSSpec *spec);
-extern int OS_IsFile(const OSSpec *spec);
-extern int OS_IsLink(const OSSpec *spec);
-extern int OS_ResolveLink(const OSSpec *src, OSSpec *dest);
-extern int OS_OpenDir(const OSPathSpec *spec, void *data); // TODO arg type
-extern int OS_ReadDir(void *data, OSSpec *spec, OSNameSpec *nameSpec, Boolean *pFlag);
-extern int OS_CloseDir(void *data); // TODO arg type
-extern long OS_GetMilliseconds();
-extern time_t OS_GetTime(time_t *p);
-extern int OS_NewHandle(unsigned long size, OSHandle *hand);
-extern int OS_ResizeHandle(OSHandle *hand, unsigned long newSize);
-extern void *OS_LockHandle(OSHandle *hand);
-extern void OS_UnlockHandle(OSHandle *hand);
-extern int OS_FreeHandle(OSHandle *hand);
-extern int OS_GetHandleSize(OSHandle *hand, unsigned long *pSize);
-extern void OS_InvalidateHandle(OSHandle *handle);
-extern Boolean OS_ValidHandle(OSHandle *handle);
-extern short OS_MacError(int err);
-extern void OS_TimeToMac(time_t t, unsigned long *pMacTime);
-extern time_t OS_MacToTime(unsigned long macTime, time_t *p);
-extern short OS_RefToMac(int ref);
-extern int OS_MacToRef(short macRef);
-extern int OS_OpenLibrary(const char *a, int *p);
-extern int OS_GetLibrarySymbol(void *a, void *b, int *p);
-extern int OS_CloseLibrary(void *a);
-extern int OS_LoadMacResourceFork(const OSSpec *spec, void **unkA, void **unkB);
-extern int OS_IsMultiByte(const char *str, int offset);
-extern char *strcatn(char *dst, const char *src, int maxlen);
-extern char *strcpyn(char *dst, const char *src, int maxlen);
-extern int ustrcmp(const char *a, const char *b);
-extern int ustrncmp(const char *a, const char *b, int maxlen);
-
-/********************************/
-/* OS TU 2 */
-extern int WildCardMatch(const char *a, const char *b);
-extern OSSpec *OS_MatchPath(const char *path);
-extern char *OS_GetFileNamePtr(char *path);
-extern char *OS_GetDirName(const OSPathSpec *spec, char *buf, int bufsize);
-extern int OS_MakeSpec2(const char *a, const char *b, OSSpec *spec);
-extern int OS_MakeSpecWithPath(const char *pathSpec, const char *str, Boolean flag, OSSpec *spec);
-extern int OS_NameSpecChangeExtension(OSNameSpec *nameSpec, const char *newExt, Boolean flag);
-extern int OS_NameSpecSetExtension(OSNameSpec *nameSpec, const char *newExt);
-extern char *OS_CompactPaths(char *str, const char *a, const char *b, int lenmaybe);
-extern char *OS_SpecToStringRelative(const OSSpec *spec, const OSPathSpec *pathSpec, char *outbuf, int outlen);
-extern int OS_FindFileInPath(const char *filename, const char *paths, OSSpec *spec);
-extern int OS_FindProgram(const char *path, OSSpec *spec);
-extern int OS_CopyHandle(OSHandle *src, OSHandle *dest);
-extern int OS_AppendHandle(OSHandle *hand, const void *data, long size);
-
-/********************************/
-/* CLProj.c */
-typedef struct Proj {
- Target *target;
- OSPathSpec projDir;
- OSNameSpec projName;
-} Proj;
-extern int Proj_Initialize(Proj *proj);
-extern int Proj_Terminate(Proj *this);
-
-/********************************/
-/* ?? License */
-extern void License_Initialize();
-extern void License_Terminate();
-extern long License_Checkout();
-extern void License_Refresh();
-extern void License_Checkin();
-extern void License_AutoCheckin();
-
-/********************************/
-/* ?? 'x' funcs */
-extern void *xmalloc(const char *str, size_t amount);
-extern void *xcalloc(const char *str, size_t amount);
-extern void *xrealloc(const char *str, void *curPtr, size_t amount);
-extern char *xstrdup(const char *str);
-extern void xfree(void *ptr);
-
-/********************************/
-/* CLPluginRequests.cpp */
-extern Boolean SendParserRequest(
- Plugin *plugin,
- Target *target,
- CWCommandLineArgs *args,
- CWDataType cpu,
- CWDataType os,
- int numPlugin,
- void *pluginInfo,
- int numPanels,
- void *panelNames,
- void *pluginArgs,
- void *panelArgs,
- const char *cmdlineBuildDate,
- const char *cmdlineBuildTime,
- ToolVersionInfo *toolVersionInfo
- );
-extern Boolean SendCompilerRequest(Plugin *plugin, File *file, short request);
-extern Boolean SendTargetInfoRequest(Target *target, Plugin *linker, int flags);
-extern Boolean SendLinkerRequest(Plugin *plugin, int flags, CWTargetInfo *targetInfo);
-extern Boolean SendDisassemblerRequest(Plugin *plugin, File *file);
-extern Boolean SendInitOrTermRequest(Plugin *plugin, Boolean action);
-
-/********************************/
-/* ?? LM funcs */
-extern unsigned long LMGetTicks();
-extern unsigned long LMGetTime();
-extern short LMGetMemErr();
-extern void LMSetMemErr(short err);
-
-/********************************/
-/* CLFileOps.c */
-extern int GetOutputFile(); // TODO args
-extern int StoreObjectFile(); // TODO args
-extern int CompileFilesInProject();
-extern int LinkProject();
-
-/********************************/
-/* CLPrefs.c */
-extern PrefPanel *PrefPanel_New(const char *name, void *data, long dataSize);
-extern Handle PrefPanel_GetHandle(PrefPanel *panel);
-extern int PrefPanel_PutHandle(PrefPanel *panel, Handle handle);
-extern void Prefs_Initialize();
-extern void Prefs_Terminate();
-extern Boolean Prefs_AddPanel(PrefPanel *panel);
-extern PrefPanel *Prefs_FindPanel(const char *name);
-
-/********************************/
-/* CLTarg.c */
-extern Target *Target_New(const char *name, CWDataType cpu, CWDataType os, CWDataType language);
-extern void Target_Free(Target *target);
-extern void Targets_Term(Target *targets);
-extern void Target_Add(Target **targets, Target *targetToAdd);
-
-/********************************/
-/* CLAccessPaths.c */
-extern Path *Path_Init(const OSPathSpec *pathSpec, Path *path);
-extern Path *Path_New(const OSPathSpec *pathSpec);
-extern void Path_Free(Path *path);
-extern Boolean Paths_Initialize(Paths *paths);
-extern Boolean Paths_Terminate(Paths *paths);
-//static Boolean Paths_GrowPaths(Paths *paths, unsigned short *pIndex);
-extern Boolean Paths_AddPath(Paths *paths, Path *path);
-extern Boolean Paths_InsertPath(Paths *paths, unsigned short index, Path *path);
-extern Boolean Paths_RemovePath(Paths *paths, unsigned short index);
-extern Boolean Paths_DeletePath(Paths *paths, unsigned short index);
-extern Path *Paths_GetPath(Paths *paths, unsigned short index);
-extern unsigned short Paths_Count(const Paths *paths);
-extern Boolean Paths_FindPath(const Paths *paths, const Path *path);
-extern Path *Paths_FindPathSpec(const Paths *paths, const OSPathSpec *pathSpec);
-//static Boolean GatherRecurse(Paths *paths, Path *path);
-extern Boolean Paths_GatherRecurse(Paths *paths);
-extern int Paths_CountRecurse(Paths *paths);
-//static void CopyRecurseFSS(FSSpec **pFss, Paths *paths, unsigned short *pCount);
-extern void Paths_CopyRecurseFSS(FSSpec *fss, Paths *paths, unsigned short count);
-//static Boolean Frameworks_Initialize(Frameworks *frameworks);
-//static Boolean Frameworks_Grow(Frameworks *frameworks, unsigned short *pIndex);
-//static Boolean Frameworks_Add(Frameworks *frameworks, Framework *framework);
-//static Framework *Framework_Init(OSSpec *frameworkSpec, const char *name, const char *version, Framework *framework, Path *containingPath, Boolean flag);
-//static Framework *Framework_New(OSSpec *frameworkSpec, const char *name, const char *version, Path *containingPath, Boolean flag);
-//static Boolean CheckForFileInFrameworkDir(char *buf, const char *dir, OSPathSpec *pathSpec, const char *filename);
-//static Boolean CheckForFileInFramework(char *buf, int fwIndex, const char *filename);
-extern Boolean MakeFrameworkPath(char *buf, const char *frameworkName, OSPathSpec **pOutputSpec);
-extern Boolean Frameworks_AddPath(const OSPathSpec *pathSpec);
-extern Boolean Frameworks_AddFramework(const char *frameworkName, const char *version, Boolean flag);
-extern void Framework_GetEnvInfo();
-extern int Frameworks_GetCount();
-extern Framework *Frameworks_GetInfo(int index);
-
-/********************************/
-/* MacSpecs.c */
-// This is pretty much self-contained lol
-extern OSErr OS_OSPathSpec_To_VolDir(const OSPathSpec *pathSpec, short *pVol, long *pDir);
-extern OSErr OS_OSSpec_To_FSSpec(const OSSpec *spec, FSSpec *fss);
-extern OSErr OS_VolDir_To_OSNameSpec(short vol, long dir, OSNameSpec *nameSpec, long *pDir);
-extern OSErr OS_VolDir_To_OSPathSpec(short vol, long dir, OSPathSpec *pathSpec);
-extern OSErr OS_FSSpec_To_OSSpec(const FSSpec *fss, OSSpec *spec);
-extern OSErr OS_GetRsrcOSSpec(const OSSpec *baseSpec, OSSpec *rsrcSpec, Boolean createFlag);
-
-/********************************/
-/* StringUtils.c */
-extern StringPtr _pstrcpy(StringPtr dst, ConstStringPtr src);
-extern StringPtr _pstrcat(StringPtr dst, ConstStringPtr src);
-extern StringPtr _pstrcharcat(StringPtr dst, unsigned char c);
-extern StringPtr pstrncpy(StringPtr dst, ConstStringPtr src, short maxlen);
-extern StringPtr pstrncat(StringPtr dst, ConstStringPtr src, short maxlen);
-extern int pstrcmp(ConstStringPtr a, ConstStringPtr b);
-extern int pstrchr(ConstStringPtr str, char c);
-extern void c2pstrcpy(StringPtr dst, const char *src);
-extern void p2cstrcpy(char *dst, ConstStringPtr src);
-extern char *mvprintf(char *str, size_t size, const char *format, va_list ap);
-extern char *mprintf(char *str, size_t size, const char *format, ...);
-extern int HPrintF(Handle hand, const char *format, ...);
-
-/********************************/
-/* ?? Handle emulation */
-typedef struct MacHandle {
- char *addr;
- OSHandle hand;
-} MacHandle;
-extern OSHandle *OS_PeekMacHandle(MacHandle *mh);
-//static void FixHandlePtr(MacHandle *mh, char *ptr);
-extern MacHandle *OS_CreateMacHandle(OSHandle *hand);
-extern MacHandle *OS_CreateMacHandleDup(MacHandle *mh);
-extern void OS_DestroyMacHandle(MacHandle *mh, OSHandle *hand);
-
-extern OSErr MemError();
-extern Handle NewHandle(long byteCount);
-extern Handle NewHandleClear(long byteCount);
-extern Handle TempNewHandle(long logicalSize, OSErr *resultCode);
-extern void DisposeHandle(Handle h);
-extern void HLock(Handle h);
-extern void HLockHi(Handle h);
-extern void HUnlock(Handle h);
-extern void HPurge(Handle h);
-extern void HNoPurge(Handle h);
-extern SInt8 HGetState(Handle h);
-extern void HSetState(Handle h, SInt8 flags);
-extern long GetHandleSize(Handle h);
-extern void SetHandleSize(Handle h, long size);
-extern OSErr PtrAndHand(const void *ptr1, Handle hand2, long size);
-extern OSErr PtrToHand(const void *srcPtr, Handle *dstHndl, long size);
-extern OSErr HandToHand(Handle *theHndl);
-extern OSErr HandAndHand(Handle hand1, Handle hand2);
-extern void MoveHHi(Handle h);
-extern void BlockMove(const void *srcPtr, void *destPtr, long byteCount);
-extern void BlockMoveData(const void *srcPtr, void *destPtr, long byteCount);
-extern Ptr NewPtr(long byteCount);
-extern void DisposePtr(Ptr p);
-extern Ptr NewPtrClear(long byteCount);
-extern void DebugStr(ConstStringPtr debuggerMsg);
-extern OSErr HandleZone();
-extern OSErr ApplicationZone();
-
-/********************************/
-/* Files.c */
-typedef struct FileParamInfo { // i think this is internal, move it once i impl Files.c
- unsigned long creationDate;
- unsigned long modifiedDate;
- long logicalLen;
- long physicalLen;
- long rLogicalLen;
- long rPhysicalLen;
- long x18;
- long x1C;
- unsigned char attrib;
-} FileParamInfo; // assumed name
-//static int OS_GetFileParamInfo(const OSSpec *spec, FileParamInfo *info, FInfo *finfo);
-//static int OS_SetFileParamInfo(const OSSpec *spec, FileParamInfo *info, FInfo *finfo);
-extern OSErr HCreate(short vRefNum, long dirID, ConstStr255Param fileName, OSType creator, OSType fileType);
-extern OSErr HOpen(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum);
-extern OSErr HOpenDF(short vRefNum, long dirID, ConstStr255Param fileName, SInt8 permission, short *refNum);
-extern OSErr HDelete(short vRefNum, long dirID, ConstStr255Param fileName);
-extern OSErr HRename(short vRefNum, long dirID, ConstStr255Param oldName, ConstStr255Param newName);
-extern OSErr HGetFInfo(short vRefNum, long dirID, ConstStr255Param fileName, FInfo *fndrInfo);
-extern OSErr HSetFInfo(short vRefNum, long dirID, ConstStr255Param fileName, const FInfo *fndrInfo);
-extern OSErr FSpCreate(const FSSpec *spec, OSType creator, OSType fileType, ScriptCode scriptTag);
-extern OSErr FSpDirCreate(const FSSpec *spec, ScriptCode scriptTag, long *createdDirID);
-extern OSErr FSpOpenDF(const FSSpec *spec, SInt8 permission, short *refNum);
-extern OSErr FSpDelete(const FSSpec *spec);
-extern OSErr FSpRename(const FSSpec *spec, ConstStr255Param newName);
-extern OSErr FSpGetFInfo(const FSSpec *spec, FInfo *fndrInfo);
-extern OSErr FSpSetFInfo(const FSSpec *spec, const FInfo *fndrInfo);
-extern OSErr HGetVol(StringPtr volName, short *vRefNum, long *dirID);
-extern OSErr HSetVol(ConstStr63Param volName, short vRefNum, long dirID);
-extern OSErr FlushVol(ConstStr63Param volName, short vRefNum);
-extern OSErr FSRead(short refNum, long *count, void *buffPtr);
-extern OSErr FSWrite(short refNum, long *count, const void *buffPtr);
-extern OSErr FSClose(short refNum);
-extern OSErr GetEOF(short refNum, long *logEOF);
-extern OSErr SetEOF(short refNum, long logEOF);
-extern OSErr GetFPos(short refNum, long *filePos);
-extern OSErr SetFPos(short refNum, short posMode, long posOff);
-extern OSErr GetVInfo(short drvNum, StringPtr volName, short *vRefNum, long *freeBytes);
-extern OSErr PBWriteSync(ParmBlkPtr paramBlock);
-extern OSErr PBHGetFInfoSync(HParmBlkPtr paramBlock);
-extern OSErr PBHSetFInfoSync(HParmBlkPtr paramBlock);
-extern OSErr PBGetCatInfoSync(CInfoPBPtr paramBlock);
-extern OSErr ResolveAliasFile(FSSpec *theSpec, Boolean resolveAliasChains, Boolean *targetIsFolder, Boolean *wasAliased);
-extern OSErr FSMakeFSSpec(short vRefNum, long dirID, ConstStr255Param fileName, FSSpec *spec);
-extern OSErr Allocate(short refNum, long *count);
-extern StringPtr c2pstr(char *str);
-extern char *p2cstr(StringPtr str);
-extern short CharacterByteType(Ptr textBuf, short textOffset, ScriptCode script);
-extern short CharByte();
-extern void GetDateTime(unsigned long *secs);
-extern Boolean EqualString(ConstStr255Param str1, ConstStr255Param str2, Boolean caseSensitive, Boolean diacSensitive);
-extern void GetIndString(Str255 theString, short strListID, short index);
-extern char *getindstring(char *theString, short strListID, short index);
-extern void NumToString(long theNum, Str255 theString);
-extern void StringToNum(ConstStr255Param theString, long *theNum);
-
-/********************************/
-/* MacFileTypes.c */
-extern int AddFileTypeMappingList(void *a, void *b); // TODO sig
-extern void UseFileTypeMappings(void *a); // TODO sig
-extern OSErr SetMacFileType(const FSSpec *fss, void *a); // TODO sig
-extern OSErr GetMacFileType(const FSSpec *fss, void *a); // TODO sig
-
-/********************************/
-/* CLFiles.c */
-extern File *File_New();
-extern void File_Free(File *file);
-extern int Files_Initialize(Files *this);
-extern int Files_Terminate(Files *this);
-extern int Files_AddFile(Files *this, File *file);
-extern int Files_InsertFile(Files *this, File *file, int index);
-extern File *Files_GetFile(Files *this, int filenum);
-extern File *Files_FindFile(Files *this, OSSpec *spec);
-extern int Files_Count(Files *this);
-extern int VFiles_Initialize(VFile **vfiles);
-extern int VFiles_Terminate(VFile **vfiles);
-extern VFile *VFile_New(const char *name, Handle data);
-extern int VFiles_Add(VFile **vfiles, VFile *vfile);
-extern VFile *VFiles_Find(VFile *vfiles, const char *name);
-
-/********************************/
-/* CLOverlays.c */
-extern int Overlays_Initialize(Overlays *this);
-extern int Overlays_Terminate(Overlays *this);
-extern int Overlays_AddOvlGroup(Overlays *this, OvlGroup *grp, int *pIndex);
-extern OvlGroup *Overlays_GetOvlGroup(Overlays *this, int index);
-extern int Overlays_CountGroups(Overlays *this);
-extern int Overlays_AddFileToOverlay(Overlays *this, int groupIndex, int overlayIndex, int fileID);
-extern Overlay *Overlays_GetOverlayInGroup(Overlays *this, int groupIndex, int overlayIndex);
-extern int Overlays_GetFileInOverlay(Overlays *this, int groupIndex, int overlayIndex, int fileIndex);
-extern OvlGroup *OvlGroup_New(const char *name, CWAddr64 addr);
-extern void OvlGroup_Delete(OvlGroup *grp);
-extern int OvlGroup_AddOverlay(OvlGroup *this, Overlay *oly, int *pIndex);
-extern Overlay *OvlGroup_GetOverlay(OvlGroup *this, int index);
-extern int OvlGroup_CountOverlays(OvlGroup *this);
-extern Overlay *Overlay_New(const char *name);
-extern void Overlay_Delete(Overlay *oly);
-extern int Overlay_AddFile(Overlay *oly, int fileID, int *pIndex);
-extern int Overlay_GetFile(Overlay *oly, int index);
-extern int Overlay_CountFiles(Overlay *oly);
-
-/********************************/
-/* CLSegs.c */
-extern Segment *Segment_New(const char *name, unsigned short a);
-extern void Segment_Free(Segment *segment);
-extern int Segments_Initialize(Segments *segs);
-extern int Segments_Terminate(Segments *segs);
-//static Boolean Segments_GrowSegments(Segments *segments, unsigned short *pIndex);
-extern int Segments_AddSegment(Segments *segs, Segment *segment, unsigned short *pIndex);
-extern Boolean Segments_InsertSegment(Segments *segs, unsigned short index, Segment *segment);
-extern Boolean Segments_DeleteSegment(Segments *segs, unsigned short index);
-extern Segment *Segments_GetSegment(Segments *segs, unsigned short index);
-extern unsigned short Segments_Count(const Segments *segs);
-
-/********************************/
-/* CLDropinCallbacks_V10.cpp */
-// TODO
-
-/********************************/
-/* MacFileTypes.c */
-typedef struct OSFileTypeMappingListNode {
- OSFileTypeMappingList *list;
- struct OSFileTypeMappingListNode *next;
-} OSFileTypeMappingListNode; // assumed name
-extern void OS_AddFileTypeMappingList(OSFileTypeMappingListNode **node, OSFileTypeMappingList *list);
-extern void OS_UseFileTypeMappings(OSFileTypeMappingListNode *node);
-extern void OS_MacType_To_OSType(OSType mactype, uOSTypePair *ostype);
-extern int OS_SetMacFileType(const OSSpec *spec, OSType mactype);
-extern int OS_GetMacFileTypeMagic(const void *magic, int length, OSType *mactype);
-extern int OS_GetMacFileType(const OSSpec *spec, OSType *mactype);
-extern int OS_SetMacFileCreatorAndType(const OSSpec *spec, OSType creator, OSType mactype);
-
-/********************************/
-/* ?? Handles */
-//extern int OS_LoadFileHandle(OSFileHandle *fh);
-//extern int OS_WriteFileHandle(OSFileHandle *fh);
-extern int OS_NewFileHandle(const OSSpec *spec, OSHandle *hand, Boolean writeable, OSFileHandle *fh);
-extern int OS_LockFileHandle(OSFileHandle *fh, Ptr *h, unsigned long *pSize);
-extern int OS_UnlockFileHandle(OSFileHandle *fh);
-extern int OS_FreeFileHandle(OSFileHandle *fh);
-extern void OS_GetFileHandleSpec(const OSFileHandle *fh, OSSpec *spec);
-
-/********************************/
-/* CLCompilerLinkerDropin_V10.cpp */
-// TODO
-
-/********************************/
-/* CLDependencies.c */
-extern int Incls_Initialize(Incls *incls, Target *targ);
-extern void Incls_Terminate(Incls *incls);
-// IsSysIncl
-// MakeInclFileSpec
-// QuickFindFileInIncls
-// SameIncl
-// FindOrAddGlobalInclPath
-// _FindFileInPath
-// FindFileInPaths
-// AddFileToIncls
-extern int Incls_FindFileInPaths(Incls *incls, ...); // TODO sig
-extern int Deps_Initialize(Deps *deps, Incls *incls);
-extern void Deps_Terminate(Deps *deps);
-extern int Deps_ChangeSpecialAccessPath(OSPathSpec *pathSpec, Boolean flag);
-extern Path *Deps_GetSpecialAccessPath();
-//extern void SetSpecialAccessPathFromIncludeStackTOS();
-// FindDepFile
-// AddDepFile
-extern int Deps_AddDependency(); // TODO sig
-// EscapeName
-extern int Deps_ListDependencies(); // TODO sig
-
-/********************************/
-/* CLWriteObjectFile.c */
-extern Boolean WriteObjectFile(File *file, OSType creator, OSType filetype);
-extern Boolean WriteBrowseData(File *file);
-
-/********************************/
-/* CLBrowser.c */
-// GetBrowseTableInfoAndLock
-extern int Browser_Initialize(OSHandle *browsetable);
-//static int Destroy(OSHandle *hand);
-extern int Browser_Terminate(OSHandle *browsetable);
-extern int Browser_SearchFile(OSHandle *browsetable, const char *fullpath, short *pIndex);
-extern int Browser_SearchAndAddFile(OSHandle *browsetable, const char *fullpath, short *pIndex);
-//static long CalcDiskSpaceRequirements(...); // needs table type
-//static int ConvertMemToDisk(...); // needs table type
-extern int Browser_PackBrowseFile(Handle browsedata, OSHandle *browsetable, OSHandle *hand2);
-
-/********************************/
-/* ?? Include Cache */
-// TODO
-
-/********************************/
-/* ?? Error */
-extern char *GetSysErrText(short code, char *buffer);
-
-/********************************/
-/* Might be cc-mach-ppc-mw.c? */
-extern void GetStaticTarget(CWDataType *cpu, CWDataType *os);
-extern void GetStaticPluginType(CWDataType *language, CWDataType *plugintype);
-extern void GetStaticParserPluginType(CWDataType *style);
-extern int RegisterStaticTargetResources();
-extern int RegisterStaticTargetPlugins();
-
-/********************************/
-/* Might be ParserGlue-mach-ppc-cc.c? */
-extern int RegisterStaticParserToolInfo();
-
-/********************************/
-/* Might be cc-mach-ppc.c? */
-extern pascal short CWPlugin_GetDropInFlags(const DropInFlags **flags, long *flagsSize);
-extern pascal short CWPlugin_GetTargetList(const CWTargetList **targetList);
-extern pascal short CWPlugin_GetDropInName(const char **dropinName);
-extern pascal short CWPlugin_GetDisplayName(const char **displayName);
-extern pascal short CWPlugin_GetDefaultMappingList(const CWExtMapList **defaultMappingList);
-extern pascal short CWPlugin_GetPanelList(const CWPanelList **panelList);
-//_CmdLine_GetObjectFlags
-//_CWPlugin_GetVersionInfo
-//_CWPlugin_GetFileTypeMappings
-//_Linker_GetDropInFlags
-//_Linker_GetDropInName
-//_Linker_GetDisplayName
-//_Linker_GetPanelList
-//_Linker_GetTargetList
-//_Linker_GetDefaultMappingList
-extern int RegisterStaticCompilerPlugin();
-extern int RegisterCompilerResources();
-
-/********************************/
-/* libimp-mach-ppc.c */
-// some statics here
-extern int RegisterStaticLibImporterPlugin();
-extern int RegisterLibImporterResources();
-
-/********************************/
-/* TargetOptimizer-ppc-mach.c */
-extern int TargetSetOptFlags(short val, Boolean set);
-extern void TargetDisplayOptimizationOptions(Handle txt);
-extern void TargetSetPragmaOptimizationsToUnspecified();
-
-/********************************/
-/* OptimizerHelpers.c */
-extern int SetPragmaOptimizationsToUnspecified();
-extern int SetOptFlags(char *opt, void *str, ...); // two unknown args
-extern int DisplayOptimizationOptions();
-
-/********************************/
-/* Unk name lol */
-extern int TargetSetWarningFlags(short val, Boolean set);
-extern int TargetDisplayWarningOptions(Handle txt);
-
-/********************************/
-/* WarningHelpers.c */
-extern int SetWarningFlags(char *opt, void *str, ...); // two unknown args
-extern int DisplayWarningOptions();
-
-/********************************/
-/* CCompiler.c */
-
-// LOTS OF STUFF
-
-/********************************/
-/* StaticParserGlue.c */
-extern int RegisterStaticParserResources();
-extern int RegisterStaticParserPlugins();
-
-/********************************/
-/* ParserFace.c */
-extern Handle Parser_FindPrefPanel(char *name);
-extern CWResult Parser_StorePanels(CWPluginContext context);
-extern short CWParser_GetDropInFlags(const DropInFlags **flags, long *flagsSize);
-extern short CWParser_GetDropInName(const char **dropinName);
-extern short CWParser_GetDisplayName(const char **displayName);
-extern short CWParser_GetPanelList(const CWPanelList **panelList);
-extern short CWParser_GetTargetList(const CWTargetList **targetList);
-extern short CWParser_GetVersionInfo(const VersionInfo **versioninfo);
-extern short Parser_SupportsPlugin(struct CLPluginInfo *pluginfo, CWDataType cpu, CWDataType os, Boolean *isSupported);
-extern short Parser_SupportsPanels(int numPanels, char **panelNames, Boolean *isSupported);
-extern short parser_main(CWPluginContext context);
-
-extern struct ParseOptsType parseopts;
-
-/********************************/
-/* ParserHelpers.c */
-extern int FindFileInPath(const char *filename, OSSpec *fss);
-extern char *GetEnvVar(const char *name, Boolean warn, char **match);
-//static Boolean MatchesExtension(const char *list, const char *filename);
-extern int Opt_AddAccessPath(const char *opt, void *var, const char *arg);
-extern int Opt_AddFrameworkPath(const char *opt, void *var, const char *arg);
-extern int Opt_AddFramework(const char *opt, void *var, const char *arg);
-extern void ListParseMessage(void *errprint, const char *envvar, short id); // TODO funcptr sig - same as CLPReportWarning_V, CLPReportError_V
-extern int AddAccessPathList(const char *list, char sep1, char sep2, int source, char *text, Boolean system, long position, Boolean recursive);
-extern int Opt_FindAndAddFile(const char *opt, void *var, const char *arg);
-extern int Opt_FindAndAddFileRef(const char *opt, void *var, const char *arg);
-extern int Opt_AddUnixLibraryFile(const char *opt, void *var, const char *arg);
-extern int AddFileList(const char *list, char sep1, char sep2, int source, char *text, long position);
-extern int IsFileInOutputDirectory(const OSSpec *file);
-extern void GetCFileNameInOutputDirectory(const char *input, char *name, int maxlen);
-extern void GetPFileNameInOutputDirectory(const char *input, unsigned char *name, int len);
-extern void AddStringLenToHandle(Handle h, const char *str, int len);
-extern void AddStringToHandle(Handle h, const char *str);
-extern int Opt_PrintVersion(const char *opt, void *var, const char *arg);
-extern void GetFirstSourceFilenameBase(char *buffer, char *defaul);
-extern int Opt_SavePrefs(const char *opt, void *var, const char *arg);
-extern int ParseNumber(const char *arg, Boolean emit_error, long *ret, const char **endptr);
-extern int Opt_MaybeMoveAccessPaths(const char *opt, void *var, const char *arg);
-
-/********************************/
-/* ToolHelpers.c */
-extern int Opt_HandleOutputName(const char *opt, void *, const char *filename);
-extern int ValidateToolState(Boolean mustHaveFiles);
-extern void ToolReportMessage(short errid, short type, va_list va);
-extern void ToolReportWarning(short id, ...);
-extern void ToolReportError(short id, ...);
-extern void ToolReportOSError(short id, ...);
-extern void ToolReportInfo(short id, ...);
-extern int Opt_DoNotLink(const char *opt, void *var, const char *arg);
-extern int Opt_IncreaseVerbosity(const char *opt, void *var, const char *arg);
-extern int Opt_SetStage(const char *opt, void *str, const char *arg, void *unk);
-// lots of the Opt_ funcs have weird sigs, need to double check them
-extern int Opt_RedirectStream(const char *opt, void *file, const char *filename);
-
-/********************************/
-/* ParserHelpers-cc.c */
-typedef struct {
- void *value;
- const char *pragma;
- int flags;
-} Pragma; // assumed name
-extern int Opt_AddStringToDefines(const char *opt, void *str, const char *param);
-extern int Opt_DefineSymbol(const char *var, const char *value);
-extern int Opt_UndefineSymbol(const char *opt, void *, const char *arg);
-extern int Opt_AddPrefixFile(const char *opt, void *handle, const char *filename);
-extern int Opt_PragmaTrueFalse(const char *, void *flag, const char *, int flags);
-extern int Opt_PragmaFalseTrue(const char *, void *flag, const char *, int flags);
-extern int Opt_PragmaOnOff(const char *, void *flag, const char *arg);
-extern int Opt_PragmaOffOn(const char *, void *flag, const char *arg);
-extern int SetupPragmas(const Pragma *pragmas);
-
-/********************************/
-/* Arguments.c */
-typedef struct {
- short val;
- char *text;
-} ArgToken;
-enum {
- ATK_0,
- ATK_1,
- ATK_2,
- ATK_3,
- ATK_4,
- ATK_5
-};
-typedef struct {
- int argc;
- int nargv;
- char **argv;
-} anon0_50;
-
-extern void Arg_Init(int theargc, char **theargv);
-extern void Arg_Terminate();
-extern void Arg_Reset();
-extern void Arg_Stop(ArgToken *where);
-extern ArgToken *Arg_PeekToken();
-extern ArgToken *Arg_UsedToken();
-extern int Arg_IsEmpty();
-extern ArgToken *Arg_GetToken();
-extern ArgToken *Arg_UndoToken();
-extern const char *Arg_GetTokenName(ArgToken *tok);
-extern const char *Arg_GetTokenText(ArgToken *tok, char *buffer, int maxlen, unsigned char warn);
-extern void Arg_InitToolArgs(anon0_50 *ta);
-extern void Arg_AddToToolArgs(anon0_50 *ta, short tokval, char *toktxt);
-extern void Arg_FinishToolArgs(anon0_50 *ta);
-extern void Arg_ToolArgsForPlugin(anon0_50 *ta, struct CWCommandLineArgs *args);
-extern void Arg_FreeToolArgs(anon0_50 *ta);
-
-/********************************/
-/* ToolHelpers-cc.c */
-extern int Opt_DummyLinkerRoutine(const char *opt);
-extern int Opt_DummyLinkerSettingRoutine(const char *var, const char *val);
-extern void FinishCompilerTool();
-
-/********************************/
-/* IO.c */
-extern void ShowTextHandle(const char *description, Handle text);
-extern void ShowVersion(Boolean decorate);
-
-/********************************/
-/* Projects.c */
-extern int GetFileCount();
-extern void SetFileOutputName(long position, short which, char *outfilename);
-extern int AddFileToProject(OSSpec *oss, short which, char *outfilename, Boolean exists, long position);
-extern Boolean GetFileInfo(long position, OSSpec *spec, char *plugin);
-extern int AddAccessPath(const OSPathSpec *oss, short type, long position, Boolean recursive);
-extern int MoveSystemPathsIntoUserList();
-extern void AddVirtualFile(const char *filename, Handle *text);
-extern void GetOutputFileDirectory(OSPathSpec *dir);
-extern void SetOutputFileDirectory(const OSPathSpec *dir);
-extern void AddOverlayGroup(const char *name, CWAddr64 *addr, long *groupnum, long *overlaynum);
-extern void AddOverlay(long groupnum, const char *name, long *overlaynum);
-extern void AddSegment(const char *name, short attrs, long *segmentnum);
-extern void ChangeSegment(long segmentnum, const char *name, short attrs);
-extern int GetSegment(long segmentnum, char *name, short *attrs);
-
-/********************************/
-/* Targets.c */
-extern int SetParserToolInfo(ParserTool *tool);
-extern Boolean ParserToolMatchesPlugin(CWDataType type, CWDataType lang, CWDataType cpu, CWDataType os);
-extern Boolean ParserToolHandlesPanels(int numPanels, const char **panelNames);
-extern Boolean SetupParserToolOptions();
-
-/********************************/
-/* Option.c */
-typedef struct {
- void *first;
- void *second;
-} Opt50;
-typedef struct {
- Option *opt;
- char *curopt;
-} Opt52;
-typedef struct {
- union {
- Opt50 v;
- OptionList *lst;
- Opt52 o;
- char *param;
- } e;
- short flags;
-} Opt48;
-//static void Option_PushList(OptionList *lst);
-//static void Option_PushOpt(Option *opt, const char *optname);
-//static void Option_PopOpt(const char *optname);
-//static void Option_PopList();
-extern void Args_InitStack();
-extern int Args_StackSize();
-extern void Args_Push(short flags, void *first, void *second);
-extern Opt48 *Args_Pop(short flags);
-extern void Args_SpellStack(char *buffer, short flags);
-extern void Args_AddToToolArgs(anon0_50 *ta);
-extern void Options_Init();
-extern OptionList *Options_GetOptions();
-extern void Options_SortOptions();
-//static void Options_AddOption(Option *opt);
-extern int Options_AddList(OptionList *optlst);
-extern int Options_AddLists(OptionList **optlst);
-//static void Options_Reset(OptionList *optlst);
-//static void Option_SpellList(char *buffer, OptionList *conflicts, int flags);
-extern int Option_ForTool(Option *opt, int which);
-extern int Option_ThisTool();
-extern int Option_ForThisTool(Option *opt);
-extern int Option_AlsoPassedToTool(Option *opt, int which);
-extern int Option_AlsoPassedFromThisTool(Option *opt);
-//static Boolean Option_ContinuesThisLevel(int level, ArgToken *tok);
-//static Boolean Option_IsEndingThisLevel(int level, ArgToken *tok);
-//static Boolean Option_IsEndingLevel(int level, ArgToken *tok);
-extern int Option_Parse(Option *opt, int oflags);
-//static int Option_MatchString(char *list, char *str, int flags, int *result);
-//static Option *Option_Lookup(OptionList *search, void *unk, int *flags);
-//static int Options_DoParse(OptionList *search, int flags);
-extern int Options_Parse(OptionList *options, int flags);
-extern int Option_ParseDefaultOption(OptionList *options);
-extern void Option_ParamError(short id, va_list ap);
-extern void Option_ParamWarning(short id, va_list ap);
-extern void Option_OptionError(short id, va_list ap);
-extern void Option_OptionWarning(short id, va_list ap);
-extern void Option_Error(short id, ...);
-extern void Option_Warning(short id, ...);
-extern int Options_Help(const char *keyword);
-extern int Option_Help(const char *opt);
-extern int Options_DisplayHelp();
-
-/********************************/
-/* ParserErrors.c */
-extern void CLPReportError_V(const char *format, va_list ap);
-extern void CLPReportWarning_V(const char *format, va_list ap);
-extern void CLPReport_V(const char *format, va_list ap);
-extern void CLPStatus_V(const char *format, va_list ap);
-extern void CLPAlert_V(const char *format, va_list ap);
-extern void CLPOSAlert_V(const char *format, long err, va_list ap);
-extern void CLPGetErrorString(short errid, char *buffer);
-extern void CLPReportError(short errid, ...);
-extern void CLPReportWarning(short errid, ...);
-extern void CLPReport(short errid, ...);
-extern void CLPAlert(short errid, ...);
-extern void CLPOSAlert(short errid, short err, ...);
-extern void CLPProgress(short errid, ...);
-extern void CLPStatus(short errid, ...);
-extern void CLPFatalError(const char *format, ...);
-
-extern char curopt[1024];
-
-/********************************/
-/* Utils.c */
-// something is weird with these parameters
-// they're supposed to be just "char"...
-extern int my_tolower(unsigned char c);
-extern int my_isdigit(unsigned char c);
-extern int my_isalpha(unsigned char c);
-extern int my_isalnum(unsigned char c);
-extern int my_isxdigit(unsigned char c);
-extern char *Utils_SpellList(char *list, char *buffer, char opts);
-extern int Utils_CompareOptionString(const char *a, const char *b, int cased, int sticky);
-
-/********************************/
-/* Parameter.c */
-extern void Param_DescHelp(PARAM_T *param, const char **desc, const char **help, const char **defaul);
-extern int Param_Compare(PARAM_T *param);
-extern int Params_Parse(PARAM_T *param, int flags);
-extern void Param_Error(short id, ...);
-extern void Param_Warning(short id, ...);
-
-/********************************/
-/* Help.c */
-extern int Help_Option(struct OptionList *lst, struct Option *opt, int subprint, const char *keyword);
-extern void Help_Options(struct OptionList *lst, int subprint, const char *keyword);
-extern void Help_Usage();
-extern void Help_Null();
-extern void Help_Init();
-extern void Help_Line(char ch);
-extern void Help_Term();
-
-/********************************/
-/* */
-
-/********************************/
-/* */
-
-/********************************/
-/* ?? COS */
-// static COS_pstrcpy
-// static COS_pstrcat
-// static COS_pstrcharcat
-// static COS_pstrcmp
-extern Handle COS_NewHandle(long byteCount);
-extern Handle COS_NewOSHandle(long logicalSize);
-extern void COS_FreeHandle(Handle handle);
-extern Boolean COS_ResizeHandle(Handle handle, long newSize);
-extern long COS_GetHandleSize(Handle handle);
-extern void COS_LockHandle(Handle handle);
-extern void COS_LockHandleHi(Handle handle);
-extern void COS_UnlockHandle(Handle handle);
-extern int COS_GetHandleState(Handle handle);
-extern void COS_SetHandleState(Handle handle, int state);
-extern Boolean COS_IsLockedState(int state);
-extern char *COS_NewPtr(long byteCount);
-extern char *COS_NewPtrClear(long byteCount);
-extern void COS_FreePtr(char *ptr);
-extern void COS_AppendPtrToHandle(char *ptr1, Handle hand2, long size);
-extern short COS_GetMemErr();
-extern long COS_GetTicks();
-extern long COS_GetTime();
-extern void COS_GetString(char *buffer, short strListID, short index);
-extern void COS_GetPString(unsigned char *buffer, short strListID, short index);
-extern Boolean COS_IsMultiByte(char *buffer, char *str);
-extern short COS_FileNew(const FSSpec *spec, short *refNum, FourCharCode creator, FourCharCode fileType);
-extern short COS_FileOpen(const FSSpec *spec, short *refNum);
-extern short COS_FileGetType(const FSSpec *spec, FourCharCode *fileType);
-extern short COS_FileGetSize(short refNum, long *logEOF);
-extern short COS_FileRead(short refNum, void *buffPtr, long count);
-extern short COS_FileWrite(short refNum, const void *buffPtr, long count);
-extern short COS_FileGetPos(short refNum, long *filePos);
-extern short COS_FileSetPos(short refNum, long filePos);
-extern short COS_FileClose(short refNum);
-extern void COS_FileSetFSSpec(FSSpec *spec, unsigned char *path);
-extern short COS_FileMakeFSSpec(short vRefNum, long dirID, unsigned char *fileName, FSSpec *spec);
-extern short COS_FileMakeFSSpecWithPath(const FSSpec *inputSpec, unsigned char *fileName, FSSpec *spec);
-extern short COS_FileGetFileInfo(const FSSpec *spec, OSType *creator, OSType *fileType);
-extern void COS_FileGetFSSpecInfo(const FSSpec *spec, short *vRefNum, long *dirID, unsigned char *fileName);
-//static void COS_MakePath(short vRefNum, long dirID, char *path);
-extern void COS_FileGetPathName(char *buffer, const FSSpec *spec, long *mdDat);
-extern Boolean COS_EqualFileSpec(const FSSpec *a, const FSSpec *b);
-
-/********************************/
-/* */
-
-// TODO sort me
-extern Proj *gProj;
-extern ParserTool *pTool;
-extern PCmdLine optsCmdLine;
-extern PCmdLineEnvir optsEnvir;
-extern PCmdLineCompiler optsCompiler;
-extern PCmdLineLinker optsLinker;
-extern CLState clState;
-
-/********************************/
-/* CmdLineBuildDate.c */
-extern char CMDLINE_BUILD_DATE[];
-extern char CMDLINE_BUILD_TIME[];
-
-
-/********************************/
-/* MISC */
-extern void IO_Terminate();
-extern void SetupDebuggingTraps();
-extern void AppendArgumentList(void *unk1, void *unk2, const char *arg);
-
-extern int (*PrefPanelsChangedCallback)(const char *);
-extern Boolean systemHandles;
-extern char *MAINOPTCHAR;
-extern char *SEPOPTSTR;
-extern char compat;
-extern anon0_50 linkargs;
-
-#ifdef __cplusplus
-}
-#endif