diff --git a/ocat b/ocat index 9e0aaf3f..e86cb7a8 100755 Binary files a/ocat and b/ocat differ diff --git a/showdef.REMOVED.git-id b/showdef.REMOVED.git-id index f4a95ace..d5fb45a5 100644 --- a/showdef.REMOVED.git-id +++ b/showdef.REMOVED.git-id @@ -1 +1 @@ -3c9d1b6124de30d09fec587e5f99eb4b34653feb \ No newline at end of file +e6a78d19b6e13839d6485283fe4f91d9ae3f4fea \ No newline at end of file diff --git a/src/lib/system/gnuc/x86_64/Unix.Mod b/src/lib/system/gnuc/x86_64/Unix.Mod index 2539dbd9..da06e96a 100644 --- a/src/lib/system/gnuc/x86_64/Unix.Mod +++ b/src/lib/system/gnuc/x86_64/Unix.Mod @@ -206,8 +206,8 @@ typedef struct Status* = RECORD (* struct stat *) dev* : LONGINT; (* dev_t 8 *) ino* : LONGINT; (* ino 8 *) - nlink* : LONGINT; - mode* : INTEGER; + mode*(*nlink**) : LONGINT; + nlink*(*mode**) : INTEGER; uid*, gid*: INTEGER; rdev* : LONGINT; size* : LONGINT; diff --git a/src/lib/ulm/ulmSysTypes.Mod b/src/lib/ulm/armv6j/ulmSysTypes.Mod similarity index 100% rename from src/lib/ulm/ulmSysTypes.Mod rename to src/lib/ulm/armv6j/ulmSysTypes.Mod diff --git a/src/lib/ulm/armv6j_hardfp/ulmSysTypes.Mod b/src/lib/ulm/armv6j_hardfp/ulmSysTypes.Mod new file mode 100644 index 00000000..a614c67b --- /dev/null +++ b/src/lib/ulm/armv6j_hardfp/ulmSysTypes.Mod @@ -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 + *) + 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. diff --git a/src/lib/ulm/armv7a_hardfp/ulmSysTypes.Mod b/src/lib/ulm/armv7a_hardfp/ulmSysTypes.Mod new file mode 100644 index 00000000..a614c67b --- /dev/null +++ b/src/lib/ulm/armv7a_hardfp/ulmSysTypes.Mod @@ -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 + *) + 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. diff --git a/src/lib/ulm/ulmSYSTEM.Mod b/src/lib/ulm/ulmSYSTEM.Mod index b55043e2..da4c49cc 100644 --- a/src/lib/ulm/ulmSYSTEM.Mod +++ b/src/lib/ulm/ulmSYSTEM.Mod @@ -102,6 +102,9 @@ TYPE pchar = POINTER TO ARRAY 1 OF CHAR; ELSIF syscall = Sys.pipe THEN d0 := Unix.Pipe(arg1); RETURN d0 >= 0; + ELSIF syscall = Sys.newstat THEN + d0 := Unix.Stat(arg1, arg2); + RETURN d0 >= 0; END END UNIXCALL; diff --git a/src/lib/ulm/ulmSysConversions.Mod b/src/lib/ulm/ulmSysConversions.Mod index 0710aeac..f8ea3fbb 100644 --- a/src/lib/ulm/ulmSysConversions.Mod +++ b/src/lib/ulm/ulmSysConversions.Mod @@ -139,7 +139,7 @@ MODULE ulmSysConversions; size1, size2: Address; elementsleft: INTEGER; flags: Flags; END; - Format = POINTER TO FormatRec; + Format* = POINTER TO FormatRec; FormatRec* = RECORD (Objects.ObjectRec) diff --git a/src/lib/ulm/x86/ulmSysTypes.Mod b/src/lib/ulm/x86/ulmSysTypes.Mod new file mode 100644 index 00000000..174140e7 --- /dev/null +++ b/src/lib/ulm/x86/ulmSysTypes.Mod @@ -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 + *) + 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. diff --git a/src/lib/ulm/x86_64/ulmSysTypes.Mod b/src/lib/ulm/x86_64/ulmSysTypes.Mod new file mode 100644 index 00000000..174140e7 --- /dev/null +++ b/src/lib/ulm/x86_64/ulmSysTypes.Mod @@ -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 + *) + 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. diff --git a/voc.REMOVED.git-id b/voc.REMOVED.git-id index b26f809e..c72b3c49 100644 --- a/voc.REMOVED.git-id +++ b/voc.REMOVED.git-id @@ -1 +1 @@ -57cd5fe4852aebc3f998f67036da0fcd2f7bf258 \ No newline at end of file +e4550a2bd7746a485e16a2fb4c3c22b78aa830f6 \ No newline at end of file diff --git a/vocstatic.REMOVED.git-id b/vocstatic.REMOVED.git-id index b26f809e..c72b3c49 100644 --- a/vocstatic.REMOVED.git-id +++ b/vocstatic.REMOVED.git-id @@ -1 +1 @@ -57cd5fe4852aebc3f998f67036da0fcd2f7bf258 \ No newline at end of file +e4550a2bd7746a485e16a2fb4c3c22b78aa830f6 \ No newline at end of file diff --git a/vocstatic.linux.gnuc.x86.REMOVED.git-id b/vocstatic.linux.gnuc.x86.REMOVED.git-id index 966019fd..c72b3c49 100644 --- a/vocstatic.linux.gnuc.x86.REMOVED.git-id +++ b/vocstatic.linux.gnuc.x86.REMOVED.git-id @@ -1 +1 @@ -5ff6a53fdf454f75922b12070ffd817ca5562dfe \ No newline at end of file +e4550a2bd7746a485e16a2fb4c3c22b78aa830f6 \ No newline at end of file diff --git a/vocstatic.linux.gnuc.x86_64.REMOVED.git-id b/vocstatic.linux.gnuc.x86_64.REMOVED.git-id index b26f809e..c72b3c49 100644 --- a/vocstatic.linux.gnuc.x86_64.REMOVED.git-id +++ b/vocstatic.linux.gnuc.x86_64.REMOVED.git-id @@ -1 +1 @@ -57cd5fe4852aebc3f998f67036da0fcd2f7bf258 \ No newline at end of file +e4550a2bd7746a485e16a2fb4c3c22b78aa830f6 \ No newline at end of file