minix/drivers/fbd/rule.h
David van Moolenbroek e7db2d3588 Add fbd -- Faulty Block Device driver
This driver can be loaded as an overlay on top of a real block
device, and can then be used to generate block-level failures for
certain transfer requests. Specifically, a rule-based system allows
the user to introduce (overt and silent) data corruption and errors.

It exposes itself through /dev/fbd, and a file system can be mounted
on top of it. The new fbdctl(8) tool can be used to control the
driver; see ``man fbdctl'' for details. It also comes with a test
set, located in test/fbdtest.
2011-12-11 22:45:46 +01:00

20 lines
496 B
C

#ifndef _FBD_RULE_H
#define _FBD_RULE_H
#define MAX_RULES 16
extern int rule_ctl(int request, endpoint_t endpt, cp_grant_id_t grant);
extern int rule_find(u64_t pos, size_t size, int flag);
extern void rule_pre_hook(iovec_t *iov, unsigned *count, size_t *size,
u64_t *pos);
extern void rule_io_hook(char *buf, size_t size, u64_t pos, int flag);
extern void rule_post_hook(size_t osize, int *result);
#define PRE_HOOK 0x1
#define IO_HOOK 0x2
#define POST_HOOK 0x4
#endif /* _FBD_RULE_H */