struct inode {
	struct list_head	i_hash;
	struct list_head	i_list;
	struct list_head	i_dentry; /*datos utilizados por el VFS cache*/

	unsigned long		i_ino;	  /* inode number */
	unsigned int		i_count;
	kdev_t			i_dev;	  /* dispositivo asociado */
	umode_t			i_mode;	  /* flags */
	nlink_t			i_nlink;  /* número de enlaces */
	uid_t			i_uid;	  /* user id del propietario */
	gid_t			i_gid;	  /* group id del propietario */
	kdev_t			i_rdev;   /* si special file, major y minor */
	off_t			i_size;	  /* tamaño del fichero asociado */
	time_t			i_atime;  /* fecha de ultimo acceso */
	time_t			i_mtime;  /* fecha de ultima modificacion */
	time_t			i_ctime;  /* fecha de creacion */
	unsigned long		i_blksize;/* tamaño del bloque */
	unsigned long		i_blocks; /* numero de bloques */
	unsigned long		i_version;
	unsigned long		i_nrpages;
	struct semaphore	i_sem;
	struct semaphore	i_atomic_write;
	struct inode_operations	*i_op;	/* operaciones sobre el inodo */
	struct super_block	*i_sb;  /* puntero al superbloque */
	struct wait_queue	*i_wait;
	struct file_lock	*i_flock;
	struct vm_area_struct	*i_mmap;
	struct page		*i_pages;
	struct dquot		*i_dquot[MAXQUOTAS];
	unsigned long		i_state;
	unsigned int		i_flags;
	unsigned char		i_pipe;
	unsigned char		i_sock;
	int			i_writecount;
	unsigned int		i_attr_flags;
	__u32			i_generation;
	union { 
		struct pipe_inode_info		pipe_i;
		struct minix_inode_info		minix_i;
		struct ext2_inode_info		ext2_i;
	/*  .....  datos especificos dependientes del tipo de filesystem */
		struct adfs_inode_info		adfs_i;
		struct qnx4_inode_info		qnx4_i;	   
		struct socket			socket_i;
		void				*generic_ip;
	} u;
};

