summaryrefslogblamecommitdiff
path: root/lang/modula-3-lib/files/patch-bk
blob: 6d721061f979a254da0b4c9be0e0870d4ff59bc3 (plain) (tree)
1
2
3
4
5
6
7
                                      
                                               

                                                                      
 
                                                                        
                                                                        












                                                                                  







                                                       
                   









                                                              











                                                                      








                                                                    













                                                               







                                                                             
Support for SOCKS wrappers in Unix.i3.
Also add some missing system call declarations.
Also fix misdirected entries for "open" and "fcntl" which bypassed the
VM wrappers.

--- m3/m3core/src/unix/freebsd-2/Unix.i3.orig	Sat Jan  7 14:41:42 1995
+++ m3/m3core/src/unix/freebsd-2/Unix.i3	Thu Apr 23 22:09:54 1998
@@ -84,9 +84,10 @@
 <*EXTERNAL*> PROCEDURE fchmod (fd, mode: mode_t): int;
 (* ok *)
 
-(*** chown, fchown - change owner and group of a file ***)
+(*** chown, fchown, lchown - change owner and group of a file ***)
 <*EXTERNAL*> PROCEDURE chown (path: char_star; owner: uid_t; group: gid_t): int;
 <*EXTERNAL*> PROCEDURE fchown (fd: int; owner: uid_t; group: gid_t): int;
+<*EXTERNAL*> PROCEDURE lchown (path: char_star; owner: uid_t; group: gid_t): int;
 (* ok *)
 
 (*** chroot - change root directory ***)
@@ -94,7 +95,7 @@
 (* ok *)
 
 (*** close - delete a descriptor ***)
-<*EXTERNAL*> PROCEDURE close (d: int): int;
+<*EXTERNAL "m3_close"*> PROCEDURE close (d: int): int;
 (* ok *)
 
 (*** creat - create a new file ***)
@@ -102,8 +103,8 @@
 (* ok, but obsolete *)
 
 (*** dup, dup2 - duplicate an open file descriptor ***)
-<*EXTERNAL*> PROCEDURE dup (oldd: int): int;
-<*EXTERNAL*> PROCEDURE dup2 (oldd, newd: int): int;
+<*EXTERNAL "m3_dup"*> PROCEDURE dup (oldd: int): int;
+<*EXTERNAL "m3_dup2"*> PROCEDURE dup2 (oldd, newd: int): int;
 (* ok *)
 
 (*** execve - execute a file ***)
@@ -156,10 +157,7 @@
   F_WRLCK = 3; (* Write lock *)
   F_UNLCK = 2; (* Remove lock(s) *)
 
-(* with vm use this
 <*EXTERNAL "ufcntl"*> PROCEDURE fcntl (fd, request, arg: int): int;
-*)
-<*EXTERNAL "m3_fcntl"*> PROCEDURE fcntl (fd, request, arg: int): int;
 (* ok *)
 
 (*** flock - apply or remove an advisory lock on an open file ***)
@@ -773,6 +771,9 @@
  PROCEDURE lseek (d: int; offset: off_t; whence: int): off_t;
 (* ok *)
 
+(*** mkfifo - make a FIFO (named pipe) ***)
+<*EXTERNAL*> PROCEDURE mkfifo (path: char_star; mode: mode_t): int;
+
 (*** mkdir - make a directory file ***)
 <*EXTERNAL*> PROCEDURE mkdir (path: char_star; mode: mode_t): int;
 (* ok *)
@@ -827,12 +828,8 @@
 
   M3_NONBLOCK = O_NONBLOCK;  (* -1 => would block, 0 => EOF *)
 
-(* with vm use this
 <*EXTERNAL "uopen" *> PROCEDURE open (name: char_star; 
                                        flags, mode: int): int;
-*)
-<*EXTERNAL "m3_open" *> PROCEDURE open (name: char_star; 
-                                       flags, mode: int): int;
 (* ok *)
 
 (*** pipe - create an interprocess channel ***)
@@ -892,7 +889,7 @@
 TYPE
   FDSet = SET OF [0 .. MAX_FDSET - 1];
 
-<*EXTERNAL*> PROCEDURE select (nfds: int;
+<*EXTERNAL "m3_select"*> PROCEDURE select (nfds: int;
                            readfds, writefds, exceptfds: UNTRACED REF FDSet;
                            timeout: UNTRACED REF struct_timeval): int;
 (* ok *)