/*
 *
 * tfile.h  -- Definition for internal 'tfile's.
 *
 * $Header: /mit/sipb-athena/repository/src/discuss/include/discuss/tfile.h,v 1.3 1997/11/30 00:56:53 svalente Exp $
 * $Log: tfile.h,v $
 * Revision 1.3  1997/11/30 00:56:53  svalente
 * Change from Imakefiles to configure script.
 * Prototype all exported functions in appropriate header files.
 * Ensure ANSI-clean and 64bit-clean.
 *
 * Revision 1.3  1992/06/26  02:17:40  raeburn
 * getting in sync with current source tree
 *
 * Revision 1.2  91/09/30  04:58:27  raeburn
 * Added RCS headers; changed "trecord" name to "_tfile".
 * 
 */

#ifndef TFILE_H_INCLUDED
#define TFILE_H_INCLUDED

struct _tfile {
     int (*proc)();				/* file proc */
     int size;					/* file size */
     char *infop;				/* pointer to misc info */
     int info;
};

typedef struct _tfile *tfile;

#define TFOPEN 1
#define TFCLOSE 2
#define TFREAD 3
#define TFWRITE 4
#define TFDESTROY 5
#define TFCONTROL 6

/* TF Control orders (start high just for fun) */

#define TFC_FORCE_NL 15

tfile tcreate (int, char *, int, int (*proc)());
int tfsize (tfile);
int topen (tfile, char *, int *);
int tclose (tfile, int *);
int tread (tfile, char *, int, int *);
int twrite (tfile, char *, int, int *);
int tcontrol (tfile, int, char *, int *);
int tdestroy (tfile);

#endif /* TFILE_H_INCLUDED */
