-#define i_mode i_ic.ic_mode
-#define i_nlink i_ic.ic_nlink
-#define i_uid i_ic.ic_uid
-#define i_gid i_ic.ic_gid
-#define i_size i_ic.ic_size
-#define i_db i_ic.ic_db
-#define i_ib i_ic.ic_ib
-#define i_atime i_ic.ic_atime
-#define i_mtime i_ic.ic_mtime
-#define i_ctime i_ic.ic_ctime
-#define i_rdev i_ic.ic_db[0]
-#define i_lastr i_un.if_lastr
-#define i_socket i_un.is_socket
-#define i_forw i_chain[0]
-#define i_back i_chain[1]
-#define i_freef i_un.i_fr.if_freef
-#define i_freeb i_un.i_fr.if_freeb
-
-#define di_ic di_un.di_icom
-#define di_mode di_ic.ic_mode
-#define di_nlink di_ic.ic_nlink
-#define di_uid di_ic.ic_uid
-#define di_gid di_ic.ic_gid
-#define di_size di_ic.ic_size
-#define di_db di_ic.ic_db
-#define di_ib di_ic.ic_ib
-#define di_atime di_ic.ic_atime
-#define di_mtime di_ic.ic_mtime
-#define di_ctime di_ic.ic_ctime
-#define di_rdev di_ic.ic_db[0]
-
-#ifdef KERNEL
-struct inode *inode; /* the inode table itself */
-struct inode *inodeNINODE; /* the end of the inode table */
-int ninode; /* number of slots in the table */
-
-struct inode *rootdir; /* pointer to inode of root directory */
-
-struct inode *ialloc();
-struct inode *iget();
-struct inode *owner();
-struct inode *maknode();
-struct inode *namei();
-#endif
-
-/* flags */
-#define ILOCKED 0x1 /* inode is locked */
-#define IUPD 0x2 /* file has been modified */
-#define IACC 0x4 /* inode access time to be updated */
-#define IMOUNT 0x8 /* inode is mounted on */
-#define IWANT 0x10 /* some process waiting on lock */
-#define ITEXT 0x20 /* inode is pure text prototype */
-#define ICHG 0x40 /* inode has been changed */
-#define IRDLOCK 0x80 /* file is read locked */
-#define IWRLOCK 0x100 /* file is write locked */
-#define ILWAIT 0x200 /* someone waiting on file lock */
+/*
+ * The di_db fields may be overlaid with other information for
+ * file types that do not have associated disk storage. Block
+ * and character devices overlay the first data block with their
+ * dev_t value. Short symbolic links place their path in the
+ * di_db area.
+ */
+#define di_ouid di_u.oldids[0]
+#define di_ogid di_u.oldids[1]
+#define di_inumber di_u.inumber
+#define di_rdev di_db[0]
+#define di_shortlink di_db
+#define MAXSYMLINKLEN ((NDADDR + NIADDR) * sizeof(daddr_t))