freebsd-nq/lib/libc/sys
John Baldwin 8e38aeff17 Add a new file descriptor type for IPC shared memory objects and use it to
implement shm_open(2) and shm_unlink(2) in the kernel:
- Each shared memory file descriptor is associated with a swap-backed vm
  object which provides the backing store.  Each descriptor starts off with
  a size of zero, but the size can be altered via ftruncate(2).  The shared
  memory file descriptors also support fstat(2).  read(2), write(2),
  ioctl(2), select(2), poll(2), and kevent(2) are not supported on shared
  memory file descriptors.
- shm_open(2) and shm_unlink(2) are now implemented as system calls that
  manage shared memory file descriptors.  The virtual namespace that maps
  pathnames to shared memory file descriptors is implemented as a hash
  table where the hash key is generated via the 32-bit Fowler/Noll/Vo hash
  of the pathname.
- As an extension, the constant 'SHM_ANON' may be specified in place of the
  path argument to shm_open(2).  In this case, an unnamed shared memory
  file descriptor will be created similar to the IPC_PRIVATE key for
  shmget(2).  Note that the shared memory object can still be shared among
  processes by sharing the file descriptor via fork(2) or sendmsg(2), but
  it is unnamed.  This effectively serves to implement the getmemfd() idea
  bandied about the lists several times over the years.
- The backing store for shared memory file descriptors are garbage
  collected when they are not referenced by any open file descriptors or
  the shm_open(2) virtual namespace.

