mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-22 08:50:43 +02:00
* syscall variablenames reintroduced.
This commit is contained in:
parent
100dcf470c
commit
e0832afca6
@ -274,56 +274,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
Function SysCall( callnr:longint;var regs : SysCallregs ):longint;
|
|
||||||
{
|
|
||||||
This function serves as an interface to do_SysCall.
|
|
||||||
If the SysCall returned a negative number, it returns -1, and puts the
|
|
||||||
SysCall result in errno. Otherwise, it returns the SysCall return value
|
|
||||||
}
|
|
||||||
begin
|
|
||||||
do_SysCall(callnr,regs);
|
|
||||||
if regs.reg1<0 then
|
|
||||||
begin
|
|
||||||
ErrNo:=-regs.reg1;
|
|
||||||
SysCall:=-1;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
SysCall:=regs.reg1;
|
|
||||||
errno:=0
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
}
|
|
||||||
|
|
||||||
{$PACKRECORDS C}
|
|
||||||
{
|
|
||||||
TYPE timeval=RECORD
|
|
||||||
tv_sec,
|
|
||||||
tv_used : int64;
|
|
||||||
END;
|
|
||||||
timezone=RECORD
|
|
||||||
tz_minuteswest,
|
|
||||||
tz_dsttime : LONGINT;
|
|
||||||
END;
|
|
||||||
|
|
||||||
}
|
|
||||||
function checkreturnvalue(retval:LONGINT;value:LONGINT):LONGINT;
|
|
||||||
|
|
||||||
begin
|
|
||||||
if retval<0 THEN
|
|
||||||
begin
|
|
||||||
errno:=-retval;
|
|
||||||
checkreturnvalue:=-1;
|
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
checkreturnvalue:=value;
|
|
||||||
errno:=0
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
Function Sys_Time:longint;
|
Function Sys_Time:longint;
|
||||||
|
|
||||||
VAR tv : timeval;
|
VAR tv : timeval;
|
||||||
@ -346,43 +296,43 @@ end;
|
|||||||
Function Sys_Open(f:pchar;flags:longint;mode:integer):longint;
|
Function Sys_Open(f:pchar;flags:longint;mode:integer):longint;
|
||||||
|
|
||||||
Begin
|
Begin
|
||||||
sys_open:=do_syscall(5,longint(f),flags,mode);
|
sys_open:=do_syscall(syscall_nr_open,longint(f),flags,mode);
|
||||||
End;
|
End;
|
||||||
|
|
||||||
Function Sys_Close(f:longint):longint;
|
Function Sys_Close(f:longint):longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_close:=do_syscall(6,f);
|
sys_close:=do_syscall(syscall_nr_close,f);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function Sys_Lseek(F:longint;Off:longint;Whence:longint):longint;
|
Function Sys_Lseek(F:longint;Off:longint;Whence:longint):longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_lseek:=do_syscall(199,F,Off,Whence);
|
sys_lseek:=do_syscall(syscall_nr_lseek,F,Off,Whence);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function Sys_Read(f:longint;buffer:pchar;count:longint):longint;
|
Function Sys_Read(f:longint;buffer:pchar;count:longint):longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_read:=do_syscall(3,F,longint(buffer),count);
|
sys_read:=do_syscall(syscall_nr_read,F,longint(buffer),count);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function Sys_Write(f:longint;buffer:pchar;count:longint):longint;
|
Function Sys_Write(f:longint;buffer:pchar;count:longint):longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_write:=do_syscall(4,F,longint(buffer),count);
|
sys_write:=do_syscall(syscall_nr_write,F,longint(buffer),count);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function Sys_Unlink(Filename:pchar):longint;
|
Function Sys_Unlink(Filename:pchar):longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_unlink:=do_syscall(10,longint(Filename));
|
sys_unlink:=do_syscall(syscall_nr_unlink,longint(Filename));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function Sys_Rename(Oldname,Newname:pchar):longint;
|
Function Sys_Rename(Oldname,Newname:pchar):longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_rename:=do_syscall(38,longint(oldname),longint(newname));
|
sys_rename:=do_syscallsyscall_nr_rename,longint(oldname),longint(newname));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function Sys_Stat(Filename:pchar;var Buffer: stat):longint;
|
Function Sys_Stat(Filename:pchar;var Buffer: stat):longint;
|
||||||
@ -391,7 +341,7 @@ Function Sys_Stat(Filename:pchar;var Buffer: stat):longint;
|
|||||||
}
|
}
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_stat:=do_syscall(188,longint(filename),longint(@buffer));
|
sys_stat:=do_syscall(syscall_nr_stat,longint(filename),longint(@buffer));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function Sys_Symlink(oldname,newname:pchar):longint;
|
Function Sys_Symlink(oldname,newname:pchar):longint;
|
||||||
@ -400,14 +350,14 @@ Function Sys_Symlink(oldname,newname:pchar):longint;
|
|||||||
}
|
}
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_symlink:=do_syscall(57,longint(oldname),longint(newname));
|
sys_symlink:=do_syscall(syscall_nr_symlink,longint(oldname),longint(newname));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
Function Sys_ReadLink(name,linkname:pchar;maxlen:longint):longint;
|
Function Sys_ReadLink(name,linkname:pchar;maxlen:longint):longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_readlink:=do_syscall(58, longint(name),longint(linkname),maxlen);
|
sys_readlink:=do_syscall(syscall_nr_readlink, longint(name),longint(linkname),maxlen);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -419,26 +369,26 @@ end;
|
|||||||
Function Sys_Chdir(Filename:pchar):longint;
|
Function Sys_Chdir(Filename:pchar):longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_chdir:=do_syscall(12,longint(filename));
|
sys_chdir:=do_syscall(syscall_nr_chdir,longint(filename));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function Sys_Mkdir(Filename:pchar;mode:longint):longint;
|
Function Sys_Mkdir(Filename:pchar;mode:longint):longint;
|
||||||
|
|
||||||
begin {Mode is 16-bit on F-BSD}
|
begin {Mode is 16-bit on F-BSD}
|
||||||
sys_mkdir:=do_syscall(longint(filename),mode shl 8);
|
sys_mkdir:=do_syscall(syscall_nr_mkdir,longint(filename),mode shl 8);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function Sys_Rmdir(Filename:pchar):longint;
|
Function Sys_Rmdir(Filename:pchar):longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_rmdir:=do_syscall(137,longint(filename));
|
sys_rmdir:=do_syscall(syscall_nr_rmdir,longint(filename));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ we need this for getcwd, NOT touched for BSD version }
|
{ we need this for getcwd, NOT touched for BSD version }
|
||||||
Function OpenDir(f:pchar):pdir;
|
Function OpenDir(f:pchar):pdir;
|
||||||
|
|
||||||
var
|
var
|
||||||
fd:integer;
|
fd:longint;
|
||||||
st:stat;
|
st:stat;
|
||||||
ptr:pdir;
|
ptr:pdir;
|
||||||
begin
|
begin
|
||||||
@ -480,7 +430,7 @@ Function Sys_ReadDir(p:pdir):pdirent;
|
|||||||
var
|
var
|
||||||
retval : longint;
|
retval : longint;
|
||||||
begin
|
begin
|
||||||
retval:=do_syscall(272,longint(p^.fd),longint(p^.buf),sizeof(dirent));
|
retval:=do_syscall(syscall_nr_getdents,longint(p^.fd),longint(p^.buf),sizeof(dirent));
|
||||||
if retval=0 then
|
if retval=0 then
|
||||||
sys_readdir:=nil
|
sys_readdir:=nil
|
||||||
else
|
else
|
||||||
@ -498,18 +448,21 @@ Function sys_GetPid:LongInt;
|
|||||||
}
|
}
|
||||||
|
|
||||||
begin
|
begin
|
||||||
sys_GetPID:=do_syscall(20);
|
sys_GetPID:=do_syscall(syscall_nr_getpid);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Procedure Sys_Exit(ExitCode:longint);
|
Procedure Sys_Exit(ExitCode:longint);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
do_syscall(1,exitcode);
|
do_syscall(syscall_nr_,exitcode);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.10 2000-03-16 16:18:12 marco
|
Revision 1.11 2000-04-05 13:58:40 marco
|
||||||
|
* syscall variablenames reintroduced.
|
||||||
|
|
||||||
|
Revision 1.10 2000/03/16 16:18:12 marco
|
||||||
* Last changes before next test. ppc386 -h works with these srcs.
|
* Last changes before next test. ppc386 -h works with these srcs.
|
||||||
|
|
||||||
Revision 1.9 2000/03/02 15:34:07 marco
|
Revision 1.9 2000/03/02 15:34:07 marco
|
||||||
|
Loading…
Reference in New Issue
Block a user