nakedmudv3.8.1/
nakedmudv3.8.1/html/
nakedmudv3.8.1/html/tutorials/
nakedmudv3.8.1/html/tutorials/building_extras/
nakedmudv3.8.1/html/tutorials/c/
nakedmudv3.8.1/html/tutorials/reference/
nakedmudv3.8.1/html/tutorials/scripting/
nakedmudv3.8.1/html/tutorials/scripting_extras/
nakedmudv3.8.1/lib/
nakedmudv3.8.1/lib/help/A/
nakedmudv3.8.1/lib/help/B/
nakedmudv3.8.1/lib/help/C/
nakedmudv3.8.1/lib/help/D/
nakedmudv3.8.1/lib/help/G/
nakedmudv3.8.1/lib/help/H/
nakedmudv3.8.1/lib/help/J/
nakedmudv3.8.1/lib/help/L/
nakedmudv3.8.1/lib/help/M/
nakedmudv3.8.1/lib/help/O/
nakedmudv3.8.1/lib/help/P/
nakedmudv3.8.1/lib/help/R/
nakedmudv3.8.1/lib/help/S/
nakedmudv3.8.1/lib/help/W/
nakedmudv3.8.1/lib/logs/
nakedmudv3.8.1/lib/misc/
nakedmudv3.8.1/lib/players/
nakedmudv3.8.1/lib/txt/
nakedmudv3.8.1/lib/world/
nakedmudv3.8.1/lib/world/zones/examples/
nakedmudv3.8.1/lib/world/zones/examples/mproto/
nakedmudv3.8.1/lib/world/zones/examples/oproto/
nakedmudv3.8.1/lib/world/zones/examples/reset/
nakedmudv3.8.1/lib/world/zones/examples/rproto/
nakedmudv3.8.1/lib/world/zones/examples/trigger/
nakedmudv3.8.1/lib/world/zones/limbo/
nakedmudv3.8.1/lib/world/zones/limbo/room/
nakedmudv3.8.1/lib/world/zones/limbo/rproto/
nakedmudv3.8.1/src/alias/
nakedmudv3.8.1/src/dyn_vars/
nakedmudv3.8.1/src/editor/
nakedmudv3.8.1/src/example_module/
nakedmudv3.8.1/src/help2/
nakedmudv3.8.1/src/set_val/
nakedmudv3.8.1/src/socials/
nakedmudv3.8.1/src/time/
#ifndef FILEBUF_H
#define FILEBUF_H
//*****************************************************************************
//
// filebuf.h
//
// buffered file io
//
//*****************************************************************************

typedef struct buffered_file FILEBUF;

//
// create a new buffered file reader for reading, writing, 
// or appending, specified by the mode
FILEBUF *fbopen(const char *fname, const char *mode);

//
// close, flush, and delete the buffered file reader
void fbclose(FILEBUF *buf);

//
// flush the buffered file reader
void fbflush(FILEBUF *buf);

//
// return the next char in the buffered file
char fbgetc(FILEBUF *buf);

//
// print the formatting to the file
int fbprintf(FILEBUF *buf, const char *fmt, ...) 
__attribute__ ((format (printf, 2, 3)));

//
// append the text to the buffer
void fbwrite(FILEBUF *fb, const char *str);

//
// go to the position, from the specified offset. Uses SEEK_CUR, SEEK_SET,
// and SEEK_END from stdio.h
void fbseek(FILEBUF *buf, int offset, int origin);


#endif // FILEBUF