@database UtilityL
@node Main "UtilityL"

Prozeduren

   @{" AllocateTagItems " link Modul 16}            @{" Amiga2Date " link Modul 19}                  @{" CallHookPkt " link Modul 23}
   @{" CheckDate " link Modul 27}                   @{" CloneTagItems " link Modul 29}               @{" Date2Amiga " link Modul 32}
   @{" FilterTagChanges " link Modul 34}            @{" FilterTagItems " link Modul 38}              @{" FindTagItem " link Modul 43}
   @{" FreeTagItems " link Modul 47}                @{" GetTagData " link Modul 49}                  @{" MapTags " link Modul 54}
   @{" NextTagItem " link Modul 58}                 @{" PackBoolTags " link Modul 61}                @{" RefreshTagItemClones " link Modul 66}
   @{" SDivMod32 " link Modul 69}                   @{" SMult32 " link Modul 72}                     @{" Stricmp " link Modul 75}
   @{" Strnicmp " link Modul 79}                    @{" TagInArray " link Modul 84}                  @{" ToLower " link Modul 88}
   @{" ToUpper " link Modul 90}                     @{" UDivMod32 " link Modul 92}                   @{" UMult32 " link Modul 95}


Konstanten

   @{" utilityMinVersion " link Modul 12}           @{" utilityName " link Modul 14}              

Variablen

   @{" utilityBase " link Modul 10}                 @{" utilityVersion " link Modul 8}           

@endnode
@node Modul "TMP:Modula-2/UtilityL.def"
DEFINITION MODULE UtilityL{"utility.library",36};
(* 10-Mar-1992/cn *)

FROM SYSTEM IMPORT ADDRESS,LONGSET;

IMPORT
 d:UtilityD,ExecD,R;

VAR
 utilityVersion:INTEGER;
 utilityBase:ExecD.@{" LibraryPtr " link ExecD/Modul 412};

CONST
 utilityMinVersion=36;
 utilityName="utility.library";

PROCEDURE @{" AllocateTagItems " link utility/AllocateTagItems() }(
           numItems{R.D0}:LONGCARD):d.@{" TagItemPtr " link UtilityD/Modul 22}; CODE -66;

PROCEDURE @{" Amiga2Date " link utility/Amiga2Date() }(
           amigaTime{R.D0}:LONGCARD;
           VAR date{R.A0}:d.@{" ClockData " link UtilityD/Modul 39}); CODE -120;

PROCEDURE @{" CallHookPkt " link utility/CallHookPkt() }(
           hook{R.A0}:d.@{" HookPtr " link UtilityD/Modul 47};
           object{R.A2},paramPacket{R.A1}:ADDRESS):LONGCARD; CODE -102;

PROCEDURE @{" CheckDate " link utility/CheckDate() }(VAR date{R.A0}:d.@{" ClockData " link UtilityD/Modul 39}):LONGCARD; CODE -132;

PROCEDURE @{" CloneTagItems " link utility/CloneTagItems() }(
           tagList{R.A0}:d.@{" TagItemPtr " link UtilityD/Modul 22}):d.@{" TagItemPtr " link UtilityD/Modul 22}; CODE -72;

PROCEDURE @{" Date2Amiga " link utility/Date2Amiga() }(VAR date{R.A0}:d.@{" ClockData " link UtilityD/Modul 39}):LONGCARD; CODE -126;

PROCEDURE @{" FilterTagChanges " link utility/FilterTagChanges() }(
           newTagList{R.A0},oldTagList{R.A1}:d.@{" TagItemPtr " link UtilityD/Modul 22};
           apply{R.D0}:BOOLEAN); CODE -54;

PROCEDURE @{" FilterTagItems " link utility/FilterTagItems() }(
           tagList{R.A0}:d.@{" TagItemPtr " link UtilityD/Modul 22};
           filterArray{R.A1}:d.@{" TagPtr " link UtilityD/Modul 21};
           logic{R.D0}:LONGINT):LONGCARD; CODE -96;

