Added Xstat.c
authorceriel <none@none>
Tue, 3 Nov 1987 14:43:40 +0000 (14:43 +0000)
committerceriel <none@none>
Tue, 3 Nov 1987 14:43:40 +0000 (14:43 +0000)
mach/m68020/libsys/LIST
mach/m68020/libsys/Xstat.c [new file with mode: 0644]
mach/m68020/libsys/fstat.s
mach/m68020/libsys/stat.s

index 9b9c71d..a1e04e3 100644 (file)
@@ -40,6 +40,7 @@ ptrace.s
 read.s
 setgid.s
 setuid.s
+Xstat.c
 stat.s
 stime.s
 sync.s
diff --git a/mach/m68020/libsys/Xstat.c b/mach/m68020/libsys/Xstat.c
new file mode 100644 (file)
index 0000000..b18276f
--- /dev/null
@@ -0,0 +1,43 @@
+#include <sys/types.h>
+#include <sys/stat.h>
+
+static Xcvt();
+
+int
+stat(path, buf)
+       char *path;
+       struct stat *buf;
+{
+       char Xbuf[100];
+       int retval;
+
+       retval = _stat(path, Xbuf);
+       Xcvt(Xbuf, (char *)buf);
+       return retval;
+}
+
+int
+fstat(fd, buf)
+       int fd;
+       struct stat *buf;
+{
+       char Xbuf[100];
+       int retval;
+
+       retval = _fstat(fd, Xbuf);
+       Xcvt(Xbuf, (char *)buf);
+       return retval;
+}
+
+static
+Xcvt(buf, statbuf)
+       char *buf, *statbuf;
+{
+       register char *s, *t;
+       register int i;
+
+       s = buf; t = statbuf;
+       for (i = 14; i; i--) *t++ = *s++;
+       *t++ = 0; *t++ = 0;
+       for (i = 16; i; i--) *t++ = *s++;
+}
index a9c091a..13ca1ae 100644 (file)
@@ -1,9 +1,9 @@
-.define _fstat
-.extern _fstat
+.define __fstat
+.extern __fstat
 .sect .text
 .sect .rom
 .sect .data
 .sect .bss
 .sect .text
-_fstat:                move.l  #0x1C,d0
+__fstat:       move.l  #0x1C,d0
                jmp (callc)
index 73dd949..cab8bb6 100644 (file)
@@ -1,9 +1,9 @@
-.define _stat
-.extern _stat
+.define __stat
+.extern __stat
 .sect .text
 .sect .rom
 .sect .data
 .sect .bss
 .sect .text
-_stat:         move.l #0x12,d0
+__stat:                move.l #0x12,d0
                jmp (callc)