⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 affs_fs_i.h

📁 Axis 221 camera embedded programing interface
💻 H
字号:
#ifndef _AFFS_FS_I#define _AFFS_FS_I#include <linux/a.out.h>#include <linux/fs.h>#include <asm/semaphore.h>#define AFFS_CACHE_SIZE		PAGE_SIZE//#define AFFS_CACHE_SIZE		(4*4)#define AFFS_MAX_PREALLOC	32#define AFFS_LC_SIZE		(AFFS_CACHE_SIZE/sizeof(u32)/2)#define AFFS_AC_SIZE		(AFFS_CACHE_SIZE/sizeof(struct affs_ext_key)/2)#define AFFS_AC_MASK		(AFFS_AC_SIZE-1)struct affs_ext_key {	u32	ext;				/* idx of the extended block */	u32	key;				/* block number */};/* * affs fs inode data in memory */struct affs_inode_info {	u32	 i_opencnt;	struct semaphore i_link_lock;		/* Protects internal inode access. */	struct semaphore i_ext_lock;		/* Protects internal inode access. */#define i_hash_lock i_ext_lock	u32	 i_blkcnt;			/* block count */	u32	 i_extcnt;			/* extended block count */	u32	*i_lc;				/* linear cache of extended blocks */	u32	 i_lc_size;	u32	 i_lc_shift;	u32	 i_lc_mask;	struct affs_ext_key *i_ac;		/* associative cache of extended blocks */	u32	 i_ext_last;			/* last accessed extended block */	struct buffer_head *i_ext_bh;		/* bh of last extended block */	loff_t	 mmu_private;	u32	 i_protect;			/* unused attribute bits */	u32	 i_lastalloc;			/* last allocated block */	int	 i_pa_cnt;			/* number of preallocated blocks */#if 0	s32	 i_original;			/* if != 0, this is the key of the original */	u32	 i_data[AFFS_MAX_PREALLOC];	/* preallocated blocks */	int	 i_cache_users;			/* Cache cannot be freed while > 0 */	unsigned char i_hlink;			/* This is a fake */	unsigned char i_pad;	s32	 i_parent;			/* parent ino */#endif	struct inode vfs_inode;};/* short cut to get to the affs specific inode data */static inline struct affs_inode_info *AFFS_I(struct inode *inode){	return list_entry(inode, struct affs_inode_info, vfs_inode);}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -