[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
___________________________________________________