xref: /rk3399_rockchip-uboot/fs/ext4/ext4_common.h (revision a1596438a68921d2c9b1fdec70a720d38c85ca7d)
1*a1596438SUma Shankar /*
2*a1596438SUma Shankar  * (C) Copyright 2011 - 2012 Samsung Electronics
3*a1596438SUma Shankar  * EXT4 filesystem implementation in Uboot by
4*a1596438SUma Shankar  * Uma Shankar <uma.shankar@samsung.com>
5*a1596438SUma Shankar  * Manjunatha C Achar <a.manjunatha@samsung.com>
6*a1596438SUma Shankar  *
7*a1596438SUma Shankar  * ext4ls and ext4load :  based on ext2 ls load support in Uboot.
8*a1596438SUma Shankar  *
9*a1596438SUma Shankar  * (C) Copyright 2004
10*a1596438SUma Shankar  * esd gmbh <www.esd-electronics.com>
11*a1596438SUma Shankar  * Reinhard Arlt <reinhard.arlt@esd-electronics.com>
12*a1596438SUma Shankar  *
13*a1596438SUma Shankar  * based on code from grub2 fs/ext2.c and fs/fshelp.c by
14*a1596438SUma Shankar  * GRUB  --  GRand Unified Bootloader
15*a1596438SUma Shankar  * Copyright (C) 2003, 2004  Free Software Foundation, Inc.
16*a1596438SUma Shankar  *
17*a1596438SUma Shankar  * This program is free software; you can redistribute it and/or modify
18*a1596438SUma Shankar  * it under the terms of the GNU General Public License as published by
19*a1596438SUma Shankar  * the Free Software Foundation; either version 2 of the License, or
20*a1596438SUma Shankar  * (at your option) any later version.
21*a1596438SUma Shankar  *
22*a1596438SUma Shankar  * This program is distributed in the hope that it will be useful,
23*a1596438SUma Shankar  * but WITHOUT ANY WARRANTY; without even the implied warranty of
24*a1596438SUma Shankar  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25*a1596438SUma Shankar  * GNU General Public License for more details.
26*a1596438SUma Shankar  *
27*a1596438SUma Shankar  * You should have received a copy of the GNU General Public License
28*a1596438SUma Shankar  * along with this program; if not, write to the Free Software
29*a1596438SUma Shankar  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
30*a1596438SUma Shankar  */
31*a1596438SUma Shankar 
32*a1596438SUma Shankar #ifndef __EXT4_COMMON__
33*a1596438SUma Shankar #define __EXT4_COMMON__
34*a1596438SUma Shankar #include <ext_common.h>
35*a1596438SUma Shankar #include <ext4fs.h>
36*a1596438SUma Shankar #include <malloc.h>
37*a1596438SUma Shankar #include <asm/errno.h>
38*a1596438SUma Shankar 
39*a1596438SUma Shankar #define YES		1
40*a1596438SUma Shankar #define NO		0
41*a1596438SUma Shankar #define TRUE		1
42*a1596438SUma Shankar #define FALSE		0
43*a1596438SUma Shankar #define RECOVER	1
44*a1596438SUma Shankar #define SCAN		0
45*a1596438SUma Shankar 
46*a1596438SUma Shankar #define S_IFLNK		0120000		/* symbolic link */
47*a1596438SUma Shankar #define BLOCK_NO_ONE		1
48*a1596438SUma Shankar #define SUPERBLOCK_SECTOR	2
49*a1596438SUma Shankar #define SUPERBLOCK_SIZE	1024
50*a1596438SUma Shankar #define F_FILE			1
51*a1596438SUma Shankar 
52*a1596438SUma Shankar #define zalloc(size) calloc(1, size)
53*a1596438SUma Shankar 
54*a1596438SUma Shankar extern unsigned long part_offset;
55*a1596438SUma Shankar int ext4fs_read_inode(struct ext2_data *data, int ino,
56*a1596438SUma Shankar 		      struct ext2_inode *inode);
57*a1596438SUma Shankar int ext4fs_read_file(struct ext2fs_node *node, int pos,
58*a1596438SUma Shankar 		unsigned int len, char *buf);
59*a1596438SUma Shankar int ext4fs_find_file(const char *path, struct ext2fs_node *rootnode,
60*a1596438SUma Shankar 			struct ext2fs_node **foundnode, int expecttype);
61*a1596438SUma Shankar int ext4fs_iterate_dir(struct ext2fs_node *dir, char *name,
62*a1596438SUma Shankar 			struct ext2fs_node **fnode, int *ftype);
63*a1596438SUma Shankar #endif
64