mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 20:22:24 +00:00
fixed x86_64/Unix.Mod, swapped mode and nlink fields
This commit is contained in:
parent
909a06c48a
commit
c9c82e0a97
14 changed files with 286 additions and 3 deletions
BIN
ocat
BIN
ocat
Binary file not shown.
BIN
showdef
BIN
showdef
Binary file not shown.
|
|
@ -206,8 +206,8 @@ typedef struct
|
||||||
Status* = RECORD (* struct stat *)
|
Status* = RECORD (* struct stat *)
|
||||||
dev* : LONGINT; (* dev_t 8 *)
|
dev* : LONGINT; (* dev_t 8 *)
|
||||||
ino* : LONGINT; (* ino 8 *)
|
ino* : LONGINT; (* ino 8 *)
|
||||||
nlink* : LONGINT;
|
mode*(*nlink**) : LONGINT;
|
||||||
mode* : INTEGER;
|
nlink*(*mode**) : INTEGER;
|
||||||
uid*, gid*: INTEGER;
|
uid*, gid*: INTEGER;
|
||||||
rdev* : LONGINT;
|
rdev* : LONGINT;
|
||||||
size* : LONGINT;
|
size* : LONGINT;
|
||||||
|
|
|
||||||
70
src/lib/ulm/armv6j_hardfp/ulmSysTypes.Mod
Normal file
70
src/lib/ulm/armv6j_hardfp/ulmSysTypes.Mod
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
(* Ulm's Oberon Library
|
||||||
|
Copyright (C) 1989-1994 by University of Ulm, SAI, D-89069 Ulm, Germany
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
Ulm's Oberon Library is free software; you can redistribute it
|
||||||
|
and/or modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either version
|
||||||
|
2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
Ulm's Oberon Library is distributed in the hope that it will be
|
||||||
|
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
E-mail contact: oberon@mathematik.uni-ulm.de
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
$Id: SysTypes.om,v 1.1 1994/02/23 08:01:38 borchert Exp $
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
$Log: SysTypes.om,v $
|
||||||
|
Revision 1.1 1994/02/23 08:01:38 borchert
|
||||||
|
Initial revision
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
AFB 9/89
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
*)
|
||||||
|
|
||||||
|
MODULE ulmSysTypes;
|
||||||
|
|
||||||
|
IMPORT Types := ulmTypes;
|
||||||
|
|
||||||
|
TYPE
|
||||||
|
Address* = Types.Address;
|
||||||
|
UntracedAddress* = Types.UntracedAddress;
|
||||||
|
Count* = Types.Count;
|
||||||
|
Size* = Types.Size;
|
||||||
|
Byte* = Types.Byte;
|
||||||
|
|
||||||
|
File* = (*INTEGER*)LONGINT; (* in ulm's system both INTEGER and LONGINT are 4 bytes long *)
|
||||||
|
Offset* = LONGINT;
|
||||||
|
Device* = INTEGER;
|
||||||
|
Inode* = LONGINT;
|
||||||
|
Time* = LONGINT;
|
||||||
|
|
||||||
|
Word* = INTEGER; (* must have the size of C's int-type *)
|
||||||
|
|
||||||
|
(* Note: linux supports wait4 but not waitid, i.e. these
|
||||||
|
* constants aren't needed. *)
|
||||||
|
(*
|
||||||
|
CONST
|
||||||
|
(* possible values of the idtype parameter (4 bytes),
|
||||||
|
see <sys/procset.h>
|
||||||
|
*)
|
||||||
|
idPid = 0; (* a process identifier *)
|
||||||
|
idPpid = 1; (* a parent process identifier *)
|
||||||
|
idPgid = 2; (* a process group (job control group) identifier *)
|
||||||
|
idSid = 3; (* a session identifier *)
|
||||||
|
idCid = 4; (* a scheduling class identifier *)
|
||||||
|
idUid = 5; (* a user identifier *)
|
||||||
|
idGid = 6; (* a group identifier *)
|
||||||
|
idAll = 7; (* all processes *)
|
||||||
|
idLwpid = 8; (* an LWP identifier *)
|
||||||
|
TYPE
|
||||||
|
IdType = INTEGER; (* idPid .. idLwpid *)
|
||||||
|
*)
|
||||||
|
|
||||||
|
END ulmSysTypes.
|
||||||
70
src/lib/ulm/armv7a_hardfp/ulmSysTypes.Mod
Normal file
70
src/lib/ulm/armv7a_hardfp/ulmSysTypes.Mod
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
(* Ulm's Oberon Library
|
||||||
|
Copyright (C) 1989-1994 by University of Ulm, SAI, D-89069 Ulm, Germany
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
Ulm's Oberon Library is free software; you can redistribute it
|
||||||
|
and/or modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either version
|
||||||
|
2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
Ulm's Oberon Library is distributed in the hope that it will be
|
||||||
|
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
E-mail contact: oberon@mathematik.uni-ulm.de
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
$Id: SysTypes.om,v 1.1 1994/02/23 08:01:38 borchert Exp $
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
$Log: SysTypes.om,v $
|
||||||
|
Revision 1.1 1994/02/23 08:01:38 borchert
|
||||||
|
Initial revision
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
AFB 9/89
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
*)
|
||||||
|
|
||||||
|
MODULE ulmSysTypes;
|
||||||
|
|
||||||
|
IMPORT Types := ulmTypes;
|
||||||
|
|
||||||
|
TYPE
|
||||||
|
Address* = Types.Address;
|
||||||
|
UntracedAddress* = Types.UntracedAddress;
|
||||||
|
Count* = Types.Count;
|
||||||
|
Size* = Types.Size;
|
||||||
|
Byte* = Types.Byte;
|
||||||
|
|
||||||
|
File* = (*INTEGER*)LONGINT; (* in ulm's system both INTEGER and LONGINT are 4 bytes long *)
|
||||||
|
Offset* = LONGINT;
|
||||||
|
Device* = INTEGER;
|
||||||
|
Inode* = LONGINT;
|
||||||
|
Time* = LONGINT;
|
||||||
|
|
||||||
|
Word* = INTEGER; (* must have the size of C's int-type *)
|
||||||
|
|
||||||
|
(* Note: linux supports wait4 but not waitid, i.e. these
|
||||||
|
* constants aren't needed. *)
|
||||||
|
(*
|
||||||
|
CONST
|
||||||
|
(* possible values of the idtype parameter (4 bytes),
|
||||||
|
see <sys/procset.h>
|
||||||
|
*)
|
||||||
|
idPid = 0; (* a process identifier *)
|
||||||
|
idPpid = 1; (* a parent process identifier *)
|
||||||
|
idPgid = 2; (* a process group (job control group) identifier *)
|
||||||
|
idSid = 3; (* a session identifier *)
|
||||||
|
idCid = 4; (* a scheduling class identifier *)
|
||||||
|
idUid = 5; (* a user identifier *)
|
||||||
|
idGid = 6; (* a group identifier *)
|
||||||
|
idAll = 7; (* all processes *)
|
||||||
|
idLwpid = 8; (* an LWP identifier *)
|
||||||
|
TYPE
|
||||||
|
IdType = INTEGER; (* idPid .. idLwpid *)
|
||||||
|
*)
|
||||||
|
|
||||||
|
END ulmSysTypes.
|
||||||
|
|
@ -102,6 +102,9 @@ TYPE pchar = POINTER TO ARRAY 1 OF CHAR;
|
||||||
ELSIF syscall = Sys.pipe THEN
|
ELSIF syscall = Sys.pipe THEN
|
||||||
d0 := Unix.Pipe(arg1);
|
d0 := Unix.Pipe(arg1);
|
||||||
RETURN d0 >= 0;
|
RETURN d0 >= 0;
|
||||||
|
ELSIF syscall = Sys.newstat THEN
|
||||||
|
d0 := Unix.Stat(arg1, arg2);
|
||||||
|
RETURN d0 >= 0;
|
||||||
END
|
END
|
||||||
|
|
||||||
END UNIXCALL;
|
END UNIXCALL;
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,7 @@ MODULE ulmSysConversions;
|
||||||
size1, size2: Address; elementsleft: INTEGER; flags: Flags;
|
size1, size2: Address; elementsleft: INTEGER; flags: Flags;
|
||||||
END;
|
END;
|
||||||
|
|
||||||
Format = POINTER TO FormatRec;
|
Format* = POINTER TO FormatRec;
|
||||||
FormatRec* =
|
FormatRec* =
|
||||||
RECORD
|
RECORD
|
||||||
(Objects.ObjectRec)
|
(Objects.ObjectRec)
|
||||||
|
|
|
||||||
70
src/lib/ulm/x86/ulmSysTypes.Mod
Normal file
70
src/lib/ulm/x86/ulmSysTypes.Mod
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
(* Ulm's Oberon Library
|
||||||
|
Copyright (C) 1989-1994 by University of Ulm, SAI, D-89069 Ulm, Germany
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
Ulm's Oberon Library is free software; you can redistribute it
|
||||||
|
and/or modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either version
|
||||||
|
2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
Ulm's Oberon Library is distributed in the hope that it will be
|
||||||
|
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
E-mail contact: oberon@mathematik.uni-ulm.de
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
$Id: SysTypes.om,v 1.1 1994/02/23 08:01:38 borchert Exp $
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
$Log: SysTypes.om,v $
|
||||||
|
Revision 1.1 1994/02/23 08:01:38 borchert
|
||||||
|
Initial revision
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
AFB 9/89
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
*)
|
||||||
|
|
||||||
|
MODULE ulmSysTypes;
|
||||||
|
|
||||||
|
IMPORT Types := ulmTypes;
|
||||||
|
|
||||||
|
TYPE
|
||||||
|
Address* = Types.Address;
|
||||||
|
UntracedAddress* = Types.UntracedAddress;
|
||||||
|
Count* = Types.Count;
|
||||||
|
Size* = Types.Size;
|
||||||
|
Byte* = Types.Byte;
|
||||||
|
|
||||||
|
File* = (*INTEGER*)LONGINT; (* in ulm's system both INTEGER and LONGINT are 4 bytes long *)
|
||||||
|
Offset* = LONGINT;
|
||||||
|
Device* = LONGINT;
|
||||||
|
Inode* = LONGINT;
|
||||||
|
Time* = LONGINT;
|
||||||
|
|
||||||
|
Word* = INTEGER; (* must have the size of C's int-type *)
|
||||||
|
|
||||||
|
(* Note: linux supports wait4 but not waitid, i.e. these
|
||||||
|
* constants aren't needed. *)
|
||||||
|
(*
|
||||||
|
CONST
|
||||||
|
(* possible values of the idtype parameter (4 bytes),
|
||||||
|
see <sys/procset.h>
|
||||||
|
*)
|
||||||
|
idPid = 0; (* a process identifier *)
|
||||||
|
idPpid = 1; (* a parent process identifier *)
|
||||||
|
idPgid = 2; (* a process group (job control group) identifier *)
|
||||||
|
idSid = 3; (* a session identifier *)
|
||||||
|
idCid = 4; (* a scheduling class identifier *)
|
||||||
|
idUid = 5; (* a user identifier *)
|
||||||
|
idGid = 6; (* a group identifier *)
|
||||||
|
idAll = 7; (* all processes *)
|
||||||
|
idLwpid = 8; (* an LWP identifier *)
|
||||||
|
TYPE
|
||||||
|
IdType = INTEGER; (* idPid .. idLwpid *)
|
||||||
|
*)
|
||||||
|
|
||||||
|
END ulmSysTypes.
|
||||||
70
src/lib/ulm/x86_64/ulmSysTypes.Mod
Normal file
70
src/lib/ulm/x86_64/ulmSysTypes.Mod
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
(* Ulm's Oberon Library
|
||||||
|
Copyright (C) 1989-1994 by University of Ulm, SAI, D-89069 Ulm, Germany
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
Ulm's Oberon Library is free software; you can redistribute it
|
||||||
|
and/or modify it under the terms of the GNU Library General Public
|
||||||
|
License as published by the Free Software Foundation; either version
|
||||||
|
2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
Ulm's Oberon Library is distributed in the hope that it will be
|
||||||
|
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
|
||||||
|
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with this library; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
E-mail contact: oberon@mathematik.uni-ulm.de
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
$Id: SysTypes.om,v 1.1 1994/02/23 08:01:38 borchert Exp $
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
$Log: SysTypes.om,v $
|
||||||
|
Revision 1.1 1994/02/23 08:01:38 borchert
|
||||||
|
Initial revision
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
AFB 9/89
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
*)
|
||||||
|
|
||||||
|
MODULE ulmSysTypes;
|
||||||
|
|
||||||
|
IMPORT Types := ulmTypes;
|
||||||
|
|
||||||
|
TYPE
|
||||||
|
Address* = Types.Address;
|
||||||
|
UntracedAddress* = Types.UntracedAddress;
|
||||||
|
Count* = Types.Count;
|
||||||
|
Size* = Types.Size;
|
||||||
|
Byte* = Types.Byte;
|
||||||
|
|
||||||
|
File* = (*INTEGER*)LONGINT; (* in ulm's system both INTEGER and LONGINT are 4 bytes long *)
|
||||||
|
Offset* = LONGINT;
|
||||||
|
Device* = LONGINT;
|
||||||
|
Inode* = LONGINT;
|
||||||
|
Time* = LONGINT;
|
||||||
|
|
||||||
|
Word* = INTEGER; (* must have the size of C's int-type *)
|
||||||
|
|
||||||
|
(* Note: linux supports wait4 but not waitid, i.e. these
|
||||||
|
* constants aren't needed. *)
|
||||||
|
(*
|
||||||
|
CONST
|
||||||
|
(* possible values of the idtype parameter (4 bytes),
|
||||||
|
see <sys/procset.h>
|
||||||
|
*)
|
||||||
|
idPid = 0; (* a process identifier *)
|
||||||
|
idPpid = 1; (* a parent process identifier *)
|
||||||
|
idPgid = 2; (* a process group (job control group) identifier *)
|
||||||
|
idSid = 3; (* a session identifier *)
|
||||||
|
idCid = 4; (* a scheduling class identifier *)
|
||||||
|
idUid = 5; (* a user identifier *)
|
||||||
|
idGid = 6; (* a group identifier *)
|
||||||
|
idAll = 7; (* all processes *)
|
||||||
|
idLwpid = 8; (* an LWP identifier *)
|
||||||
|
TYPE
|
||||||
|
IdType = INTEGER; (* idPid .. idLwpid *)
|
||||||
|
*)
|
||||||
|
|
||||||
|
END ulmSysTypes.
|
||||||
BIN
voc
BIN
voc
Binary file not shown.
BIN
vocstatic
BIN
vocstatic
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue