Commit Graph

44 Commits

Author SHA1 Message Date
jdolecek 7f7c60e827 Add 'kernsa' parameter for sendit()/recvit(); if nonzero, msg->msg_name
is supposed to point directly to struct mbuf or struct sockaddr in kernel
space as appropriate, rather than being a pointer to memory in userland.

This is to be used by compat/* when emulation needs to wrap
send{to|msg}(2)/recv{from|msg}(2) and modify the passed struct
sockaddr.
2001-06-25 19:24:02 +00:00
thorpej 80cc38a1af Fix a partial construction problem that can cause race conditions
between creation of a file descriptor and close(2) when using kernel
assisted threads.  What we do is stick descriptors in the table, but
mark them as "larval".  This causes essentially everything to treat
it as a non-existent descriptor, except for fdalloc(), which sees a
filled slot so that it won't (incorrectly) allocate it again.  When
a descriptor is fully constructed, the code that has constructed it
marks it as "mature" (which actually clears the "larval" flag), and
things continue to work as normal.

While here, gather all the code that gets a descriptor from the table
into a fd_getfile() function, and call it, rather than having the
same (sometimes incorrect) code copied all over the place.
2001-06-14 20:32:41 +00:00
mrg 0b7f4cf1ba avoid trigraphs 2001-06-08 12:50:11 +00:00
sommerfeld 99d6bcc3e1 more range-checking.
In debug code, limit the size of malloced buffers to a reasonable amount.
2000-08-30 01:13:22 +00:00
sommerfeld 90eb61037d Range-check ioc->len 2000-08-29 15:15:13 +00:00
mrg 705b50bf32 fix LP64 warnings. 2000-07-27 14:00:56 +00:00
christos e3004f2598 make this compile with -DDEBUG_SVR4 [lossage because sizeof is u_long now] 2000-04-12 15:12:13 +00:00
christos aca4545896 Markus Kilbinger <kilbi@rad.rwth-aachen.de>, reported that https: does not work.
The reason is that netscape tries to do stream operations on a plain file. So
we avoid that...
2000-04-12 02:46:41 +00:00
augustss a82aeb5508 Kill register declarations. 2000-03-30 11:24:16 +00:00
christos d205cc9cd4 oops, forgot to include new files. 1999-09-07 18:20:18 +00:00
christos b02601323e Fix idiotic errors in I_SETSIG:
1. the mask is passed by value, not by reference
2. compare the rest of the mask bits not the valid ones
3. return 0, not the current fd's flags.

Now appletviewer works on an inet display. It will not work
with :0 because /tmp/.X11-pipe/X0 is a named pipe, not a
socket like our /tmp/.X11-unix/X0. Maybe I'll kludge svr4_sys_open
to return an fd to a unix socket when someone attempts to call
open on a unix socket.
1999-01-23 23:44:08 +00:00
christos d7846c84e1 Conflict resolution. 1998-11-27 18:33:21 +00:00
christos f8c52e6cf3 use a symbolic constant instead of just 0 1998-11-27 18:32:09 +00:00
christos 48a6904248 fix renamed constant 1998-11-26 18:58:50 +00:00
christos 6167bac14c No functional changes. Added Mark Newton's suggested fixes, but since I have
not tested them they are #ifdef'ed notyet.
1998-11-25 15:48:35 +00:00
christos 6524452816 Fix confusion about about service types (from FreeBSD). Now dns resolution
works.
1998-10-03 22:03:07 +00:00
christos e1f16dd0c9 Assign copyrights to TNF; tv has copyrights on the remaining files...
It would be nice if he changed them (hint, hint)
1998-09-04 19:54:37 +00:00
christos 667541561d Try to implement I_GETSIG to make netscape work again (untested) 1998-08-27 07:04:31 +00:00
perry e1601dc2ca bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:36:58 +00:00
lukem 786b86d71b use AF_LOCAL instead of AF_UNIX 1998-07-18 05:04:35 +00:00
thorpej 14cd99880c Fix the shared library versioning snafu caused by the recent changes
to the stat(2) family and msync(2).  This uses a primitive function
versioning scheme.

This reverts the libc shared library major version from 13 to 12, and
adds a few new interfaces to bring us to libc version 12.20.

From Frank van der Linden <fvdl@NetBSD.ORG>.
1997-10-20 22:05:06 +00:00
mycroft 429b08a2b4 Use S_IS*(), not S_IF*. 1997-10-19 18:40:11 +00:00
mycroft a6aa4731bc Fix errors left over from system call conversion. 1997-09-09 21:14:00 +00:00
christos 4fe8f4e95f PR/3354: From Michael Eriksson; I_SETSIG did not handle O_ASYNC properly
and we would never get asynchronous events back. This affected the java
SDK. Also GC O_RAIOSIG which was a Dell/SVR4'ism which is now RIP.
1997-03-18 18:57:19 +00:00
christos 5426bff5dd Fix incorrect comment about fdinsert 1997-03-15 00:00:09 +00:00
fvdl bb31faf853 Make this compile again, including Politically Correct const handling. 1996-12-22 23:00:02 +00:00
christos e0c2870d89 implement I_SETSIG 1996-12-06 03:24:32 +00:00
fvdl 0c32bba802 Make this compile with -Wcast-qual. 1996-10-28 08:46:35 +00:00
christos f8dddb3afe add: I_FDINSERT, _I_BIND_RSVD, _I_RELE_RSVD, SI_SHUTDOWN
this fixes programs that use listen(2) and accept(2), and
makes unix domain sockets work both in tcp and udp.
1996-08-30 23:06:24 +00:00
christos 7e8a7a54eb - Always check if the file descriptor we are using is a socket.
- Make sure we get an so_internal state allocated, even if we
  did not open the socket ourselves.
1996-06-05 19:10:34 +00:00
christos 6ba5bd8c10 Fix OGETUDATA for Solaris-2.3 (From Greg Hudson) 1996-05-13 16:57:50 +00:00
christos 0a8a2051dc - Make unix domain sockets work.
- Implement GETSOCKNAME and GETMYNAME
- Implement getmsg(ACCEPT) [incomplete]
- Implement LISTEN [incomplete]

There are too many changes in the code, this is why the incomplete checkpoint.
1996-04-11 12:49:13 +00:00
christos 6c2fd36998 Fixed debug printf format args. 1996-03-30 22:37:52 +00:00
christos b50214e2fa use %p in printf's instead of casts to (unsigned int) 1996-02-10 00:48:08 +00:00
christos 065bada41f so_pcb -> so_internal 1996-02-04 02:01:07 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
thorpej eecd40e854 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:10:11 +00:00
christos d0169ce44a Use compat_util.[ch] 1995-06-24 20:29:17 +00:00
fvdl cbcf8eee8a Check for invalid filedescriptors in getmsg() and putmsg(). 1995-06-24 18:47:08 +00:00
christos ee05f066e8 1. siginfo stuff torn out from wait.h to be used by the MI portion of the code.
2. many termio, ioctl, sigaction fixes
3. better socket type emulation; still ticotsord [the loopback interface I
   guess] does not work properly on svr4 4.1.
4. new gettimeofday, fixed utssys..
5. rmdir and mkdir were swapped in syscalls.master
1995-03-31 03:06:17 +00:00
christos dbcb84b7e1 Added sigaltstack, ioctl(I_NREAD)
Replaced syssun with svr4_sysarch()
1995-02-01 01:37:33 +00:00
christos 22572ffee9 More debugging for waitsys()
Fixed uname which was broken since 1.0.
Added timod/getinfo stream ioctl.
Fixed TIOC{G,S}PGRP
Fixed typo in the flags translation
1995-01-10 00:04:03 +00:00
christos 2859b1c634 Rework streams emulation so that it does not rely on non portable hacks.
We keep streams state in so->so_ptcb; this field is unused in all the kernel.
Fix poll(2) timeout computation; add hrtsys and waitsys syscalls.
1994-11-18 02:53:37 +00:00
christos 0d5c2ddb90 new files 1994-11-14 06:13:11 +00:00