/* Names of partitions in a system's subdirectory (aren't accesable via DataLibShow) */ #define PART_FUNC HIDDEN_STR"Func" #define PART_RHS HIDDEN_STR"Rhs" #define PART_DATE HIDDEN_STR"Date" /* Date and time when last change was made */ #define PART_LIB HIDDEN_STR"Lib" /* Name of dynamic-link library with code of RHS */ #define PART_MISC HIDDEN_STR"Misc" /* Miscellaneous */ #define PART_UDFLIB HIDDEN_STR"Udflib" /* dynamic library for user defined functions */ #define PART_UDFUNC HIDDEN_STR"Udfunc" /* specification of user defined functions */ #define PART_SYSFUNC HIDDEN_STR"+" /* prefix for functions which are part of system spec */ #define PART_WIN HIDDEN_STR"Win" /* window descriptions */ #define PART_WINLIB HIDDEN_STR"WinLib" /* window lib */ #define PART_DEFM HIDDEN_STR"markers" /* default markers map */ extern Global(AuxFuncPtr) PNTR AuxFuncs; Global(void) BuildAuxFunc(Boolean go); Global(void) FreeAuxFunc(void); #define DERMAX 5 /* max possible order of derivatives */ extern Global(LibHandle) FunctionsHandle; /* active functions handle */ extern Global(IntFuncEntry) FunctionsEntry; extern Global(DerFuncEntry) DerEntry[DERMAX]; extern Global(int) MaxDerOrder; /* Really needed max order of ders */ extern Global(DataLib) ArchivesLib; Global(Int2) ActivateFunction(void); Global(void) DeactivateFunction(void); Global(void) SelectFunction(Int2); Global(Boolean) SelectFunction_Status(Int2); Global(CharPtr) CountLinesAndErase_r(CharPtr p, Char c, Int2Ptr LineCount); Global(Boolean) IsErrorLine(CharPtr line, int PNTR num, CharPtr msg); typedef Int2 (PNTR PostProcPtr)(Boolean errors, CharPtr text, int linenum); Global(Int2) Compile(CharPtr cmd, PostProcPtr userproc); Global(Boolean) ProcessIncludeFile(CharPtr fn, struct stat *statbuf); typedef Boolean (PNTR NewerIncludePtr)(struct stat *statbuf); Global(Boolean) MustRecompile(DataLibPtr arch, DataLibPtr lib, CharPtr partition, Boolean fullcheck, NewerIncludePtr NewerIncludes); typedef void (PNTR ProcessName)(CharPtr name, int len, int dim); /* EnumNames callback */ typedef enum { NE_NOTALPHA=1, /* 1st letter is not an alpha char */ NE_DIM, /* dimension must be integer greater than 1 enclosed in brackets */ NE_PHASE, /* no phase var */ NE_VALUE, /* no assignment to phase' */ NE_COMPNUM /* num of comp must be ... */ } NamesError; /* Enumerates all the names from a list in the given partition */ Global(Int2) EnumNames(DataLibPtr dl, CharPtr partition, ProcessName process); typedef struct { /* Miscellaneous data related to functions */ Uint1 Der[DERMAX]; /* How to compute derivatives of orders 1-3 */ /* See contdiff.c. Must be the same */ #define DER_NUM 1 /* numerically */ #define DER_SYM 2 /* analitically */ #define DER_USER 3 /* user-supplied */ Uint1 ShowFunc; /* whether to show subfunctions window */ #define SUSPEND_NEVER 0 #define SUSPEND_SPECIAL 1 #define SUSPEND_EACH 2 Uint1 Suspend; /* suspend mode during computing */ } MiscData; extern Global(MiscData) Miscdata; Global(CharPtr) BuildH(void); Global(CharPtr) ImportCollectLines(FILE PNTR in); Global(void) ExportFuncCode(FILE PNTR out, Boolean full); Global(Int2) ImportFuncCode(FILE PNTR in, Boolean full);