Submitted by:	dillon, peter (previous versions)
Submitted by:	rwatson (I based this on his version)
Reviewed by:	alc (suggested converting getmemfd() to shm_open())
2008-01-08 21:58:16 +00:00
..
__error.c Remove 3rd clause, renumber, ok per email 2007-01-12 07:31:30 +00:00
_exit.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
abort2.2 Fix markup, language, function prototype, and example code. 2006-09-30 10:24:00 +00:00
accept.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
access.2 Make the warning a bit less 'broad' then it used to be. The access 2007-12-08 22:50:35 +00:00
acct.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
adjtime.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
aio_cancel.2
aio_error.2 Fix typo 2006-09-26 09:47:46 +00:00
aio_read.2 Sort .Xr by section number. 2005-12-13 13:43:35 +00:00
aio_return.2 Reword previous delta a little bit. 2006-10-07 10:49:20 +00:00
aio_suspend.2 ``NULL is a specific instance of a null pointer constant; the generic is 2004-12-23 23:45:25 +00:00
aio_waitcomplete.2
aio_write.2 Sort .Xr by section number. 2005-12-13 13:43:35 +00:00
bind.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
brk.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
chdir.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
chflags.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
chmod.2 When we try to set set-gid bit with chmod(2) on a file, which we own, but our 2007-01-16 15:17:27 +00:00
chown.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
chroot.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
clock_gettime.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
close.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
connect.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
dup.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
execve.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
extattr_get_file.2 Remove sys/uio.h include -- this is no longer required by the extattr 2006-11-06 15:12:43 +00:00
fcntl.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
fhopen.2 Use 'manual page' instead of 'man page' for consistency. 2005-06-30 13:18:15 +00:00
flock.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
fork.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
fsync.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
ftruncate.c Change the C wrappers for mmap/lseek/pread/pwrite/truncate/ftruncate to 2007-07-04 23:27:38 +00:00
getdirentries.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getdtablesize.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getfh.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getfsstat.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getgid.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getgroups.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getitimer.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getlogin.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getpeername.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getpgrp.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getpid.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getpriority.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getrlimit.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getrusage.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getsid.2
getsockname.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getsockopt.2 Wordsmithery. 2007-03-09 19:43:42 +00:00
gettimeofday.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
getuid.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
intro.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
ioctl.2 Take a sentence into the present by removing a reference to FreeBSD 3.0. 2007-07-14 19:23:29 +00:00
issetugid.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
jail.2 Fixed the misplaced $FreeBSD$. 2005-02-09 18:07:17 +00:00
kenv.2 Use 'manual page' instead of 'man page' for consistency. 2005-06-30 13:18:15 +00:00
kill.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
kldfind.2
kldfirstmod.2
kldload.2
kldnext.2 Markup fixes. 2006-09-17 21:27:35 +00:00
kldstat.2 Add a BUGS section to note that mount/chroot changes since 2007-10-22 21:49:39 +00:00
kldsym.2
kldunload.2 Expand *n't contractions. 2005-02-13 22:25:33 +00:00
kqueue.2 We've been able to support EVFILT_VNODE filtering on non-UFS 2007-09-07 13:10:09 +00:00
kse.2 New sentence -> new line. While here, fix apostrophe abuse. 2007-02-14 07:38:39 +00:00
ktrace.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
link.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
lio_listio.2 Add missing word "returns." 2006-10-07 05:13:32 +00:00
listen.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
lseek.2 Bump date. 2007-04-05 21:17:52 +00:00
lseek.c Change the C wrappers for mmap/lseek/pread/pwrite/truncate/ftruncate to 2007-07-04 23:27:38 +00:00
madvise.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
Makefile.inc Add a new file descriptor type for IPC shared memory objects and use it to 2008-01-08 21:58:16 +00:00
mincore.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
minherit.2 Bump manpage date, missed during the last change. 2007-10-30 15:28:43 +00:00
mkdir.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
mkfifo.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
mknod.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
mlock.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
mlockall.2 Fixed markup. 2004-07-03 23:14:34 +00:00
mmap.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
mmap.c Change the C wrappers for mmap/lseek/pread/pwrite/truncate/ftruncate to 2007-07-04 23:27:38 +00:00
modfind.2
modnext.2 Expand *n't contractions. 2005-02-13 22:25:33 +00:00
modstat.2 Catch up with the code. 2007-06-13 19:22:29 +00:00
mount.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
mprotect.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
mq_close.2 Fix library names. 2007-06-18 01:50:03 +00:00
mq_getattr.2 Fix library names. 2007-06-18 01:50:03 +00:00
mq_notify.2 Fix library names. 2007-06-18 01:50:03 +00:00
mq_open.2 Fix library names. 2007-06-18 01:50:03 +00:00
mq_receive.2 Fix library names. 2007-06-18 01:50:03 +00:00
mq_send.2 Fix library names. 2007-06-18 01:50:03 +00:00
mq_setattr.2 Fix library names. 2007-06-18 01:50:03 +00:00
msync.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
munmap.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
nanosleep.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
nfssvc.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
ntp_adjtime.2 Use better manuals for these ntp system calls. These were replaced by 2007-09-15 14:33:55 +00:00
open.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
pathconf.2 Bump date. 2007-04-05 21:17:52 +00:00
pipe.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
poll.2 Sort sections. 2005-01-20 09:17:07 +00:00
pread.c Change the C wrappers for mmap/lseek/pread/pwrite/truncate/ftruncate to 2007-07-04 23:27:38 +00:00
profil.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
ptrace.2 Belatedly bump Dd for my recent changes. 2007-04-11 20:31:06 +00:00
pwrite.c Change the C wrappers for mmap/lseek/pread/pwrite/truncate/ftruncate to 2007-07-04 23:27:38 +00:00
quotactl.2 Docment the acceptable values for the id parameter. 2007-02-01 02:31:02 +00:00
read.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
readlink.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
reboot.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
recv.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
rename.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
revoke.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
rfork.2 Document RFTHREAD 2007-05-14 13:58:54 +00:00
rmdir.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
rtprio.2 Sort sections. 2005-01-20 09:17:07 +00:00
sched_get_priority_max.2 Mechanically kill hard sentence breaks. 2004-07-02 23:52:20 +00:00
sched_setparam.2 Sort SEE ALSO references (in dictionary order, ignoring case). 2004-07-04 20:55:50 +00:00
sched_setscheduler.2 Mechanically kill hard sentence breaks. 2004-07-02 23:52:20 +00:00
sched_yield.2 Mechanically kill hard sentence breaks. 2004-07-02 23:52:20 +00:00
sctp_generic_recvmsg.2 Remove extraneous empty lines, to fix mdoc warnings. 2007-10-30 15:36:40 +00:00
sctp_generic_sendmsg.2 Remove extraneous empty lines, to fix mdoc warnings. 2007-10-30 15:36:40 +00:00
sctp_peeloff.2 Remove extraneous empty lines, to fix mdoc warnings. 2007-10-30 15:36:40 +00:00
select.2 Add note about other systems. 2007-12-19 03:33:13 +00:00
semctl.2 Eliminate macro calls inside literal displays. 2005-01-15 12:28:01 +00:00
semget.2 Expand contractions. 2005-02-15 09:27:00 +00:00
semop.2 Eliminate macro calls inside literal displays. 2005-01-15 12:28:01 +00:00
send.2 Remove the MSG_PEEK flag from the documentation of the send(2) syscall - 2007-04-27 10:28:30 +00:00
sendfile.2 Note that, thanks to the work by Alan Cox et al, some arch'es 2006-11-24 11:44:19 +00:00
setgroups.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
setpgid.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
setregid.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
setresuid.2
setreuid.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
setsid.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
setuid.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
shm_open.2 Add a new file descriptor type for IPC shared memory objects and use it to 2008-01-08 21:58:16 +00:00
shmat.2 Mechanically kill hard sentence breaks. 2004-07-02 23:52:20 +00:00
shmctl.2 Expand contractions. 2005-02-13 23:45:54 +00:00
shmget.2 Mechanically kill hard sentence breaks. 2004-07-02 23:52:20 +00:00
shutdown.2 Fix license. Clause 4 is still required (UCB materiel). 2007-03-07 13:38:11 +00:00
sigaction.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
sigaltstack.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
sigpending.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
sigprocmask.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
sigqueue.2 Markup fixes. 2006-09-17 21:27:35 +00:00
sigreturn.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
sigstack.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
sigsuspend.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
sigwait.2 -mdoc sweep. 2005-11-17 13:00:00 +00:00
sigwaitinfo.2 Sort .Xr by section number. 2005-12-13 13:43:35 +00:00
socket.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
socketpair.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
stack_protector.c Expose __stack_chk_fail_local() so -fstack-protector-all works. 2007-06-05 08:24:34 +00:00
stat.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
statfs.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
swapon.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
Symbol.map Add thr_kill2 syscall. 2007-08-22 01:56:35 +00:00
symlink.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
sync.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
sysarch.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
syscall.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
timer_create.2 Fix library names. 2007-06-18 01:50:03 +00:00
timer_delete.2 Fix library names. 2007-06-18 01:50:03 +00:00
timer_settime.2 Fix library names. 2007-06-18 01:50:03 +00:00
truncate.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
truncate.c Change the C wrappers for mmap/lseek/pread/pwrite/truncate/ftruncate to 2007-07-04 23:27:38 +00:00
umask.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
undelete.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
unlink.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
utimes.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
utrace.2 Fixed markup. 2004-07-03 23:14:34 +00:00
uuidgen.2 Fix all the spelling mistakes I could find in the man pages for words 2005-07-31 03:30:48 +00:00
vfork.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
wait.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00
write.2 Per Regents of the University of Calfornia letter, remove advertising 2007-01-09 00:28:16 +00:00