PROCEDURE @{" FindTagItem " link utility/FindTagItem() }(
           tagVal{R.D0}:d.@{" Tag " link UtilityD/Modul 14};
           tagList{R.A0}:d.@{" TagItemPtr " link UtilityD/Modul 22}):d.@{" TagItemPtr " link UtilityD/Modul 22}; CODE -30;

PROCEDURE @{" FreeTagItems " link utility/FreeTagItems() }(tagList{R.A0}:d.@{" TagItemPtr " link UtilityD/Modul 22}); CODE -78;

PROCEDURE @{" GetTagData " link utility/GetTagData() }(
           tagVal{R.D0}:d.@{" Tag " link UtilityD/Modul 14};
           defaultVal{R.D1}:LONGCARD;
           tagList{R.A0}:d.@{" TagItemPtr " link UtilityD/Modul 22}):LONGCARD; CODE -36;

PROCEDURE @{" MapTags " link utility/MapTags() }(
           tagList{R.A0},mapList{R.A1}:d.@{" TagItemPtr " link UtilityD/Modul 22};
           includeMiss{R.D0}:BOOLEAN); CODE -60;

PROCEDURE @{" NextTagItem " link utility/NextTagItem() }(
           VAR tagListPtr{R.A0}:d.@{" TagItemPtr " link UtilityD/Modul 22}):d.@{" TagItemPtr " link UtilityD/Modul 22}; CODE -48;

PROCEDURE @{" PackBoolTags " link utility/PackBoolTags() }(
           initialFlags{R.D0}:LONGSET;
           tagList{R.A0}:d.@{" TagItemPtr " link UtilityD/Modul 22};
           boolMap{R.A1}:d.@{" TagItemPtr " link UtilityD/Modul 22}):LONGSET; CODE -42;

PROCEDURE @{" RefreshTagItemClones " link utility/RefreshTagItemClones() }(
           cloneList{R.A0},origList{R.A1}:d.@{" TagItemPtr " link UtilityD/Modul 22}); CODE -84;

PROCEDURE @{" SDivMod32 " link utility/SDivMod32() }(
           dividend{R.D0},divisor{R.D1}:LONGINT):LONGINT; CODE -150;

PROCEDURE @{" SMult32 " link utility/SMult32() }(
           factor1{R.D0},factor2{R.D1}:LONGINT):LONGINT; CODE -138;

PROCEDURE(*37*) @{" Stricmp " link utility/Stricmp() }(
                 string1{R.A0}:ADDRESS;
                 string2{R.A1}:ADDRESS):LONGINT; CODE -162;

PROCEDURE(*37*) @{" Strnicmp " link utility/Strnicmp() }(
                 string1{R.A0}:ADDRESS;
                 string2{R.A1}:ADDRESS;
                 length{R.D0}:LONGINT):LONGINT; CODE -168;

PROCEDURE @{" TagInArray " link utility/TagInArray() }(
           tagVal{R.D0}:d.@{" Tag " link UtilityD/Modul 14};
           tagArray{R.A0}:d.@{" TagPtr " link UtilityD/Modul 21}):BOOLEAN; CODE -90;

PROCEDURE(*37*) @{" ToLower " link utility/ToLower() }(character{R.D0}:CHAR):CHAR; CODE -180;

PROCEDURE(*37*) @{" ToUpper " link utility/ToUpper() }(character{R.D0}:CHAR):CHAR; CODE -174;

PROCEDURE @{" UDivMod32 " link utility/UDivMod32() }(
           dividend{R.D0},divisor{R.D1}:LONGCARD):LONGCARD; CODE -156;

PROCEDURE @{" UMult32 " link utility/UMult32() }(
           factor1{R.D0},factor2{R.D1}:LONGCARD):LONGCARD; CODE -144;

END UtilityL.lib36

@endnode
