/* %Z%%M% %I% %E% */

/*
 * Copyright (c) 1990, 1991, 1995 by Wayne C. Gramlich.
 * All rights reserved.
 *
 * Permission to use, copy, modify, distribute, and sell this software
 * for any purpose is hereby granted without fee provided that the above
 * copyright notice and this permission are retained.  The author makes
 * no representations about the suitability of this software for any purpose.
 * It is provided "as is" without express or implied warranty.
 */

/* Word buffer implementation definitions: */

#ifndef WBUF_DEFS_H
#define WBUF_DEFS_H

#ifndef WBUF_EXPORTS_H
#include "wbuf_exports.h"
#endif

struct Wbuf_struct {
	Str		buffer;		/* Pointer to beginning of data */
	Wbuf_close	close_routine;	/* Close routine */
	Str		end;		/* Pointer to end of buffer */
					/* Must always point to a '\0' */
	Wbuf_flush	flush_routine;	/* Flush routine */
	Pointer		handle;		/* Arbitrary handle object */
	Heap		heap;		/* Heap allocated from */
	Str		pointer;	/* Current data pointer */
	int		size;		/* == end - buffer */
	
};

struct Wbuf_file_struct {
	int		fd;		/* File descriptor */
	Str		file_name;	/* File name opened */
};

#endif /* WBUF_DEFS_H */

