[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Dpathconf diffs



diff --unified ../orig/biosfs.c ./biosfs.c
--- ../orig/biosfs.c	Sun Aug  7 23:49:36 1994
+++ ./biosfs.c	Wed Aug 10 10:29:44 1994
@@ -793,6 +793,11 @@
 		return DP_AUTOTRUNC;	/* names are truncated */
 	case DP_CASE:
 		return DP_CASEINSENS;	/* not case sensitive */
+	case DP_MODEATTR:
+		return (0777L << 8)|
+				DP_FT_DIR|DP_FT_CHR;
+	case DP_XATTRFIELDS:
+		return DP_INDEX|DP_DEV|DP_RDEV|DP_NLINK|DP_UID|DP_GID;
 	default:
 		return EINVFN;
 	}
diff --unified ../orig/dosfile.c ./dosfile.c
--- ../orig/dosfile.c	Sun Aug  7 23:59:14 1994
+++ ./dosfile.c	Tue Aug  9 19:37:28 1994
@@ -1040,9 +1040,9 @@
 		if (rfd & mask) {
 			f = p->handle[i];
 			if (is_terminal(f))
-				rsel = tty_select(f, (long)p, O_RDONLY);
+				rsel = (int) tty_select(f, (long)p, O_RDONLY);
 			else
-				rsel = (*f->dev->select)(f, (long)p, O_RDONLY);
+				rsel = (int) (*f->dev->select)(f, (long)p, O_RDONLY);
 			if (rsel == 1) {
 				count++;
 				*rfdp |= mask;
@@ -1055,9 +1055,9 @@
 		if (wfd & mask) {
 			f = p->handle[i];
 			if (is_terminal(f))
-				rsel = tty_select(f, (long)p, O_WRONLY);
+				rsel = (int) tty_select(f, (long)p, O_WRONLY);
 			else
-				rsel = (*f->dev->select)(f, (long)p, O_WRONLY);
+				rsel = (int) (*f->dev->select)(f, (long)p, O_WRONLY);
 			if (rsel == 1) {
 				count++;
 				*wfdp |= mask;
diff --unified ../orig/file.h ./file.h
--- ../orig/file.h	Sun Aug  7 19:50:46 1994
+++ ./file.h	Wed Aug 10 09:59:20 1994
@@ -57,7 +57,7 @@
 #define S_IFDIR	0040000		/* directory file */
 #define S_IFREG 0100000		/* regular file */
 #define S_IFIFO 0120000		/* FIFO */
-#define S_IMEM	0140000		/* memory region or process */
+#define S_IFMEM	0140000		/* memory region or process */
 #define S_IFLNK	0160000		/* symbolic link */
 
 /* special bits: setuid, setgid, sticky bit */
@@ -318,7 +318,32 @@
 #	define	DP_CASESENS	0	/* case sensitive */
 #	define	DP_CASECONV	1	/* case always converted */
 #	define	DP_CASEINSENS	2	/* case insensitive, preserved */
-#define DP_MAXREQ	6	/* highest legal request */
+#define DP_MODEATTR		7
+#	define	DP_ATTRBITS	0x000000ffL	/* mask for valid TOS attribs */
+#	define	DP_MODEBITS	0x000fff00L	/* mask for valid Unix file modes */
+#	define	DP_FILETYPS	0xfff00000L	/* mask for valid file types */
+#	define	DP_FT_DIR	0x00100000L	/* directories (always if . is there) */
+#	define	DP_FT_CHR	0x00200000L	/* character special files */
+#	define	DP_FT_BLK	0x00400000L	/* block special files, currently unused */
+#	define	DP_FT_REG	0x00800000L	/* regular files */
+#	define	DP_FT_LNK	0x01000000L	/* symbolic links */
+#	define	DP_FT_SOCK	0x02000000L	/* sockets, currently unused */
+#	define	DP_FT_FIFO	0x04000000L	/* pipes */
+#	define	DP_FT_MEM	0x08000000L	/* shared memory or proc files */
+#define DP_XATTRFIELDS	8
+#	define	DP_INDEX	0x0001
+#	define	DP_DEV		0x0002
+#	define	DP_RDEV		0x0004
+#	define	DP_NLINK	0x0008
+#	define	DP_UID		0x0010
+#	define	DP_GID		0x0020
+#	define	DP_BLKSIZE	0x0040
+#	define	DP_SIZE		0x0080
+#	define	DP_NBLOCKS	0x0100
+#	define	DP_ATIME	0x0200
+#	define	DP_CTIME	0x0400
+#	define	DP_MTIME	0x0800
+#define DP_MAXREQ	8	/* highest legal request */
 
 /* Dpathconf and Sysconf return this when a value is not limited
    (or is limited only by available memory) */
diff --unified ../orig/pipefs.c ./pipefs.c
--- ../orig/pipefs.c	Sun Aug  7 22:00:12 1994
+++ ./pipefs.c	Wed Aug 10 10:30:22 1994
@@ -383,6 +383,11 @@
 		return DP_AUTOTRUNC;
 	case DP_CASE:
 		return DP_CASEINSENS;
+	case DP_MODEATTR:
+		return (0777L << 8)|
+				DP_FT_DIR|DP_FT_FIFO;
+	case DP_XATTRFIELDS:
+		return DP_INDEX|DP_DEV|DP_NLINK|DP_UID|DP_GID|DP_MTIME;
 	default:
 		return EINVFN;
 	}
@@ -649,8 +654,8 @@
 		if (plen < PIPESIZ) {
 			pbuf = &p->buf[(p->start + plen) & (PIPESIZ - 1)];
 			/* j is the amount that can be written continuously */
-			j = PIPESIZ - (pbuf - p->buf);
-			if (j > nbytes) j = nbytes;
+			j = (int) (PIPESIZ - (pbuf - p->buf));
+			if (j > nbytes) j = (int) nbytes;
 			if (j > PIPESIZ - plen) j = PIPESIZ - plen;
 			nbytes -= j; plen += j;
 			bytes_written += j;
@@ -659,7 +664,7 @@
 			if (nbytes > 0 && plen < PIPESIZ)
 			  {
 			    j = PIPESIZ - plen;
-			    if (j > nbytes) j = nbytes;
+			    if (j > nbytes) j = (int) nbytes;
 			    nbytes -= j; plen += j;
 			    bytes_written += j;
 			    memcpy (p->buf, buf, j);
@@ -721,7 +726,7 @@
 			pbuf = &p->buf[p->start];
 			/* j is the amount that can be read continuously */
 			j = PIPESIZ - p->start;
-			if (j > nbytes) j = nbytes;
+			if (j > nbytes) j = (int) nbytes;
 			if (j > plen) j = plen;
 			nbytes -= j; plen -= j;
 			bytes_read += j;
@@ -731,7 +736,7 @@
 			if (nbytes > 0 && plen > 0)
 			  {
 			    j = plen;
-			    if (j > nbytes) j = nbytes;
+			    if (j > nbytes) j = (int) nbytes;
 			    nbytes -= j; plen -= j;
 			    bytes_read += j;
 			    p->start = j;
diff --unified ../orig/procfs.c ./procfs.c
--- ../orig/procfs.c	Sun Aug  7 22:10:58 1994
+++ ./procfs.c	Wed Aug 10 10:31:02 1994
@@ -197,7 +197,7 @@
 	xattr->size = xattr->nblocks = memused(p);
 	xattr->mtime = xattr->ctime = xattr->atime = p->starttime;
 	xattr->mdate = xattr->cdate = xattr->adate = p->startdate;
-	xattr->mode = S_IMEM | S_IRUSR | S_IWUSR;
+	xattr->mode = S_IFMEM | S_IRUSR | S_IWUSR;
 	xattr->attr = p_attr[p->wait_q];
 	return 0;
 }
@@ -406,6 +406,12 @@
 		return DP_DOSTRUNC;	/* file names are truncated to 8.3 */
 	case DP_CASE:
 		return DP_CASEINSENS;	/* case preserved, but ignored */
+	case DP_MODEATTR:
+		return (0777L << 8)|
+				DP_FT_DIR|DP_FT_MEM;
+	case DP_XATTRFIELDS:
+		return DP_INDEX|DP_DEV|DP_NLINK|DP_UID|DP_GID|DP_BLKSIZE|DP_SIZE|
+				DP_NBLOCKS;
 	default:
 		return EINVFN;
 	}
diff --unified ../orig/proto.h ./proto.h
--- ../orig/proto.h	Sun Aug  7 23:42:30 1994
+++ ./proto.h	Tue Aug  9 18:52:32 1994
@@ -275,7 +275,7 @@
 /* signal.c */
 long killgroup P_((int pgrp, int sig));
 void post_sig P_((PROC *p, int sig));
-long ikill P_((int p, int sig));
+long ARGS_ON_STACK ikill P_((int p, int sig));
 void check_sigs P_((void));
 void raise P_((int sig));
 void bombs P_((int sig));
Common subdirectories: ../orig/purec and ./purec
diff --unified ../orig/shmfs.c ./shmfs.c
--- ../orig/shmfs.c	Thu Feb 17 11:01:54 1994
+++ ./shmfs.c	Wed Aug 10 10:33:04 1994
@@ -394,6 +394,12 @@
 		return DP_AUTOTRUNC;	/* file names are truncated */
 	case DP_CASE:
 		return DP_CASEINSENS;	/* case preserved, but ignored */
+	case DP_MODEATTR:
+		return (0777L << 8)|
+				DP_FT_DIR|DP_FT_MEM;
+	case DP_XATTRFIELDS:
+		return DP_INDEX|DP_DEV|DP_NLINK|DP_UID|DP_GID|DP_BLKSIZE|DP_SIZE|
+				DP_NBLOCKS|DP_MTIME;
 	default:
 		return EINVFN;
 	}
diff --unified ../orig/signal.c ./signal.c
--- ../orig/signal.c	Thu Jun 30 21:11:14 1994
+++ ./signal.c	Tue Aug  9 19:38:32 1994
@@ -92,7 +92,7 @@
  * handler or device driver
  * it also accepts negative numbers to send signals to groups
  */
-long
+long ARGS_ON_STACK
 ikill(pid,sig)
 	int pid;
 	int sig;
diff --unified ../orig/tosfs.c ./tosfs.c
--- ../orig/tosfs.c	Sun Aug  7 22:25:12 1994
+++ ./tosfs.c	Wed Aug 10 10:33:34 1994
@@ -1076,6 +1076,14 @@
 		return DP_DOSTRUNC;	/* DOS style file names */
 	case DP_CASE:
 		return DP_CASECONV;	/* names converted to upper case */
+	case DP_MODEATTR:
+		return FA_RDONLY|FA_HIDDEN|FA_SYSTEM|FA_LABEL|FA_CHANGED|
+#ifdef ROOTPERMS
+				0666L << 8|
+#endif
+				DP_FT_DIR|DP_FT_REG;
+	case DP_XATTRFIELDS:
+		return DP_DEV|DP_NLINK|DP_BLKSIZE|DP_SIZE|DP_NBLOCKS|DP_MTIME;
 	default:
 		return EINVFN;
 	}
diff --unified ../orig/unifs.c ./unifs.c
--- ../orig/unifs.c	Thu Jun 30 21:16:54 1994
+++ ./unifs.c	Wed Aug 10 10:36:18 1994
@@ -218,7 +218,7 @@
 	}
 
 	xattr->index = fc->index;
-	xattr->dev = fc->dev;
+	xattr->dev = xattr->rdev = fc->dev;
 	xattr->nlink = 1;
 	xattr->blksize = 1;
 
@@ -565,6 +565,10 @@
 		return DP_AUTOTRUNC;
 	case DP_CASE:
 		return DP_CASEINSENS;
+	case DP_MODEATTR:
+		return DP_FT_DIR|DP_FT_LNK;
+	case DP_XATTRFIELDS:
+		return DP_INDEX|DP_DEV|DP_NLINK|DP_SIZE;
 	default:
 		return EINVFN;
 	}

-- 
---------------------------------------------------
Julian F. Reschke, Hensenstr. 142, D-48161 Muenster
 eMail: reschke@math.uni-muenster.de jr@ms.maus.de
___________________________________________________