amunits: syscallified locale

git-svn-id: trunk@28653 -
This commit is contained in:
Károly Balogh 2014-09-13 20:53:22 +00:00
parent 8edfd33af8
commit e059052c57

View File

@ -34,11 +34,7 @@
nils.sjoholm@mailbox.swipnet.se
}
{$I useamigasmartlink.inc}
{$ifdef use_amiga_smartlink}
{$smartlink on}
{$endif use_amiga_smartlink}
{$PACKRECORDS 2}
UNIT locale;
@ -271,30 +267,31 @@ VAR LocaleBase : pLocaleBase;
const
LOCALENAME : PChar = 'locale.library';
PROCEDURE CloseCatalog(catalog : pCatalog);
PROCEDURE CloseLocale(locale : pLocale);
FUNCTION ConvToLower(locale : pLocale; character : ULONG) : ULONG;
FUNCTION ConvToUpper(locale : pLocale; character : ULONG) : ULONG;
PROCEDURE FormatDate(locale : pLocale; fmtTemplate : pCHAR; date : pDateStamp; putCharFunc : pHook);
FUNCTION FormatString(locale : pLocale; fmtTemplate : pCHAR; dataStream : POINTER; putCharFunc : pHook) : POINTER;
FUNCTION GetCatalogStr(catalog : pCatalog; stringNum : LONGINT; defaultString : pCHAR) : pCHAR;
FUNCTION GetLocaleStr(locale : pLocale; stringNum : ULONG) : pCHAR;
FUNCTION IsAlNum(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION IsAlpha(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION IsCntrl(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION IsDigit(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION IsGraph(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION IsLower(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION IsPrint(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION IsPunct(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION IsSpace(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION IsUpper(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION IsXDigit(locale : pLocale; character : ULONG) : BOOLEAN;
FUNCTION OpenCatalogA(locale : pLocale; name : pCHAR; tags : pTagItem) : pCatalog;
FUNCTION OpenLocale(name : pCHAR) : pLocale;
FUNCTION ParseDate(locale : pLocale; date : pDateStamp; fmtTemplate : pCHAR; getCharFunc : pHook) : BOOLEAN;
FUNCTION StrConvert(locale : pLocale; string1 : pCHAR; buffer : POINTER; bufferSize : ULONG; typ : ULONG) : ULONG;
FUNCTION StrnCmp(locale : pLocale; string1 : pCHAR; string2 : pCHAR; length : LONGINT; typ : ULONG) : LONGINT;
PROCEDURE CloseCatalog(catalog : pCatalog location 'a0'); syscall LocaleBase 036;
PROCEDURE CloseLocale(locale : pLocale location 'a0'); syscall LocaleBase 042;
FUNCTION ConvToLower(locale : pLocale location 'a0'; character : ULONG location 'd0') : ULONG; syscall LocaleBase 048;
FUNCTION ConvToUpper(locale : pLocale location 'a0'; character : ULONG location 'd0') : ULONG; syscall LocaleBase 054;
PROCEDURE FormatDate(locale : pLocale location 'a0'; fmtTemplate : pCHAR location 'a1'; date : pDateStamp location 'a2'; putCharFunc : pHook location 'a3'); syscall LocaleBase 060;
FUNCTION FormatString(locale : pLocale location 'a0'; fmtTemplate : pCHAR location 'a1'; dataStream : POINTER location 'a2'; putCharFunc : pHook location 'a3') : POINTER; syscall LocaleBase 066;
FUNCTION GetCatalogStr(catalog : pCatalog location 'a0'; stringNum : LONGINT location 'd0'; defaultString : pCHAR location 'a1') : pCHAR; syscall LocaleBase 072;
FUNCTION GetLocaleStr(locale : pLocale location 'a0'; stringNum : ULONG location 'd0') : pCHAR; syscall LocaleBase 078;
FUNCTION IsAlNum(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 084;
FUNCTION IsAlpha(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 090;
FUNCTION IsCntrl(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 096;
FUNCTION IsDigit(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 102;
FUNCTION IsGraph(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 108;
FUNCTION IsLower(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 114;
FUNCTION IsPrint(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 120;
FUNCTION IsPunct(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 126;
FUNCTION IsSpace(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 132;
FUNCTION IsUpper(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 138;
FUNCTION IsXDigit(locale : pLocale location 'a0'; character : ULONG location 'd0') : BOOLEAN; syscall LocaleBase 144;
FUNCTION OpenCatalogA(locale : pLocale location 'a0'; name : pCHAR location 'a1'; tags : pTagItem location 'a2') : pCatalog; syscall LocaleBase 150;
FUNCTION OpenLocale(name : pCHAR location 'a0') : pLocale; syscall LocaleBase 156;
FUNCTION ParseDate(locale : pLocale location 'a0'; date : pDateStamp location 'a1'; fmtTemplate : pCHAR location 'a2'; getCharFunc : pHook location 'a3') : BOOLEAN; syscall LocaleBase 162;
FUNCTION StrConvert(locale : pLocale location 'a0'; string1 : pCHAR location 'a1'; buffer : POINTER location 'a2'; bufferSize : ULONG location 'd0'; typ : ULONG location 'd1') : ULONG; syscall LocaleBase 174;
FUNCTION StrnCmp(locale : pLocale location 'a0'; string1 : pCHAR location 'a1'; string2 : pCHAR location 'a2'; length : LONGINT location 'd0'; typ : ULONG location 'd1') : LONGINT; syscall LocaleBase 180;
{Here we read how to compile this unit}
{You can remove this include and use a define instead}
@ -314,361 +311,6 @@ uses
amsgbox;
{$endif dont_use_openlib}
PROCEDURE CloseCatalog(catalog : pCatalog);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L catalog,A0
MOVEA.L LocaleBase,A6
JSR -036(A6)
MOVEA.L (A7)+,A6
END;
END;
PROCEDURE CloseLocale(locale : pLocale);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVEA.L LocaleBase,A6
JSR -042(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION ConvToLower(locale : pLocale; character : ULONG) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -048(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION ConvToUpper(locale : pLocale; character : ULONG) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -054(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
PROCEDURE FormatDate(locale : pLocale; fmtTemplate : pCHAR; date : pDateStamp; putCharFunc : pHook);
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVEA.L fmtTemplate,A1
MOVEA.L date,A2
MOVEA.L putCharFunc,A3
MOVEA.L LocaleBase,A6
JSR -060(A6)
MOVEA.L (A7)+,A6
END;
END;
FUNCTION FormatString(locale : pLocale; fmtTemplate : pCHAR; dataStream : POINTER; putCharFunc : pHook) : POINTER;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVEA.L fmtTemplate,A1
MOVEA.L dataStream,A2
MOVEA.L putCharFunc,A3
MOVEA.L LocaleBase,A6
JSR -066(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION GetCatalogStr(catalog : pCatalog; stringNum : LONGINT; defaultString : pCHAR) : pCHAR;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L catalog,A0
MOVE.L stringNum,D0
MOVEA.L defaultString,A1
MOVEA.L LocaleBase,A6
JSR -072(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION GetLocaleStr(locale : pLocale; stringNum : ULONG) : pCHAR;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L stringNum,D0
MOVEA.L LocaleBase,A6
JSR -078(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION IsAlNum(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -084(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION IsAlpha(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -090(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION IsCntrl(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -096(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION IsDigit(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -102(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION IsGraph(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -108(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION IsLower(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -114(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION IsPrint(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -120(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION IsPunct(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -126(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION IsSpace(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -132(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION IsUpper(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -138(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION IsXDigit(locale : pLocale; character : ULONG) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVE.L character,D0
MOVEA.L LocaleBase,A6
JSR -144(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION OpenCatalogA(locale : pLocale; name : pCHAR; tags : pTagItem) : pCatalog;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVEA.L name,A1
MOVEA.L tags,A2
MOVEA.L LocaleBase,A6
JSR -150(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION OpenLocale(name : pCHAR) : pLocale;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L name,A0
MOVEA.L LocaleBase,A6
JSR -156(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION ParseDate(locale : pLocale; date : pDateStamp; fmtTemplate : pCHAR; getCharFunc : pHook) : BOOLEAN;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVEA.L date,A1
MOVEA.L fmtTemplate,A2
MOVEA.L getCharFunc,A3
MOVEA.L LocaleBase,A6
JSR -162(A6)
MOVEA.L (A7)+,A6
TST.W D0
BEQ.B @end
MOVEQ #1,D0
@end: MOVE.B D0,@RESULT
END;
END;
FUNCTION StrConvert(locale : pLocale; string1 : pCHAR; buffer : POINTER; bufferSize : ULONG; typ : ULONG) : ULONG;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVEA.L string1,A1
MOVEA.L buffer,A2
MOVE.L bufferSize,D0
MOVE.L typ,D1
MOVEA.L LocaleBase,A6
JSR -174(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
FUNCTION StrnCmp(locale : pLocale; string1 : pCHAR; string2 : pCHAR; length : LONGINT; typ : ULONG) : LONGINT;
BEGIN
ASM
MOVE.L A6,-(A7)
MOVEA.L locale,A0
MOVEA.L string1,A1
MOVEA.L string2,A2
MOVE.L length,D0
MOVE.L typ,D1
MOVEA.L LocaleBase,A6
JSR -180(A6)
MOVEA.L (A7)+,A6
MOVE.L D0,@RESULT
END;
END;
const
{ Change VERSION and LIBVERSION to proper values }