#ifndef _LINUX_SHRINKER_H
#define _LINUX_SHRINKER_H
struct shrink_control {
u_long nr_to_scan;
u_long nr_scanned;
};
struct shrinker {
u_long (*count_objects)(struct shrinker *, struct shrink_control *);
u_long (*scan_objects)(struct shrinker *, struct shrink_control *);
long batch;
int seeks;
void *private_data;
TAILQ_ENTRY(shrinker) next;
};
#define SHRINK_STOP ~0UL
#define DEFAULT_SEEKS 2
static inline void
synchronize_shrinkers(void)
{
}
struct shrinker *shrinker_alloc(u_int, const char *, ...);
void shrinker_free(struct shrinker *);
void shrinker_register(struct shrinker *);
#endif