summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/documented.sh102
1 files changed, 102 insertions, 0 deletions
diff --git a/scripts/documented.sh b/scripts/documented.sh
new file mode 100644
index 0000000000..85fb8687c1
--- /dev/null
+++ b/scripts/documented.sh
@@ -0,0 +1,102 @@
+#! /bin/sh
+bindir=$1
+
+VERSION=1.0
+
+egrep -h @deftypefunx? *.texi ../linuxthreads/*.texi |
+sed -e 's/@deftypefunx*[[: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 <<EOF
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+ <head>
+ <title>Undocumented glibc functions</title>
+ </head>
+
+ <body>
+ <center><h1>Undocumented <tt>glibc</tt> functions</h1></center>
+
+ <p>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.</p>
+
+ <p>A few comments:</p>
+
+ <ul>
+ <li>Some functions in the list are much less important than
+ others. Please prioritize.</li>
+
+ <li>Similarly for the LFS functions (those ending in 64).</li>
+ </ul>
+
+ <p>The function sombody already volunteered to document are marked
+ with a reference to the person.</p>
+
+ <center><table>
+EOF
+
+n=0
+diff -y --width=60 --suppress-common-lines DOCUMENTED AVAILABLE |
+expand | cut -b 33- | sed '/^[[:space:]]*$/d' |
+while read name; do
+ line="$line
+<td><tt>$name</tt></td>"
+ n=$(expr $n + 1)
+ if [ $n -eq 4 ]; then
+ echo "<tr>
+$line
+</tr>"
+ line=""
+ n=0
+ fi
+done
+if [ $n -gt 0 ]; then
+ if [ $n -eq 1 ]; then
+ line="$line
+<td></td>"
+ fi
+ if [ $n -eq 2 ]; then
+ line="$line
+<td></td>"
+ fi
+ if [ $n -eq 3 ]; then
+ line="$line
+<td></td>"
+ fi
+ echo "<tr>
+$line
+</tr>"
+fi
+
+cat <<EOF
+ </table></center>
+
+ <hr>
+ <address><a href="mailto:drepper@redhat.com">Ulrich Drepper</a></address>
+Generated on $(date) with documented.sh version $VERSION
+ </body>
+</html>
+EOF