#ifndef SDI_PROTOS_H
#define SDI_PROTOS_H

/* Includeheader

	Name:		SDI_protos
	Versionstring:	$VER: SDI_protos.h 1.14 (17.03.97)
	Author:		SDI
	Distribution:	PD
	Description:	prototypes of SDI_functions

 1.0	: created out of ...SDI.h files
 1.1	: changed protos, added stuff
 1.4	: PutNum new, description changed
	/ * - line: description
	/ P - line: values and sense of the parameters
	/ R - line: return values
 1.5	: GetLength now ULONG
 1.6	: added FileReq
 1.7	: removed SDI_defines call
 1.8   03.10.95 : changed Ausgabe, added BreakPoint
 1.9   15.10.95 : variable types now like in exec/types.h
 1.10  14.01.96 : BreakPoint now void
 1.11  04.02.96 : GetPufferSize new
 1.12  13.04.96 : version string moved into header
 1.13  20.07.96 : removed strcmpNS, now in SDI_ASM_STD_protos.h
 1.14  17.03.97 : added GetDate, renamed functions, removed functions
*/

#include <exec/types.h>

ULONG SDI_Buffer(struct SDI_InOut *, struct SDI_InOut *);
	/* allocates buffer for Source and destination
	/P pointer to IO handles for input and output
	/R 0 on error, else buffersize of both buffers */
void SDI_FillBuf(struct SDI_InOut *);
        /* reads file into buffer
	/P pointer to IO handle of input file */
void SDI_FreeBuf(struct SDI_InOut *);
	/* calls FreeMem for buffers
	/P pointer to IO handle */
ULONG SDI_GetBuffer(struct SDI_InOut *);
	/* allocates buffer for IO handle
	/P pointer to IO handle
	/R buffersize or 0 on error */
void  SDI_GetBufferSize(struct SDI_InOut *, ULONG);
	/* finds out optimal buffersize
	/P pointer to IO handle, size of file */
ULONG SDI_GetDate(STRPTR);
	/* Prints current date into the string
	/P destination string, at least 13 chars wide
	/R 0 on error */
ULONG SDI_GetLength(ULONG);
	/* gets length of a file
	/P filehandle of the file
	/R file length or 0 on error */
UBYTE SDI_OpenBF(STRPTR, STRPTR, STRPTR, struct SDI_InOut *, struct SDI_InOut *);
	/* opens input, output files and buffers
	/P infile name, outfile name, outfile extension, pointer to input
	/P IO handle, pointer to output IO handle
	   when no outfile name:
	     outfile name = infile name + extension
	   when no outfile name and no extension:
	     outfile name = infile name
	   when no outfile name, no extension and not enough ram
	     outfile name = infile name + '_'
	/R see SDI_OpenBF.c, on error 0 */
void SDI_WriteBuf(struct SDI_InOut *, ULONG);
	/* Writes buffer into file
	/P pointer to SDI io structure of writebuffer,
	/P number of characters which should remain in buffer */

#endif /* SDI_PROTOS_H */

