home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / remind-03.00.19.tgz / remind-03.00.19.tar / remind-03.00.19 / src / dynbuf.h < prev    next >
C/C++ Source or Header  |  1998-02-07  |  1KB  |  45 lines

  1. /***************************************************************/
  2. /*                                                             */
  3. /*  DYNBUF.H                                                   */
  4. /*                                                             */
  5. /*  Declaration of functions for manipulating dynamic buffers  */
  6. /*                                                             */
  7. /*  This file is part of REMIND.                               */
  8. /*  Copyright (C) 1992-1998 by David F. Skoll                  */
  9. /*                                                             */
  10. /***************************************************************/
  11.  
  12. /* $Id: dynbuf.h,v 1.1 1998/02/07 05:35:57 dfs Exp $ */
  13.  
  14. #ifndef DYNBUF_H
  15. #define DYNBUF_H
  16.  
  17. #include <stdio.h>  /* For FILE */
  18.  
  19. #define DBUF_STATIC_SIZE 128
  20. typedef struct {
  21.     char *buffer;
  22.     int len;
  23.     int allocatedLen;
  24.     char staticBuf[DBUF_STATIC_SIZE];
  25. } DynamicBuffer;
  26.  
  27. #ifndef ARGS
  28. #ifdef HAVE_PROTOS
  29. #define ARGS(x) x
  30. #else
  31. #define ARGS(x) ()
  32. #endif
  33. #endif
  34.  
  35. void DBufInit(DynamicBuffer *dbuf);
  36. int DBufPutc(DynamicBuffer *dbuf, char c);
  37. int DBufPuts(DynamicBuffer *dbuf, char *str);
  38. void DBufFree(DynamicBuffer *dbuf);
  39. int DBufGets(DynamicBuffer *dbuf, FILE *fp);
  40.  
  41. #define DBufValue(bufPtr) ((bufPtr)->buffer)
  42. #define DBufLen(bufPtr) ((bufPtr)->len)
  43.  
  44. #endif /* DYNBUF_H */
  45.