.\" mdsum - compute file digests using any supported algorithms.
.\" Copyright (c) 2010 David Sugar <dyfet@gnutelephony.org>
.\"
.\" This manual page is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 3 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; if not, write to the Free Software
.\" Foundation, Inc.,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.\"
.\" This manual page is written especially for Debian GNU/Linux.
.\"
.TH mdsum "1" "January 2010" "GNU uCommon" "GNU Telephony"
.SH NAME
mdsum \- compute file digests using any supported algorithms.
.SH SYNOPSIS
.B mdsum
.RI [ options ]
.RI [ paths... ]
.br
.SH DESCRIPTION
This command computes a message digest for one or more specified files.  If
no files are specified, then stdin can be used.  Any digest algorithm
available in libusecure may be selected and used.  Entire directory trees
may also be examined and computed using the -R (--recursive) option.
.SH OPTIONS
.TP
.BI \-\-digest= name
Specify name of digest algorithm.  By default md5 will be used, unless the
command is executed through a symlink which happens to match an algorithm
name.
.TP
.B \-\-follow
Dereference and follow symlinks.  Otherwise they are ignored.
.TP
.B \-\-recursive
If argument is a directory, recursively scan directory and any subdirectory
contents as arguments.
.TP
.B \-\-help
Outputs help screen for the user.
.SH AUTHOR
.B mdsum
was written by David Sugar <dyfet@gnutelephony.org>.
.SH "REPORTING BUGS"
Report bugs to bug-commoncpp@gnu.org.
.SH COPYRIGHT
Copyright \(co 2010 David Sugar, Tycho Softworks.
.br
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

