Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
jffs2_fs_i.h
Package: linux-2.4.20.tar.gz [view]
Upload User: jlfgdled
Upload Date: 2013-04-10
Package Size: 33168k
Code Size: 2k
Category:
Linux-Unix program
Development Platform:
Unix_Linux
- /* $Id: jffs2_fs_i.h,v 1.8 2001/04/18 13:05:28 dwmw2 Exp $ */
- #ifndef _JFFS2_FS_I
- #define _JFFS2_FS_I
- /* Include the pipe_inode_info at the beginning so that we can still
- use the storage space in the inode when we have a pipe inode.
- This sucks.
- */
- #undef THISSUCKS /* Only for 2.2 */
- #ifdef THISSUCKS
- #include <linux/pipe_fs_i.h>
- #endif
- struct jffs2_inode_info {
- #ifdef THISSUCKS
- struct pipe_inode_info pipecrap;
- #endif
- /* We need an internal semaphore similar to inode->i_sem.
- Unfortunately, we can't used the existing one, because
- either the GC would deadlock, or we'd have to release it
- before letting GC proceed. Or we'd have to put ugliness
- into the GC code so it didn't attempt to obtain the i_sem
- for the inode(s) which are already locked */
- struct semaphore sem;
- /* The highest (datanode) version number used for this ino */
- __u32 highest_version;
- /* List of data fragments which make up the file */
- struct jffs2_node_frag *fraglist;
- /* There may be one datanode which isn't referenced by any of the
- above fragments, if it contains a metadata update but no actual
- data - or if this is a directory inode */
- /* This also holds the _only_ dnode for symlinks/device nodes,
- etc. */
- struct jffs2_full_dnode *metadata;
- /* Directory entries */
- struct jffs2_full_dirent *dents;
- /* Some stuff we just have to keep in-core at all times, for each inode. */
- struct jffs2_inode_cache *inocache;
- /* Keep a pointer to the last physical node in the list. We don't
- use the doubly-linked lists because we don't want to increase
- the memory usage that much. This is simpler */
- // struct jffs2_raw_node_ref *lastnode;
- __u16 flags;
- __u8 usercompr;
- };
- #ifdef JFFS2_OUT_OF_KERNEL
- #define JFFS2_INODE_INFO(i) ((struct jffs2_inode_info *) &(i)->u)
- #else
- #define JFFS2_INODE_INFO(i) (&i->u.jffs2_i)
- #endif
- #endif /* _JFFS2_FS_I */