OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [LINUX_2_4_26_OR32/] [linux/] [linux-2.4/] [include/] [linux/] [efs_fs_i.h] - Rev 1765

Compare with Previous | Blame | View Log

/*
 * efs_fs_i.h
 *
 * Copyright (c) 1999 Al Smith
 *
 * Portions derived from IRIX header files (c) 1988 Silicon Graphics
 */
 
#ifndef	__EFS_FS_I_H__
#define	__EFS_FS_I_H__
 
typedef	int32_t		efs_block_t;
typedef uint32_t	efs_ino_t;
 
#define	EFS_DIRECTEXTENTS	12
 
/*
 * layout of an extent, in memory and on disk. 8 bytes exactly.
 */
typedef union extent_u {
	unsigned char raw[8];
	struct extent_s {
		unsigned int	ex_magic:8;	/* magic # (zero) */
		unsigned int	ex_bn:24;	/* basic block */
		unsigned int	ex_length:8;	/* numblocks in this extent */
		unsigned int	ex_offset:24;	/* logical offset into file */
	} cooked;
} efs_extent;
 
typedef struct edevs {
	short		odev;
	unsigned int	ndev;
} efs_devs;
 
/*
 * extent based filesystem inode as it appears on disk.  The efs inode
 * is exactly 128 bytes long.
 */
struct	efs_dinode {
	u_short		di_mode;	/* mode and type of file */
	short		di_nlink;	/* number of links to file */
	u_short		di_uid;		/* owner's user id */
	u_short		di_gid;		/* owner's group id */
	int32_t		di_size;	/* number of bytes in file */
	int32_t		di_atime;	/* time last accessed */
	int32_t		di_mtime;	/* time last modified */
	int32_t		di_ctime;	/* time created */
	uint32_t	di_gen;		/* generation number */
	short		di_numextents;	/* # of extents */
	u_char		di_version;	/* version of inode */
	u_char		di_spare;	/* spare - used by AFS */
	union di_addr {
		efs_extent	di_extents[EFS_DIRECTEXTENTS];
		efs_devs	di_dev;	/* device for IFCHR/IFBLK */
	} di_u;
};
 
/* efs inode storage in memory */
struct efs_inode_info {
	int		numextents;
	int		lastextent;
 
	efs_extent	extents[EFS_DIRECTEXTENTS];
};
 
#endif	/* __EFS_FS_I_H__ */
 
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.