mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-02 22:50:21 +02:00
amunits: syscall-ified ASL
git-svn-id: trunk@28585 -
This commit is contained in:
parent
bb4659ceb6
commit
842a5ecc4d
@ -553,15 +553,15 @@ Const
|
||||
VAR AslBase : pLibrary;
|
||||
|
||||
|
||||
FUNCTION AllocAslRequest(reqType : ULONG; tagList : pTagItem) : POINTER;
|
||||
FUNCTION AllocFileRequest : pFileRequester;
|
||||
FUNCTION AslRequest(requester : POINTER; tagList : pTagItem) : BOOLEAN;
|
||||
PROCEDURE FreeAslRequest(requester : POINTER);
|
||||
PROCEDURE FreeFileRequest(fileReq : pFileRequester);
|
||||
FUNCTION RequestFile(fileReq : pFileRequester) : BOOLEAN;
|
||||
FUNCTION AllocAslRequest(reqType : ULONG location 'd0'; tagList : pTagItem location 'a0') : POINTER; syscall AslBase 048;
|
||||
FUNCTION AllocFileRequest : pFileRequester; syscall AslBase 030;
|
||||
FUNCTION AslRequest(requester : POINTER location 'a0'; tagList : pTagItem location 'a1') : LongInt; syscall AslBase 060;
|
||||
PROCEDURE FreeAslRequest(requester : POINTER location 'a0'); syscall AslBase 054;
|
||||
PROCEDURE FreeFileRequest(fileReq : pFileRequester location 'a0'); syscall AslBase 036;
|
||||
FUNCTION RequestFile(fileReq : pFileRequester location 'a0') : LongInt; syscall AslBase 042;
|
||||
|
||||
PROCEDURE AbortAslRequest(requester : POINTER);
|
||||
PROCEDURE ActivateAslRequest(requester : POINTER);
|
||||
PROCEDURE AbortAslRequest(requester : POINTER location 'a0'); syscall AslBase 078;
|
||||
PROCEDURE ActivateAslRequest(requester : POINTER location 'a0'); syscall AslBase 084;
|
||||
|
||||
{Here we read how to compile this unit}
|
||||
{You can remove this include and use a define instead}
|
||||
@ -580,104 +580,6 @@ IMPLEMENTATION
|
||||
uses amsgbox;
|
||||
{$endif dont_use_openlib}
|
||||
|
||||
FUNCTION AllocAslRequest(reqType : ULONG; tagList : pTagItem) : POINTER;
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVE.L reqType,D0
|
||||
MOVEA.L tagList,A0
|
||||
MOVEA.L AslBase,A6
|
||||
JSR -048(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
MOVE.L D0,@RESULT
|
||||
END;
|
||||
END;
|
||||
|
||||
FUNCTION AllocFileRequest : pFileRequester;
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L AslBase,A6
|
||||
JSR -030(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
MOVE.L D0,@RESULT
|
||||
END;
|
||||
END;
|
||||
|
||||
FUNCTION AslRequest(requester : POINTER; tagList : pTagItem) : BOOLEAN;
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L requester,A0
|
||||
MOVEA.L tagList,A1
|
||||
MOVEA.L AslBase,A6
|
||||
JSR -060(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
TST.W D0
|
||||
BEQ.B @end
|
||||
MOVEQ #1,D0
|
||||
@end: MOVE.B D0,@RESULT
|
||||
END;
|
||||
END;
|
||||
|
||||
PROCEDURE FreeAslRequest(requester : POINTER);
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L requester,A0
|
||||
MOVEA.L AslBase,A6
|
||||
JSR -054(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
END;
|
||||
END;
|
||||
|
||||
PROCEDURE FreeFileRequest(fileReq : pFileRequester);
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L fileReq,A0
|
||||
MOVEA.L AslBase,A6
|
||||
JSR -036(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
END;
|
||||
END;
|
||||
|
||||
FUNCTION RequestFile(fileReq : pFileRequester) : BOOLEAN;
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L fileReq,A0
|
||||
MOVEA.L AslBase,A6
|
||||
JSR -042(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
TST.W D0
|
||||
BEQ.B @end
|
||||
MOVEQ #1,D0
|
||||
@end: MOVE.B D0,@RESULT
|
||||
END;
|
||||
END;
|
||||
|
||||
PROCEDURE AbortAslRequest(requester : POINTER);
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L requester,A0
|
||||
MOVEA.L AslBase,A6
|
||||
JSR -078(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
END;
|
||||
END;
|
||||
|
||||
PROCEDURE ActivateAslRequest(requester : POINTER);
|
||||
BEGIN
|
||||
ASM
|
||||
MOVE.L A6,-(A7)
|
||||
MOVEA.L requester,A0
|
||||
MOVEA.L AslBase,A6
|
||||
JSR -084(A6)
|
||||
MOVEA.L (A7)+,A6
|
||||
END;
|
||||
END;
|
||||
|
||||
const
|
||||
{ Change VERSION and LIBVERSION to proper values }
|
||||
|
@ -142,7 +142,7 @@ BEGIN
|
||||
|
||||
fr := AllocAslRequest(ASL_FileRequest,@mytags);
|
||||
IF fr <> NIL THEN BEGIN
|
||||
IF AslRequest(fr,NIL) THEN BEGIN
|
||||
IF AslRequest(fr,NIL) <> 0 THEN BEGIN
|
||||
IF (strlen(fr^.rf_Dir) >0) and (strlen(fr^.rf_File) > 0) THEN begin
|
||||
strcopy(path,fr^.rf_Dir);
|
||||
strcopy(fname,fr^.rf_File);
|
||||
@ -248,7 +248,7 @@ BEGIN
|
||||
|
||||
fr := AllocAslRequest(ASL_FontRequest,@mytags);
|
||||
IF fr <> NIL THEN BEGIN
|
||||
IF AslRequest(fr,NIL) THEN BEGIN
|
||||
IF AslRequest(fr,NIL) <> 0 THEN BEGIN
|
||||
WITH finfo DO BEGIN
|
||||
nfi_Name := strpas(fr^.fo_Attr.ta_Name);
|
||||
nfi_Size := fr^.fo_Attr.ta_YSize;
|
||||
@ -322,7 +322,7 @@ BEGIN
|
||||
|
||||
fr := AllocAslRequest(ASL_FileRequest,@mytags);
|
||||
IF fr <> NIL THEN BEGIN
|
||||
IF AslRequest(fr,NIL) THEN BEGIN
|
||||
IF AslRequest(fr,NIL) <> 0 THEN BEGIN
|
||||
IF (strlen(fr^.rf_Dir) >0) THEN begin
|
||||
strcopy(path,fr^.rf_Dir);
|
||||
result := true;
|
||||
@ -382,7 +382,7 @@ BEGIN
|
||||
|
||||
fr := AllocAslRequest(ASL_FileRequest,@mytags);
|
||||
IF fr <> NIL THEN BEGIN
|
||||
IF AslRequest(fr,NIL) THEN BEGIN
|
||||
IF AslRequest(fr,NIL) <> 0 THEN BEGIN
|
||||
IF (strlen(fr^.rf_Dir) >0) THEN begin
|
||||
strcopy(path,fr^.rf_Dir);
|
||||
result := true;
|
||||
@ -445,7 +445,7 @@ BEGIN
|
||||
|
||||
fr := AllocAslRequest(ASL_FileRequest,@mytags);
|
||||
IF fr <> NIL THEN BEGIN
|
||||
IF AslRequest(fr,NIL) THEN BEGIN
|
||||
IF AslRequest(fr,NIL) <> 0 THEN BEGIN
|
||||
IF (strlen(fr^.rf_Dir) >0) and (strlen(fr^.rf_File) > 0) THEN begin
|
||||
strcopy(path,fr^.rf_Dir);
|
||||
strcopy(fname,fr^.rf_File);
|
||||
|
@ -232,7 +232,7 @@ end;
|
||||
|
||||
FUNCTION AslRequestTags(requester : POINTER; Const argv : Array Of Const) : BOOLEAN;
|
||||
begin
|
||||
AslRequestTags := AslRequest(requester,readintags(argv));
|
||||
AslRequestTags := AslRequest(requester,readintags(argv)) <> 0;
|
||||
end;
|
||||
|
||||
FUNCTION ObtainInfo(glyphEngine : pGlyphEngine; Const argv : Array Of Const) : ULONG;
|
||||
|
Loading…
Reference in New Issue
Block a user