LinkDLLUnit.pas 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. unit LinkDLLUnit;
  2. interface
  3. uses
  4. Classes;
  5. const
  6. LinkLibCurInterfaceVersion = 17;
  7. llcdTI92 = $01;
  8. llcdTI89 = $02;
  9. llcdTI92Plus = $04;
  10. llcdV200 = $08;
  11. llcdFlagTitanium = $100;
  12. llffTIOS = 0;
  13. llffTIOSUpgrade = 1;
  14. llfrMain = 0;
  15. llfrData = 1;
  16. llmtError = 0;
  17. llmtWarning = 1;
  18. type
  19. TLinkLibDestFile = packed record
  20. Data: Pointer;
  21. end;
  22. TLinkLibDataVarInfo = packed record
  23. VarName: PChar;
  24. CreateCopy,
  25. CopyOnlyIfArchived: WordBool;
  26. end;
  27. TLinkLibOptimizeInfo = packed record
  28. RemoveUnused,
  29. OptimizeRelocs,
  30. OptimizeNOPs,
  31. OptimizeReturns,
  32. OptimizeBranches,
  33. OptimizeMoves,
  34. OptimizeTests,
  35. OptimizeCalcs,
  36. UseFLineJumps,
  37. Use4ByteFLineJumps,
  38. CutRanges,
  39. ReorderSections,
  40. MergeConstants: WordBool;
  41. ProgramSize,
  42. DataSize,
  43. BSSSize,
  44. RelocCount,
  45. NativeRelocCount,
  46. OptimizeBranchesResult,
  47. OptimizeMovesResult,
  48. OptimizeTestsResult,
  49. OptimizeCalcsResult,
  50. UseFLineJumpsResult,
  51. CutRangesResult,
  52. NearAssemblyResult: LongInt;
  53. end;
  54. PCharArray = array [0..MaxListSize-1] of PChar;
  55. PPChar = ^PCharArray;
  56. TLinkLibGetInterfaceVersion = function: LongInt; cdecl;
  57. TLinkLibGetOutputFile = function (var DestFile: TLinkLibDestFile; FileSize, DestCalc, FileRole, FileFormat, FileType: LongInt; Extension: PChar; Executable: WordBool; var EffectiveSize: LongInt): WordBool; cdecl;
  58. TLinkLibFinalizeOutputFile = procedure (var DestFile: TLinkLibDestFile); cdecl;
  59. TLinkLibError = procedure (FileName, Text: PChar; MessageType: LongInt); cdecl;
  60. TLinkLibLinkFiles = function (ObjectFiles, ArchiveFiles: PPChar; ErrorMessage: TLinkLibError; GetOutputFile: TLinkLibGetOutputFile; FinalizeOutputFile: TLinkLibFinalizeOutputFile; NativeMode, FlashOS, Fargo: WordBool; var DataVarInfo: TLinkLibDataVarInfo; var OptimizeInfo: TLinkLibOptimizeInfo; OmitBSSInitialization: WordBool): ShortInt; cdecl;
  61. TLinkLibCreateArchive = function (DestFile: PChar; ObjectFiles: PPChar; ErrorMessage: TLinkLibError; NoNames: WordBool): ShortInt; cdecl;
  62. implementation
  63. end.