about summary refs log tree commit diff
path: root/vcs-svn/sliding_window.h
blob: a7fc0999cb63c2abd9dd01f14aacabf40d986b13 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#ifndef SLIDING_WINDOW_H
#define SLIDING_WINDOW_H

#include "strbuf.h"

struct sliding_view {
	struct line_buffer *file;
	off_t off;
	size_t width;
	off_t max_off;	/* -1 means unlimited */
	struct strbuf buf;
};

#define SLIDING_VIEW_INIT(input, len)	{ (input), 0, 0, (len), STRBUF_INIT }

int move_window(struct sliding_view *view, off_t off, size_t width);

#endif