浏览代码

added more host specific types, unified notation

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@7804 8c9fc860-2736-0410-a75d-ab315db34111
eth.guenter 7 年之前
父节点
当前提交
169c13f2c2

+ 16 - 10
source/Generic.Linux.AMD64.Unix.Mod

@@ -153,11 +153,9 @@ TYPE
 	Sigset_t= ARRAY 16 OF ADDRESS;
 	Sigset_t= ARRAY 16 OF ADDRESS;
 	SignalTrap = PROCEDURE ( sig: LONGINT; mc: Mcontext );
 	SignalTrap = PROCEDURE ( sig: LONGINT; mc: Mcontext );
 	
 	
-	pid_t*		= LONGINT;
 	path_t*	= ARRAY OF CHAR;
 	path_t*	= ARRAY OF CHAR;
 	arg_t*		= ARRAY OF CHAR;
 	arg_t*		= ARRAY OF CHAR;
 	argv_t*	= ARRAY OF arg_t;
 	argv_t*	= ARRAY OF arg_t;
-	off_t*	= SIZE;
 
 
 
 
 CONST
 CONST
@@ -251,7 +249,7 @@ CONST
 
 
 TYPE
 TYPE
 	Termios* = RECORD
 	Termios* = RECORD
-		iflags*, oflags*, cflags*, lflags*: SET;
+		iflags*, oflags*, cflags*, lflags*: SET32;
 		line*: CHAR;
 		line*: CHAR;
 		cc*	: ARRAY 32 OF CHAR;
 		cc*	: ARRAY 32 OF CHAR;
 		ispeed-, ospeed-: LONGINT
 		ispeed-, ospeed-: LONGINT
@@ -261,18 +259,26 @@ TYPE
 
 
 
 
 TYPE
 TYPE
-	DevT* = LONGWORD;
-	InoT* = LONGWORD;
+	dev_t*		= HUGEINT;
+	ino_t*		= HUGEINT;
+	nlink_t*	= HUGEINT;
+	mode_t*	= LONGINT;
+	off_t*		= HUGEINT;
+	blksize_t*= HUGEINT;
+	blkcnt_t*	= HUGEINT;
+	uid_t*		= LONGINT;
+	gid_t*		= LONGINT;
+	pid_t*		= LONGINT;
 
 
 	Status* = RECORD
 	Status* = RECORD
-				dev-		: DevT;
-				ino-		: InoT;
+				dev-		: dev_t;
+				ino-		: ino_t;
 				nlink-		: LONGWORD;
 				nlink-		: LONGWORD;
 				mode-	: WORD;
 				mode-	: WORD;
 				uid-		: WORD;
 				uid-		: WORD;
 				gid-		: WORD;
 				gid-		: WORD;
 				pad0-		: WORD;
 				pad0-		: WORD;
-				rdev-		: DevT;
+				rdev-		: dev_t;
 				size-		: LONGWORD;
 				size-		: LONGWORD;
 				blksize-	: LONGWORD;
 				blksize-	: LONGWORD;
 				blocks-	: LONGWORD;
 				blocks-	: LONGWORD;
@@ -314,8 +320,8 @@ TYPE
 
 
 
 
 	Dirent* = POINTER TO RECORD
 	Dirent* = POINTER TO RECORD
-				ino-	: InoT;
-				off-	: LONGWORD;
+				ino-	: ino_t;
+				off-	: off_t;
 				reclen-	: INTEGER;
 				reclen-	: INTEGER;
 				typ-		: CHAR;
 				typ-		: CHAR;
 				name-	: (*array of*) CHAR;
 				name-	: (*array of*) CHAR;

+ 15 - 13
source/Generic.Linux.I386.Unix.Mod

@@ -153,11 +153,9 @@ TYPE
 	Sigset_t= ARRAY 32 OF ADDRESS;
 	Sigset_t= ARRAY 32 OF ADDRESS;
 	SignalTrap = PROCEDURE ( sig: LONGINT; mc: Mcontext );
 	SignalTrap = PROCEDURE ( sig: LONGINT; mc: Mcontext );
 	
 	
-	pid_t*		= LONGINT;
 	path_t*	= ARRAY OF CHAR;
 	path_t*	= ARRAY OF CHAR;
 	arg_t*		= ARRAY OF CHAR;
 	arg_t*		= ARRAY OF CHAR;
 	argv_t*	= ARRAY OF arg_t;
 	argv_t*	= ARRAY OF arg_t;
-	off_t*	= SIZE;
 
 
 
 
 CONST
 CONST
@@ -261,18 +259,26 @@ TYPE
 
 
 
 
 TYPE
 TYPE
-	DevT* = HUGEINT;
-	InoT* = LONGINT;
+	dev_t*		= HUGEINT;
+	ino_t*		= LONGINT;
+	nlink_t*	= LONGINT;
+	mode_t*	= LONGINT;
+	off_t*		= LONGINT;
+	blksize_t*= LONGINT;
+	blkcnt_t*	= LONGINT;
+	uid_t*		= LONGINT;
+	gid_t*		= LONGINT;
+	pid_t*		= LONGINT;
 
 
 	Status* = RECORD
 	Status* = RECORD
