summaryrefslogtreecommitdiffstats
path: root/include/sync.h
blob: 9a9540c808516640ac21c165264a8ce30c23b67e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef _SYNC_HOOKS_H_
#define _SYNC_HOOKS_H_

#include <sys/select.h>

struct nethdr;
struct cache_object;
struct fds;

struct sync_mode {
	int internal_cache_flags;
	int external_cache_flags;
	struct cache_extra *internal_cache_extra;
	struct cache_extra *external_cache_extra;

	int  (*init)(void);
	void (*kill)(void);
	int  (*local)(int fd, int type, void *data);
	int  (*recv)(const struct nethdr *net);
	void (*send)(struct nethdr *net, struct cache_object *obj);
	void (*run)(fd_set *readfds);
	int (*register_fds)(struct fds *fds);
};

extern struct sync_mode sync_alarm;
extern struct sync_mode sync_ftfw;
extern struct sync_mode sync_notrack;

#endif