home *** CD-ROM | disk | FTP | other *** search
/ Boldly Go Collection / version40.iso / TS / 17A / DRWIN101.ZIP / BUFUTIL.H < prev    next >
Text File  |  1990-12-12  |  1KB  |  46 lines

  1. #ifndef _BUFUTIL_INCLUDED_
  2. #define _BUFUTIL_INCLUDED_
  3.  
  4.  
  5. #ifndef BYTE
  6.   #define BYTE unsigned char
  7. #endif
  8.  
  9. enum BUFERRS {
  10.   BUF_NONE=0,
  11.   BUF_BADBUFF,
  12.   BUF_NOMEM,
  13.   BUF_FULL,
  14.   BUF_EMPTY,
  15.   BUF_LASTERR
  16. };
  17.  
  18.  
  19. typedef struct {
  20.   int siz;                             /*size of buffer*/
  21.   int cnt;                             /*count of chars now in buffer*/
  22.   int hed;                             /*head pointer*/
  23.   int tal;                             /*tail pointer*/
  24.   BYTE *buf;                           /*pointer to buffer*/
  25.   BYTE trm;                            /*termination character*/
  26. } BUFF;
  27.  
  28.  
  29. BUFF *bufopen(int size);
  30. int  bufclose(BUFF *b);
  31. int  bufputc(BUFF *b,int c);
  32. int  bufgetc(BUFF *b);
  33. int  bufputs(BUFF *b,char *s);
  34. int  bufgets(BUFF *b,char *s,int n);
  35. int  bufputns(BUFF *b,char *s,int n);
  36. int  bufgetns(BUFF *b,char *s,int n);
  37. int  bufempty(BUFF *b);
  38. int  buffull(BUFF *b);
  39. int  bufflush(BUFF *b);
  40. #define bufreset(x) bufflush(x)
  41.  
  42. extern int buferr;
  43.  
  44.  
  45. #endif                                 /*if bufutil.h not yet included*/
  46.