-				dev-		: DevT;
+				dev-		: dev_t;
 				unused1-	: LONGINT;
 				unused1-	: LONGINT;
-				ino-		: InoT;
+				ino-		: ino_t;
 				mode-	: LONGINT;
 				mode-	: LONGINT;
 				nlink-		: LONGINT;
 				nlink-		: LONGINT;
 				uid-		: LONGINT;
 				uid-		: LONGINT;
 				gid-		: LONGINT;
 				gid-		: LONGINT;
-				rdev-		: DevT;
+				rdev-		: dev_t;
 				unused2-	: LONGINT;
 				unused2-	: LONGINT;
 				size-		: LONGINT;
 				size-		: LONGINT;
 				blksize-	: LONGINT;
 				blksize-	: LONGINT;
@@ -315,8 +321,8 @@ TYPE
 
 
 
 
 	Dirent* = POINTER TO RECORD
 	Dirent* = POINTER TO RECORD
-				ino-	: InoT;   (* this may change to HUGEINT in future Linux releases!! *)
-				off-	: LONGINT;   (* this may change to HUGEINT in future Linux releases!! *)
+				ino-	: ino_t;   
+				off-	: off_t;   
 				reclen-	: INTEGER;
 				reclen-	: INTEGER;
 				typ-		: CHAR;
 				typ-		: CHAR;
 				name-	: (*array of*) CHAR;
 				name-	: (*array of*) CHAR;
@@ -362,10 +368,6 @@ TYPE
 				cr2-		: LONGINT
 				cr2-		: LONGINT
 			END;
 			END;
 
 
-	FPcontext* = POINTER TO FPcontextDesc;
-	FPcontextDesc* = RECORD
-				(* ... *)
-			END;
 
 
 	PThreadAttr = RECORD
 	PThreadAttr = RECORD
 		reserved1-: ARRAY 5 OF ADDRESS;
 		reserved1-: ARRAY 5 OF ADDRESS;

+ 17 - 15
source/Generic.Solaris.AMD64.Unix.Mod

@@ -261,7 +261,7 @@ CONST
 	
 	
 TYPE
 TYPE
 	Termios* = RECORD
 	Termios* = RECORD
-		iflags*, oflags*, cflags*, lflags*: SET;
+		iflags*, oflags*, cflags*, lflags*: SET32;
 		cc*: ARRAY 19 OF CHAR;
 		cc*: ARRAY 19 OF CHAR;
 		dummy-: ARRAY 2 OF LONGINT
 		dummy-: ARRAY 2 OF LONGINT
 	END;
 	END;
@@ -269,17 +269,26 @@ TYPE
 	(*------------------------------------------------------------------*)
 	(*------------------------------------------------------------------*)
 
 
 TYPE
 TYPE
-	DevT* = LONGWORD;
-	InoT* = LONGWORD;
+	dev_t*		= HUGEINT;
+	ino_t*		= HUGEINT;
+	nlink_t*	= LONGINT;
+	mode_t*	= LONGINT;
+	off_t*		= HUGEINT;
+	blksize_t*= LONGINT;
+	blkcnt_t*	= HUGEINT;
+	uid_t*		= LONGINT;
+	gid_t*		= LONGINT;
+	pid_t*		= LONGINT;
+	
 
 
 	Status* = RECORD
 	Status* = RECORD
-				dev-		: DevT;
-				ino-		: InoT;
+				dev-		: dev_t;
+				ino-		: ino_t;
 				mode-	: WORD;
 				mode-	: WORD;
 				nlink-		: WORD;
 				nlink-		: WORD;
 				uid-		: WORD;
 				uid-		: WORD;
 				gid-		: WORD;
 				gid-		: WORD;
-				rdev-		: DevT;
+				rdev-		: dev_t;
 				size-		: LONGWORD;
 				size-		: LONGWORD;
 				atime-	: Timeval;
 				atime-	: Timeval;
 				mtime-	: Timeval;
 				mtime-	: Timeval;
@@ -320,8 +329,8 @@ TYPE
 	FdSet* = ARRAY FdSetLen OF SET;
 	FdSet* = ARRAY FdSetLen OF SET;
 
 
 	Dirent* = POINTER TO RECORD
 	Dirent* = POINTER TO RECORD
-				ino-	: InoT;
-				off-	: LONGWORD;
+				ino-	: ino_t;
+				off-	: off_t;
 				reclen-	: INTEGER;
 				reclen-	: INTEGER;
 				name-	: (*array of*) CHAR;
 				name-	: (*array of*) CHAR;
 			END;
 			END;
@@ -377,11 +386,6 @@ TYPE
 				r_gsbase	: HUGEINT;
 				r_gsbase	: HUGEINT;
 			END;
 			END;
 
 
