1 /* Copyright 2002, 2003 by Hans Reiser, licensing governed by reiser4/README */
3 #if !defined( __REISER4_TAIL_H__ )
4 #define __REISER4_TAIL_H__
6 struct tail_coord_extension
{
12 /* plugin->u.item.b.* */
13 reiser4_key
*max_key_inside_tail(const coord_t
*, reiser4_key
*);
14 int can_contain_key_tail(const coord_t
* coord
, const reiser4_key
* key
,
15 const reiser4_item_data
*);
16 int mergeable_tail(const coord_t
* p1
, const coord_t
* p2
);
17 pos_in_node_t
nr_units_tail(const coord_t
*);
18 lookup_result
lookup_tail(const reiser4_key
*, lookup_bias
, coord_t
*);
19 int paste_tail(coord_t
*, reiser4_item_data
*, carry_plugin_info
*);
20 int can_shift_tail(unsigned free_space
, coord_t
* source
,
21 znode
* target
, shift_direction
, unsigned *size
,
23 void copy_units_tail(coord_t
* target
, coord_t
* source
, unsigned from
,
24 unsigned count
, shift_direction
, unsigned free_space
);
25 int kill_hook_tail(const coord_t
*, pos_in_node_t from
, pos_in_node_t count
,
26 struct carry_kill_data
*);
27 int cut_units_tail(coord_t
*, pos_in_node_t from
, pos_in_node_t to
,
28 struct carry_cut_data
*, reiser4_key
* smallest_removed
,
29 reiser4_key
* new_first
);
30 int kill_units_tail(coord_t
*, pos_in_node_t from
, pos_in_node_t to
,
31 struct carry_kill_data
*, reiser4_key
* smallest_removed
,
32 reiser4_key
* new_first
);
33 reiser4_key
*unit_key_tail(const coord_t
*, reiser4_key
*);
35 /* plugin->u.item.s.* */
36 ssize_t
reiser4_write_tail(struct file
*file
, const char __user
*buf
,
37 size_t count
, loff_t
*pos
);
38 int reiser4_read_tail(struct file
*, flow_t
*, hint_t
*);
39 int readpage_tail(void *vp
, struct page
*page
);
40 reiser4_key
*append_key_tail(const coord_t
*, reiser4_key
*);
41 void init_coord_extension_tail(uf_coord_t
*, loff_t offset
);
42 int get_block_address_tail(const coord_t
*, sector_t
, sector_t
*);
43 int item_balance_dirty_pages(struct address_space
*, const flow_t
*,
44 hint_t
*, int back_to_dirty
, int set_hint
);
46 /* __REISER4_TAIL_H__ */
51 c-indentation-style: "K&R"