mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 00:29:33 +02:00
+ implemented dos.getfattr and setfattr for i8086-msdos
git-svn-id: trunk@24696 -
This commit is contained in:
parent
b9dacce654
commit
7d757cc5ed
@ -636,15 +636,41 @@ end;
|
||||
|
||||
procedure getfattr(var f;var attr : word);
|
||||
begin
|
||||
{TODO: implement}
|
||||
runerror(304);
|
||||
dosregs.dx:=Ofs(filerec(f).name);
|
||||
dosregs.ds:=Seg(filerec(f).name);
|
||||
if LFNSupport then
|
||||
begin
|
||||
dosregs.ax:=$7143;
|
||||
dosregs.bx:=0;
|
||||
end
|
||||
else
|
||||
dosregs.ax:=$4300;
|
||||
msdos(dosregs);
|
||||
LoadDosError;
|
||||
Attr:=dosregs.cx;
|
||||
end;
|
||||
|
||||
|
||||
procedure setfattr(var f;attr : word);
|
||||
begin
|
||||
{TODO: implement}
|
||||
runerror(304);
|
||||
{ Fail for setting VolumeId. }
|
||||
if ((attr and VolumeID)<>0) then
|
||||
begin
|
||||
doserror:=5;
|
||||
exit;
|
||||
end;
|
||||
dosregs.dx:=Ofs(filerec(f).name);
|
||||
dosregs.ds:=Seg(filerec(f).name);
|
||||
if LFNSupport then
|
||||
begin
|
||||
dosregs.ax:=$7143;
|
||||
dosregs.bx:=1;
|
||||
end
|
||||
else
|
||||
dosregs.ax:=$4301;
|
||||
dosregs.cx:=attr;
|
||||
msdos(dosregs);
|
||||
LoadDosError;
|
||||
end;
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user