/*      $Id: uu.h,v 1.1.1.1.4.1 2002/01/17 17:42:52 pwessel Exp $
 *
 *      Copyright (c) 1999-2002 by P. Wessel
 *      See COPYING file for copying and redistribution conditions.
 *
 *      This program 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; version 2 of the License.
 *
 *      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.
 *
 *      Contact info: www.soest.hawaii.edu/wessel
 *--------------------------------------------------------------------*/
/*
 *      Include file for programs using libuu.a to do Unix-style
 *	uuencode and uudecode from within programs.  Currently
 *	the file permission mode is ignored and set to 644.
 *	See libuu.c for how to use the functions in your code.
 *
 * Author:    Paul Wessel, SOEST, U. of Hawaii
 * Version:   1.0
 * Date:      07-MAR-2000
 */


#define UU_ENCODE 0
#define UU_DECODE 1

/* Declaration modifiers for DLL support (MSC et al) */

#if defined(DLL_UU)            /* define when library is a DLL */
#if defined(DLL_EXPORT)         /* define when building the library */
#define MSC_EXTRA_UU __declspec(dllexport)
#else
#define MSC_EXTRA_UU __declspec(dllimport)
#endif
#else
#define MSC_EXTRA_UU
#endif                          /* defined(DLL_UU) */

#ifndef EXTERN_MSC
#define EXTERN_MSC extern MSC_EXTRA_UU
#endif

/* So unless DLL_UU is defined, EXTERN_MSC is simply extern */

EXTERN_MSC int uu_decoder (FILE *in, FILE *out, char file[], char tag[], const char *prefix);
EXTERN_MSC int uu_encoder (FILE *in, FILE *out, char file[], char tag[], const char *prefix);

#ifndef LIBUU
/* Define and initialize pointers to uu_encoder and uu_decoder */

typedef int (*PFI) ();
PFI uu_io[2] = {uu_encoder, uu_decoder};
#endif
