home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / m2 / CycloneModules.lha / modules / txt / UtilityL.def < prev    next >
Text File  |  1994-12-14  |  4KB  |  107 lines

  1. (**************************************************************************)
  2. (*                                                                        *)
  3. (* Definition Module (C) Copyright 1994 Marcel Timmermans.                *)
  4. (* Date     : 06 Feb 1994                                                 *)
  5. (* Language : Modula-2                                                    *)
  6. (*                                                                        *)
  7. (**************************************************************************)
  8.  
  9. DEFINITION MODULE UtilityL {"utility.library",36};
  10.  
  11. FROM SYSTEM IMPORT ADDRESS, LONGSET;
  12.  
  13. IMPORT ExecD,Reg,UtilityD;
  14.  
  15. VAR
  16.  utilityBase:ExecD.LibraryPtr;
  17.  
  18. (* *** TagItem FUNCTIONS *** *)
  19.  
  20. PROCEDURE FindTagItem(
  21.            tagVal{Reg.D0}:UtilityD.Tag;
  22.            tagList{Reg.A0}:UtilityD.TagItemPtr):UtilityD.TagItemPtr; CODE -30;
  23.  
  24. PROCEDURE GetTagData(
  25.            tagVal{Reg.D0}:UtilityD.Tag;
  26.            defaultVal{Reg.D1}:LONGCARD;
  27.            tagList{Reg.A0}:UtilityD.TagItemPtr):LONGCARD; CODE -36;
  28.  
  29. PROCEDURE PackBoolTags(
  30.            initialFlags{Reg.D0}:LONGSET;
  31.            tagList{Reg.A0}:UtilityD.TagItemPtr;
  32.            boolMap{Reg.A1}:UtilityD.TagItemPtr):LONGSET; CODE -42;
  33.  
  34. PROCEDURE NextTagItem(
  35.            VAR tagListPtr{Reg.A0}:UtilityD.TagItemPtr):UtilityD.TagItemPtr; CODE -48;
  36.  
  37. PROCEDURE FilterTagChanges(
  38.            newTagList{Reg.A0},oldTagList{Reg.A1}:UtilityD.TagItemPtr;
  39.            apply{Reg.D0}:BOOLEAN); CODE -54;
  40.  
  41. PROCEDURE MapTags(
  42.            tagList{Reg.A0},mapList{Reg.A1}:UtilityD.TagItemPtr;
  43.            includeMiss{Reg.D0}:LONGCARD); CODE -60;
  44.  
  45. PROCEDURE AllocateTagItems(
  46.            numItems{Reg.D0}:LONGCARD):UtilityD.TagItemPtr; CODE -66;
  47.  
  48. PROCEDURE CloneTagItems(
  49.            tagList{Reg.A0}:UtilityD.TagItemPtr):UtilityD.TagItemPtr; CODE -72;
  50.  
  51. PROCEDURE FreeTagItems(tagList{Reg.A0}:UtilityD.TagItemPtr); CODE -78;
  52.  
  53. PROCEDURE RefreshTagItemClones(
  54.            cloneList{Reg.A0},origList{Reg.A1}:UtilityD.TagItemPtr); CODE -84;
  55.  
  56. PROCEDURE TagInArray(
  57.            tagVal{Reg.D0}:UtilityD.Tag;
  58.            tagArray{Reg.A0}:UtilityD.TagPtr):BOOLEAN; CODE -90;
  59.  
  60. PROCEDURE FilterTagItems(
  61.            tagList{Reg.A0}:UtilityD.TagItemPtr;
  62.            filterArray{Reg.A1}:UtilityD.TagPtr;
  63.            logic{Reg.D0}:LONGINT):LONGCARD; CODE -96;
  64.  
  65. (* *** HOOK FUNCTIONS *** * *)
  66. PROCEDURE CallHookPkt(
  67.            hook{Reg.A0}:UtilityD.HookPtr;
  68.            object{Reg.A2},paramPacket{Reg.A1}:ADDRESS):LONGCARD; CODE -102;
  69.  
  70. (* *** DATE FUNCTIONS *** * *)
  71. PROCEDURE Amiga2Date(
  72.            amigaTime{Reg.D0}:LONGCARD;
  73.            VAR date{Reg.A0}:UtilityD.ClockData); CODE -120;
  74.  
  75. PROCEDURE Date2Amiga(VAR date{Reg.A0}:UtilityD.ClockData):LONGCARD; CODE -126;
  76.  
  77. PROCEDURE CheckDate(VAR date{Reg.A0}:UtilityD.ClockData):LONGCARD; CODE -132;
  78.  
  79. (* *** 32 BIT MATH FUNCTIONS *** * *)
  80. PROCEDURE SMult32(
  81.            factor1{Reg.D0},factor2{Reg.D1}:LONGINT):LONGINT; CODE -138;
  82.  
  83. PROCEDURE UMult32(
  84.            factor1{Reg.D0},factor2{Reg.D1}:LONGCARD):LONGCARD; CODE -144;
  85.  
  86. (* NOTE: Quotient:Remainder returned in d0:d1 *)
  87.  
  88. PROCEDURE SDivMod32(
  89.            dividend{Reg.D0},divisor{Reg.D1}:LONGINT):LONGINT; CODE -150;
  90.  
  91. PROCEDURE UDivMod32(
  92.            dividend{Reg.D0},divisor{Reg.D1}:LONGCARD):LONGCARD; CODE -156;
  93.  
  94. (* *** International string routines *** *)
  95. PROCEDURE Stricmp(string1{Reg.A0}:ADDRESS;
  96.                   string2{Reg.A1}:ADDRESS):LONGINT; CODE -162;
  97.  
  98. PROCEDURE Strnicmp(string1{Reg.A0}:ADDRESS;
  99.                    string2{Reg.A1}:ADDRESS;
  100.                    length{Reg.D0}:LONGINT):LONGINT; CODE -168;
  101.  
  102. PROCEDURE ToUpper(character{Reg.D0}:CHAR):CHAR; CODE -174;
  103.  
  104. PROCEDURE ToLower(character{Reg.D0}:CHAR):CHAR; CODE -180;
  105.  
  106. END UtilityL.
  107.