#!/bin/sh setglobal bindir = $1 setglobal VERSION = '1.0' egrep -h @deftypefu?nx? *.texi ../linuxthreads/*.texi | sed -e 's/@deftypefunx*[[:space:]]*\({[^{]*}\|[[:alnum:]_]*\)[[:space:]]*\([[:alnum:]_]*\).*/\2/' -e 's/@deftypefn {[^}]*function}*[[:space:]]*\({[^{]*}\|[[:alnum:]_]*\)[[:space:]]*\([[:alnum:]_]*\).*/\2/' -e '/^@/d' | sed -e '/^obstack_/d' -e '/^\([lf]\|\)stat\(\|64\)$/d' -e '/^mknod$/d' | sed -e '/^signbit$/d' -e '/^sigsetjmp$/d' | sed -e '/^pthread_cleanup/d' -e '/^IFTODT$/d' -e '/^DTTOIF$/d' | sed -e '/^__fwriting$/d' -e '/^__fwritable$/d' -e '/^__fsetlocking$/d' | sed -e '/^__freading$/d' -e '/^__freadable$/d' -e '/^__fpurge$/d' | sed -e '/^__fpending$/d' -e '/^__flbf$/d' -e '/^__fbufsize$/d' | sed -e '/^alloca$/d' | sort -u > DOCUMENTED nm --extern --define $bindir/libc.so $bindir/math/libm.so $bindir/rt/librt.so $bindir/linuxthreads/libpthread.so $bindir/dlfcn/libdl.so $bindir/crypt/libcrypt.so $bindir/login/libutil.so | egrep " [TW] ([[:alpha:]]|_[[:alpha:]])" | sed 's/\(@.*\)//' | cut -b 12- | sed -e '/^_IO/d' -e '/^_dl/d' -e '/^_pthread/d' -e '/^_obstack/d' | sed -e '/^_argp/d' -e '/^_authenticate$/d' -e '/^_environ$/d' | sed -e '/^_errno$/d' -e '/^_h_errno$/d' -e '/^_longjmp$/d' | sed -e '/^_mcleanup$/d' -e '/^_rpc_dtablesize$/d' -e '/^_seterr_reply$/d' | sed -e '/^_nss/d' -e '/^_setjmp$/d' | sort -u > AVAILABLE cat << """ Undocumented glibc functions

Undocumented glibc functions

The following table includes names of the function in glibc which are not yet documented in the manual. This list is automatically created and therefore might contain errors. Please check the latest manual (available from the CVS archive) before starting to work. It might also be good to let me know in advanace on which functions you intend to work to avoid duplication.

A few comments:

The function sombody already volunteered to document are marked with a reference to the person.

""" setglobal n = '0' diff -y --width=60 --suppress-common-lines DOCUMENTED AVAILABLE | expand | cut -b 33- | sed '/^[[:space:]]*$/d' | while read name { setglobal line = ""$line "" setglobal n = $[expr $n + 1] if test $n -eq 4 { echo " $line " setglobal line = ''"" setglobal n = '0' } } if test $n -gt 0 { if test $n -eq 1 { setglobal line = ""$line "" } if test $n -eq 2 { setglobal line = ""$line "" } if test $n -eq 3 { setglobal line = ""$line "" } echo " $line " } cat << """
$name

Ulrich Drepper
Generated on $[date] with documented.sh version $VERSION """