1ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross/* 2ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * Copyright (C) 2010 The Android Open Source Project 3ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * 4ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * Licensed under the Apache License, Version 2.0 (the "License"); 5ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * you may not use this file except in compliance with the License. 6ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * You may obtain a copy of the License at 7ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * 8ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * http://www.apache.org/licenses/LICENSE-2.0 9ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * 10ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * Unless required by applicable law or agreed to in writing, software 11ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * distributed under the License is distributed on an "AS IS" BASIS, 12ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * See the License for the specific language governing permissions and 14ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * limitations under the License. 15ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross */ 16ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross 17ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#ifndef _INDIRECT_H_ 18ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#define _INDIRECT_H_ 19ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross 2006ca811e9297e28f43d65f30493df88862ff09c1Tao Bao#include "ext4_utils/ext4_utils.h" 2106ca811e9297e28f43d65f30493df88862ff09c1Tao Bao 2206ca811e9297e28f43d65f30493df88862ff09c1Tao Baostruct ext4_inode; 2306ca811e9297e28f43d65f30493df88862ff09c1Tao Baostruct block_allocation; 24ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross 25ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossvoid inode_allocate_indirect(struct ext4_inode *inode, unsigned long len); 26ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossu8 *inode_allocate_data_indirect(struct ext4_inode *inode, unsigned long len, 278aef66d2125af8de7672a12895276802fcc1948fColin Cross unsigned long backing_len); 28ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossvoid inode_attach_resize(struct ext4_inode *inode, 29ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross struct block_allocation *alloc); 30ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossvoid free_indirect_blocks(); 31ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross 32ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#endif 33