mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 19:12:25 +00:00
freebsd work mostly -- noch
This commit is contained in:
parent
2bd826c965
commit
3977329475
5 changed files with 74 additions and 72 deletions
|
|
@ -33,7 +33,8 @@ MODULE Files; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
|
|||
workName, registerName: FileName;
|
||||
tempFile: BOOLEAN;
|
||||
dev, ino, mtime: LONGINT;
|
||||
fd-, len, pos: LONGINT;
|
||||
fd-: INTEGER;
|
||||
len, pos: LONGINT;
|
||||
bufs: ARRAY nofbufs OF Buffer;
|
||||
swapper, state: INTEGER
|
||||
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
|
||||
END ;
|
||||
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();
|
||||
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 ;
|
||||
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
|
||||
END ;
|
||||
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;
|
||||
|
||||
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;
|
||||
stat: Unix.Status;
|
||||
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)*)
|
||||
END ;
|
||||
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 & (fd >= fileTabSize) THEN res := Unix.Close(fd) END ;
|
||||
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();
|
||||
IF ~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE)) THEN Err("too many files open", f, errno) END
|
||||
END ;
|
||||
IF ~done & ((errno = Unix.EACCES) OR (errno = Unix.EROFS) OR (errno = Unix.EAGAIN)) THEN
|
||||
(* 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 ;
|
||||
IF (~done) & (errno # Unix.ENOENT) THEN
|
||||
Console.String("warning Files.Old "); Console.String(name);
|
||||
|
|
@ -463,7 +464,7 @@ Especially Length would become fairly complex.
|
|||
END Delete;
|
||||
|
||||
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;
|
||||
buf: ARRAY 4096 OF CHAR;
|
||||
BEGIN
|
||||
|
|
@ -476,9 +477,9 @@ Especially Length would become fairly complex.
|
|||
r := Unix.Rename(old, new);
|
||||
IF r < 0 THEN res := SHORT(Unix.errno());
|
||||
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 ;
|
||||
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 ;
|
||||
n := Unix.Read(fdold, SYSTEM.ADR(buf), bufsize);
|
||||
WHILE n > 0 DO
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@ MODULE Files0; (* J. Templ 1.12. 89/12.4.95 Oberon files mapped onto Unix files
|
|||
workName, registerName: FileName;
|
||||
tempFile: BOOLEAN;
|
||||
dev, ino, mtime: LONGINT;
|
||||
fd-, len, pos: LONGINT;
|
||||
fd-: INTEGER;
|
||||
len, pos: LONGINT;
|
||||
bufs: ARRAY nofbufs OF Buffer;
|
||||
swapper, state: INTEGER
|
||||
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
|
||||
END ;
|
||||
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();
|
||||
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 ;
|
||||
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
|
||||
END ;
|
||||
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;
|
||||
|
||||
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;
|
||||
stat: Unix.Status;
|
||||
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)
|
||||
END ;
|
||||
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 & (fd >= fileTabSize) THEN res := Unix.Close(fd) END ;
|
||||
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();
|
||||
IF ~done & ((errno = Unix.ENFILE) OR (errno = Unix.EMFILE)) THEN Err("too many files open", f, errno) END
|
||||
END ;
|
||||
IF ~done & ((errno = Unix.EACCES) OR (errno = Unix.EROFS) OR (errno = Unix.EAGAIN)) THEN
|
||||
(* 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 ;
|
||||
IF (~done) & (errno # Unix.ENOENT) THEN
|
||||
Console.String("warning Files0.Old "); Console.String(name);
|
||||
|
|
@ -456,7 +457,7 @@ Especially Length would become fairly complex.
|
|||
END Delete;
|
||||
|
||||
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;
|
||||
buf: ARRAY 4096 OF CHAR;
|
||||
BEGIN
|
||||
|
|
@ -469,9 +470,9 @@ Especially Length would become fairly complex.
|
|||
r := Unix.Rename(old, new);
|
||||
IF r < 0 THEN res := SHORT(Unix.errno());
|
||||
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 ;
|
||||
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 ;
|
||||
n := Unix.Read(fdold, SYSTEM.ADR(buf), bufsize);
|
||||
WHILE n > 0 DO
|
||||
|
|
|
|||
|
|
@ -369,78 +369,78 @@ from man gettimeofday
|
|||
PROCEDURE -includeFcntl()
|
||||
"#include <fcntl.h>";
|
||||
|
||||
PROCEDURE -err(): LONGINT
|
||||
PROCEDURE -err(): INTEGER
|
||||
"errno";
|
||||
|
||||
PROCEDURE errno*(): LONGINT;
|
||||
PROCEDURE errno*(): INTEGER;
|
||||
BEGIN
|
||||
RETURN err()
|
||||
END errno;
|
||||
|
||||
PROCEDURE -Exit*(n: LONGINT)
|
||||
PROCEDURE -Exit*(n: INTEGER)
|
||||
"exit(n)";
|
||||
|
||||
PROCEDURE -Fork*(): LONGINT
|
||||
PROCEDURE -Fork*(): INTEGER
|
||||
"fork()";
|
||||
|
||||
PROCEDURE -Wait*(VAR status: LONGINT): LONGINT
|
||||
PROCEDURE -Wait*(VAR status: INTEGER): INTEGER
|
||||
"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)";
|
||||
|
||||
PROCEDURE -Gettimeofday* (VAR tv: Timeval; VAR tz: Timezone) : LONGINT
|
||||
PROCEDURE -Gettimeofday* (VAR tv: Timeval; VAR tz: Timezone) : INTEGER
|
||||
"gettimeofday(tv, tz)";
|
||||
|
||||
PROCEDURE -Read* (fd, buf, nbyte: LONGINT): LONGINT
|
||||
PROCEDURE -Read* (fd: INTEGER; buf, nbyte: LONGINT): LONGINT
|
||||
"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)";
|
||||
|
||||
PROCEDURE -Write* (fd, buf, nbyte: LONGINT): LONGINT
|
||||
PROCEDURE -Write* (fd: INTEGER; buf, nbyte: LONGINT): LONGINT
|
||||
"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)";
|
||||
|
||||
PROCEDURE -Dup*(fd: LONGINT): LONGINT
|
||||
PROCEDURE -Dup*(fd: INTEGER): INTEGER
|
||||
"dup(fd)";
|
||||
|
||||
PROCEDURE -Dup2*(fd1, fd2: LONGINT): LONGINT
|
||||
PROCEDURE -Dup2*(fd1, fd2: INTEGER): INTEGER
|
||||
"dup(fd1, fd2)";
|
||||
|
||||
PROCEDURE -Pipe*(fds : LONGINT): LONGINT
|
||||
PROCEDURE -Pipe*(fds : LONGINT): INTEGER
|
||||
"pipe(fds)";
|
||||
|
||||
PROCEDURE -Getpid*(): LONGINT
|
||||
PROCEDURE -Getpid*(): INTEGER
|
||||
"getpid()";
|
||||
|
||||
PROCEDURE -Getuid*(): LONGINT
|
||||
PROCEDURE -Getuid*(): INTEGER
|
||||
"getuid()";
|
||||
|
||||
PROCEDURE -Geteuid*(): LONGINT
|
||||
PROCEDURE -Geteuid*(): INTEGER
|
||||
"geteuid()";
|
||||
|
||||
PROCEDURE -Getgid*(): LONGINT
|
||||
PROCEDURE -Getgid*(): INTEGER
|
||||
"getgid()";
|
||||
|
||||
PROCEDURE -Getegid*(): LONGINT
|
||||
PROCEDURE -Getegid*(): INTEGER
|
||||
"getegid()";
|
||||
|
||||
PROCEDURE -Unlink*(name: Name): LONGINT
|
||||
PROCEDURE -Unlink*(name: Name): INTEGER
|
||||
"unlink(name)";
|
||||
|
||||
PROCEDURE -Open*(name: Name; flag, mode: SET): LONGINT
|
||||
PROCEDURE -Open*(name: Name; flag: INTEGER; mode: LONGINT): INTEGER
|
||||
"open(name, flag, mode)";
|
||||
|
||||
PROCEDURE -Close*(fd: LONGINT): LONGINT
|
||||
PROCEDURE -Close*(fd: INTEGER): INTEGER
|
||||
"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)";
|
||||
|
||||
PROCEDURE Stat*(name: Name; VAR statbuf: Status): LONGINT;
|
||||
PROCEDURE Stat*(name: Name; VAR statbuf: Status): INTEGER;
|
||||
VAR res: LONGINT;
|
||||
BEGIN
|
||||
res := stat(name, statbuf);
|
||||
|
|
@ -451,10 +451,10 @@ from man gettimeofday
|
|||
RETURN res;
|
||||
END Stat;
|
||||
|
||||
PROCEDURE -fstat(fd: LONGINT; VAR statbuf: Status): LONGINT
|
||||
PROCEDURE -fstat(fd: INTEGER; VAR statbuf: Status): INTEGER
|
||||
"fstat(fd, (struct stat*)statbuf)";
|
||||
|
||||
PROCEDURE Fstat*(fd: LONGINT; VAR statbuf: Status): LONGINT;
|
||||
PROCEDURE Fstat*(fd: INTEGER; VAR statbuf: Status): INTEGER;
|
||||
VAR res: LONGINT;
|
||||
BEGIN
|
||||
res := fstat(fd, statbuf);
|
||||
|
|
@ -464,43 +464,43 @@ from man gettimeofday
|
|||
RETURN res;
|
||||
END Fstat;
|
||||
|
||||
PROCEDURE -Fchmod*(fd, mode: LONGINT): LONGINT
|
||||
PROCEDURE -Fchmod*(fd, mode: INTEGER): INTEGER
|
||||
"fchmod(fd, mode)";
|
||||
|
||||
PROCEDURE -Chmod*(path: Name; mode: LONGINT): LONGINT
|
||||
PROCEDURE -Chmod*(path: Name; mode: INTEGER): INTEGER
|
||||
"chmod(path, mode)";
|
||||
|
||||
PROCEDURE -Lseek*(fd, offset, origin: LONGINT): LONGINT
|
||||
PROCEDURE -Lseek*(fd: INTEGER; offset: LONGINT; origin: INTEGER): LONGINT
|
||||
"lseek(fd, offset, origin)";
|
||||
|
||||
PROCEDURE -Fsync*(fd: LONGINT): LONGINT
|
||||
PROCEDURE -Fsync*(fd: INTEGER): INTEGER
|
||||
"fsync(fd)";
|
||||
|
||||
PROCEDURE -Fcntl*(fd, cmd, arg: LONGINT ): LONGINT
|
||||
PROCEDURE -Fcntl*(fd: INTEGER; cmd: INTEGER; arg: LONGINT ): INTEGER
|
||||
"fcntl(fd, cmd, arg)";
|
||||
|
||||
PROCEDURE -Flock*(fd, operation: LONGINT): LONGINT
|
||||
PROCEDURE -Flock*(fd, operation: INTEGER): INTEGER
|
||||
"flock(fd, operation)";
|
||||
|
||||
PROCEDURE -Ftruncate*(fd, length: LONGINT): LONGINT
|
||||
PROCEDURE -Ftruncate*(fd: INTEGER; length: LONGINT): INTEGER
|
||||
"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)";
|
||||
|
||||
PROCEDURE -Rename*(old, new: Name): LONGINT
|
||||
PROCEDURE -Rename*(old, new: Name): INTEGER
|
||||
"rename(old, new)";
|
||||
|
||||
PROCEDURE -Chdir*(path: Name): LONGINT
|
||||
PROCEDURE -Chdir*(path: Name): INTEGER
|
||||
"chdir(path)";
|
||||
|
||||
PROCEDURE -Ioctl*(fd, request, arg: LONGINT): LONGINT
|
||||
PROCEDURE -Ioctl*(fd: INTEGER; request, arg: LONGINT): LONGINT
|
||||
"ioctl(fd, request, arg)";
|
||||
|
||||
PROCEDURE -Kill*(pid, sig: LONGINT): LONGINT
|
||||
PROCEDURE -Kill*(pid, sig: INTEGER): INTEGER
|
||||
"kill(pid, sig)";
|
||||
|
||||
PROCEDURE -Sigsetmask*(mask: LONGINT): LONGINT
|
||||
PROCEDURE -Sigsetmask*(mask: INTEGER): INTEGER
|
||||
"sigsetmask(mask)";
|
||||
|
||||
PROCEDURE -Sleep*(ms : INTEGER): INTEGER
|
||||
|
|
@ -514,31 +514,31 @@ from man gettimeofday
|
|||
PROCEDURE -Gethostbyname*(name: Name): HostEntry
|
||||
"(Unix_HostEntry)gethostbyname(name)";
|
||||
|
||||
PROCEDURE -Gethostname*(VAR name: Name): LONGINT
|
||||
PROCEDURE -Gethostname*(VAR name: Name): INTEGER
|
||||
"gethostname(name, name__len)";
|
||||
|
||||
PROCEDURE -Socket*(af, type, protocol: LONGINT): LONGINT
|
||||
PROCEDURE -Socket*(af, type, protocol: INTEGER): INTEGER
|
||||
"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)";
|
||||
|
||||
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)";
|
||||
|
||||
PROCEDURE -Bind*(socket: LONGINT; name: Sockaddr; namelen: LONGINT): LONGINT
|
||||
PROCEDURE -Bind*(socket: INTEGER; name: Sockaddr; namelen: INTEGER): INTEGER
|
||||
"bind(socket, &(name), namelen)";
|
||||
|
||||
PROCEDURE -Listen*(socket, backlog: LONGINT): LONGINT
|
||||
PROCEDURE -Listen*(socket, backlog: INTEGER): INTEGER
|
||||
"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)";
|
||||
|
||||
PROCEDURE -Recv*(socket, bufadr, buflen, flags: LONGINT): LONGINT
|
||||
PROCEDURE -Recv*(socket: INTEGER; bufadr, buflen: LONGINT; flags: INTEGER): LONGINT
|
||||
"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)";
|
||||
|
||||
PROCEDURE -sys(str: ARRAY OF CHAR): INTEGER (* need this to call external tools like gcc or gas; noch *)
|
||||
|
|
|
|||
|
|
@ -331,10 +331,10 @@ from man gettimeofday
|
|||
PROCEDURE -includeSelect()
|
||||
"#include <sys/select.h>";
|
||||
|
||||
PROCEDURE -err(): LONGINT
|
||||
PROCEDURE -err(): INTEGER
|
||||
"errno";
|
||||
|
||||
PROCEDURE errno*(): LONGINT;
|
||||
PROCEDURE errno*(): INTEGER;
|
||||
BEGIN
|
||||
RETURN err()
|
||||
END errno;
|
||||
|
|
|
|||
|
|
@ -331,10 +331,10 @@ from man gettimeofday
|
|||
PROCEDURE -includeSelect()
|
||||
"#include <sys/select.h>";
|
||||
|
||||
PROCEDURE -err(): LONGINT
|
||||
PROCEDURE -err(): INTEGER
|
||||
"errno";
|
||||
|
||||
PROCEDURE errno*(): LONGINT;
|
||||
PROCEDURE errno*(): INTEGER;
|
||||
BEGIN
|
||||
RETURN err()
|
||||
END errno;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue