1 /* Copyright 2001, 2002, 2003 by Hans Reiser, licensing governed by reiser4/README */
2 /* Internal item contains down-link to the child of the internal/twig
3 node in a tree. It is internal items that are actually used during
6 #if !defined( __FS_REISER4_PLUGIN_ITEM_INTERNAL_H__ )
7 #define __FS_REISER4_PLUGIN_ITEM_INTERNAL_H__
9 #include "../../forward.h"
10 #include "../../dformat.h"
12 /* on-disk layout of internal item */
13 typedef struct internal_item_layout
{
14 /* 0 */ reiser4_dblock_nr pointer
;
16 } internal_item_layout
;
20 int mergeable_internal(const coord_t
* p1
, const coord_t
* p2
);
21 lookup_result
lookup_internal(const reiser4_key
* key
, lookup_bias bias
,
23 /* store pointer from internal item into "block". Implementation of
24 ->down_link() method */
25 extern void down_link_internal(const coord_t
* coord
, const reiser4_key
* key
,
26 reiser4_block_nr
* block
);
27 extern int has_pointer_to_internal(const coord_t
* coord
,
28 const reiser4_block_nr
* block
);
29 extern int create_hook_internal(const coord_t
* item
, void *arg
);
30 extern int kill_hook_internal(const coord_t
* item
, pos_in_node_t from
,
31 pos_in_node_t count
, struct carry_kill_data
*);
32 extern int shift_hook_internal(const coord_t
* item
, unsigned from
,
33 unsigned count
, znode
* old_node
);
34 extern void reiser4_print_internal(const char *prefix
, coord_t
* coord
);
36 extern int utmost_child_internal(const coord_t
* coord
, sideof side
,
38 int utmost_child_real_block_internal(const coord_t
* coord
, sideof side
,
39 reiser4_block_nr
* block
);
41 extern void reiser4_update_internal(const coord_t
* coord
,
42 const reiser4_block_nr
* blocknr
);
43 /* FIXME: reiserfs has check_internal */
44 extern int check__internal(const coord_t
* coord
, const char **error
);
46 /* __FS_REISER4_PLUGIN_ITEM_INTERNAL_H__ */
51 c-indentation-style: "K&R"