home *** CD-ROM | disk | FTP | other *** search
/ back2roots/padua / padua.7z / padua / uucp / uupoll068.lha / misc / uupoll067.lha / src / lbio.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-07-16  |  1.0 KB  |  32 lines

  1. #ifndef LBIO_H
  2. #define LBIO_H
  3.  
  4. struct LineBuffer {
  5.     char *lb_cpFirst;        /* absolute pointer to start of buffer    */
  6.     char *lb_cpLast;        /* absolute pointer to end of buffer    */
  7.     char **lb_cppLnFirst;    /* pointer to first line pointer        */
  8.     char **lb_cppLnCur;        /* pointer to current line pointer        */
  9.     char **lb_cppLnLast;    /* pointer to last line pointer            */
  10.     int   lb_nLnMax;        /* total number of lines                */
  11.     int   lb_nLnCur;        /* current line number                    */
  12.     char *lb_cpLnCur;        /* pointer to current line                */
  13.     int   lb_wLnCur;        /* len of current line (excl. NL)        */
  14. };
  15.  
  16. typedef struct LineBuffer LB;
  17.  
  18. struct LineBuffer *lbopen(char *cpFirst, char *cpLast);
  19. void lbfree(struct LineBuffer *LB);
  20. int lbseek(struct LineBuffer *LB, signed long wOffs, short wMode);
  21.  
  22. #define LBSEEK_SET 0
  23. #define LBSEEK_CUR 1
  24. #define LBSEEK_END 2
  25.  
  26. #define LBSEEKFIRST(lb) lbseek(lb, 0L, LBSEEK_SET);
  27. #define LBSEEKLAST(lb) lbseek(lb, 0L, LBSEEK_END);
  28. #define LBSEEKNEXT(lb) lbseek(lb, 1L, LBSEEK_CUR);
  29. #define LBSEEKPREV(lb) lbseek(lb, (-1)L, LBSEEK_CUR);
  30.  
  31. #endif /* LBIO_H */
  32.