-	FPcontext* = POINTER TO FPcontextDesc;
-	FPcontextDesc* = RECORD
-				i387-	: ARRAY 95 OF LONGINT;
-				filler-	: ARRAY 5 OF LONGINT
-			END;
 			
 			
 	Sigaction = RECORD
 	Sigaction = RECORD
 				sa_flags: LONGINT;
 				sa_flags: LONGINT;
@@ -395,8 +399,6 @@ TYPE
 		unused: ARRAY 8 OF LONGINT; 
 		unused: ARRAY 8 OF LONGINT; 
 	END;
 	END;
 			
 			
-	pid_t*	= WORD;
-	off_t* = LONGWORD;
 	
 	
 	OberonXErrorHandler* = PROCEDURE ( disp, err: ADDRESS ): LONGINT;
 	OberonXErrorHandler* = PROCEDURE ( disp, err: ADDRESS ): LONGINT;
 	OberonXIOErrorHandler* = PROCEDURE ( disp: ADDRESS ): LONGINT;
 	OberonXIOErrorHandler* = PROCEDURE ( disp: ADDRESS ): LONGINT;

+ 17 - 10
source/Generic.Solaris.I386.Unix.Mod

@@ -269,18 +269,27 @@ TYPE
 	(*------------------------------------------------------------------*)
 	(*------------------------------------------------------------------*)
 
 
 TYPE
 TYPE
-	DevT* = LONGINT;
-	InoT* = LONGINT;
-
+	dev_t*		= LONGINT;
+	ino_t*		= LONGINT;
+	nlink_t*	= LONGINT;
+	mode_t*	= LONGINT;
+	off_t*		= LONGINT;
+	blksize_t*= LONGINT;
+	blkcnt_t*	= LONGINT;
+	uid_t*		= LONGINT;
+	gid_t*		= LONGINT;
+	pid_t*		= LONGINT;
+	
+	
 	Status* = RECORD
 	Status* = RECORD
-				dev-		: DevT;
+				dev-		: dev_t;
 				pad1-		: ARRAY 3 OF LONGINT;
 				pad1-		: ARRAY 3 OF LONGINT;
-				ino-		: InoT;
+				ino-		: ino_t;
 				mode-	: LONGINT;
 				mode-	: LONGINT;
 				nlink-		: LONGINT;
 				nlink-		: LONGINT;
 				uid-		: LONGINT;
 				uid-		: LONGINT;
 				gid-		: LONGINT;
 				gid-		: LONGINT;
-				rdev-		: DevT;
+				rdev-		: dev_t;
 				pad2-		: ARRAY 2 OF LONGINT;
 				pad2-		: ARRAY 2 OF LONGINT;
 				size-		: LONGINT;
 				size-		: LONGINT;
 				pad3-		: LONGINT;
 				pad3-		: LONGINT;
@@ -323,8 +332,8 @@ TYPE
 	FdSet* = ARRAY FdSetLen OF SET;
 	FdSet* = ARRAY FdSetLen OF SET;
 
 
 	Dirent* = POINTER TO RECORD
 	Dirent* = POINTER TO RECORD
-				ino-	: InoT;
-				off-	: LONGINT;
+				ino-	: ino_t;
+				off-	: off_t;
 				reclen-	: INTEGER;
 				reclen-	: INTEGER;
 				name-	: (*array of*) CHAR;
 				name-	: (*array of*) CHAR;
 			END;
 			END;
@@ -389,8 +398,6 @@ TYPE
 		unused: ARRAY 8 OF LONGINT; 
 		unused: ARRAY 8 OF LONGINT; 
 	END;
 	END;
 			
 			
-	pid_t*	= LONGINT;
-	off_t* = SIZE;
 	
 	
 	OberonXErrorHandler* = PROCEDURE ( disp, err: ADDRESS ): LONGINT;
 	OberonXErrorHandler* = PROCEDURE ( disp, err: ADDRESS ): LONGINT;
 	OberonXIOErrorHandler* = PROCEDURE ( disp: ADDRESS ): LONGINT;
 	OberonXIOErrorHandler* = PROCEDURE ( disp: ADDRESS ): LONGINT;

+ 2 - 2
source/Unix.UnixFiles.Mod

@@ -530,8 +530,8 @@ TYPE
 				fd: LONGINT;
 				fd: LONGINT;
 				workName, registerName: Filename;
 				workName, registerName: Filename;
 				tempFile: BOOLEAN;
 				tempFile: BOOLEAN;
-				dev: Unix.DevT;
-				ino: Unix.InoT;
+				dev: Unix.dev_t;
+				ino: Unix.ino_t;
 				mtime: HUGEINT;
 				mtime: HUGEINT;
 				fsize, fpos: SIZE;
 				fsize, fpos: SIZE;
 				bufs: ARRAY NBufs OF Buffer;
 				bufs: ARRAY NBufs OF Buffer;