contents.h revision 8aef66d2125af8de7672a12895276802fcc1948f
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 _DIRECTORY_H_ 18ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#define _DIRECTORY_H_ 19ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross 20ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossstruct dentry { 21ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross char *path; 22ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross char *full_path; 23ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross const char *filename; 24ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross char *link; 25ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross unsigned long size; 26ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross u8 file_type; 27ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross u16 mode; 28ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross u16 uid; 29ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross u16 gid; 30ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross u32 *inode; 31ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross}; 32ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross 33ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossu32 make_directory(u32 dir_inode_num, u32 entries, struct dentry *dentries, 348aef66d2125af8de7672a12895276802fcc1948fColin Cross u32 dirs); 35ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossu32 make_file(const char *filename, u64 len); 36ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossu32 make_link(const char *filename, const char *link); 37ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossint inode_set_permissions(u32 inode_num, u16 mode, u16 uid, u16 gid); 38ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#endif 39