Commit Graph

37 Commits

Author SHA1 Message Date
christos
018a4082cc - #undef DPRINTF for files that are included from other files.
- more debugging for socketcalls
- fix sa_len if AF_INET; somehow we get passed 28 instead of 16?
2002-03-29 20:49:40 +00:00
christos
381e6a7764 make the stackgap_{init,alloc} functions MP friendly (i.e. pass struct proc *
in, instead of using curproc). While there add an optional size argument to
stackgap_init.
2002-03-16 20:43:48 +00:00
lukem
dab6ef8b56 add RCSIDs (including regeneration of files as appropriate) 2001-11-13 02:07:52 +00:00
fvdl
2c344fe7d9 Allow the old-style sockaddr_in6 for v6 addresses for which the
scope id is irrelevant. Makes netscape6 for Linux work again,
which uses v4-mapped addresses to connect to v4 sites.
2001-09-08 14:19:09 +00:00
jdolecek
978d4eb77b remove no longer used variable
make 'osa' arg of linux_sa_get() const
2001-07-04 10:24:18 +00:00
jdolecek
8cbefdbb89 Do address family (AF_*) number translation for socket system calls which
pass socket address in our or out. This makes Linux programs using IPv6
working under emulation. This addresses kern/13279 by Jun-ichiro itojun Hagino.

Change sendmsg()/recvmsg() to expect the control information
to be passed the standard way (not 4.3BSD one, imlied by compat_43 code
or MSG_COMPAT). Linux uses different (arguably broken) CMSG_ALIGN() on some
architectures unfortunately, that would need to be handled eventually.

Also provide some other trivial stubs (like linux_sys_send()) to avoid
unneeded dependance on uipc_syscalls_43.c.
2001-07-04 10:09:24 +00:00
jdolecek
1b87473851 linux_getifhwaddr(): use strncmp() to find out if if_name starts with 'eth',
it's more readable that way
2001-06-25 19:55: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
fvdl
879b34ea8c Don't do the ioctl call for the get hw addr case, all the work has
been done already.
2001-03-29 10:37:37 +00:00
chs
09cb38f22b expose the definitions of MIN() and MAX() in sys/param.h to the kernel
and use those in favor of a dozen copies scattered around the source tree.
2001-02-05 10:42:40 +00:00
fvdl
6f552a029f Allow the EJUSTRETURN hack for PTIOCLINUX-passed through ioctl calls. 2000-12-29 20:07:53 +00:00
fvdl
e60e785474 Don't do the syscall with modified ioctl command if we've successfully
done a 'passthrough' ioctl.
2000-12-22 23:41:16 +00:00
fvdl
865e7b1375 Pass SIOC* calls that are done on devices (not sockets) through
without trying to interpret done, as is done on Linux. The device
will get them as PTIOCLINUX, with command and arg in the structure
passed in.
2000-12-18 14:46:36 +00:00
thorpej
33e0776eda Remove junk after #undef. 2000-05-03 21:41:43 +00:00
augustss
a82aeb5508 Kill register declarations. 2000-03-30 11:24:16 +00:00
jdolecek
600be45ffc Improve emulation of SIOCGIFHWADDR ioctl:
* when finding an interface, try the real name first before faking eth*
 * Linux kernel returns ENODEV if the request goes to unknown interface,
   so do the same here

This change makes Linux ICA client work.

Patch sent by Zdenek Salvet <salvet@ics.muni.cz> in kern/9169.
2000-01-12 17:19:11 +00:00
jtk
92bf84ec68 implement emulation of SIOCGIFHWADDR, PR 7997 1999-07-17 22:03:55 +00:00
thorpej
e3669c3393 Add "use counting" to file entries. When closing a file, and it's reference
count is 0, wait for use count to drain before finishing the close.

This is necessary in order for multiple processes to safely share file
descriptor tables.
1999-05-05 20:01:01 +00:00
sommerfe
280a842850 commit fix to PR7072: emulate linux non-blocking connect behavior more correctly 1999-03-25 04:26:45 +00:00
fvdl
8096c25afc Assign my copyright to TNF. Merge with others were appropriate.
Regen syscall files after script change.
1998-10-04 00:02:23 +00:00
christos
908291d2fe Attempt to fix the mess. 1998-10-03 20:17:36 +00:00
erh
81cc399a4d Split linux/compat/linux_socket.c into common and multi-architechture parts. linux_socketcall.c contains the socketcall multiplexer. 1998-10-01 03:33:17 +00:00
fvdl
bb31faf853 Make this compile again, including Politically Correct const handling. 1996-12-22 23:00:02 +00:00
christos
151fa70f78 Prototyping changes. 1996-04-05 00:01:10 +00:00
mycroft
6bc0baa1ce Separate ioctl emulation by group. Add (minimal) audio emulation. 1996-03-08 04:55:59 +00:00
mycroft
245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
thorpej
e1da0d5390 Make system calls conform to a standard prototype and bring those
prototypes into scope.
1995-09-19 22:37:27 +00:00
mycroft
88b8e43a80 Rearrange #includes. 1995-08-14 01:27:43 +00:00
christos
6b95b513b0 Use compat_util.[ch]. 1995-06-24 20:20:04 +00:00
fvdl
c4aaa6000c * Changed to use generic ELF code from kern/exec_elf.c (which was taken
from the svr4 exec code plus the linux compat mods)
* Include file change
* Add multicast sockopts (from John Brezak)
1995-06-22 21:34:27 +00:00
mycroft
cc8da4254d Need netinet/tcp.h. 1995-05-28 10:20:46 +00:00
mycroft
32659780f6 Convert TCP socket options. 1995-05-28 10:16:32 +00:00
mycroft
00569bf574 Fill in `name' argument to getsockopt() correctly. 1995-05-28 09:39:45 +00:00
mycroft
116c7de730 Fix typo. 1995-05-28 08:52:07 +00:00
mycroft
e89504670f Convert IP socket options. 1995-05-28 08:50:17 +00:00
mycroft
fbc3ef234b Get rid of damned `static's. 1995-05-28 08:09:51 +00:00
fvdl
3bf459f350 Added Linux compat code. 1995-02-28 23:24:35 +00:00