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; };