/*
 * $Id: shuffle.h,v 1.6 1999/02/01 22:40:49 drz Exp drz $
 */

#include <config.h>

/*
 * Error constants.
 */
#define SE_NOERR 0
#define SE_NOMEM 1
#define SE_READERR 2

#define DATA_INCREMENT 32768
#define INDEX_INCREMENT DATA_INCREMENT / 70
#define READ_BUFFER_SIZE 32768

#define SEPARATOR '\n'

/*
 * Strings the user will see.
 */
#define SE_NOMEM_STR "Not enough memory"
#define SE_READERR_STR "Read error"
#define VERSION "Shuffle version 1.4\n"

#ifdef HAVE_GETOPT_LONG
#define HELP "Usage: shuffle [OPTION]... [ARGUMENTS]...\n" \
             "Shuffle arguments or stdin.\n\n" \
             "  -h, --help            display this help and exit\n" \
             "  -n, --number N        output only N elements\n" \
             "  -s, --source file     use file as a source of random data\n" \
             "  -v, --version         output version information then exit\n" \
             "\nReport bugs to nuisance@cmu.edu.\n"
#else
#define HELP "Usage: shuffle [OPTION]... [ARGUMENTS]...\n" \
             "Shuffle arguments or stdin.\n\n" \
             "  -h                    display this help and exit\n" \
             "  -n                    output only N elements\n" \
             "  -s                    use file as a source of random data\n" \
             "  -v                    output version information then exit\n" \
             "\nReport bugs to nuisance@cmu.edu.\n"
#endif

/*
 * Some stuff to make the getopt() code more readable.
 */
#define GETOPT_NO_ARG 0
#define GETOPT_REQUIRED_ARG 1
#define GETOPT_OPTIONAL_ARG 2
