123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /*
- * efs_dir.h
- *
- * Copyright (c) 1999 Al Smith
- */
- #ifndef __EFS_DIR_H__
- #define __EFS_DIR_H__
- #define EFS_DIRBSIZE_BITS EFS_BLOCKSIZE_BITS
- #define EFS_DIRBSIZE (1 << EFS_DIRBSIZE_BITS)
- struct efs_dentry {
- __be32 inode;
- unsigned char namelen;
- char name[3];
- };
- #define EFS_DENTSIZE (sizeof(struct efs_dentry) - 3 + 1)
- #define EFS_MAXNAMELEN ((1 << (sizeof(char) * 8)) - 1)
- #define EFS_DIRBLK_HEADERSIZE 4
- #define EFS_DIRBLK_MAGIC 0xbeef /* moo */
- struct efs_dir {
- __be16 magic;
- unsigned char firstused;
- unsigned char slots;
- unsigned char space[EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE];
- };
- #define EFS_MAXENTS \
- ((EFS_DIRBSIZE - EFS_DIRBLK_HEADERSIZE) / \
- (EFS_DENTSIZE + sizeof(char)))
- #define EFS_SLOTAT(dir, slot) EFS_REALOFF((dir)->space[slot])
- #define EFS_REALOFF(offset) ((offset << 1))
- #endif /* __EFS_DIR_H__ */
|