1 | /* onode.h 2 | ------- 3 | 4 | Header for O-Node Manipulation 5 | 6 | $Id: onode.h,v 1.9 2003/10/20 07:18:11 stewart Exp $ 7 | 8 | (C)2003 Stewart Smith 9 | Distributed under the GNU Public License 10 | */ 11 | 12 | #ifndef __ONODE_H__ 13 | #define __ONODE_H__ 14 | 15 | #include "testkit/types.h" 16 | 17 | struct fcfs_onode1 *onode1_new(struct fcfs_disk *disk); 18 | struct fcfs_onode1 *onode1_free(struct fcfs_onode1 *onode); 19 | int onode1_fork_new(struct fcfs_disk *disk, struct fcfs_block_run *onode_br, u64 fork_type, u64 content_length, void* content, int allow_internal); 20 | int onode1_fork_grow(struct fcfs_disk *disk, struct fcfs_block_run *onode_br, int forknr, u64 blocksnr); 21 | 22 | u64 onode1_fork_length(struct fcfs_onode1 *onode,int forknr); 23 | int onode1_fork_write_versioned(struct fcfs_disk *disk,struct fcfs_onode1 *onode, struct fcfs_block_run *onode_br,int forknr,u64 pos,u64 content_length,void* content); 24 | int onode1_fork_write(struct fcfs_disk *disk, struct fcfs_block_run *onode_br,int forknr, u64 pos, u64 content_length, void* content); 25 | u64 onode1_fork_read(struct fcfs_disk *disk, struct fcfs_onode1 *onode,int forknr, u64 pos, u64 content_length, void* content); 26 | struct fcfs_disk_block *onode1_fork_getblock(struct fcfs_disk *disk, struct fcfs_onode1 *onode,int forknr,u64 blocknr); 27 | 28 | #endif