sliding_window.h 367 B

12345678910111213141516171819
  1. #ifndef SLIDING_WINDOW_H
  2. #define SLIDING_WINDOW_H
  3. #include "strbuf.h"
  4. struct sliding_view {
  5. struct line_buffer *file;
  6. off_t off;
  7. size_t width;
  8. off_t max_off; /* -1 means unlimited */
  9. struct strbuf buf;
  10. };
  11. #define SLIDING_VIEW_INIT(input, len) { (input), 0, 0, (len), STRBUF_INIT }
  12. int move_window(struct sliding_view *view, off_t off, size_t width);
  13. #endif