freebsd work mostly -- noch

Former-commit-id: 3977329475
This commit is contained in:
Norayr Chilingarian 2015-02-13 13:49:28 +04:00
parent d3f196d215
commit effd5529c9
5 changed files with 74 additions and 72 deletions

View file

@ -33,7 +33,8 @@ MODULE Files; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
workName, registerName: FileName; workName, registerName: FileName;
tempFile: BOOLEAN; tempFile: BOOLEAN;
dev, ino, mtime: LONGINT; dev, ino, mtime: LONGINT;
fd-, len, pos: LONGINT; fd-: INTEGER;
len, pos: LONGINT;
bufs: ARRAY nofbufs OF Buffer; bufs: ARRAY nofbufs OF Buffer;
swapper, state: INTEGER swapper, state: INTEGER
END ; END ;
@ -125,12 +126,12 @@ MODULE Files; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
f.workName := f.registerName; f.registerName := ""; f.tempFile := FALSE f.workName := f.registerName; f.registerName := ""; f.tempFile := FALSE
END ; END ;
errno := Unix.Unlink(f.workName); (*unlink first to avoid stale NFS handles and to avoid reuse of inodes*) errno := Unix.Unlink(f.workName); (*unlink first to avoid stale NFS handles and to avoid reuse of inodes*)
f.fd := Unix.Open(f.workName, Unix.rdwr + Unix.creat + Unix.trunc, {2, 4,5, 7,8}); f.fd := Unix.Open(f.workName, SHORT(SYSTEM.VAL(LONGINT, Unix.rdwr + Unix.creat + Unix.trunc)), SHORT(SYSTEM.VAL(LONGINT, {2, 4,5, 7,8})));
done := f.fd >= 0; errno := Unix.errno(); done := f.fd >= 0; errno := Unix.errno();
IF (~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE))) OR (done & (f.fd >= fileTabSize)) THEN IF (~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE))) OR (done & (f.fd >= fileTabSize)) THEN
IF done & (f.fd >= fileTabSize) THEN errno := Unix.Close(f.fd) END ; IF done & (f.fd >= fileTabSize) THEN errno := Unix.Close(f.fd) END ;
Kernel.GC(TRUE); Kernel.GC(TRUE);
f.fd := Unix.Open(f.workName, Unix.rdwr + Unix.creat + Unix.trunc, {2, 4,5, 7,8}); f.fd := Unix.Open(f.workName, SHORT(SYSTEM.VAL(LONGINT, Unix.rdwr + Unix.creat + Unix.trunc)), SHORT(SYSTEM.VAL(LONGINT, {2, 4,5, 7,8})));
done := f.fd >= 0 done := f.fd >= 0
END ; END ;
IF done THEN IF done THEN
@ -233,7 +234,7 @@ MODULE Files; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
END CacheEntry; END CacheEntry;
PROCEDURE Old* (name: ARRAY OF CHAR): File; PROCEDURE Old* (name: ARRAY OF CHAR): File;
VAR f: File; fd, res, errno: LONGINT; pos: INTEGER; done: BOOLEAN; VAR f: File; fd: INTEGER; res, errno: LONGINT; pos: INTEGER; done: BOOLEAN;
dir, path: ARRAY 256 OF CHAR; dir, path: ARRAY 256 OF CHAR;
stat: Unix.Status; stat: Unix.Status;
BEGIN BEGIN
@ -245,17 +246,17 @@ MODULE Files; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
(*ScanPath(pos, dir);*) (*MakeFileName(dir, name, path);*) (*ScanPath(pos, dir)*) (*ScanPath(pos, dir);*) (*MakeFileName(dir, name, path);*) (*ScanPath(pos, dir)*)
END ; END ;
LOOP LOOP
fd := Unix.Open(path, Unix.rdwr, {}); done := fd >= 0; errno := Unix.errno(); fd := Unix.Open(path, SHORT(SYSTEM.VAL(LONGINT, Unix.rdwr)), SHORT(SYSTEM.VAL(LONGINT, {}))); done := fd >= 0; errno := Unix.errno();
IF (~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE))) OR (done & (fd >= fileTabSize)) THEN IF (~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE))) OR (done & (fd >= fileTabSize)) THEN
IF done & (fd >= fileTabSize) THEN res := Unix.Close(fd) END ; IF done & (fd >= fileTabSize) THEN res := Unix.Close(fd) END ;
Kernel.GC(TRUE); Kernel.GC(TRUE);
fd := Unix.Open(path, Unix.rdwr, {}); fd := Unix.Open(path, SHORT(SYSTEM.VAL(LONGINT, Unix.rdwr)), SHORT(SYSTEM.VAL(LONGINT, {})));
done := fd >= 0; errno := Unix.errno(); done := fd >= 0; errno := Unix.errno();
IF ~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE)) THEN Err("too many files open", f, errno) END IF ~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE)) THEN Err("too many files open", f, errno) END
END ; END ;
IF ~done & ((errno = Unix.EACCES) OR (errno = Unix.EROFS) OR (errno = Unix.EAGAIN)) THEN IF ~done & ((errno = Unix.EACCES) OR (errno = Unix.EROFS) OR (errno = Unix.EAGAIN)) THEN
(* errno EAGAIN observed on Solaris 2.4 *) (* errno EAGAIN observed on Solaris 2.4 *)
fd := Unix.Open(path, Unix.rdonly, {}); done := fd >= 0; errno := Unix.errno() fd := Unix.Open(path, SHORT(SYSTEM.VAL(LONGINT, Unix.rdonly)), SHORT(SYSTEM.VAL(LONGINT, {}))); done := fd >= 0; errno := Unix.errno()
END ; END ;
IF (~done) & (errno # Unix.ENOENT) THEN IF (~done) & (errno # Unix.ENOENT) THEN
Console.String("warning Files.Old "); Console.String(name); Console.String("warning Files.Old "); Console.String(name);
@ -463,7 +464,7 @@ Especially Length would become fairly complex.
END Delete; END Delete;
PROCEDURE Rename* (old, new: ARRAY OF CHAR; VAR res: INTEGER); PROCEDURE Rename* (old, new: ARRAY OF CHAR; VAR res: INTEGER);
VAR fdold, fdnew, n, errno, r: LONGINT; VAR fdold, fdnew: INTEGER; n, errno, r: LONGINT;
ostat, nstat: Unix.Status; ostat, nstat: Unix.Status;
buf: ARRAY 4096 OF CHAR; buf: ARRAY 4096 OF CHAR;
BEGIN BEGIN
@ -476,9 +477,9 @@ Especially Length would become fairly complex.
r := Unix.Rename(old, new); r := Unix.Rename(old, new);
IF r < 0 THEN res := SHORT(Unix.errno()); IF r < 0 THEN res := SHORT(Unix.errno());
IF res = Unix.EXDEV THEN (* cross device link, move the file *) IF res = Unix.EXDEV THEN (* cross device link, move the file *)
fdold := Unix.Open(old, Unix.rdonly, {}); fdold := Unix.Open(old, SHORT(SYSTEM.VAL(LONGINT, Unix.rdonly)), SHORT(SYSTEM.VAL(LONGINT, {})));
IF fdold < 0 THEN res := 2; RETURN END ; IF fdold < 0 THEN res := 2; RETURN END ;
fdnew := Unix.Open(new, Unix.rdwr + Unix.creat + Unix.trunc, {2, 4,5, 7,8}); fdnew := Unix.Open(new, SHORT(SYSTEM.VAL(LONGINT, Unix.rdwr + Unix.creat + Unix.trunc)), SHORT(SYSTEM.VAL(LONGINT, {2, 4,5, 7,8})));
IF fdnew < 0 THEN r := Unix.Close(fdold); res := 3; RETURN END ; IF fdnew < 0 THEN r := Unix.Close(fdold); res := 3; RETURN END ;
n := Unix.Read(fdold, SYSTEM.ADR(buf), bufsize); n := Unix.Read(fdold, SYSTEM.ADR(buf), bufsize);
WHILE n > 0 DO WHILE n > 0 DO

View file

@ -36,7 +36,8 @@ MODULE Files0; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
workName, registerName: FileName; workName, registerName: FileName;
tempFile: BOOLEAN; tempFile: BOOLEAN;
dev, ino, mtime: LONGINT; dev, ino, mtime: LONGINT;
fd-, len, pos: LONGINT; fd-: INTEGER;
len, pos: LONGINT;
bufs: ARRAY nofbufs OF Buffer; bufs: ARRAY nofbufs OF Buffer;
swapper, state: INTEGER swapper, state: INTEGER
END ; END ;
@ -128,12 +129,12 @@ MODULE Files0; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
f.workName := f.registerName; f.registerName := ""; f.tempFile := FALSE f.workName := f.registerName; f.registerName := ""; f.tempFile := FALSE
END ; END ;
errno := Unix.Unlink(f.workName); (*unlink first to avoid stale NFS handles and to avoid reuse of inodes*) errno := Unix.Unlink(f.workName); (*unlink first to avoid stale NFS handles and to avoid reuse of inodes*)
f.fd := Unix.Open(f.workName, Unix.rdwr + Unix.creat + Unix.trunc, {2, 4,5, 7,8}); f.fd := Unix.Open(f.workName, SHORT(SYSTEM.VAL(LONGINT, (Unix.rdwr + Unix.creat + Unix.trunc))), SHORT(SYSTEM.VAL(LONGINT, ({2, 4,5, 7,8}))));
done := f.fd >= 0; errno := Unix.errno(); done := f.fd >= 0; errno := Unix.errno();
IF (~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE))) OR (done & (f.fd >= fileTabSize)) THEN IF (~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE))) OR (done & (f.fd >= fileTabSize)) THEN
IF done & (f.fd >= fileTabSize) THEN errno := Unix.Close(f.fd) END ; IF done & (f.fd >= fileTabSize) THEN errno := Unix.Close(f.fd) END ;
Kernel.GC(TRUE); Kernel.GC(TRUE);
f.fd := Unix.Open(f.workName, Unix.rdwr + Unix.creat + Unix.trunc, {2, 4,5, 7,8}); f.fd := Unix.Open(f.workName, SHORT(SYSTEM.VAL(LONGINT, (Unix.rdwr + Unix.creat + Unix.trunc))), SHORT(SYSTEM.VAL(LONGINT, {2, 4,5, 7,8})));
done := f.fd >= 0 done := f.fd >= 0
END ; END ;
IF done THEN IF done THEN
@ -236,7 +237,7 @@ MODULE Files0; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
END CacheEntry; END CacheEntry;
PROCEDURE Old* (name: ARRAY OF CHAR): File; PROCEDURE Old* (name: ARRAY OF CHAR): File;
VAR f: File; fd, res, errno: LONGINT; pos: INTEGER; done: BOOLEAN; VAR f: File; fd: INTEGER; res, errno: LONGINT; pos: INTEGER; done: BOOLEAN;
dir, path: ARRAY 256 OF CHAR; dir, path: ARRAY 256 OF CHAR;
stat: Unix.Status; stat: Unix.Status;
BEGIN BEGIN
@ -245,17 +246,17 @@ MODULE Files0; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
ELSE pos := 0; ScanPath(pos, dir); MakeFileName(dir, name, path); ScanPath(pos, dir) ELSE pos := 0; ScanPath(pos, dir); MakeFileName(dir, name, path); ScanPath(pos, dir)
END ; END ;
LOOP LOOP
fd := Unix.Open(path, Unix.rdwr, {}); done := fd >= 0; errno := Unix.errno(); fd := Unix.Open(path, SHORT(SYSTEM.VAL(LONGINT, Unix.rdwr)), SHORT(SYSTEM.VAL(LONGINT, {}))); done := fd >= 0; errno := Unix.errno();
IF (~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE))) OR (done & (fd >= fileTabSize)) THEN IF (~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE))) OR (done & (fd >= fileTabSize)) THEN
IF done & (fd >= fileTabSize) THEN res := Unix.Close(fd) END ; IF done & (fd >= fileTabSize) THEN res := Unix.Close(fd) END ;
Kernel.GC(TRUE); Kernel.GC(TRUE);
fd := Unix.Open(path, Unix.rdwr, {}); fd := Unix.Open(path, SHORT(SYSTEM.VAL(LONGINT, Unix.rdwr)), SHORT(SYSTEM.VAL(LONGINT, {})));
done := fd >= 0; errno := Unix.errno(); done := fd >= 0; errno := Unix.errno();
IF ~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE)) THEN Err("too many files open", f, errno) END IF ~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE)) THEN Err("too many files open", f, errno) END
END ; END ;
IF ~done & ((errno = Unix.EACCES) OR (errno = Unix.EROFS) OR (errno = Unix.EAGAIN)) THEN IF ~done & ((errno = Unix.EACCES) OR (errno = Unix.EROFS) OR (errno = Unix.EAGAIN)) THEN
(* errno EAGAIN observed on Solaris 2.4 *) (* errno EAGAIN observed on Solaris 2.4 *)
fd := Unix.Open(path, Unix.rdonly, {}); done := fd >= 0; errno := Unix.errno() fd := Unix.Open(path, SHORT(SYSTEM.VAL(LONGINT, Unix.rdonly)), SHORT(SYSTEM.VAL(LONGINT, {}))); done := fd >= 0; errno := Unix.errno()
END ; END ;
IF (~done) & (errno # Unix.ENOENT) THEN IF (~done) & (errno # Unix.ENOENT) THEN
Console.String("warning Files0.Old "); Console.String(name); Console.String("warning Files0.Old "); Console.String(name);
@ -456,7 +457,7 @@ Especially Length would become fairly complex.
END Delete; END Delete;
PROCEDURE Rename* (old, new: ARRAY OF CHAR; VAR res: INTEGER); PROCEDURE Rename* (old, new: ARRAY OF CHAR; VAR res: INTEGER);
VAR fdold, fdnew, n, errno, r: LONGINT; VAR fdold, fdnew: INTEGER; n, errno, r: LONGINT;
ostat, nstat: Unix.Status; ostat, nstat: Unix.Status;
buf: ARRAY 4096 OF CHAR; buf: ARRAY 4096 OF CHAR;
BEGIN BEGIN
@ -469,9 +470,9 @@ Especially Length would become fairly complex.
r := Unix.Rename(old, new); r := Unix.Rename(old, new);
IF r < 0 THEN res := SHORT(Unix.errno()); IF r < 0 THEN res := SHORT(Unix.errno());
IF res = Unix.EXDEV THEN (* cross device link, move the file *) IF res = Unix.EXDEV THEN (* cross device link, move the file *)
fdold := Unix.Open(old, Unix.rdonly, {}); fdold := Unix.Open(old, SHORT(SYSTEM.VAL(LONGINT, Unix.rdonly)), SHORT(SYSTEM.VAL(LONGINT, {})));
IF fdold < 0 THEN res := 2; RETURN END ; IF fdold < 0 THEN res := 2; RETURN END ;
fdnew := Unix.Open(new, Unix.rdwr + Unix.creat + Unix.trunc, {2, 4,5, 7,8}); fdnew := Unix.Open(new, SHORT(SYSTEM.VAL(LONGINT, Unix.rdwr + Unix.creat + Unix.trunc)), SHORT(SYSTEM.VAL(LONGINT, {2, 4,5, 7,8})));
IF fdnew < 0 THEN r := Unix.Close(fdold); res := 3; RETURN END ; IF fdnew < 0 THEN r := Unix.Close(fdold); res := 3; RETURN END ;
n := Unix.Read(fdold, SYSTEM.ADR(buf), bufsize); n := Unix.Read(fdold, SYSTEM.ADR(buf), bufsize);
WHILE n > 0 DO WHILE n > 0 DO

View file

@ -369,78 +369,78 @@ from man gettimeofday
PROCEDURE -includeFcntl() PROCEDURE -includeFcntl()
"#include <fcntl.h>"; "#include <fcntl.h>";
PROCEDURE -err(): LONGINT PROCEDURE -err(): INTEGER
"errno"; "errno";
PROCEDURE errno*(): LONGINT; PROCEDURE errno*(): INTEGER;
BEGIN BEGIN
RETURN err() RETURN err()
END errno; END errno;
PROCEDURE -Exit*(n: LONGINT) PROCEDURE -Exit*(n: INTEGER)
"exit(n)"; "exit(n)";
PROCEDURE -Fork*(): LONGINT PROCEDURE -Fork*(): INTEGER
"fork()"; "fork()";
PROCEDURE -Wait*(VAR status: LONGINT): LONGINT PROCEDURE -Wait*(VAR status: INTEGER): INTEGER
"wait(status)"; "wait(status)";
PROCEDURE -Select*(width: LONGINT; VAR readfds, writefds, exceptfds: FdSet; VAR timeout: Timeval): LONGINT PROCEDURE -Select*(width: INTEGER; VAR readfds, writefds, exceptfds: FdSet; VAR timeout: Timeval): INTEGER
"select(width, readfds, writefds, exceptfds, timeout)"; "select(width, readfds, writefds, exceptfds, timeout)";
PROCEDURE -Gettimeofday* (VAR tv: Timeval; VAR tz: Timezone) : LONGINT PROCEDURE -Gettimeofday* (VAR tv: Timeval; VAR tz: Timezone) : INTEGER
"gettimeofday(tv, tz)"; "gettimeofday(tv, tz)";
PROCEDURE -Read* (fd, buf, nbyte: LONGINT): LONGINT PROCEDURE -Read* (fd: INTEGER; buf, nbyte: LONGINT): LONGINT
"read(fd, buf, nbyte)"; "read(fd, buf, nbyte)";
PROCEDURE -ReadBlk* (fd: LONGINT; VAR buf: ARRAY OF SYSTEM.BYTE): LONGINT PROCEDURE -ReadBlk* (fd: INTEGER; VAR buf: ARRAY OF SYSTEM.BYTE): LONGINT
"read(fd, buf, buf__len)"; "read(fd, buf, buf__len)";
PROCEDURE -Write* (fd, buf, nbyte: LONGINT): LONGINT PROCEDURE -Write* (fd: INTEGER; buf, nbyte: LONGINT): LONGINT
"write(fd, buf, nbyte)"; "write(fd, buf, nbyte)";
PROCEDURE -WriteBlk* (fd: LONGINT; VAR buf: ARRAY OF SYSTEM.BYTE): LONGINT PROCEDURE -WriteBlk* (fd: INTEGER; VAR buf: ARRAY OF SYSTEM.BYTE): LONGINT
"write(fd, buf, buf__len)"; "write(fd, buf, buf__len)";
PROCEDURE -Dup*(fd: LONGINT): LONGINT PROCEDURE -Dup*(fd: INTEGER): INTEGER
"dup(fd)"; "dup(fd)";
PROCEDURE -Dup2*(fd1, fd2: LONGINT): LONGINT PROCEDURE -Dup2*(fd1, fd2: INTEGER): INTEGER
"dup(fd1, fd2)"; "dup(fd1, fd2)";
PROCEDURE -Pipe*(fds : LONGINT): LONGINT PROCEDURE -Pipe*(fds : LONGINT): INTEGER
"pipe(fds)"; "pipe(fds)";
PROCEDURE -Getpid*(): LONGINT PROCEDURE -Getpid*(): INTEGER
"getpid()"; "getpid()";
PROCEDURE -Getuid*(): LONGINT PROCEDURE -Getuid*(): INTEGER
"getuid()"; "getuid()";
PROCEDURE -Geteuid*(): LONGINT PROCEDURE -Geteuid*(): INTEGER
"geteuid()"; "geteuid()";
PROCEDURE -Getgid*(): LONGINT PROCEDURE -Getgid*(): INTEGER
"getgid()"; "getgid()";
PROCEDURE -Getegid*(): LONGINT PROCEDURE -Getegid*(): INTEGER
"getegid()"; "getegid()";
PROCEDURE -Unlink*(name: Name): LONGINT PROCEDURE -Unlink*(name: Name): INTEGER
"unlink(name)"; "unlink(name)";
PROCEDURE -Open*(name: Name; flag, mode: SET): LONGINT PROCEDURE -Open*(name: Name; flag: INTEGER; mode: LONGINT): INTEGER
"open(name, flag, mode)"; "open(name, flag, mode)";
PROCEDURE -Close*(fd: LONGINT): LONGINT PROCEDURE -Close*(fd: INTEGER): INTEGER
"close(fd)"; "close(fd)";
PROCEDURE -stat(name: Name; VAR statbuf: Status): LONGINT PROCEDURE -stat(name: Name; VAR statbuf: Status): INTEGER
"stat((const char*)name, (struct stat*)statbuf)"; "stat((const char*)name, (struct stat*)statbuf)";
PROCEDURE Stat*(name: Name; VAR statbuf: Status): LONGINT; PROCEDURE Stat*(name: Name; VAR statbuf: Status): INTEGER;
VAR res: LONGINT; VAR res: LONGINT;
BEGIN BEGIN
res := stat(name, statbuf); res := stat(name, statbuf);
@ -451,10 +451,10 @@ from man gettimeofday
RETURN res; RETURN res;
END Stat; END Stat;
PROCEDURE -fstat(fd: LONGINT; VAR statbuf: Status): LONGINT PROCEDURE -fstat(fd: INTEGER; VAR statbuf: Status): INTEGER
"fstat(fd, (struct stat*)statbuf)"; "fstat(fd, (struct stat*)statbuf)";
PROCEDURE Fstat*(fd: LONGINT; VAR statbuf: Status): LONGINT; PROCEDURE Fstat*(fd: INTEGER; VAR statbuf: Status): INTEGER;
VAR res: LONGINT; VAR res: LONGINT;
BEGIN BEGIN
res := fstat(fd, statbuf); res := fstat(fd, statbuf);
@ -464,43 +464,43 @@ from man gettimeofday
RETURN res; RETURN res;
END Fstat; END Fstat;
PROCEDURE -Fchmod*(fd, mode: LONGINT): LONGINT PROCEDURE -Fchmod*(fd, mode: INTEGER): INTEGER
"fchmod(fd, mode)"; "fchmod(fd, mode)";
PROCEDURE -Chmod*(path: Name; mode: LONGINT): LONGINT PROCEDURE -Chmod*(path: Name; mode: INTEGER): INTEGER
"chmod(path, mode)"; "chmod(path, mode)";
PROCEDURE -Lseek*(fd, offset, origin: LONGINT): LONGINT PROCEDURE -Lseek*(fd: INTEGER; offset: LONGINT; origin: INTEGER): LONGINT
"lseek(fd, offset, origin)"; "lseek(fd, offset, origin)";
PROCEDURE -Fsync*(fd: LONGINT): LONGINT PROCEDURE -Fsync*(fd: INTEGER): INTEGER
"fsync(fd)"; "fsync(fd)";
PROCEDURE -Fcntl*(fd, cmd, arg: LONGINT ): LONGINT PROCEDURE -Fcntl*(fd: INTEGER; cmd: INTEGER; arg: LONGINT ): INTEGER
"fcntl(fd, cmd, arg)"; "fcntl(fd, cmd, arg)";
PROCEDURE -Flock*(fd, operation: LONGINT): LONGINT PROCEDURE -Flock*(fd, operation: INTEGER): INTEGER
"flock(fd, operation)"; "flock(fd, operation)";
PROCEDURE -Ftruncate*(fd, length: LONGINT): LONGINT PROCEDURE -Ftruncate*(fd: INTEGER; length: LONGINT): INTEGER
"ftruncate(fd, length)"; "ftruncate(fd, length)";
PROCEDURE -Readblk*(fd: LONGINT; VAR buf: ARRAY OF SYSTEM.BYTE; len: LONGINT): LONGINT PROCEDURE -Readblk*(fd: INTEGER; VAR buf: ARRAY OF SYSTEM.BYTE; len: LONGINT): LONGINT
"read(fd, buf, len)"; "read(fd, buf, len)";
PROCEDURE -Rename*(old, new: Name): LONGINT PROCEDURE -Rename*(old, new: Name): INTEGER
"rename(old, new)"; "rename(old, new)";
PROCEDURE -Chdir*(path: Name): LONGINT PROCEDURE -Chdir*(path: Name): INTEGER
"chdir(path)"; "chdir(path)";
PROCEDURE -Ioctl*(fd, request, arg: LONGINT): LONGINT PROCEDURE -Ioctl*(fd: INTEGER; request, arg: LONGINT): LONGINT
"ioctl(fd, request, arg)"; "ioctl(fd, request, arg)";
PROCEDURE -Kill*(pid, sig: LONGINT): LONGINT PROCEDURE -Kill*(pid, sig: INTEGER): INTEGER
"kill(pid, sig)"; "kill(pid, sig)";
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT PROCEDURE -Sigsetmask*(mask: INTEGER): INTEGER
"sigsetmask(mask)"; "sigsetmask(mask)";
PROCEDURE -Sleep*(ms : INTEGER): INTEGER PROCEDURE -Sleep*(ms : INTEGER): INTEGER
@ -514,31 +514,31 @@ from man gettimeofday
PROCEDURE -Gethostbyname*(name: Name): HostEntry PROCEDURE -Gethostbyname*(name: Name): HostEntry
"(Unix_HostEntry)gethostbyname(name)"; "(Unix_HostEntry)gethostbyname(name)";
PROCEDURE -Gethostname*(VAR name: Name): LONGINT PROCEDURE -Gethostname*(VAR name: Name): INTEGER
"gethostname(name, name__len)"; "gethostname(name, name__len)";
PROCEDURE -Socket*(af, type, protocol: LONGINT): LONGINT PROCEDURE -Socket*(af, type, protocol: INTEGER): INTEGER
"socket(af, type, protocol)"; "socket(af, type, protocol)";
PROCEDURE -Connect*(socket: LONGINT; name: Sockaddr; namelen: LONGINT): LONGINT PROCEDURE -Connect*(socket: INTEGER; name: Sockaddr; namelen: INTEGER): INTEGER
"connect(socket, &(name), namelen)"; "connect(socket, &(name), namelen)";
PROCEDURE -Getsockname*(socket: LONGINT; VAR name: Sockaddr; VAR namelen: LONGINT): LONGINT PROCEDURE -Getsockname*(socket: INTEGER; VAR name: Sockaddr; VAR namelen: INTEGER): INTEGER
"getsockname(socket, name, namelen)"; "getsockname(socket, name, namelen)";
PROCEDURE -Bind*(socket: LONGINT; name: Sockaddr; namelen: LONGINT): LONGINT PROCEDURE -Bind*(socket: INTEGER; name: Sockaddr; namelen: INTEGER): INTEGER
"bind(socket, &(name), namelen)"; "bind(socket, &(name), namelen)";
PROCEDURE -Listen*(socket, backlog: LONGINT): LONGINT PROCEDURE -Listen*(socket, backlog: INTEGER): INTEGER
"listen(socket, backlog)"; "listen(socket, backlog)";
PROCEDURE -Accept*(socket: LONGINT; VAR addr: Sockaddr; VAR addrlen: LONGINT): LONGINT PROCEDURE -Accept*(socket: INTEGER; VAR addr: Sockaddr; VAR addrlen: INTEGER): LONGINT
"accept(socket, addr, addrlen)"; "accept(socket, addr, addrlen)";
PROCEDURE -Recv*(socket, bufadr, buflen, flags: LONGINT): LONGINT PROCEDURE -Recv*(socket: INTEGER; bufadr, buflen: LONGINT; flags: INTEGER): LONGINT
"recv(socket, bufadr, buflen, flags)"; "recv(socket, bufadr, buflen, flags)";
PROCEDURE -Send*(socket, bufadr, buflen, flags: LONGINT): LONGINT PROCEDURE -Send*(socket: INTEGER; bufadr, buflen: LONGINT; flags: INTEGER): LONGINT
"send(socket, bufadr, buflen, flags)"; "send(socket, bufadr, buflen, flags)";
PROCEDURE -sys(str: ARRAY OF CHAR): INTEGER (* need this to call external tools like gcc or gas; noch *) PROCEDURE -sys(str: ARRAY OF CHAR): INTEGER (* need this to call external tools like gcc or gas; noch *)

View file

@ -331,10 +331,10 @@ from man gettimeofday
PROCEDURE -includeSelect() PROCEDURE -includeSelect()
"#include <sys/select.h>"; "#include <sys/select.h>";
PROCEDURE -err(): LONGINT PROCEDURE -err(): INTEGER
"errno"; "errno";
PROCEDURE errno*(): LONGINT; PROCEDURE errno*(): INTEGER;
BEGIN BEGIN
RETURN err() RETURN err()
END errno; END errno;

View file

@ -331,10 +331,10 @@ from man gettimeofday
PROCEDURE -includeSelect() PROCEDURE -includeSelect()
"#include <sys/select.h>"; "#include <sys/select.h>";
PROCEDURE -err(): LONGINT PROCEDURE -err(): INTEGER
"errno"; "errno";
PROCEDURE errno*(): LONGINT; PROCEDURE errno*(): INTEGER;
BEGIN BEGIN
RETURN err() RETURN err()
END errno; END errno;