* Some stuff from 1.0.x ported

This commit is contained in:
marco 2002-05-06 09:35:09 +00:00
parent a6426d100a
commit 059ebbe89e
3 changed files with 57 additions and 5 deletions

View File

@ -100,12 +100,21 @@ Const
CLONE_FILES = $00000400; // set if open files shared between processes
CLONE_SIGHAND = $00000800; // set if signal handlers shared
CLONE_PID = $00001000; // set if pid shared
ITimer_Real =0;
ITimer_Virtual =1;
ITimer_Prof =2;
type
TCloneFunc=function(args:pointer):longint;cdecl;
{
$Log$
Revision 1.5 2001-10-14 13:33:20 peter
Revision 1.6 2002-05-06 09:35:09 marco
* Some stuff from 1.0.x ported
Revision 1.5 2001/10/14 13:33:20 peter
* start of thread support for linux
Revision 1.4 2001/06/19 08:34:16 marco

View File

@ -80,9 +80,8 @@ const
syscall_nr_setgroups = 80;
syscall_nr_getpgrp = 81;
syscall_nr_setpgid = 82;
syscall_nr_setitimer = 83;
syscall_nr_swapon = 85;
syscall_nr_getitimer = 86;
syscall_nr_getdtablesize = 89;
syscall_nr_dup2 = 90;
syscall_nr_fcntl = 92;
@ -242,6 +241,9 @@ syscall_nr_getdirentries =196;
}
{More or less checked BSD syscalls}
syscall_nr_getitimer = 86;
syscall_nr_setitimer = 83;
syscall_nr_sysarch = 165;
syscall_nr_accept = 30;
syscall_nr_access = 33;
@ -316,7 +318,10 @@ syscall_nr_getdirentries =196;
{
$Log$
Revision 1.4 2001-01-22 07:25:10 marco
Revision 1.5 2002-05-06 09:35:09 marco
* Some stuff from 1.0.x ported
Revision 1.4 2001/01/22 07:25:10 marco
* IOPERM for FreeBSD. Port routines moved from linsysca to Unix again .
Revision 1.3 2000/10/26 23:00:12 peter

View File

@ -746,9 +746,47 @@ begin
LinuxError:=ErrNo;
end;
Function SetITimer(Which : Longint;Const value : ItimerVal; VarOValue:ItimerVal):Longint;
Begin
SetItimer:=Do_Syscall(syscall_nr_setitimer,Which,Longint(@Value),longint(@value));
LinuxError:=ErrNo;
End;
Function GetITimer(Which : Longint;Var value : ItimerVal):Longint;
Begin
GetItimer:=Do_Syscall(syscall_nr_getItimer,Which,Longint(@value));
LinuxError:=ErrNo;
End;
Function Alarm(Sec: Longint):Longint;
Var it,oitv : Itimerval;
Begin
// register struct itimerval *itp = ⁢
it.it_interval.sec:=0;
it.it_interval.usec:=0;
it.it_value.sec:=sec;
it.it_value.usec:=0;
If SetITimer(ITIMER_REAL,it,oitv)<0 Then
Exit(-1);
if oitv.it_value.usec<>0 Then
Inc(oitv.it_value.sec);
Alarm:=oitv.it_value.sec;
End;
{
$Log$
Revision 1.3 2001-06-19 08:59:01 marco
Revision 1.4 2002-05-06 09:35:09 marco
* Some stuff from 1.0.x ported
Revision 1.3 2001/06/19 08:59:01 marco
* Fixes from Unix merge and changes of socketh.inc
Revision 1.2 2001/06/02 00:31:30 peter