Below is a list of pages that I would like to see in the man-pages set. If you are thinking of writing one or more of these pages, then:
| System call |
Since kernel |
Notes |
| perfmonctl(2) | 2.4 | IA-64 specific |
| restart_syscall(2) | 2.6 | |
| vserver(2) | 2.6 | |
|
add_key(2)
keyctl(2) request_key(2) |
2.6.10 |
See:
Documentation/keys.tx
and
Documentation/keys-request-key.txt.
Requires CONFIG_KEYS (and optionally CONFIG_KEYS_DEBUG_PROC_KEYS)
under "Security options"
Work is in progress on this page |
| sys_debug_setcontext(2) | 2.6.11 | PowerPC if CONFIG_POWERPC kernel config option is enabled |
| kexec_load(2) | 2.6.13 | |
| getcpu(2) | 2.6.16 |
glibc support since version 2.6 with wrapper
sched_getcpu(3)
Work is in progress on this page |
| migrate_pages(2) | 2.6.16 |
See
Documentation/vm/page_migration
Work is in progress on this page |
|
set_robust_list(2)
get_robust_list(2) |
2.6.17 | Information can be found in the 2.6.17 ChangeLog under "lightweight robust futexes" |
| move_pages(2) | 2.6.18 | There is a version of move_pages in the package at http://oss.sgi.com/projects/libnuma/ |
There is no man page for the /sys file system: there probably should be a sys(5) page similar to proc(5). The kernel source file Documentation/filesystems/sysfs.txt provides a starting point for this page.
MPDIR=~/man-pages # Directory containing uncompressed man-pages
GLIBCDIR=/SOME_DIR # Directory containing glibc tree
for f in $(cat $(find $GLIBCDIR -name Versions |
egrep -v '/(hurd|mach)/') |
egrep -v '({|}|^%)' |
sed -e 's/#.*//' |
tr ';' '\012' |
sed 's/^ *//' |
grep -v '^[_.]' |
sort -u); do
if ! test -f "$MPDIR/man3/$f.3" > /dev/null 2>&1 &&
! test -f "$MPDIR/man2/$f.2" > /dev/null 2>&1 ; then
echo $f;
fi
done
| Function |
Since glibc version |
Notes |
| crypt_r(3) | To be added to crypt(3) | |
| dlinfo(3) | 2.3.3 | Solaris and FreeBSD have a similar function. |
| dladdr1(3) | 2.3.3 | |
| dlmopen(3) | 2.3.4 | Probably to be documented in dlopen(3); Solaris has a similar function. |
| etext(3), edata(3), end(3) (variables) | Document them on a single page | |
| fopencookie(3) | ||
|
mallinfo(3)
mallopt(3) |
There is out-of-date documentation in the glibc manual.
Currently (glibc 2.7) the following are supported:
#define M_TRIM_THRESHOLD -1 #define M_TOP_PAD -2 #define M_MMAP_THRESHOLD -3 #define M_MMAP_MAX -4 #define M_CHECK_ACTION -5 #define M_PERTURB -6 |
|
|
mcheck(3)
mprobe(3) |
||
| memmem(3) | GNU extension | |
| open_wmemstream(3) | 2.4 | |
| posix_madvise(3) | 2.2 | POSIX_MADV_DONTNEED became a no-op in glibc 2.7, reflecting the fact that the underlying madvise(MADV_DONTNEED) is not consistent with POSIX semantics. |
| readdir_r(3) | probably as additional text in readdir(3) | |
| sigstack(3) | ||
| strftime_l(3) | 2.3 | |
| strptime_l(3) | 2.3.2 | |
| tmpnam_r(3) | probably as additional text in tmpnam(3) | |
|
argp_error(3)
argp_failure(3) argp_help(3) argp_parse(3) argp_program_bug_address(3) argp_program_version(3) argp_program_version_hook(3) argp_state_help(3) argp_usage(3) |
||
|
posix_spawn(3)
posix_spawnattr_destroy(3) posix_spawnattr_getflags(3) posix_spawnattr_getpgroup(3) posix_spawnattr_getschedparam(3) posix_spawnattr_getschedpolicy(3) posix_spawnattr_getsigdefault(3) posix_spawnattr_getsigmask(3) posix_spawnattr_init(3) posix_spawnattr_setflags(3) posix_spawnattr_setpgroup(3) posix_spawnattr_setschedparam(3) posix_spawnattr_setschedpolicy(3) posix_spawnattr_setsigdefault(3) posix_spawnattr_setsigmask(3) posix_spawn_file_actions_addclose(3) posix_spawn_file_actions_adddup2(3) posix_spawn_file_actions_addopen(3) posix_spawn_file_actions_destroy(3) posix_spawn_file_actions_init(3) posix_spawnp(3) |
||
|
if_freenameindex(3)
if_indextoname(3) if_nameindex(3) if_nametoindex(3) |
||
|
getaddrinfo_a(3)
gai_cancel(3) gai_error(3) gai_suspend(3) |
libanl; since glibc 2.2.3; See http://people.redhat.com/~drepper/asynchnl.pdf | |
|
Various wide-character functions
(with their traditional equivalents mentioned in parentheses) |
||
|
wscanf(3) (scanf(3))
fwscanf(3) (fscanf(3)) swscanf(3) (sscanf(3)) vfwscanf(3) (vfscanf(3)) vswscanf(3) (vsscanf(3)) wcschrnul(3) (strchrnul(3)) wcscoll(3) (strcoll(3)) wcsftime(3) (strftime(3)) wcstod(3) (strtod(3)) wcstof(3) (strtof(3)) wcstold(3) (strtold(3)) wcstol(3) (atol(3)) wcstol(3) (strtol(3)) wcstoul(3) (strtoul(3)) wcstoll(3) (strtoll(3)) wcstoull(3) (strtoull(3)) wcstoq(3) (atoq(3)) wcstoq(3) (strtoq(3)) wcstouq(3) (strtouq(3)) wcswcs(3) (strstr(3)) wcsxfrm(3) (strxfrm(3)) |
After these man pages are written, add SEE ALSO entries from the pages for the traditional functions to the pages describing their wide-character equivalents. | |
And last, but far from least, the POSIX threads API. Note that there is an existing, outdated set of pages supplied with glibc that document the old LinuxThreads implementation. (These pages are written under a license that allows re-use, so some material that they contain could be used in new pages.)
What is required is a set of pages that document the complete API, describing details where LinuxThreads and NPTL diverge from the standard. The existing pthreads(7) man page, which gives an overview of Pthreads implementations on Linux, is designed as a background document for these man pages.
The list of required man pages is long (related functions can be grouped on a single page); those marked with more asterisks are probably the most desirable to get done first.
| Function |
Since glibc version |
Notes |
| pthread_atfork(3) | * | |
| pthread_attr_destroy(3) | ||
| pthread_attr_getaffinity_np(3) | ||
| pthread_attr_getdetachstate(3) | ||
| pthread_attr_getguardsize(3) | ||
| pthread_attr_getinheritsched(3) | ||
| pthread_attr_getschedparam(3) | ||
| pthread_attr_getschedpolicy(3) | ||
| pthread_attr_getscope(3) | ||
| pthread_attr_getstack(3) | ||
| pthread_attr_getstackaddr(3) | ||
| pthread_attr_getstacksize(3) | ||
| pthread_attr_init(3) | ||
| pthread_attr_setaffinity_np(3) | ||
| pthread_attr_setdetachstate(3) | ||
| pthread_attr_setguardsize(3) | ||
| pthread_attr_setinheritsched(3) | ||
| pthread_attr_setschedparam(3) | ||
| pthread_attr_setschedpolicy(3) | ||
| pthread_attr_setscope(3) | ||
| pthread_attr_setstack(3) | ||
| pthread_attr_setstackaddr(3) | ||
| pthread_attr_setstacksize(3) | ||
| pthread_barrierattr_destroy(3) | ||
| pthread_barrierattr_getpshared(3) | ||
| pthread_barrierattr_init(3) | ||
| pthread_barrierattr_setpshared(3) | ||
| pthread_barrier_destroy(3) | ||
| pthread_barrier_init(3) | ||
| pthread_barrier_wait(3) | ||
| pthread_cancel(3) | ** | |
| pthread_cleanup_pop(3) | ** | |
| pthread_cleanup_pop_restore_np(3) | ||
| pthread_cleanup_push(3) | ** | |
| pthread_cleanup_push_defer_np(3) | ||
| pthread_condattr_destroy(3) | ||
| pthread_condattr_getclock(3) | ||
| pthread_condattr_getpshared(3) | ||
| pthread_condattr_init(3) | ||
| pthread_condattr_setclock(3) | ||
| pthread_condattr_setpshared(3) | ||
| pthread_cond_broadcast(3) | ** | |
| pthread_cond_destroy(3) | ** | |
| pthread_cond_init(3) | ** | |
| pthread_cond_signal(3) | ** | |
| pthread_cond_timedwait(3) | ** | |
| pthread_cond_wait(3) | ** | |
| pthread_create(3) | *** | |
| pthread_detach(3) | *** | |
| pthread_equal(3) | *** | |
| pthread_exit(3) | *** | |
| pthread_getaffinity_np(3) | ||
| pthread_getattr_np(3) | ||
| pthread_getconcurrency(3) | ||
| pthread_getcpuclockid(3) | ||
| pthread_getschedparam(3) | ||
| pthread_getspecific(3) | ** | |
| pthread_join(3) | *** | |
| pthread_key_create(3) | ** | |
| pthread_key_delete(3) | ** | |
| pthread_kill(3) | * | |
| pthread_kill_other_threads_np(3) | ||
| pthread_mutexattr_destroy(3) | ||
| pthread_mutexattr_getpshared(3) | ||
| pthread_mutexattr_gettype(3) | ||
| pthread_mutexattr_init(3) | ||
| pthread_mutexattr_setpshared(3) | ||
| pthread_mutexattr_settype(3) | ||
| pthread_mutex_consistent_np(3) | 2.4 | |
| pthread_mutexattr_getrobust_np(3) | 2.4 | |
| pthread_mutexattr_setrobust_np(3) | 2.4 | |
| pthread_mutexattr_getprotocol(3) | 2.4 | |
| pthread_mutexattr_setprotocol(3) | 2.4 | |
| pthread_mutexattr_getprioceiling(3) | 2.4 | |
| pthread_mutexattr_setprioceiling(3) | 2.4 | |
| pthread_mutex_getprioceiling(3) | 2.4 | |
| pthread_mutex_setprioceiling(3) | 2.4 | |
| pthread_mutex_destroy(3) | ** | |
| pthread_mutex_init(3) | ** | |
| pthread_mutex_lock(3) | ** | |
| pthread_mutex_timedlock(3) | ** | |
| pthread_mutex_trylock(3) | ** | |
| pthread_mutex_unlock(3) | ** | |
| pthread_once(3) | ** | |
| pthread_rwlockattr_destroy(3) | ||
| pthread_rwlockattr_getkind_np(3) | ||
| pthread_rwlockattr_getpshared(3) | ||
| pthread_rwlockattr_init(3) | ||
| pthread_rwlockattr_setkind_np(3) | ||
| pthread_rwlockattr_setpshared(3) | ||
| pthread_rwlock_destroy(3) | ||
| pthread_rwlock_init(3) | ||
| pthread_rwlock_rdlock(3) | ||
| pthread_rwlock_timedrdlock(3) | ||
| pthread_rwlock_timedwrlock(3) | ||
| pthread_rwlock_tryrdlock(3) | ||
| pthread_rwlock_trywrlock(3) | ||
| pthread_rwlock_unlock(3) | ||
| pthread_rwlock_wrlock(3) | ||
| pthread_self(3) | ** | |
| pthread_setaffinity_np(3) | ||
| pthread_setcancelstate(3) | ||
| pthread_setcanceltype(3) | ||
| pthread_setconcurrency(3) | ||
| pthread_setschedparam(3) | ||
| pthread_setspecific(3) | ** | |
| pthread_sigmask(3) | * | |
| pthread_spin_destroy(3) | ||
| pthread_spin_init(3) | ||
| pthread_spin_lock(3) | ||
| pthread_spin_trylock(3) | ||
| pthread_spin_unlock(3) | ||
| pthread_testcancel(3) | ** | |
| pthread_timedjoin_np(3) | ||
| pthread_tryjoin_np(3) | ||
| pthread_yield(3) | * | |
| pthread_yield_np(3) |