freebsd-nq/sys/compat/linux
Marcel Moolenaar c6dfea0ebd Add sysctl variables for the Linuxulator. These reside under `compat.linux' as
discussed on current.

The following variables are defined (for now):

    osname (defaults to "Linux")
        Allow users to change the name of the OS as returned by uname(2),
        specially added for all those Linux Netscape users and statistics
        maniacs :-) We now have what we all wanted!

    osrelease (defaults to "2.2.5")
        Allow users to change the version of the OS as returned by uname(2).
        Since -current supports glibc2.1 now, change the default to 2.2.5
        (was 2.0.36).

    oss_version (defaults to 198144 [0x030600])
        This one will be used by the OSS_GETVERSION ioctl (PR 12917) which I
        can commit now that we have the MIB. The default version number is the
        lowest version possible with the current 'encoding'.

A note about imprisoned processes (see jail(2)):
  These variables are copy-on-write (as suggested by phk). This means that
  imprisoned processes will use the system wide value unless it is written/set
  by the process. From that moment on, a copy local to the prison will be
  used.

A note about the implementation:
  I choose to add a single pointer to struct prison, because I didn't like the
  idea of changing struct prison every time I come up with a new variable. As
  a side effect, the extra storage is only needed when a variable is set from
  within the prison. This also minimizes kernel bloat when the Linuxulator is
  not used; both compiled in or as a module.

Reviewed by: bde (first version only) and phk
1999-08-27 19:47:41 +00:00
..
linux_file.c Fix bug in the fcntl syscall where 'arg' was not set properly. 1999-08-15 14:22:30 +00:00
linux_ioctl.c Fix a bug in debug-printfs of struct linux_termios fields, where I forgot to 1999-08-17 10:27:55 +00:00
linux_ipc.c ".. x11amp appears to be calling shmctl(id, IPC_RMID, 0) and the emulation 1998-06-02 12:38:31 +00:00
linux_mib.c Add sysctl variables for the Linuxulator. These reside under `compat.linux' as 1999-08-27 19:47:41 +00:00
linux_mib.h Add sysctl variables for the Linuxulator. These reside under `compat.linux' as 1999-08-27 19:47:41 +00:00
linux_misc.c Add sysctl variables for the Linuxulator. These reside under `compat.linux' as 1999-08-27 19:47:41 +00:00
linux_signal.c Implementation of linux_rt_sigaction and linux_rt_sigprocmask syscalls. Both 1999-08-14 17:28:46 +00:00
linux_socket.c Fix linux sendmsg() emulation 1999-01-11 05:28:44 +00:00
linux_stats.c Fix linux_newlstat in that it doesn't return the attributes of its containing 1999-08-25 15:23:54 +00:00
linux_util.c Removed unused #includes. 1997-07-20 16:06:08 +00:00
linux_util.h We don't end up checking for a return value of EFAULT from the copyinstr() 1999-08-07 05:33:35 +00:00